Generic Drawing Functions

Function prototypes. More...

Defines

#define DRAWGEN_4Connected   0x0080
#define DRAWGEN_Closed   0x0002
#define DRAWGEN_NoLastPixel   0x0040
#define TRACEGEN_8Connected   0x0001

Typedefs

typedef
fastdelegate::FastDelegate
< ERRVALUE(INT32, INT32)> 
DELEGATE_DRAWGEN_POINT
typedef
fastdelegate::FastDelegate
< ERRVALUE(INT32, INT32, INT32)> 
DELEGATE_DRAWGEN_SPAN
typedef
fastdelegate::FastDelegate
< int(INT32, INT32)> 
DELEGATE_DRAWGEN_TEST
typedef int(* GDrawHSpanL )(INT32, INT32, INT32, void *)
typedef int(* GDrawPointL )(INT32, INT32, void *)
typedef int(* GTestPointL )(INT32, INT32, void *)

Functions

ERRVALUE DrawGenCircleFilled (INT32 x, INT32 y, INT32 radius, DELEGATE_DRAWGEN_SPAN DelegateSpan)
GEOMLIBEXPORT int DrawLineGen (INT32 x1, INT32 y1, INT32 x2, INT32 y2, GDrawPointL gdrawpoint, void *userdata, UINT32 flags)
GEOMLIBEXPORT int DrawLinesGen (LPOINT2D *points, int numpoints, GDrawPointL gdrawpoint, void *userdata, UINT32 flags)
GEOMLIBEXPORT int DrawLineWideGen (INT32 x1, INT32 y1, INT32 x2, INT32 y2, double width, GDrawHSpanL gdrawhspan, GDrawPointL gdrawpoint, void *userdata, UINT32 flags)
GEOMLIBEXPORT int FillPolygonsGen (int numpolys, LPOLYGON *polys, GDrawHSpanL gdrawhspan, GDrawPointL gdrawpoint, void *userdata, UINT32 flags=0, MISTATUSMANAGER *pStatusMgr=0)
int FillSeededGenL (INT32 SeedX, INT32 SeedY, GTestPointL TestInside, GDrawHSpanL gdrawhspan, LPOINT2D *boundpt, void *userdata, UINT32 flags)
int TraceBoundaryL (INT32 xstart, INT32 ystart, LPOLYGON *poly, GTestPointL testfunc, void *userdata, UINT32 flags)

Detailed Description

Function prototypes.


Define Documentation

#define DRAWGEN_4Connected   0x0080

Draw 4-connected lines in MxgDrawLineGenX().

#define DRAWGEN_Closed   0x0002

Set to "close" polylines, forming a polygon.

#define DRAWGEN_NoLastPixel   0x0040

Don't draw last pixel in horizontal span when filling.

#define TRACEGEN_8Connected   0x0001

Trace 8-connected boundary.


Typedef Documentation

typedef fastdelegate::FastDelegate<ERRVALUE(INT32,INT32)> DELEGATE_DRAWGEN_POINT

Delegate for drawing single point, parameters are X, Y.

typedef fastdelegate::FastDelegate<ERRVALUE(INT32,INT32,INT32)> DELEGATE_DRAWGEN_SPAN

Delegate for drawing span, parameters are X1, X2, Y.

typedef fastdelegate::FastDelegate<int(INT32,INT32)> DELEGATE_DRAWGEN_TEST

Delegate for testing single point, parameters are X, Y, return TRUE if included, FALSE if not, < 0 error.

typedef int(* GDrawHSpanL)(INT32, INT32, INT32, void *)

Generic horizontal span function.

typedef int(* GDrawPointL)(INT32, INT32, void *)

Generic putpixel function.

typedef int(* GTestPointL)(INT32, INT32, void *)

Generic function to test if point in region.


Function Documentation

ERRVALUE DrawGenCircleFilled ( INT32  x,
INT32  y,
INT32  radius,
DELEGATE_DRAWGEN_SPAN  DelegateSpan 
)

