ggiOvlSetCoordBase

Name

ggiOvlSetCoordBase -- Set the units and point of origin used when positioning an overlay

Synopsis

#include <ggi/ovl.h>

ggiOvl_t ggiOvlSetCoordBase(ggiOvl_t ovl unsigned int units long x long y long w long h);

Description

ggiOvlSetCoordBase sets the units used by future calls to ggiOvl* functions on the provided object ovl, not including the x,y,w,h parameters passed in the current call. (TODO: current unit #defines)

The parameters x,y set the origin offset for the object ovl. Coordinates passed to any future calls on ovl will be subject to translation from this point of reference. The parameters w,h are anologous to that for sizing operations; generally you should leave them alone by setting them to 0; most people will never need them.

Return value

ggiOvlSetCoordBase returns 0 on success or a negative error value on failure.

Examples

Example 1. Center a sprite at 50mm, 50mm and spiral it out from there


ggiOvlSetCoordBase(GA_COORDBASE_MILLIMETERS, 0, 0, 0, 0);
ggiOvlGetSize(sprite, &sx, &sy);
ggiOvlSetCoordBase(ovl, GA_COORDBASE_RESET, 50 - sx/2, 50 - sy/2, 0, 0);
for (i = 0; i < 500; i++) {
	/* Note lack of "+ offset" in below.  Handy, eh? */
	ggiOvlSetPos(ovl, sin(i/100) * i / 10, cos(i/100) * i / 10);
}

See Also

ggiOvlSetFlags(3ggi)