Now that we have a Strike defined we're ready to draw some text:
tsCServer *myServer=NULL; // pointer to TypeServer instance
mgCBitmap *myBitmap=NULL; // pointer to Bitmap instance
tsCFont *myTTFont=NULL; // pointer to TrueType Font instance
tsCStrike *myStrike=NULL; // pointer to Strike instance
FIXPOINT fxPoint; // fixed-point x,y-coordinate
// create a TypeServer, define a bitmap, open a font, create a strike
myServer = new tsCServer();
myBitmap = new mgCBitmap( 1024, 768, 8, NULL );
myTTFont = new tsCFont( myServer, "arial.ttf", 0, 0 );
myStrike = new tsCStrike( myTTFont, myBitmap );
if ( (myServer==NULL) || (myBitmap==NULL) || (myTTFont==NULL) || (myStrike==NULL) )
{ /* handle error condition */ }
// set text size and color
myStrike->SetTypeSize( IntToFix(12), tsPixels );
myStrike->SetColorsRGB( RGB_Make(0,0,0), RGB_Make(255,255,255) );
// draw "Hello World" starting at pixel location (80.0, 100.0)
fxPoint.x = IntToFix(80);
fxPoint.y = IntToFix(100);
myStrike->DrawStringA( &fxPoint, "Hello World" ); |
To provide true WYSIWYG accuracy, TypeServer uses
fixed-point coordinates
based on quick integer math.
Fixed-point coordinates provides sub-pixel accuracy needed to minimize
pixel rounding and cummulative positioning errors.
TypeServer includes a complete set of functions for drawing text,
and computing character and string dimensions for size-specific CHAR,
WCHAR, and generic
TCHAR data types:
tsCStrike:: |
ASCII CHAR |
Unicode WCHAR |
Generic TCHAR |
get character dimensions |
GetCharExtentA() |
GetCharExtentW() |
GetCharExtentT() |
get string dimensions |
GetStringExtentA() |
GetStringExtentW() |
GetStringExtentT() |
draw character |
DrawCharA() |
DrawCharW() |
DrawCharT() |
draw string |
DrawStringA() |
DrawStringW() |
DrawStringT() |
next»
Home |
Products |
Order |
Register |
Support |
Company |
Contact |
Feedback
Copyright © 1999-2001 - Metagraphics Software Corporation.
|