Draw filled circle.

Parameters:
x X coordinate of center
y Y coordinate of center
radius Radius in pixels
DelegateSpan Delegate for drawing span
GEOMLIBEXPORT int DrawLineGen ( INT32  x1,
INT32  y1,
INT32  x2,
INT32  y2,
GDrawPointL  gdrawpoint,
void *  userdata,
UINT32  flags 
)

Draw multiple connected lines on "generic display".

Parameters:
x1 Starting X coordinate
y1 Starting Y coordinate
x2 Ending X coordinate
y2 Ending Y coordinate
gdrawpoint Generic putpixel function
userdata Data to pass on to drawhspan
flags Flags: DRAWGEN_4Connected Create 4-connected line (default is 8-connected)
GEOMLIBEXPORT int DrawLinesGen ( LPOINT2D points,
int  numpoints,
GDrawPointL  gdrawpoint,
void *  userdata,
UINT32  flags 
)

Draw multiple connected lines on "generic display".

Parameters:
points Array of points
numpoints Number of points
gdrawpoint Generic putpixel function
userdata Data to pass on to drawhspan
flags Flags: DRAWGEN_4Connected Create 4-connected line (default is 8-connected) DRAWGEN_Closed Line defines close shape
GEOMLIBEXPORT int DrawLineWideGen ( INT32  x1,
INT32  y1,
INT32  x2,
INT32  y2,
double  width,
GDrawHSpanL  gdrawhspan,
GDrawPointL  gdrawpoint,
void *  userdata,
UINT32  flags 
)

Draw wide line on "generic display".

Parameters:
x1 Starting X coordinate
y1 Starting Y coordinate
x2 Ending X coordinate
y2 Ending y coordinate
width Line width in pixels
gdrawhspan Generic horizontal span function
gdrawpoint Generic putpixel function
userdata Data to pass on to drawhspan
flags Flags: DRAWGEN_4Connected Create 4-connected line (default is 8-connected)
GEOMLIBEXPORT int FillPolygonsGen ( int  numpolys,
LPOLYGON polys,
GDrawHSpanL  gdrawhspan,
GDrawPointL  gdrawpoint,
void *  userdata,
UINT32  flags = 0,
MISTATUSMANAGER pStatusMgr = 0 
)

Fill polygon(s) in generic bitmap.

Parameters:
numpolys Number of polygons to fill
polys Array of polygons to fill
gdrawhspan Generic horizontal span function
gdrawpoint Generic putpixel function
userdata Data to pass on to drawhspan/drawpoint
flags Flags: DRAWGEN_NoLastPixel Don't draw last pixel in horizontal span when filling
pStatusMgr Status manager, 0 to not report status
int FillSeededGenL ( INT32  SeedX,
INT32  SeedY,
GTestPointL  TestInside,
GDrawHSpanL  gdrawhspan,
LPOINT2D boundpt,
void *  userdata,
UINT32  flags 
)

Perform seeded fill on "generic display" (LONG coordinates).

Parameters:
SeedX Seed point X coordinate
SeedY Seed point Y coordinate
TestInside Function to test if a point is inside region
gdrawhspan Function to "draw" horizontal spans
boundpt Rightmost "boundary" point returned (NULL if not needed)
userdata Data to pass to TestInside and DrawHSpan functions
flags Flags (none currently defined)
int TraceBoundaryL ( INT32  xstart,
INT32  ystart,
LPOLYGON poly,
GTestPointL  testfunc,
void *  userdata,
UINT32  flags 
)

Find boundary of a region (LONG coordinates).

Parameters:
xstart X starting coordinate
ystart Y starting coordinate
poly Polygon returned
testfunc Function to test if point in region
userdata Data to be passed to testfunc
flags Flags: TRACEGEN_8Connected Trace 8-connected (allow diagonals) boundary

Generated on Sun Oct 7 21:33:02 2012 for TNTsdk 2012 by  doxygen 1.6.1