MGD::CONTEXT Class Reference

Base for general drawing context. More...

#include <mi32/mgd2.h>

Inheritance diagram for MGD::CONTEXT:
Inheritance graph
[legend]

List of all members.

Classes

class  PRIVDATA
 Base class for private data. More...

Public Member Functions

virtual ~CONTEXT ()
ERRVALUE AddExteriorToClip (const LRECT2D &rect)
ERRVALUE AddToClip (const REGION2D &region)
ERRVALUE AddToClip (const POLYLINE &polyline)
ERRVALUE AddToClip (const LRECT2D &rect)
ERRVALUE AddToClip (const DRECT2D &rect)
bool Calculate3dDepthFunction (const DPOINT3D &p1, const DPOINT3D &p2, const DPOINT3D &p3, const double viewPlaneDistance, const bool isPerspective, const MAT3X3 &matrix)
void ClearClipMask ()
void ClearICMSourceProfile ()
ERRVALUE ComputeLabelExtents (REGION2D &extents, const TEXTBLOCK &textblock, const LABELSTYLE &Style, const POLYLINELIST &LeaderLines, bool bCheckClip=false, REGION2D *frame=0)
ERRVALUE ComputeLabelExtents (REGION2D &extents, const MIUNICODE *text, const POLYLINE &BaseLine, const LABELSTYLE &Style, const POLYLINELIST &LeaderLines, bool bCheckClip=false, REGION2D *frame=0)
ERRVALUE ComputeLabelFrame (REGION2D &frame, const MIUNICODE *text, const POLYLINE &BaseLine, const LABELSTYLE &Style, const POLYLINELIST &LeaderLines)
double ConvertScreenUnits (double value, int iunits, int ounits)
void Copy (const CONTEXT &rhs)
ERRVALUE CopyRect (const MGD::DEVICE *pDevSrc, const LRECT2D &RectSrc, const LPOINT2D &PtTgt, MGD::DEVICE_MEM8G *pDevAlpha=0)
ERRVALUE CopyRectSampled (const MGD::DEVICE *pDevSrc, const LRECT2D &srcrect, const LRECT2D &destrect, MGD::DEVICE_MEM8G *pDevAlpha=0)
 DEPRECATED_MSG ("Use SetColor() instead") void SetColorPixel(PIXEL pixel)
 DEPRECATED_MSG ("Use GetDevice instead") MGD
void DepthTestDisable ()
void DepthTestEnable ()
void DisableICM ()
ERRVALUE DrawArc (double xcenter, double ycenter, double xradius, double yradius, double startangle, double sweepangle, double rotangle=0, MGD::SHAPECLOSE closemode=SHAPECLOSE_None)
ERRVALUE DrawArc (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double startangle, double sweepangle, double rotangle=0, MGD::SHAPECLOSE closemode=SHAPECLOSE_None)
ERRVALUE DrawArrow (const DPOINT2D &EndPoint, double angle, double length, double sweep=30.0 *DEGTORAD, MGD::ARROWTYPE type=ARROWTYPE_FilledTriangle)
ERRVALUE DrawCircle (double xcenter, double ycenter, double radius)
ERRVALUE DrawCircle (INT32 xcenter, INT32 ycenter, INT32 radius)
ERRVALUE DrawEllipse (double xcenter, double ycenter, double xradius, double yradius, double rotangle=0)
ERRVALUE DrawEllipse (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double rotangle=0)
ERRVALUE DrawIcon (INT32 x, INT32 y, ICONID iconid, const COLOR &bgcolor, ICONFLAGS flags)
ERRVALUE DrawIcon (INT32 x, INT32 y, MICONSTRUCT *icon, ICONFLAGS flags)
ERRVALUE DrawLabel (const TEXTBLOCK &textblock, const LABELSTYLE &Style, const POLYLINELIST &LeaderLines)
ERRVALUE DrawLabel (const MIUNICODE *text, const POLYLINE &BaseLine, const LABELSTYLE &Style, const POLYLINELIST &LeaderLines)
ERRVALUE DrawLine (INT32 x1, INT32 y1, INT32 x2, INT32 y2)
ERRVALUE DrawLine3D (INT32 x1, INT32 y1, float z1, INT32 x2, INT32 y2, float z2)
ERRVALUE DrawLines (const SIMPLE_ARRAY< LPOINT2D > &points, bool close=false)
ERRVALUE DrawLines (const POLYLINE &line)
ERRVALUE DrawLines (const LPOINT2D *points, INT32 numpoints, bool close=false)
ERRVALUE DrawLinesDashed (const POLYLINE &line, const double *DashArray, INT32 DashCount, double DashOffset=0.0, bool close=false)
ERRVALUE DrawLinesDashed (const SIMPLE_ARRAY< LPOINT2D > &points, const double *DashArray, INT32 DashCount, double DashOffset=0.0, bool close=false)
ERRVALUE DrawLinesDashed (const LPOINT2D *points, INT32 numpoints, const double *DashArray, INT32 DashCount, double DashOffset=0.0, bool close=false)
ERRVALUE DrawLinesDashed (const SIMPLE_ARRAY< LPOINT2D > &points, const SIMPLE_ARRAY< double > &DashArray, double DashOffset=0.0, bool close=false)
ERRVALUE DrawLinesDashed (const LPOINT2D *points, INT32 numpoints, const SIMPLE_ARRAY< double > &DashArray, double DashOffset=0.0, bool close=false)
ERRVALUE DrawLineStyleSample (const RVC::STYLE &styleobj, const LINESTYLE &style, const LRECT2D &rect, STYLESAMPLEFLAGS flags=STYLESAMPLE_Default)
ERRVALUE DrawPixel (INT32 x, INT32 y)
ERRVALUE DrawPoint (const DPOINT2D &pt)
ERRVALUE DrawPoint (INT32 x, INT32 y)
ERRVALUE DrawPoints (const SIMPLE_ARRAY< LPOINT2D > &points)
ERRVALUE DrawPoints (const LPOINT2D *points, INT32 NumPoints)
ERRVALUE DrawPointStyleSample (const RVC::STYLE &styleobj, const POINTSTYLE &style, const LRECT2D &rect, STYLESAMPLEFLAGS flags=STYLESAMPLE_Default)
ERRVALUE DrawPolyStyleSample (const RVC::STYLE &styleobj, const POLYSTYLE &style, const LRECT2D &rect, STYLESAMPLEFLAGS flags=STYLESAMPLE_Default)
ERRVALUE DrawRectangle (const DRECT2D &rect)
ERRVALUE DrawRectangle (const LRECT2D &rect)
ERRVALUE DrawRectangle (INT32 x1, INT32 y1, INT32 x2, INT32 y2)
ERRVALUE DrawRegion (const REGION2D &polygons)
ERRVALUE DrawRoundedRectangle (const LRECT2D &rect, INT32 radius=-1)
ERRVALUE DrawSegments (const SIMPLE_ARRAY< LSEGMENT2D > &segments)
ERRVALUE DrawSegments (const LSEGMENT2D *segments, INT32 NumSegments)
void DrawSimpleArrowHead (INT32 xbase, INT32 ybase, INT32 size, MGD::DIRECTION direction)
void DrawSimpleFrame (const LRECT2D &rect, const COLOR &ColorTopLeft, const COLOR &ColorBottomRight)
ERRVALUE DrawSubRegion (const SUBREGION2D &polygons)
ERRVALUE EraseRectangle (const LRECT2D &rectangle, const COLOR &color)
ERRVALUE FillArc (double xcenter, double ycenter, double xradius, double yradius, double startangle, double sweepangle, double rotangle=0, MGD::SHAPECLOSE closemode=SHAPECLOSE_Direct)
ERRVALUE FillArc (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double startangle, double sweepangle, double rotangle=0, MGD::SHAPECLOSE closemode=SHAPECLOSE_Direct)
ERRVALUE FillCircle (double xcenter, double ycenter, double radius)
ERRVALUE FillCircle (INT32 xcenter, INT32 ycenter, INT32 radius)
ERRVALUE FillEllipse (double xcenter, double ycenter, double xradius, double yradius, double rotangle=0)
ERRVALUE FillEllipse (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double rotangle=0)
ERRVALUE FillPolygon (const LPOINT2D *points, INT32 NumPoints, MGD::POLYSHAPE shape=POLYSHAPE_Complex, bool DrawOutline=false)
ERRVALUE FillPolygons (const LPOLYGON *polygons, INT32 NumPolys, bool DrawOutline=false)
ERRVALUE FillRectangle (const DRECT2D &rect)
ERRVALUE FillRectangle (const LRECT2D &rect)
ERRVALUE FillRectangle (INT32 x1, INT32 y1, INT32 x2, INT32 y2)
ERRVALUE FillRegion (const REGION2D &polygons, bool DrawOutline=false)
ERRVALUE FillRoundedRectangle (const LRECT2D &rect, INT32 radius, bool bDrawBorder=false)
ERRVALUE FillSpan (INT32 x1, INT32 x2, INT32 y)
ERRVALUE FillSubRegion (const SUBREGION2D &polygons, bool DrawOutline=false)
void Get3dDepthFunction (float &xcoeff, float &ycoeff, float &zconst, bool &isPespective) const
bool GetAntialiasing () const
const LRECT2DGetClipRectangle () const
void GetClipRegion (REGION2D &region) const
PIXEL GetColor () const
bool GetColorLock () const
PIXEL GetColorPixel (const COLOR &color) const
PIXEL GetColorPixelNoICM (const COLOR &color) const
float GetDepth3D (INT32 x, INT32 y)
MGD::DEPTHTEST GetDepthTest () const
MGD::DEVICEGetDevice () const
const DISPLAYINFOGetDisplayInfo () const
FONTGetFont () const
UINT16 GetFrameBuffer () const
ERRVALUE GetGlyphOutline (MIUNICODE uc, REGION2D &region, bool bUseGlyphIndex=false)
bool GetLine4Connected () const
MGD::LINECAP GetLineCap () const
MGD::LINEJOIN GetLineJoin () const
bool GetLineScaledToMap () const
double GetLineWidth () const
DEPRECATED double GetMapScale () const
OPACITY_MODE GetOpacityBlendMode () const
double GetOutputScale () const
void GetPixelColor (PIXEL pixel, COLOR &color) const
void GetPixelColorNoICM (PIXEL pixel, COLOR &color) const
MGD::PIXELFUNC GetPixelFunction () const
double GetPixelSizeMM () const
PIXEL GetPlaneMask () const
bool GetPlaneMaskLock () const
bool GetPointScaledToMap () const
PRIVDATAGetPrivData (int indx) const
const POLYSTYLEGetStyleFill () const
const LINESTYLEGetStyleLine () const
const POINTSTYLEGetStylePoint () const
const MGD::TEXTSETTINGSGetTextSettings () const
MGD::TEXTSETTINGSGetTextSettings ()
const TEXTSTYLEGetTextStyle () const
bool GetThinLineWidthHint () const
int GetTransparency () const
bool GetTransparencyLock () const
bool GetUsePatternFill () const
bool GetUsePatternLine () const
bool GetUsePatternPoint () const
bool HasComplexClip () const
bool HasUsedTransparency () const
ERRVALUE HatchPolygonStyle (const LPOINT2D *point, INT32 numpts)
ERRVALUE ImageBegin (const LRECT2D &rect, COLORSPACE colorspace, const COLOR_ARRAY *colormap=0, UINT32 flags=0)
ERRVALUE ImageBegin (INT32 x, INT32 y, INT32 width, INT32 height, COLORSPACE colorspace, const COLOR_ARRAY *colormap=0, UINT32 flags=0)
ERRVALUE ImageEnd (UINT32 flags=0)
ERRVALUE InterfaceTextDrawString (INT32 x, INT32 y, const MIUNICODE *string, TEXTBASEORIGIN baseorigin=TEXTBASEORIGIN_FirstLine, bool bVisualOrder=false, INTERFACETEXTSTYLE style=INTERFACETEXTSTYLE_Normal)
ERRVALUE InterfaceTextGetExtents (const MIUNICODE *string, int *width, int *height=0, int *ascent=0, INTERFACETEXTSTYLE style=INTERFACETEXTSTYLE_Normal)
ERRVALUE InterfaceTextGetMetrics (const MIUNICODE *string, TEXTMETRICS &metrics, INTERFACETEXTSTYLE style=INTERFACETEXTSTYLE_Normal)
DEPRECATED int InterfaceTextGetWidth (const MIUNICODE *string, bool bInkMetrics)
int InterfaceTextGetWidth (const MIUNICODE *string, INTERFACETEXTSTYLE style=INTERFACETEXTSTYLE_Normal, bool bInkMetrics=true)
ERRVALUE IntersectClip (const REGION2D &region)
ERRVALUE IntersectClip (const POLYLINE &polyline)
ERRVALUE IntersectClip (const LRECT2D &rect)
ERRVALUE IntersectClip (const DRECT2D &rect)
bool Is3dEnabled () const
void MultiPassBegin ()
int MultiPassGetCurrentPass () const
int MultiPassGetNumPasses () const
bool MultiPassIsDone () const
void MultiPassNext ()
void MultiPassReset ()
bool MultiPassTestStyle (const POLYSTYLE &style, const void *pattern=0, int patternbytes=0) const
bool MultiPassTestStyle (const LINESTYLE &style, const RVC::STYLEPATTERN_BASE *pPattern=0) const
DEPRECATED bool MultiPassTestStyle (const LINESTYLE &style, const void *pattern, int patternbytes) const
ERRVALUE PutImageSpan (INT32 x, INT32 y, INT32 len, const void *data, const UINT8 *mask=0)
ERRVALUE PutPixel (INT32 x, INT32 y, PIXEL pixel)
ERRVALUE PutPixel3D (INT32 x, INT32 y, float z, PIXEL pixel)
void Reset ()
void ResetUsedTransparency ()
ERRVALUE Set3dDepthFunction (float xcoeff, float ycoeff, float zconst, bool isPespective)
void SetAntialiasing (bool enable=true)
void SetBitmapOrigin (INT32 xorigin, INT32 yorigin)
void SetClipForPut (bool DoClipForPut=true)
void SetClipNone ()
void SetClipRectangle (int xinit, int yinit, int xlast, int ylast)
void SetClipRectangle (const LRECT2D &rect)
void SetClipRegion (const REGION2D &region)
void SetColor (COLOR::NAME color)
void SetColor (const COLOR &color)
void SetColor (PIXEL pixel)
void SetColorIsPatternVariable (bool value)
void SetColorLock (bool ColorLocked)
void SetDepth3D (INT32 x, INT32 y, float z)
void SetDepthTest (MGD::DEPTHTEST testmode)
void SetFont (MGD::FONT *font)
void SetFrameBuffer (UINT16 FrameBuffer)
void SetICMSourceProfile (const PROFILE &profile)
void SetLine4Connected (bool state=true)
void SetLineAttributes (MGD::LINECAP capstyle, MGD::LINEJOIN joinstyle)
void SetLineScaledToMap (bool LineScaledToMap)
void SetLineWidth (double width)
void SetLineWidthMM (double width)
void SetNoFillRightPolyPixels (bool NoFillRightPolyPixels)
void SetNoMultiPointSpan (bool state)
void SetOpacityBlendMode (OPACITY_MODE OpacityBlendMode)
void SetOutputScale (double mapscale)
void SetPixelFunction (MGD::PIXELFUNC func)
void SetPlaneMask (UINT8 redmask, UINT8 greenmask, UINT8 bluemask)
void SetPlaneMask (UINT32 mask)
void SetPlaneMaskLock (bool PlaneMaskLocked)
void SetPlaneMaskRGB (UINT8 redmask, UINT8 greenmask, UINT8 bluemask)
void SetPointScaledToMap (bool PointScaledToMap)
void SetPrivData (int indx, PRIVDATA *data)
ERRVALUE SetStyleFill (MGD::BUILTINFILLSTYLE style, const COLOR &color)
ERRVALUE SetStyleFill (const POLYSTYLE *style, const RVC::STYLEPATTERN_BASE *Pattern=0)
ERRVALUE SetStyleFill (const POLYSTYLE *style, const void *pattern, INT32 patternbytes)
ERRVALUE SetStyleLine (const LINESTYLE *style, const void *pattern, INT32 patternbytes)
ERRVALUE SetStyleLine (const LINESTYLE *style, const RVC::STYLEPATTERN_BASE *Pattern=0)
ERRVALUE SetStylePoint (const POINTSTYLE *style, const void *pattern, INT32 patternbytes)
ERRVALUE SetStylePoint (const POINTSTYLE *style, const RVC::STYLEPATTERN_BASE *Symbol=0)
void SetTextSettings (const MGD::TEXTSETTINGS &settings)
void SetTextStyle (const TEXTSTYLE &style)
void SetThinLineWidthHint (bool enable=true)
void SetTransparency (UINT8 transparency)
void SetTransparencyLock (bool TransparencyLocked)
void SetTranspForPutImage (bool DoTranspForPutImage)
void SetUsePatternFill (bool state=true)
void SetUsePatternLine (bool state=true)
void SetUsePatternPoint (bool state=true)
const STIPPLEMASKStippleGetMask () const
bool StippleIsUsed () const
void StippleSetMask (const STIPPLEMASK &StippleMask)
void StippleSetUsed (bool used)
ERRVALUE TextAddToClip (const MIUNICODE *string, const POLYLINE &Baseline, MGD::BASELINE baseflags, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextBlockComputeExtents (MGD::TEXTBLOCK &block, DRECT2D &extents)
ERRVALUE TextBlockDraw (MGD::TEXTBLOCK &block)
ERRVALUE TextBlockGetFirstString (MGD::TEXTBLOCK &block, MISTRING &string)
ERRVALUE TextDrawGlyph (double x, double y, double baseangle, MIUNICODE character, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextDrawString (const DPOINT2D *basepoints, int numbasepoints, MGD::BASELINE baseflags, const MIUNICODE *string, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextDrawStringPart (const DPOINT2D *basepoints, int numbasepoints, MGD::BASELINE baseflags, const MIUNICODE *string, int startindex=0, int endindex=0, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextDrawStringSimple (double x, double y, double baseangle, const MIUNICODE *string, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextGetFontMetrics (MGD::FONTINFO &fontinfo)
ERRVALUE TextGetGlyphExtents (const double &x, const double &y, const double &baseangle, MIUNICODE ch, DRECT2D &rect, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextGetGlyphMetrics (MIUNICODE ch, MGD::GLYPHINFO &glyphinfo, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextGetStringExtents (const DPOINT2D *basepoints, int numbasepoints, MGD::BASELINE baseflags, const MIUNICODE *string, DRECT2D &extents, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextGetStringExtentsJustified (const DPOINT2D *basepoints, int numbasepoints, MGD::BASELINE baseflags, const MIUNICODE *string, DRECT2D &extents, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextGetStringExtentsSimple (double x, double y, double baseangle, const MIUNICODE *string, DRECT2D &extents, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextGetStringExtentsSimpleJustified (double x, double y, double baseangle, const MIUNICODE *string, DRECT2D &extents, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextGetStringMetrics (const MIUNICODE *string, MGD::GLYPHINFO &glyphinfo, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
ERRVALUE TextGetStringWidth (const MIUNICODE *string, double &width, MGD::FONT::MODE mode=MGD::FONT::MODE_MIUNICODE)
void TextSetClipWidth (double percent)
void TextSetColors (const COLOR &fgcolor, const COLOR &bgcolor, const COLOR *ulcolor=0)
void TextSetColors (PIXEL fgpixel, PIXEL bgpixel, PIXEL ulpixel)
void TextSetEnhanceWidth (double width, bool ValueInPixels=true)
ERRVALUE TextSetFont (int fonthandle)
ERRVALUE TextSetFontByName (const MIUNICODE *fontname, UINT32 FontFlagsRequested=0, UINT32 *pFontFlagsFound=0)
void TextSetHeight (double height, SCREENUNIT units=SCREENUNIT_Pixels)
void TextSetOpenTypeFeatures (const MISTRING &features)
void TextSetShadowValues (double offset, double angle, bool relative)
void TextSetStrokeWidth (double width, bool ValueInPixels=true)
void TextSetStyle (const TEXTSTYLE &style)
void TextSetUnderlineValues (double offset, double thickness)
int TTFComputeGlyphExtentsByIndex (UINT16 GlyphIndex, MGD::GLYPHINFO &glyphinfo)
int TTFDrawGlyphByIndex (double x, double y, double baseangle, UINT16 idx)
int TTFGlyphToChar (UINT16 GlyphIndex, MIUNICODE &Char)

Static Public Member Functions

static int AllocPrivDataIndex ()
static ERRVALUE TextGetFontInfo (int fonthandle, MGD::FONT **font)
static ERRVALUE TextGetFontName (int fonthandle, MISTRING &fontname)
static int TextOpenFont (const MIUNICODE *fontname)

Protected Member Functions

 CONTEXT (MGD::DEVICE *disp)
ERRVALUE _DrawGlyph (MGD::FONT *font, double x, double y, double baseangle, const MGD::STRINGDATA &gidstr, int num)
double _NextGlyphPosition (MGD::FONT *font, double *x, double *y, double baseangle, const MGD::STRINGDATA &gidstr, int num, double SpaceExtra=0.0, double GlyphExtra=0.0)
ERRVALUE ClipRegionUpdateMask ()
ERRVALUE CopyRectSampledLow (const MGD::DEVICE *pDevSrc, const LRECT2D &srcrect, const LRECT2D &destrect, MGD::DEVICE_MEM8G *pDevAlpha=0)
float DepthCalc (float z) const
bool DepthTest (float z, float bufz) const
ERRVALUE DrawLinesLow (const POLYLINE &line)
ERRVALUE DrawLinesLow (const LPOINT2D *points, INT32 numpts)
ERRVALUE DrawStringStraight (const DPOINT2D &pt, double baseangle, const MGD::STRINGDATA &gidstr, int sindex, int eindex, double SpaceExtra, double GlyphExtra)
COLORSPACE GetImageColorSpace () const
int GetStringExtents (const DPOINT2D *baseline, int numpts, double baseangle, MGD::BASELINE baseflags, const MGD::STRINGDATA &bidstr, int startindex, int endindex, DRECT2D &extents, bool TakeJustificationIntoAccount)
int GetStringExtents (const DPOINT2D *baseline, int numpts, double baseangle, MGD::BASELINE baseflags, const MIUNICODE *string, DRECT2D &extents, MGD::FONT::MODE mode, bool TakeJustificationIntoAccount)
int GetStringExtentsAlongCurve (const DPOINT2D *baseline, int numpts, const MGD::STRINGDATA &bidstr, int startindex, int endindex, UINT32 baseflags, DRECT2D &extents)
ERRVALUE ImageSetColorSpace (COLORSPACE colorspace, const COLOR_ARRAY *colmap=0)
ERRVALUE PutImageSpanDirect (INT32 x, INT32 y, INT32 len, const void *data, const UINT8 *mask=0)
bool StippleTest (INT32 x, INT32 y) const
virtual void v_Copy (const CONTEXT &rhs)
virtual ERRVALUE v_CopyRect (const MGD::DEVICE *pDevSrc, const LRECT2D &RectSrc, const LPOINT2D &PtTgt, MGD::DEVICE_MEM8G *pDevAlpha=0)
virtual ERRVALUE v_DrawArc (double xcenter, double ycenter, double xradius, double yradius, double startangle, double sweepangle, double rotangle=0, MGD::SHAPECLOSE closemode=SHAPECLOSE_None)
virtual ERRVALUE v_DrawArc (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double startangle, double sweepangle, double rotangle=0, MGD::SHAPECLOSE closemode=SHAPECLOSE_None)
virtual ERRVALUE v_DrawCircle (double xcenter, double ycenter, double radius)
virtual ERRVALUE v_DrawCircle (INT32 xcenter, INT32 ycenter, INT32 radius)
virtual ERRVALUE v_DrawEllipse (double xcenter, double ycenter, double xradius, double yradius, double rotangle)
virtual ERRVALUE v_DrawEllipse (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double rotangle=0)
virtual ERRVALUE v_DrawGlyph (MGD::FONT *font, double x, double y, double baseangle, const MGD::STRINGDATA &gidstr, int num)
virtual ERRVALUE v_DrawLine (INT32 x1, INT32 y1, INT32 x2, INT32 y2)
virtual ERRVALUE v_DrawLine3D (INT32 x1, INT32 y1, float z1, INT32 x2, INT32 y2, float z2)
virtual ERRVALUE v_DrawLinesDashed (const LPOINT2D *points, INT32 numpoints, const double *DashArray, INT32 DashCount, double DashOffset=0.0, bool close=false)
virtual ERRVALUE v_DrawLinesLow (const POLYLINE &line)
virtual ERRVALUE v_DrawLinesLow (const LPOINT2D *points, INT32 numpts)
virtual ERRVALUE v_DrawPixel (INT32 x, INT32 y)
virtual ERRVALUE v_DrawPoint (const DPOINT2D &pt)
virtual ERRVALUE v_DrawPoint (INT32 x, INT32 y)
virtual ERRVALUE v_DrawPoints (const LPOINT2D *points, INT32 NumPoints)
virtual ERRVALUE v_DrawRectangle (const DRECT2D &rect)
virtual ERRVALUE v_DrawRectangle (const LRECT2D &rect)
virtual ERRVALUE v_DrawRectangle (INT32 x1, INT32 y1, INT32 x2, INT32 y2)
virtual ERRVALUE v_DrawSegments (const LSEGMENT2D *segments, INT32 NumSegments)
virtual ERRVALUE v_DrawStringStraight (const DPOINT2D &pt, double baseangle, const MGD::STRINGDATA &gidstr, int sindex, int eindex, double SpaceExtra, double GlyphExtra)
virtual ERRVALUE v_EraseRectangle (const LRECT2D &rectangle, const COLOR &color)
virtual ERRVALUE v_FillArc (double xcenter, double ycenter, double xradius, double yradius, double startangle, double sweepangle, double rotangle, MGD::SHAPECLOSE closemode)
virtual ERRVALUE v_FillArc (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double startangle, double sweepangle, double rotangle=0, MGD::SHAPECLOSE closemode=SHAPECLOSE_Direct)
virtual ERRVALUE v_FillCircle (double xcenter, double ycenter, double radius)
virtual ERRVALUE v_FillCircle (INT32 xcenter, INT32 ycenter, INT32 radius)
virtual ERRVALUE v_FillEllipse (double xcenter, double ycenter, double xradius, double yradius, double rotangle)
virtual ERRVALUE v_FillEllipse (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double rotangle=0)
virtual ERRVALUE v_FillPolygon (const LPOINT2D *points, INT32 NumPoints, MGD::POLYSHAPE shape=POLYSHAPE_Complex, bool DrawOutline=false)
virtual ERRVALUE v_FillPolygons (const LPOLYGON *polygons, INT32 NumPolys, bool DrawOutline=false)
virtual ERRVALUE v_FillRectangle (const DRECT2D &rect)
virtual ERRVALUE v_FillRectangle (const LRECT2D &rect)
virtual ERRVALUE v_FillRectangle (INT32 x1, INT32 y1, INT32 x2, INT32 y2)
virtual ERRVALUE v_FillRegion (const REGION2D &polygons, bool DrawOutline=false)
virtual ERRVALUE v_FillSubRegion (const SUBREGION2D &polygons, bool DrawOutline=false)
virtual ERRVALUE v_ImageBegin (INT32 x, INT32 y, INT32 width, INT32 height, COLORSPACE colorspace, const COLOR_ARRAY *colormap=0, UINT32 flags=0)
virtual ERRVALUE v_ImageEnd (UINT32 flags=0)
virtual ERRVALUE v_PutImageSpanDirect (INT32 x, INT32 y, INT32 len, const void *data, const UINT8 *mask=0)
virtual ERRVALUE v_PutPixel (INT32 x, INT32 y, PIXEL pixel)
virtual ERRVALUE v_PutPixel3D (INT32 x, INT32 y, float z, PIXEL pixel)
virtual void v_Reset ()
virtual void v_SetBitmapOrigin (INT32 xorigin, INT32 yorigin)
virtual void v_SetColorIsPatternVariable (bool value)

Protected Attributes

bool m_bAntialiasingEnabled
bool m_bColorLocked
bool m_bDepthVariable
bool m_bDoClipForPut
bool m_bDoTranspPutImage
bool m_bHasUsedTransparency
INT32 m_bitmapxorigin
INT32 m_bitmapyorigin
bool m_bLine4Connected
bool m_bLineScaledToMap
bool m_bNeedToUpdateClipMask
bool m_bNoFillRightPolyPixels
bool m_bNoMultiPointSpan
bool m_bPatternFromString
bool m_bPlaneMaskLocked
bool m_bPointScaledToMap
bool m_bThinLineWidthHint
bool m_bTransparencyLocked
bool m_bUsePatternFill
bool m_bUsePatternLine
bool m_bUsePatternPoint
LRECT2D m_ClipRect
REGION2Dm_ClipRegion
COLORCOMPSTRUCT * m_ColorComp
SIMPLE_ARRAY< UINT8m_ColorConvBuf
MGD::DEPTHTEST m_DepthTest
MGD::DEVICEm_dev
float m_dfx
float m_dfy
float m_dfz
PIXEL m_DrawColorPixel
SIMPLE_ARRAY< EDGELIST > m_EdgeList
SIMPLE_ARRAY< INT32m_etptr
POLYSTYLE m_FillStyle
MGD::FONTm_font
SIMPLE_ARRAY< UINT8m_ICMConvBuf
TRANSFORM m_ICMTransform
TRANSFORM m_ICMTransformInv
TRANSFORM m_ImageICMTransform
bool m_IsPerspective
MGD::LINECAP m_LineCap
MGD::LINEJOIN m_LineJoin
LINESTYLE m_LineStyle
double m_LineWidth
SIMPLE_ARRAY< INT32m_lptr
double m_MapScale
CONTEXTm_pClipContext
DEVICE_MEM1_SPARSEm_pClipDevice
RVC::STYLEPATTERN_BASEm_pFillPattern
MGD::PIXELFUNC m_PixelFunc
PIXEL m_PlaneMask
RVC::STYLEPATTERN_LINEm_pLinePattern
SIMPLE_ARRAY< LPOINT2Dm_PointArray
POINTSTYLE m_PointStyle
SIMPLE_ARRAY< LPOLYGONm_PolygonArray
RVC::STYLEPATTERN_BITMAPm_pPointBitmap
RVC::STYLEPATTERN_SYMBOLm_pPointSymbol
int m_PutImageBytesPerPixel
COLOR_ARRAY m_PutImageColorMap
COLORSPACE m_PutImageColorSpace
PROFILE m_SourceProfile
MGD::TEXTSETTINGS m_Text
UINT8 m_Transparency
SIMPLE_ARRAY< LPOINT2Dm_WorkPoints
INT32 m_xsize
INT32 m_xsize2
INT32 m_ysize
INT32 m_ysize2

Private Member Functions

virtual ERRVALUE v_DrawIcon (INT32 x, INT32 y, MICONSTRUCT *icon, ICONFLAGS flags)
virtual ERRVALUE v_InterfaceTextDrawString (INT32 x, INT32 y, const MIUNICODE *string, TEXTBASEORIGIN baseorigin, bool bVisualOrder, INTERFACETEXTSTYLE style)
virtual ERRVALUE v_InterfaceTextGetExtents (const MIUNICODE *string, int *width, int *height, int *ascent, INTERFACETEXTSTYLE style)
virtual ERRVALUE v_InterfaceTextGetMetrics (const MIUNICODE *string, TEXTMETRICS &metrics, INTERFACETEXTSTYLE style)
virtual int v_InterfaceTextGetWidth (const MIUNICODE *string, INTERFACETEXTSTYLE style, bool bInkMetrics)
virtual void v_SymbolBegin ()
virtual void v_SymbolEnd ()
virtual void v_TextBlockBegin (const MGD::TEXTBLOCK &block)
virtual void v_TextBlockEnd (const MGD::TEXTBLOCK &block)
virtual void v_TextSpanBegin ()
virtual void v_TextSpanEnd ()
virtual void v_UpdateClipNone ()
virtual void v_UpdateClipRect ()
virtual void v_UpdateClipRegion ()
virtual void v_UpdateColor ()
virtual void v_UpdateColor2 (const COLOR &)
virtual void v_UpdateFont (const MGD::FONT *)
virtual void v_UpdateLineAttributes ()
virtual void v_UpdateLineWidth ()
virtual void v_UpdatePixelFunc ()
virtual void v_UpdatePlaneMask ()
virtual void v_UpdateStipple ()

Detailed Description

Base for general drawing context.


Constructor & Destructor Documentation

virtual MGD::CONTEXT::~CONTEXT (  )  [virtual]
MGD::CONTEXT::CONTEXT ( MGD::DEVICE disp  )  [protected]

Default Constructor.


Member Function Documentation

ERRVALUE MGD::CONTEXT::_DrawGlyph ( MGD::FONT font,
double  x,
double  y,
double  baseangle,
const MGD::STRINGDATA gidstr,
int  num 
) [inline, protected]

Draw the nth glyph in gidstr at the given location.

The gidstr.m_str is the string being drawn (in Unicode)

double MGD::CONTEXT::_NextGlyphPosition ( MGD::FONT font,
double *  x,
double *  y,
double  baseangle,
const MGD::STRINGDATA gidstr,
int  num,
double  SpaceExtra = 0.0,
double  GlyphExtra = 0.0 
) [inline, protected]

Update the x and y parameters as if the nth glyph in gidstr had just been rendered.

The default implementation just calls the font->NextPosition() method, which uses the m_pos[] settins in the gidstr. Returns the change in x (used to calculate string with by passing base angle of 0) SpaceExtra and GlyphExtra are added between each space and each glyph (including spaces) to acheive "full" justification.

ERRVALUE MGD::CONTEXT::AddExteriorToClip ( const LRECT2D rect  ) 

Add to the clip mask drawing exclusion area using a rectangle.

Areas OUTSIDE the rectangle will be clipped (i.e., they won't draw) The default method twiddles bits in a clip device which is used as a bitmask through which all FillSpans operate. ( Currently only used in autolabl.c, and only) Should be replaced by IntersectClipRegion()

ERRVALUE MGD::CONTEXT::AddToClip ( const REGION2D region  ) 

Add to the clip mask drawing exclusion area using a REGION2D.

Areas added will NOT draw (i.e. they WILL be clipped). The default method clears bits in a clip device which is used as a bitmask through which all FillSpans operate.

ERRVALUE MGD::CONTEXT::AddToClip ( const POLYLINE polyline  ) 

Add to the clip mask drawing exclusion area using a POLYLINE.

Areas added will NOT draw (i.e. they WILL be clipped). The default method clears bits in a clip device which is used as a bitmask through which all FillSpans operate.

ERRVALUE MGD::CONTEXT::AddToClip ( const LRECT2D rect  ) 

Add to the clip mask drawing exclusion area using an LRECT2D.

Areas added will NOT draw (i.e. they WILL be clipped). The default method clears bits in a clip device which is used as a bitmask through which all FillSpans operate.

ERRVALUE MGD::CONTEXT::AddToClip ( const DRECT2D rect  ) 

Add to the clip mask drawing exclusion area using a DRECT2D.

Areas added will NOT draw (i.e. they WILL be clipped). The default method clears bits in a clip device which is used as a bitmask through which all FillSpans operate.

static int MGD::CONTEXT::AllocPrivDataIndex (  )  [static]

Allocate a private data index.

This is uses as an argument to GetPrivData and SetPrivData

bool MGD::CONTEXT::Calculate3dDepthFunction ( const DPOINT3D p1,
const DPOINT3D p2,
const DPOINT3D p3,
const double  viewPlaneDistance,
const bool  isPerspective,
const MAT3X3 matrix 
)

Calculate 3d depth function for given three points.

Parameters:
p1 Points defining a plane
viewPlaneDistance View plane distance
isPerspective Perspective or orthogonal projection
matrix Transformation from destination rectangle to canonical view plane
void MGD::CONTEXT::ClearClipMask (  ) 

Clear the clip mask drawing exclusion area.

void MGD::CONTEXT::ClearICMSourceProfile (  )  [inline]

Set the ICM Profile of the source image or colorspace.

ERRVALUE MGD::CONTEXT::ClipRegionUpdateMask (  )  [protected]
ERRVALUE MGD::CONTEXT::ComputeLabelExtents ( REGION2D extents,
const TEXTBLOCK textblock,
const LABELSTYLE Style,
const POLYLINELIST LeaderLines,
bool  bCheckClip = false,
REGION2D frame = 0 
)

Compute the extents of a label without actually drawing it.

This works for labels with frames.

If the bCheckClip parameter is supplied and true and the label is completely outside the current clipping rectangle, this function will return 0 and the extents region won't be computed (why bother?) If the label may be visible in the current clipping rectangle, the region will be filled in and the function will return 1. If bCheckClip is false (the default), this function will always generate the extents region and return 0 or an error code < 0

If the frame parameter is supplied and not NULL, the frame region will be returned in the supplied region. When there is a frame for a label, the frame region is the same as the extents region. however, if the label has no frame, the frame region will be empty where as the extents region will just hold the extents of the text.

ERRVALUE MGD::CONTEXT::ComputeLabelExtents ( REGION2D extents,
const MIUNICODE text,
const POLYLINE BaseLine,
const LABELSTYLE Style,
const POLYLINELIST LeaderLines,
bool  bCheckClip = false,
REGION2D frame = 0 
)

Compute the extents of a label without actually drawing it.

This works for labels with frames.

If the bCheckClip parameter is supplied and true and the label is completely outside the current clipping rectangle, this function will return 0 and the extents region won't be computed (why bother?) If the label may be visible in the current clipping rectangle, the region will be filled in and the function will return 1. If bCheckClip is false (the default), this function will always generate the extents region and return 0 or an error code < 0

If the frame parameter is supplied and not NULL, the frame region will be returned in the supplied region. When there is a frame for a label, the frame region is the same as the extents region. however, if the label has no frame, the frame region will be empty where as the extents region will just hold the extents of the text.

ERRVALUE MGD::CONTEXT::ComputeLabelFrame ( REGION2D frame,
const MIUNICODE text,
const POLYLINE BaseLine,
const LABELSTYLE Style,
const POLYLINELIST LeaderLines 
)

Compute the frame for a given label.

Note that if the label does not have a frame, the region returned will be empty. If the label style indicates triangular leaders, they will be merged into the frame region. If plain lines are being used, you'll have to clip them to the frame and draw them yourself.

Parameters:
frame The frame returned
double MGD::CONTEXT::ConvertScreenUnits ( double  value,
int  iunits,
int  ounits 
) [inline]

Change value from one SCREENUNIT to another using display for pixel size.

Returns:
Converted value.
Parameters:
value Value to convert
iunits Input units (SCREENUNIT_...)
ounits Output units (SCREENUNIT_...)
void MGD::CONTEXT::Copy ( const CONTEXT rhs  )  [inline]

Copy all the settings from one CONTEXT to another.

ERRVALUE MGD::CONTEXT::CopyRect ( const MGD::DEVICE pDevSrc,
const LRECT2D RectSrc,
const LPOINT2D PtTgt,
MGD::DEVICE_MEM8G pDevAlpha = 0 
)

Copy rectangular area from another device to this one.

The upper-left corner of the source rectangle will be placed at the destination point. Appropriate adjustments will be made for portions off the edge of the display.

ERRVALUE MGD::CONTEXT::CopyRectSampled ( const MGD::DEVICE pDevSrc,
const LRECT2D srcrect,
const LRECT2D destrect,
MGD::DEVICE_MEM8G pDevAlpha = 0 
)

Copy rectangular area from another device.

This method is the same as the other CopyRect(), but takes a destination rectangle instead of just a point. If necessary, the souce image will be sampled to fit the destination rectangle.

If the destination rectangle happens to be the same size as the source rectangle, it will call the simpler method.

ERRVALUE MGD::CONTEXT::CopyRectSampledLow ( const MGD::DEVICE pDevSrc,
const LRECT2D srcrect,
const LRECT2D destrect,
MGD::DEVICE_MEM8G pDevAlpha = 0 
) [protected]

Copy a rectangular area from one MGD::DEVICE to this one with sampling.

The source device does not have to be the same colorspace. If the srcrect and destrect are not the same sizes, the image will be resampled as needed. This is implemented using ImageBegin()/PutImageSpan() in a loop/ImageEnd()

MGD::CONTEXT::DEPRECATED_MSG ( "Use SetColor() instead"   )  [inline]

Set the current drawing color.

Here only for compatibility with old MGD. Should be depricated.

Deprecated:
: Use MGD::CONTEXT::SetColor() instead
MGD::CONTEXT::DEPRECATED_MSG ( "Use GetDevice instead"   )  [inline]

Return the Device for the context.

float MGD::CONTEXT::DepthCalc ( float  z  )  const [inline, protected]

Calculate depth buffer value from Z value.

bool MGD::CONTEXT::DepthTest ( float  z,
float  bufz 
) const [inline, protected]
void MGD::CONTEXT::DepthTestDisable (  )  [inline]
void MGD::CONTEXT::DepthTestEnable (  )  [inline]
void MGD::CONTEXT::DisableICM (  )  [inline]

Disable ICM Color Management.

No color management will be done until the source or destination ICM profile is set again.

ERRVALUE MGD::CONTEXT::DrawArc ( double  xcenter,
double  ycenter,
double  xradius,
double  yradius,
double  startangle,
double  sweepangle,
double  rotangle = 0,
MGD::SHAPECLOSE  closemode = SHAPECLOSE_None 
) [inline]
Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
startangle Starting angle in RADIANS
sweepangle Sweep angle in RADIANS
rotangle Rotation angle in RADIANS
ERRVALUE MGD::CONTEXT::DrawArc ( INT32  xcenter,
INT32  ycenter,
INT32  xradius,
INT32  yradius,
double  startangle,
double  sweepangle,
double  rotangle = 0,
MGD::SHAPECLOSE  closemode = SHAPECLOSE_None 
) [inline]

Draw single elliptical arc.

Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
startangle Starting angle in RADIANS
sweepangle Sweep angle in RADIANS
rotangle Rotation angle in RADIANS
ERRVALUE MGD::CONTEXT::DrawArrow ( const DPOINT2D EndPoint,
double  angle,
double  length,
double  sweep = 30.0 *DEGTORAD,
MGD::ARROWTYPE  type = ARROWTYPE_FilledTriangle 
)

Draw an arrow head.

Parameters:
EndPoint The location of the tip of the arrow
angle The direction the arrow points (radians)
length Length of arrow head (pixels)
sweep Sweep angle (radians)
ERRVALUE MGD::CONTEXT::DrawCircle ( double  xcenter,
double  ycenter,
double  radius 
) [inline]

Draw circle outline.

Parameters:
xcenter X coordinate of center of circle
ycenter Y coordinate of center of circle
radius Radius of circle in pixels
ERRVALUE MGD::CONTEXT::DrawCircle ( INT32  xcenter,
INT32  ycenter,
INT32  radius 
) [inline]

Draw outline of a circle.

Parameters:
xcenter X coordinate of center of circle
ycenter Y coordinate of center of circle
radius Radius of circle in pixels
ERRVALUE MGD::CONTEXT::DrawEllipse ( double  xcenter,
double  ycenter,
double  xradius,
double  yradius,
double  rotangle = 0 
) [inline]
Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
rotangle Rotation angle in RADIANS
ERRVALUE MGD::CONTEXT::DrawEllipse ( INT32  xcenter,
INT32  ycenter,
INT32  xradius,
INT32  yradius,
double  rotangle = 0 
) [inline]

Draw outline of an ellipse.

Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
rotangle Rotation angle in RADIANS
ERRVALUE MGD::CONTEXT::DrawIcon ( INT32  x,
INT32  y,
ICONID  iconid,
const COLOR bgcolor,
ICONFLAGS  flags 
)

Draw single icon using ICONID and background color.

ERRVALUE MGD::CONTEXT::DrawIcon ( INT32  x,
INT32  y,
MICONSTRUCT icon,
ICONFLAGS  flags 
) [inline]

Draw single icon.

ERRVALUE MGD::CONTEXT::DrawLabel ( const TEXTBLOCK textblock,
const LABELSTYLE Style,
const POLYLINELIST LeaderLines 
)

Draw a text label with optional frame and leader lines.

Returns:
1 if label was drawn, 0 if completely clipped, < 0 on error
ERRVALUE MGD::CONTEXT::DrawLabel ( const MIUNICODE text,
const POLYLINE BaseLine,
const LABELSTYLE Style,
const POLYLINELIST LeaderLines 
)

Draw a text label with optional frame and leader lines.

Returns:
1 if label was drawn, 0 if completely clipped, < 0 on error
ERRVALUE MGD::CONTEXT::DrawLine ( INT32  x1,
INT32  y1,
INT32  x2,
INT32  y2 
) [inline]

Draw a 2 point line.

ERRVALUE MGD::CONTEXT::DrawLine3D ( INT32  x1,
INT32  y1,
float  z1,
INT32  x2,
INT32  y2,
float  z2 
) [inline]

Draw 3D line.

Parameters:
x1 Starting X coordinate
y1 Starting Y coordinate
z1 Starting Z coordinate
x2 Ending X coordinate
y2 Ending Y coordinate
z2 Ending Z coordinate
ERRVALUE MGD::CONTEXT::DrawLines ( const SIMPLE_ARRAY< LPOINT2D > &  points,
bool  close = false 
) [inline]

Draw a polyline.

Parameters:
points Point array
close Force closed polygon if true (Not very effecient)
ERRVALUE MGD::CONTEXT::DrawLines ( const POLYLINE line  ) 

Draw a polyline.

ERRVALUE MGD::CONTEXT::DrawLines ( const LPOINT2D points,
INT32  numpoints,
bool  close = false 
)

Draw a polyline.

Parameters:
points Point array
numpoints Number of points (>= 2)
close Force closed polygon if true (Not very effecient)
ERRVALUE MGD::CONTEXT::DrawLinesDashed ( const POLYLINE line,
const double *  DashArray,
INT32  DashCount,
double  DashOffset = 0.0,
bool  close = false 
)

Draw a dashed polyline.

Parameters:
line Point array
DashArray Lengths and Distances of alternating dashes and open segments...
DashCount Number of items in DashArray
DashOffset Start of first dash.
close Force closed polygon if true
ERRVALUE MGD::CONTEXT::DrawLinesDashed ( const SIMPLE_ARRAY< LPOINT2D > &  points,
const double *  DashArray,
INT32  DashCount,
double  DashOffset = 0.0,
bool  close = false 
) [inline]

Draw a dashed polyline.

Parameters:
points Point array
DashArray Lengths and Distances of alternating dashes and open segments...
DashCount Number of items in DashArray
DashOffset Start of first dash.
close Force closed polygon if true
ERRVALUE MGD::CONTEXT::DrawLinesDashed ( const LPOINT2D points,
INT32  numpoints,
const double *  DashArray,
INT32  DashCount,
double  DashOffset = 0.0,
bool  close = false 
) [inline]

Draw a dashed polyline.

Parameters:
points Point array
numpoints Number of polyline vertices
DashArray Lengths and Distances of alternating dashes and open segments...
DashCount Number of items in DashArray
DashOffset Start of first dash.
close Force closed polygon if true
ERRVALUE MGD::CONTEXT::DrawLinesDashed ( const SIMPLE_ARRAY< LPOINT2D > &  points,
const SIMPLE_ARRAY< double > &  DashArray,
double  DashOffset = 0.0,
bool  close = false 
) [inline]

Draw a dashed polyline.

Parameters:
points Point array
DashArray Lengths and Distances of alternating dashes and open segments...
DashOffset Start of first dash.
close Force closed polygon if true
ERRVALUE MGD::CONTEXT::DrawLinesDashed ( const LPOINT2D points,
INT32  numpoints,
const SIMPLE_ARRAY< double > &  DashArray,
double  DashOffset = 0.0,
bool  close = false 
) [inline]

Draw a dashed polyline.

Parameters:
points Point array
numpoints Number of polyline vertices
DashArray Lengths and Distances of alternating dashes and open segments...
DashOffset Start of first dash.
close Force closed polygon if true
ERRVALUE MGD::CONTEXT::DrawLinesLow ( const POLYLINE line  )  [inline, protected]

The default DrawLines implementation will call this method after having closed the polygon (if requested) and possibly clipping the lines (if necessary).

This method is also guarenteed to never get passes a line with less than 2 points or have to deal with line patterns. The line patterns are decomposed into simple lines which are drawn via this function.

ERRVALUE MGD::CONTEXT::DrawLinesLow ( const LPOINT2D points,
INT32  numpts 
) [inline, protected]

The default DrawLines implementation will call this method after having closed the polygon (if requested) and possibly clipping the lines (if necessary).

This method is also guarenteed to never get passed a line with less than 2 points or have to deal with line patterns. The line patterns are decomposed into simple lines which are drawn via this function

ERRVALUE MGD::CONTEXT::DrawLineStyleSample ( const RVC::STYLE styleobj,
const LINESTYLE style,
const LRECT2D rect,
STYLESAMPLEFLAGS  flags = STYLESAMPLE_Default 
)

Draw sample of line style in specified rectangle.

Parameters:
styleobj Open RVC STYLE object reference
style Style
rect Rectangle to contain sample
ERRVALUE MGD::CONTEXT::DrawPixel ( INT32  x,
INT32  y 
)

Draw a single pixel, using current color.

This function ignores all 3D settings. If you want 3D, call PutPixel

ERRVALUE MGD::CONTEXT::DrawPoint ( const DPOINT2D pt  )  [inline]

Draw a point, using current point style.

ERRVALUE MGD::CONTEXT::DrawPoint ( INT32  x,
INT32  y 
) [inline]

Draw a point, using current point style.

ERRVALUE MGD::CONTEXT::DrawPoints ( const SIMPLE_ARRAY< LPOINT2D > &  points  )  [inline]

Draw multiple points.

Parameters:
points Point array
ERRVALUE MGD::CONTEXT::DrawPoints ( const LPOINT2D points,
INT32  NumPoints 
) [inline]

Draw multiple points.

ERRVALUE MGD::CONTEXT::DrawPointStyleSample ( const RVC::STYLE styleobj,
const POINTSTYLE style,
const LRECT2D rect,
STYLESAMPLEFLAGS  flags = STYLESAMPLE_Default 
)

Draw sample of point style in specified rectangle.

Parameters:
styleobj Open RVC STYLE object reference
style Style
rect Rectangle to contain sample
ERRVALUE MGD::CONTEXT::DrawPolyStyleSample ( const RVC::STYLE styleobj,
const POLYSTYLE style,
const LRECT2D rect,
STYLESAMPLEFLAGS  flags = STYLESAMPLE_Default 
)

Draw sample of polygon style in specified rectangle.

Parameters:
styleobj Open RVC STYLE object reference
style Style
rect Rectangle to contain sample
ERRVALUE MGD::CONTEXT::DrawRectangle ( const DRECT2D rect  )  [inline]

Draw rectangle outline.

ERRVALUE MGD::CONTEXT::DrawRectangle ( const LRECT2D rect  )  [inline]

Draw rectangle outline.

ERRVALUE MGD::CONTEXT::DrawRectangle ( INT32  x1,
INT32  y1,
INT32  x2,
INT32  y2 
) [inline]

Draw rectangle outline.

Parameters:
x1 Upper left X
y1 Upper left Y
x2 Lower right X
y2 Lower right Y
ERRVALUE MGD::CONTEXT::DrawRegion ( const REGION2D polygons  ) 

Draw a region.

ERRVALUE MGD::CONTEXT::DrawRoundedRectangle ( const LRECT2D rect,
INT32  radius = -1 
)

Draw a rounded rectangle The if no radius is specified (or -1), the radius will be computed as 1/4 of the minimum dimension of the rectangle.

ERRVALUE MGD::CONTEXT::DrawSegments ( const SIMPLE_ARRAY< LSEGMENT2D > &  segments  )  [inline]

Draw muliple 2-point line segments.

Parameters:
segments Segment array
ERRVALUE MGD::CONTEXT::DrawSegments ( const LSEGMENT2D segments,
INT32  NumSegments 
) [inline]

Draw muliple 2-point line segments.

void MGD::CONTEXT::DrawSimpleArrowHead ( INT32  xbase,
INT32  ybase,
INT32  size,
MGD::DIRECTION  direction 
)

Draw simple triangular arrowhead.

Base of triangle will be at specified location

Parameters:
xbase X center of base
ybase Y center of base
size Size in pixels (height of triangle, 1/2 width of base)
void MGD::CONTEXT::DrawSimpleFrame ( const LRECT2D rect,
const COLOR ColorTopLeft,
const COLOR ColorBottomRight 
)

Draw simple two-color frame using specified rectangle.

Parameters:
rect Rectangle for frame
ERRVALUE MGD::CONTEXT::DrawStringStraight ( const DPOINT2D pt,
double  baseangle,
const MGD::STRINGDATA gidstr,
int  sindex,
int  eindex,
double  SpaceExtra,
double  GlyphExtra 
) [inline, protected]

SpaceExtra and GlyphExtra are added between each space and each glyph (including spaces) to acheive "full" justification.

If overwritten by a derived class, the new method is responsible for drawing the underline, enhanced mode, and shadow.

Parameters:
pt Base point for the string
sindex The starting glyph index to draw
eindex The last glyph index to draw
ERRVALUE MGD::CONTEXT::DrawSubRegion ( const SUBREGION2D polygons  ) 

Draw a subregion.

ERRVALUE MGD::CONTEXT::EraseRectangle ( const LRECT2D rectangle,
const COLOR color 
) [inline]

Erase rectangle to specified color, replacing pixels regardless of transparency.

Parameters:
rectangle Rectangle to erase
color Color to erase with
ERRVALUE MGD::CONTEXT::FillArc ( double  xcenter,
double  ycenter,
double  xradius,
double  yradius,
double  startangle,
double  sweepangle,
double  rotangle = 0,
MGD::SHAPECLOSE  closemode = SHAPECLOSE_Direct 
) [inline]
Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
startangle Starting angle in RADIANS
sweepangle Sweep angle in RADIANS
rotangle Rotation angle in RADIANS
ERRVALUE MGD::CONTEXT::FillArc ( INT32  xcenter,
INT32  ycenter,
INT32  xradius,
INT32  yradius,
double  startangle,
double  sweepangle,
double  rotangle = 0,
MGD::SHAPECLOSE  closemode = SHAPECLOSE_Direct 
) [inline]

Fill single elliptical arc chord or wedge.

Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
startangle Starting angle in RADIANS
sweepangle Sweep angle in RADIANS
rotangle Rotation angle in RADIANS
ERRVALUE MGD::CONTEXT::FillCircle ( double  xcenter,
double  ycenter,
double  radius 
) [inline]
Parameters:
xcenter X coordinate of center of circle
ycenter Y coordinate of center of circle
radius Radius of circle in pixels
ERRVALUE MGD::CONTEXT::FillCircle ( INT32  xcenter,
INT32  ycenter,
INT32  radius 
) [inline]

Fill a circle.

Parameters:
xcenter X coordinate of center of circle
ycenter Y coordinate of center of circle
radius Radius of circle in pixels
ERRVALUE MGD::CONTEXT::FillEllipse ( double  xcenter,
double  ycenter,
double  xradius,
double  yradius,
double  rotangle = 0 
) [inline]
Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
rotangle Rotation angle in RADIANS
ERRVALUE MGD::CONTEXT::FillEllipse ( INT32  xcenter,
INT32  ycenter,
INT32  xradius,
INT32  yradius,
double  rotangle = 0 
) [inline]

Fill an ellipse.

Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
rotangle Rotation angle in RADIANS
ERRVALUE MGD::CONTEXT::FillPolygon ( const LPOINT2D points,
INT32  NumPoints,
MGD::POLYSHAPE  shape = POLYSHAPE_Complex,
bool  DrawOutline = false 
) [inline]

Fill a polygon.

ERRVALUE MGD::CONTEXT::FillPolygons ( const LPOLYGON polygons,
INT32  NumPolys,
bool  DrawOutline = false 
) [inline]

Fill polygons.

The first polygon is the polygon to fill, additional polygons are treated as islands (with possible islands inside the islands, etc)

ERRVALUE MGD::CONTEXT::FillRectangle ( const DRECT2D rect  )  [inline]

Fill a rectangle.

ERRVALUE MGD::CONTEXT::FillRectangle ( const LRECT2D rect  )  [inline]

Fill a rectangle.

ERRVALUE MGD::CONTEXT::FillRectangle ( INT32  x1,
INT32  y1,
INT32  x2,
INT32  y2 
) [inline]

Fill a rectangle.

Parameters:
x1 Upper left X
y1 Upper left Y
x2 Lower right X
y2 Lower right Y
ERRVALUE MGD::CONTEXT::FillRegion ( const REGION2D polygons,
bool  DrawOutline = false 
) [inline]

Fill a region.

ERRVALUE MGD::CONTEXT::FillRoundedRectangle ( const LRECT2D rect,
INT32  radius,
bool  bDrawBorder = false 
)

Draw a rounded rectangle The if no radius is specified (or -1), the radius will be computed as 1/4 of the minimum dimension of the rectangle.

ERRVALUE MGD::CONTEXT::FillSpan ( INT32  x1,
INT32  x2,
INT32  y 
)

Fill a horizontal span.

ERRVALUE MGD::CONTEXT::FillSubRegion ( const SUBREGION2D polygons,
bool  DrawOutline = false 
) [inline]

Fill a subregion.

void MGD::CONTEXT::Get3dDepthFunction ( float &  xcoeff,
float &  ycoeff,
float &  zconst,
bool &  isPespective 
) const [inline]
Parameters:
xcoeff X coefficient
ycoeff Y coefficient
zconst Z constant
bool MGD::CONTEXT::GetAntialiasing (  )  const
const LRECT2D& MGD::CONTEXT::GetClipRectangle (  )  const [inline]
void MGD::CONTEXT::GetClipRegion ( REGION2D region  )  const

Gets the current clipping region.

PIXEL MGD::CONTEXT::GetColor (  )  const [inline]

Returns the current drawing color.

bool MGD::CONTEXT::GetColorLock (  )  const [inline]
PIXEL MGD::CONTEXT::GetColorPixel ( const COLOR color  )  const

Given a color value, return the pixel it represents.

Does ICM translation if source and dest ICM Profiles are set

PIXEL MGD::CONTEXT::GetColorPixelNoICM ( const COLOR color  )  const

Given a color value, return the pixel it represents (ignores ICM).

float MGD::CONTEXT::GetDepth3D ( INT32  x,
INT32  y 
) [inline]

Return the depth at a given pixel location for current frame buffer.

MGD::DEPTHTEST MGD::CONTEXT::GetDepthTest (  )  const [inline]
MGD::DEVICE& MGD::CONTEXT::GetDevice (  )  const [inline]

Return the Device for the context.

const DISPLAYINFO& MGD::CONTEXT::GetDisplayInfo (  )  const [inline]

Get DISPLAYINFO for device attached to context.

FONT* MGD::CONTEXT::GetFont (  )  const [inline]
UINT16 MGD::CONTEXT::GetFrameBuffer (  )  const [inline]

Get current frame buffer.

ERRVALUE MGD::CONTEXT::GetGlyphOutline ( MIUNICODE  uc,
REGION2D region,
bool  bUseGlyphIndex = false 
)

Get the outline of a glyph in the currently selected font.

if bUseGlyphIndex it true, then uc is a TrueType glyph index rather than a Unicode character code The returned region will have the glyph's base point at (0,0)

COLORSPACE MGD::CONTEXT::GetImageColorSpace (  )  const [inline, protected]

Return the colorspace we expect for PutImageSpan().

This is set by calling ImageBegin()

bool MGD::CONTEXT::GetLine4Connected (  )  const [inline]

Return true if using drawing mode to only allow N/S/E/W movement when drawing a line.

MGD::LINECAP MGD::CONTEXT::GetLineCap (  )  const [inline]
MGD::LINEJOIN MGD::CONTEXT::GetLineJoin (  )  const [inline]
bool MGD::CONTEXT::GetLineScaledToMap (  )  const [inline]

Get whether or not point symbol is scaled to map.

double MGD::CONTEXT::GetLineWidth (  )  const [inline]
DEPRECATED double MGD::CONTEXT::GetMapScale (  )  const [inline]

Return the output map scale.

Deprecated:
Use GetOutputScale instead.
OPACITY_MODE MGD::CONTEXT::GetOpacityBlendMode (  )  const [inline]

Get the mode used when filling with translucent color.

Note, this only applies to RGBA devices.

double MGD::CONTEXT::GetOutputScale (  )  const [inline]

Get the current output drawing scale.

void MGD::CONTEXT::GetPixelColor ( PIXEL  pixel,
COLOR color 
) const

Given a pixel value, return the color it represents.

Does ICM translation if source and dest ICM Profiles are set

void MGD::CONTEXT::GetPixelColorNoICM ( PIXEL  pixel,
COLOR color 
) const

Given a pixel value, return the color it represents (ignores ICM).

MGD::PIXELFUNC MGD::CONTEXT::GetPixelFunction (  )  const [inline]

Get current pixel function.

double MGD::CONTEXT::GetPixelSizeMM (  )  const [inline]
PIXEL MGD::CONTEXT::GetPlaneMask (  )  const [inline]
bool MGD::CONTEXT::GetPlaneMaskLock (  )  const [inline]
bool MGD::CONTEXT::GetPointScaledToMap (  )  const [inline]

Get whether or not point symbol is scaled to map.

PRIVDATA* MGD::CONTEXT::GetPrivData ( int  indx  )  const

Get Private data attached to the context.

This is currently used by SML to attach extra data to the context.

int MGD::CONTEXT::GetStringExtents ( const DPOINT2D baseline,
int  numpts,
double  baseangle,
MGD::BASELINE  baseflags,
const MGD::STRINGDATA bidstr,
int  startindex,
int  endindex,
DRECT2D extents,
bool  TakeJustificationIntoAccount 
) [protected]
int MGD::CONTEXT::GetStringExtents ( const DPOINT2D baseline,
int  numpts,
double  baseangle,
MGD::BASELINE  baseflags,
const MIUNICODE string,
DRECT2D extents,
MGD::FONT::MODE  mode,
bool  TakeJustificationIntoAccount 
) [protected]
int MGD::CONTEXT::GetStringExtentsAlongCurve ( const DPOINT2D baseline,
int  numpts,
const MGD::STRINGDATA bidstr,
int  startindex,
int  endindex,
UINT32  baseflags,
DRECT2D extents 
) [protected]
const POLYSTYLE& MGD::CONTEXT::GetStyleFill (  )  const [inline]

Get filling style.

const LINESTYLE& MGD::CONTEXT::GetStyleLine (  )  const [inline]

Get line style.

const POINTSTYLE& MGD::CONTEXT::GetStylePoint (  )  const [inline]

Get point style.

const MGD::TEXTSETTINGS& MGD::CONTEXT::GetTextSettings (  )  const [inline]
MGD::TEXTSETTINGS& MGD::CONTEXT::GetTextSettings (  )  [inline]
const TEXTSTYLE& MGD::CONTEXT::GetTextStyle (  )  const [inline]

Get the current TextStyle.

bool MGD::CONTEXT::GetThinLineWidthHint (  )  const [inline]

Determine if thin line width hinting is enabled.

When enabled, lines less than 1 pixel wide will become partly transparent and get more transprent the thinner they are.

int MGD::CONTEXT::GetTransparency (  )  const [inline]
bool MGD::CONTEXT::GetTransparencyLock (  )  const [inline]
bool MGD::CONTEXT::GetUsePatternFill (  )  const [inline]

Return true if using pattern for fill functions.

bool MGD::CONTEXT::GetUsePatternLine (  )  const [inline]

Return true if using line pattern for drawing functions.

bool MGD::CONTEXT::GetUsePatternPoint (  )  const [inline]

Return true if using pattern/symbol for DrawPoint/DrawPoints.

bool MGD::CONTEXT::HasComplexClip (  )  const [inline]

Returns true if the context has a clip region set which is more complex than a simple rectangle.

Some of the derived class drawing methods fall back on the base-class methods if it is.

bool MGD::CONTEXT::HasUsedTransparency (  )  const [inline]

Determine if transparency has been used for drawing.

ERRVALUE MGD::CONTEXT::HatchPolygonStyle ( const LPOINT2D point,
INT32  numpts 
)

Fill a polygon with a hatch pattern.

This is a low-level version of the function used only by the hatch pattern editor. Generally you'd set a style and just call FillPolygon

ERRVALUE MGD::CONTEXT::ImageBegin ( const LRECT2D rect,
COLORSPACE  colorspace,
const COLOR_ARRAY colormap = 0,
UINT32  flags = 0 
) [inline]

Tell the display what kind of data we'll provide to PutImageSpan().

If it matches the colorspace of the display, PutImageSpan() will call ImagePutSpanDirect(). If not, the image will be translated to what the display wants first.

ERRVALUE MGD::CONTEXT::ImageBegin ( INT32  x,
INT32  y,
INT32  width,
INT32  height,
COLORSPACE  colorspace,
const COLOR_ARRAY colormap = 0,
UINT32  flags = 0 
)

Tell the display what kind of data we'll provide to PutImageSpan().

If it matches the colorspace of the display, PutImageSpan() will call ImagePutSpanDirect(). If not, the image will be translated to what the display wants first.

Parameters:
x X coordinate of left edge
y Y coordinate of top edge
width Width of image in pixels
height Height of image in pixels
colorspace Colorspace of the data we'll be sending
colormap Colormap for COLORSPACE_Indexed colorspaces
ERRVALUE MGD::CONTEXT::ImageEnd ( UINT32  flags = 0  ) 

Notify device that image is complete.

Needed for some displays to flush output or terminate image operations

ERRVALUE MGD::CONTEXT::ImageSetColorSpace ( COLORSPACE  colorspace,
const COLOR_ARRAY colmap = 0 
) [protected]

If it matches the colorspace of the display, PutImageSpan() will call ImagePutSpanDirect().

If not, the image will be translated to what the display wants first. This function is called by ImageBegin.

Parameters:
colmap Colormap for COLORSPACE_Indexed colorspaces
ERRVALUE MGD::CONTEXT::InterfaceTextDrawString ( INT32  x,
INT32  y,
const MIUNICODE string,
TEXTBASEORIGIN  baseorigin = TEXTBASEORIGIN_FirstLine,
bool  bVisualOrder = false,
INTERFACETEXTSTYLE  style = INTERFACETEXTSTYLE_Normal 
) [inline]

Draw "interface text" MIUNICODE* string.

This and related InterfaceText functions are used for rendering text through the underlying graphic system. For example, X text will be rendered using BDF fonts. For user interfaces this will generally be much faster than using the Text or TextBlock functions, but is subject to the limitations of the user-selected font and style.

Parameters:
x X coordinate of basepoint of text
y Y coordinate of basepoint of text
string The string to draw
baseorigin Where to draw the text relative to x,y
bVisualOrder If true, the text is assumed to be in visual order and no BIDI flipping will be done.
style Interface text style

Default implementation does nothing. This method is only implemented on MGD::DEVICE_X and should not be used anywhere WYSIWYG text is desired.

Parameters:
baseorigin Origin location within text
ERRVALUE MGD::CONTEXT::InterfaceTextGetExtents ( const MIUNICODE string,
int *  width,
int *  height = 0,
int *  ascent = 0,
INTERFACETEXTSTYLE  style = INTERFACETEXTSTYLE_Normal 
) [inline]

Get extents of "interface text" MIUNICODE* string.

Default implementation does nothing. This method is only implemented on MGD::DEVICE_X and should not be used anywhere WYSIWYG text is desired.

Parameters:
string String
width Width of string in pixels returned, 0 if don't need
height Height in pixels returned, 0 if don't need
ascent Ascent of first line in pixels returned, 0 if don't need
ERRVALUE MGD::CONTEXT::InterfaceTextGetMetrics ( const MIUNICODE string,
TEXTMETRICS metrics,
INTERFACETEXTSTYLE  style = INTERFACETEXTSTYLE_Normal 
) [inline]

Get extents of "interface text" MIUNICODE* string.

Default implementation does nothing. This method is only implemented on MGD::DEVICE_X and should not be used anywhere WYSIWYG text is desired.

Parameters:
string String
DEPRECATED int MGD::CONTEXT::InterfaceTextGetWidth ( const MIUNICODE string,
bool  bInkMetrics 
) [inline]

Get width of "interface text" MIUNICODE* string.

Default implementation does nothing. This method is only implemented on MGD::DEVICE_X and should not be used anywhere WYSIWYG text is desired.

Parameters:
string String
int MGD::CONTEXT::InterfaceTextGetWidth ( const MIUNICODE string,
INTERFACETEXTSTYLE  style = INTERFACETEXTSTYLE_Normal,
bool  bInkMetrics = true 
) [inline]

Get width of "interface text" MIUNICODE* string.

Default implementation does nothing. This method is only implemented on MGD::DEVICE_X and should not be used anywhere WYSIWYG text is desired.

Parameters:
string String
ERRVALUE MGD::CONTEXT::IntersectClip ( const REGION2D region  ) 

Intersects the current clip region with an REGION2D.

The resulting region is made the new clip region. Only areas inside the clip region will be drawn.

ERRVALUE MGD::CONTEXT::IntersectClip ( const POLYLINE polyline  ) 

Intersects the current clip region with an POLYLINE.

The resulting region is made the new clip region. Only areas inside the clip region will be drawn.

ERRVALUE MGD::CONTEXT::IntersectClip ( const LRECT2D rect  ) 

Intersects the current clip region with an LRECT2D.

The resulting region is made the new clip region. Only areas inside the clip region will be drawn.

ERRVALUE MGD::CONTEXT::IntersectClip ( const DRECT2D rect  ) 

Intersects the current clip region with a DRECT2D.

The resulting region is made the new clip region. Only areas inside the clip region will be drawn.

bool MGD::CONTEXT::Is3dEnabled (  )  const [inline]
void MGD::CONTEXT::MultiPassBegin (  ) 

Enable multi-pass rendering of patterns.

int MGD::CONTEXT::MultiPassGetCurrentPass (  )  const

Return the current pass number in multi-pass rendering.

Will return -1 if not doing multi-pass rendering.

int MGD::CONTEXT::MultiPassGetNumPasses (  )  const

Return the number of passes required for multi-pass rendering.

This function will always return at least 1. During the rendering of pass 0, the number of passes required may increase as new styles are seen which require more passes than previous styles.

bool MGD::CONTEXT::MultiPassIsDone (  )  const

Determine if any more passes are necessary in multi-pass rendering.

Will return true if no more passess are necessary or if not currently in multi-pass rendering mode.

void MGD::CONTEXT::MultiPassNext (  ) 

Call at the end of a pass in multipass rendering.

If called at the end of the last pass, it wil reset multipass rendering.

void MGD::CONTEXT::MultiPassReset (  ) 

Reset multi-pass rendering mode.

Note that this is automatically done by MultiPassNext at the end of the last pass.

bool MGD::CONTEXT::MultiPassTestStyle ( const POLYSTYLE style,
const void *  pattern = 0,
int  patternbytes = 0 
) const

Determine if a given style would cause anything to be rendered on this pass or not.

Will always return true for the first pass or if not doing multi-pass rendering.

bool MGD::CONTEXT::MultiPassTestStyle ( const LINESTYLE style,
const RVC::STYLEPATTERN_BASE pPattern = 0 
) const

Determine if a given style would cause anything to be rendered on this pass.

Will always return true for the first pass or if not doing multi-pass rendering.

Parameters:
pPattern Pattern if used, must match pattern type specified in line style
DEPRECATED bool MGD::CONTEXT::MultiPassTestStyle ( const LINESTYLE style,
const void *  pattern,
int  patternbytes 
) const

Determine if a given style would cause anything to be rendered on this pass.

Will always return true for the first pass or if not doing multi-pass rendering.

Deprecated:
Use the one that takes a RVC::STYLEPATTERN_BASE*.
ERRVALUE MGD::CONTEXT::PutImageSpan ( INT32  x,
INT32  y,
INT32  len,
const void *  data,
const UINT8 mask = 0 
)

Put a span of image data.

Note:
Before putting an image, you MUST call ImageBegin() and call ImageEnd() afterwards. These are stub functions that do nothing in most implementations, but required by others

The mask, if provided, is one byte-per-pixel. 0 means totally transparent, 255 means totally opaque.

ERRVALUE MGD::CONTEXT::PutImageSpanDirect ( INT32  x,
INT32  y,
INT32  len,
const void *  data,
const UINT8 mask = 0 
) [protected]

Put a span of image data.

Note: Before putting an image, you MUST call ImageBegin and call ImageEnd afterwards. These are stub functions that do nothing in most implementations, but required by others

This function should assume the data passed to it is exactly what it wants. The caller will actually call PutImageSpan(), and ImageBegin() will cause PutImageSpan to either call this directly or first translate the data from one display type to what we really want.

ERRVALUE MGD::CONTEXT::PutPixel ( INT32  x,
INT32  y,
PIXEL  pixel 
)

Put single pixel on generic display.

If depth testing is enabled, this will compute the current Z value and call PutPixel3D

ERRVALUE MGD::CONTEXT::PutPixel3D ( INT32  x,
INT32  y,
float  z,
PIXEL  pixel 
)

Put 3D pixel at specified coordinates.

void MGD::CONTEXT::Reset (  )  [inline]

Reset all drawing parameters (except color) to defaults.

void MGD::CONTEXT::ResetUsedTransparency (  )  [inline]

Reset check for transparency usage.

ERRVALUE MGD::CONTEXT::Set3dDepthFunction ( float  xcoeff,
float  ycoeff,
float  zconst,
bool  isPespective 
)

Set depth function for 3D drawing.

This sets the depth function to: Z = X * xcoeff + Y * ycoeff + zconst. Sets the function and calls DepthTestEnabled() if not already enabled.

Parameters:
xcoeff X coefficient
ycoeff Y coefficient
zconst Z constant
void MGD::CONTEXT::SetAntialiasing ( bool  enable = true  )  [inline]

Enable antialiased drawing.

Will be ignored on devices that don't support it. Use GetAntialiasing() to determine the current setting.

void MGD::CONTEXT::SetBitmapOrigin ( INT32  xorigin,
INT32  yorigin 
) [inline]

Set origin for bitmap pattern drawing.

The origin will be SUBTRACTED from the screen coordinate when indexing into the bitmap pattern. If a rectangle is filled whose upper-left corner is the specified origin the upper-left corner of the pattern will be at the upper-left corner of the rectangle.

Parameters:
xorigin X origin
yorigin Y origin
void MGD::CONTEXT::SetClipForPut ( bool  DoClipForPut = true  )  [inline]

Enable or disable clipping for PutXxx functions.

If clipping is disabled the programmer is responsible for ensuring that the coordinates passed to the Put...() functions are within the display area. Attempting to draw outside the display area may result in unpredictable behavior.

Parameters:
DoClipForPut true to perform clipping, false to disable
void MGD::CONTEXT::SetClipNone (  ) 

Disable clipping.

Sets the ClipRect to the device extents, calls ClearClipMask() and then UpdateClipNone()

void MGD::CONTEXT::SetClipRectangle ( int  xinit,
int  yinit,
int  xlast,
int  ylast 
) [inline]

Set the clipping rectangle.

void MGD::CONTEXT::SetClipRectangle ( const LRECT2D rect  ) 

Set the clipping rectangle.

intersects the rectangle with the device extents and calls UpdateClipRect().

void MGD::CONTEXT::SetClipRegion ( const REGION2D region  ) 

Set the clipping region.

void MGD::CONTEXT::SetColor ( COLOR::NAME  color  )  [inline]

Set the current drawing color.

Default method does nothing if the color is locked. Constructs a COLOR from the COLOR::NAME and calls that version This method is necessary to avoid compiler confusion. Without it, MSVC7 thinks a COLOR::NAME is the same as a PIXEL

void MGD::CONTEXT::SetColor ( const COLOR color  ) 

Set the current drawing color.

Default method does nothing if the color is locked. Calls SetTransparency() with the transparency componant of the color Calls GetColorPixel() and calls the PIXEL version of SetColor with the resulting pixel value It then calls UpdateColor(const COLOR&)

void MGD::CONTEXT::SetColor ( PIXEL  pixel  ) 

Set the current drawing color.

Default method does nothing if the color is locked. Then does a bitwise AND with the device's AllPlanesMask. If the resulting color is different then the color already set, it calls UpdateColor()

void MGD::CONTEXT::SetColorIsPatternVariable ( bool  value  )  [inline]

Used during symbol rendering for vector formats like pdf/svg etc.

to indicate that the color being rendered is the variable color for the pattern/symbol.

void MGD::CONTEXT::SetColorLock ( bool  ColorLocked  )  [inline]

Set "color locked" state.

Requests to change the current drawing color or pixel will be ignored while the color is locked.

Parameters:
ColorLocked true to lock, false to unlock
void MGD::CONTEXT::SetDepth3D ( INT32  x,
INT32  y,
float  z 
) [inline]

Set the depth at a given pixel location for current frame buffer.

void MGD::CONTEXT::SetDepthTest ( MGD::DEPTHTEST  testmode  ) 

Set depth test mode.

void MGD::CONTEXT::SetFont ( MGD::FONT font  ) 
void MGD::CONTEXT::SetFrameBuffer ( UINT16  FrameBuffer  ) 

Set current frame buffer.

Has no effect if specified frame buffer is out of range for device.

Parameters:
FrameBuffer Frame buffer index
void MGD::CONTEXT::SetICMSourceProfile ( const PROFILE profile  ) 

Set the ICM Profile of the source image or colorspace.

void MGD::CONTEXT::SetLine4Connected ( bool  state = true  )  [inline]

Set drawing mode to only allow N/S/E/W movement when drawing a line.

void MGD::CONTEXT::SetLineAttributes ( MGD::LINECAP  capstyle,
MGD::LINEJOIN  joinstyle 
)

Set the line cap and join styles.

Records the settings, and calls UpdateLineAttributes() if they have changed.

void MGD::CONTEXT::SetLineScaledToMap ( bool  LineScaledToMap  )  [inline]

Set whether or not line width is scaled to map.

Parameters:
LineScaledToMap true if scaled, false if not
void MGD::CONTEXT::SetLineWidth ( double  width  ) 

Set the line width in pixels.

Records the setting and calls UpdateLineWidth() if it's changed.

void MGD::CONTEXT::SetLineWidthMM ( double  width  )  [inline]

Set the line width in millimeters.

Converts the width to pixels and calls SetLineWidth()

void MGD::CONTEXT::SetNoFillRightPolyPixels ( bool  NoFillRightPolyPixels  )  [inline]

Set to not fill rightmost polygon pixels.

void MGD::CONTEXT::SetNoMultiPointSpan ( bool  state  )  [inline]

Used by some code to cause fill span to output single-pixel spans.

void MGD::CONTEXT::SetOpacityBlendMode ( OPACITY_MODE  OpacityBlendMode  )  [inline]

Set the mode used when filling with translucent color.

Note, this only effects RGBA devices.

void MGD::CONTEXT::SetOutputScale ( double  mapscale  ) 

Set output scale for use by styles, symbols, etc.

Parameters:
mapscale Inverse drawing scale (egL 24000 for 1:24000)
void MGD::CONTEXT::SetPixelFunction ( MGD::PIXELFUNC  func  ) 

Set the pixel function.

void MGD::CONTEXT::SetPlaneMask ( UINT8  redmask,
UINT8  greenmask,
UINT8  bluemask 
)

Set bitplane mask using separate RGB values.

void MGD::CONTEXT::SetPlaneMask ( UINT32  mask  ) 

Set the pixel plane mask.

Does nothing if the plane mask is locked (via SetPlaneMaskLock()). Otherwise, it records the given value bitwise ANDed with the device's AllPlanesMask and calls UpdatePlaneMask() if the setting changed.

void MGD::CONTEXT::SetPlaneMaskLock ( bool  PlaneMaskLocked  )  [inline]

Lock or unlock bitplane mask.

Requests to change the plane mask will be ignored while the mask is locked.

Parameters:
PlaneMaskLocked true to lock mask, false to unlock
void MGD::CONTEXT::SetPlaneMaskRGB ( UINT8  redmask,
UINT8  greenmask,
UINT8  bluemask 
) [inline]

Set bitplane mask using separate RGB values.

Same as the version of SetPlaneMask() that takes 3 values. This exists only for backwards compatibility with old code Use SetPlaneMask() instead.

void MGD::CONTEXT::SetPointScaledToMap ( bool  PointScaledToMap  )  [inline]

Set whether or not point symbol is scaled to map.

Note:
This is set automatically when using SetStylePoint().
Parameters:
PointScaledToMap true if scaled, false if not
void MGD::CONTEXT::SetPrivData ( int  indx,
PRIVDATA data 
)

Set Private data attached to the context.

This is currently used by SML to attach extra data to the context.

ERRVALUE MGD::CONTEXT::SetStyleFill ( MGD::BUILTINFILLSTYLE  style,
const COLOR color 
)

Set the fill style to a built-in pattern fill.

ERRVALUE MGD::CONTEXT::SetStyleFill ( const POLYSTYLE style,
const RVC::STYLEPATTERN_BASE Pattern = 0 
)

Set filling style including pattern.

Parameters:
style Style to use.
Pattern PATTERNTYPE_Bitmap or PATTERNTYPE_Hatch
ERRVALUE MGD::CONTEXT::SetStyleFill ( const POLYSTYLE style,
const void *  pattern,
INT32  patternbytes 
)

Set filling style including pattern.

Deprecated:
Use the version that takes RVC::STYLEPATTERN_BITMAP or RVC::STYLEPATTERN_HATCH
Parameters:
style Style to use. (can be NULL to use defaults)
pattern Pattern data, if required
patternbytes Number of bytes of pattern data
ERRVALUE MGD::CONTEXT::SetStyleLine ( const LINESTYLE style,
const void *  pattern,
INT32  patternbytes 
)

Set line drawing style including pattern.

Note:
If the STYLEFLAG_ScaleToMap flag is set in style.StyleFlags the current output scale will be used to scale the pattern.
Deprecated:
Use the version that takes RVC::STYLEPATTERN_LINE or RVC::STYLEPATTERN_BITMAP
Parameters:
style Style to use. (can be NULL to use defaults)
pattern Pattern data, if required
patternbytes Number of bytes of pattern data
ERRVALUE MGD::CONTEXT::SetStyleLine ( const LINESTYLE style,
const RVC::STYLEPATTERN_BASE Pattern = 0 
)

Set filling style including pattern.

Parameters:
style Style to use.
Pattern PATTERNTYPE_Line or PATTERNTYPE_Bitmap
ERRVALUE MGD::CONTEXT::SetStylePoint ( const POINTSTYLE style,
const void *  pattern,
INT32  patternbytes 
)

Set point drawing style including pattern.

If the STYLEFLAG_ScaleToMap flag is set in style.StyleFlags the current output scale will be used to scale the pattern. If no pattern is specified the points will be drawn as boxes or circles depending on the StyleFlags.

Deprecated:
Use the version that takes RVC::STYLEPATTERN_SYMBOL
Parameters:
style Style to use. (can be NULL to use defaults)
pattern Pattern data, if required
patternbytes Number of bytes of pattern data
ERRVALUE MGD::CONTEXT::SetStylePoint ( const POINTSTYLE style,
const RVC::STYLEPATTERN_BASE Symbol = 0 
)

Set point style including optional point symbol.

Parameters:
style Style to use.
Symbol Can be a STYLEPATTERN_SYMBOL or STYLEPATTERN_BITMAP
void MGD::CONTEXT::SetTextSettings ( const MGD::TEXTSETTINGS settings  )  [inline]
void MGD::CONTEXT::SetTextStyle ( const TEXTSTYLE style  )  [inline]

Set text styling from TEXTSTYLE structure.

Parameters:
style Style parameters to use
void MGD::CONTEXT::SetThinLineWidthHint ( bool  enable = true  )  [inline]

Enable thin line width hinting.

When enabled, lines less than 1 pixel wide will become partly transparent and get more transprent the thinner they are. This feature is off by default. It also only works if Antialiasing is enabled.

void MGD::CONTEXT::SetTransparency ( UINT8  transparency  ) 

Set transparency factor.

SetColor() will also set the transparency value (unless locked) using the high 8 bits of the COLOR.flags field.

Not all generic displays support transparency.

Does nothing if transparency is locked (via SetTransparencyLock()). Otherwise, it records the setting and if not 0, sets a flag so that HasUsedTransparency() will return true.

Parameters:
transparency Transparency value, 0 = opaque, 255 = 100% transparent
void MGD::CONTEXT::SetTransparencyLock ( bool  TransparencyLocked  )  [inline]

Lock or unlock current transparency setting.

Requests to change the transparency factor will be ignored while the value is locked.

Parameters:
TransparencyLocked true to lock, false to unlock
void MGD::CONTEXT::SetTranspForPutImage ( bool  DoTranspForPutImage  )  [inline]

Set whether to perform transparency blending in PutImage functions.

This function will have no effect if not supported by the graphic display.

Parameters:
DoTranspForPutImage true to perform transparency blending, false to not
void MGD::CONTEXT::SetUsePatternFill ( bool  state = true  )  [inline]

Use pattern for fill functions.

void MGD::CONTEXT::SetUsePatternLine ( bool  state = true  )  [inline]

Use line pattern for drawing functions.

void MGD::CONTEXT::SetUsePatternPoint ( bool  state = true  )  [inline]

Use pattern/symbol for DrawPoint/DrawPoints.

const STIPPLEMASK& MGD::CONTEXT::StippleGetMask (  )  const [inline]

Get stipple mask.

bool MGD::CONTEXT::StippleIsUsed (  )  const [inline]

Determine if stipple set to be used.

void MGD::CONTEXT::StippleSetMask ( const STIPPLEMASK StippleMask  ) 

Set stipple mask.

Will automatically set stipple to be used based on whether mask is defined.

Parameters:
StippleMask Stipple mask
void MGD::CONTEXT::StippleSetUsed ( bool  used  ) 

Set whether stipple set to be used.

Parameters:
used Whether used or not, if true must have previously called StippleSetMask
bool MGD::CONTEXT::StippleTest ( INT32  x,
INT32  y 
) const [inline, protected]

Test single point for drawing with stipple.

Returns:
true if stipple not used or if should draw at specified point.
ERRVALUE MGD::CONTEXT::TextAddToClip ( const MIUNICODE string,
const POLYLINE Baseline,
MGD::BASELINE  baseflags,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Add to the clip mask drawing exclusion area using a string, baseline and font settings.

Parameters:
string String to determine clip mask exclusion
Baseline String baseline
ERRVALUE MGD::CONTEXT::TextBlockComputeExtents ( MGD::TEXTBLOCK block,
DRECT2D extents 
)
Parameters:
extents extents in display pixels returned
ERRVALUE MGD::CONTEXT::TextBlockDraw ( MGD::TEXTBLOCK block  ) 
ERRVALUE MGD::CONTEXT::TextBlockGetFirstString ( MGD::TEXTBLOCK block,
MISTRING string 
)
Parameters:
string String returned
ERRVALUE MGD::CONTEXT::TextDrawGlyph ( double  x,
double  y,
double  baseangle,
MIUNICODE  character,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Draw single glyph at specified location.

Parameters:
x X coordinate of basepoint
y Y coordinate of basepoint
baseangle Baseline angle, counter-clockwise from horizontal in radians
character Character whose glyph should be drawn
ERRVALUE MGD::CONTEXT::TextDrawString ( const DPOINT2D basepoints,
int  numbasepoints,
MGD::BASELINE  baseflags,
const MIUNICODE string,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Draw string along specified baseline.

Parameters:
basepoints Points defining baseline
numbasepoints Number of basepoints, if 1 will assume angle of 0
baseflags Flags for determining how baseline fits basepoints
string String to draw
ERRVALUE MGD::CONTEXT::TextDrawStringPart ( const DPOINT2D basepoints,
int  numbasepoints,
MGD::BASELINE  baseflags,
const MIUNICODE string,
int  startindex = 0,
int  endindex = 0,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Draw partial string along specified baseline.

Parameters:
basepoints Points defining baseline
numbasepoints Number of basepoints, if 1 will assume angle of 0
baseflags Flags for determining how baseline fits basepoints
string String to draw
startindex Starting character index in string (0 for beginning)
endindex Ending index, 0 to draw to end of string
ERRVALUE MGD::CONTEXT::TextDrawStringSimple ( double  x,
double  y,
double  baseangle,
const MIUNICODE string,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Draw string given starting point and baseline angle.

Parameters:
x X coordinate of basepoint
y Y coordinate of basepoint
baseangle Baseline angle, counter-clockwise from horizontal in radians
string String to draw
static ERRVALUE MGD::CONTEXT::TextGetFontInfo ( int  fonthandle,
MGD::FONT **  font 
) [static]

Return copy of font info for specified font handle.

ERRVALUE MGD::CONTEXT::TextGetFontMetrics ( MGD::FONTINFO fontinfo  ) 

Retrieve metrics (ascent, descent, etc) for entire font.

Parameters:
fontinfo Font "metrics" returned
static ERRVALUE MGD::CONTEXT::TextGetFontName ( int  fonthandle,
MISTRING fontname 
) [static]
ERRVALUE MGD::CONTEXT::TextGetGlyphExtents ( const double &  x,
const double &  y,
const double &  baseangle,
MIUNICODE  ch,
DRECT2D rect,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
) [inline]

Compute extents for glyph as it would be drawn (assuming 0-width lines).

Parameters:
x X coordinate of starting point
y Y coordinate of starting point
baseangle Baseline angle, counter-clockwise from horizontal in radians
ch Character used to select glyph
rect Extents in display coordinates returned
ERRVALUE MGD::CONTEXT::TextGetGlyphMetrics ( MIUNICODE  ch,
MGD::GLYPHINFO glyphinfo,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
) [inline]

Retrieve metrics (ascent, descent, etc) for a specific glyph.

Parameters:
ch Character used to select glyph
glyphinfo Glyph metrics returned
ERRVALUE MGD::CONTEXT::TextGetStringExtents ( const DPOINT2D basepoints,
int  numbasepoints,
MGD::BASELINE  baseflags,
const MIUNICODE string,
DRECT2D extents,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Compute extents for string as it would be drawn (assuming 0-width lines).

Parameters:
basepoints Points defining baseline
numbasepoints Number of basepoints, if 1 will assume angle of 0
baseflags Flags for determining how baseline fits basepoints
string String to determine extents for
extents Extents returned
ERRVALUE MGD::CONTEXT::TextGetStringExtentsJustified ( const DPOINT2D basepoints,
int  numbasepoints,
MGD::BASELINE  baseflags,
const MIUNICODE string,
DRECT2D extents,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Compute extents extents for string allowing for justification.

Parameters:
basepoints Points defining baseline
numbasepoints Number of basepoints, if 1 will assume angle of 0
baseflags Flags for determining how baseline fits basepoints
string String to determine extents for
extents Extents returned
ERRVALUE MGD::CONTEXT::TextGetStringExtentsSimple ( double  x,
double  y,
double  baseangle,
const MIUNICODE string,
DRECT2D extents,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Compute extents for string given starting point and baseline angle.

Parameters:
x X coordinate of basepoint
y Y coordinate of basepoint
baseangle Baseline angle, counter-clockwise from horizontal in radians
string String to determine extents for
extents Extents returned
ERRVALUE MGD::CONTEXT::TextGetStringExtentsSimpleJustified ( double  x,
double  y,
double  baseangle,
const MIUNICODE string,
DRECT2D extents,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Compute extents for string given starting point and baseline angle allowing for justification.

Parameters:
x X coordinate of basepoint
y Y coordinate of basepoint
baseangle Baseline angle, counter-clockwise from horizontal in radians
string String to determine extents for
extents Extents returned
ERRVALUE MGD::CONTEXT::TextGetStringMetrics ( const MIUNICODE string,
MGD::GLYPHINFO glyphinfo,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Retrieve composite metrics (maximum ascent, descent etc.) about a given string.

Parameters:
string String to determine metrics for
glyphinfo Composite glyph information returned
ERRVALUE MGD::CONTEXT::TextGetStringWidth ( const MIUNICODE string,
double &  width,
MGD::FONT::MODE  mode = MGD::FONT::MODE_MIUNICODE 
)

Determine width of string in pixels assuming horizontal baseline.

Parameters:
string String
width Width in pixels returned
static int MGD::CONTEXT::TextOpenFont ( const MIUNICODE fontname  )  [static]

Open a font (.ttf or .of).

void MGD::CONTEXT::TextSetClipWidth ( double  percent  ) 

Set thickness of text clip width.

Parameters:
percent Percent of height to use
void MGD::CONTEXT::TextSetColors ( const COLOR fgcolor,
const COLOR bgcolor,
const COLOR ulcolor = 0 
)

Set text foreground, background and underline colors.

Converts the COLOR values to pixels and calls the TextSetColors method that takes pixels.

Parameters:
fgcolor Foreground color
bgcolor Background color for shadows and "enhancement" outline
ulcolor Color for underline, will use fgcolor if NULL
void MGD::CONTEXT::TextSetColors ( PIXEL  fgpixel,
PIXEL  bgpixel,
PIXEL  ulpixel 
)

Set text foreground, background and underline colors using pixel values.

Parameters:
fgpixel Forground pixel value
bgpixel Pixel value for shadows and "enhancement" outline
ulpixel Pixel value for underline
void MGD::CONTEXT::TextSetEnhanceWidth ( double  width,
bool  ValueInPixels = true 
)

Set thickness of enhanced text borders.

Parameters:
width Width of "enhancement" border in percentage of glyph height (1.0 = '100')
ERRVALUE MGD::CONTEXT::TextSetFont ( int  fonthandle  ) 

Set font for text drawing.

See also:
TextOpenFont, FontTransIndexToHandle
Parameters:
fonthandle Font "handle"
ERRVALUE MGD::CONTEXT::TextSetFontByName ( const MIUNICODE fontname,
UINT32  FontFlagsRequested = 0,
UINT32 pFontFlagsFound = 0 
)

Set font for drawing by name.

If pFontFlagsFound is not 0 and the FONTSTYLE_DoFontSub flag is set in FontFlagsRequested, it will look for specific variations and do substitution. For example, if fontname is "Times New Roman" and FONTSTYLE_Bold|FONTSTYLE_DoFontSub, it may actually open "Times New Roman Bold" and pFontFlagsFound will tell you that it found FONTSTYLE_Bold.

Parameters:
fontname Font name
void MGD::CONTEXT::TextSetHeight ( double  height,
SCREENUNIT  units = SCREENUNIT_Pixels 
)

Set text glyph height.

Parameters:
height Text glyph height (ascent) in pixels
void MGD::CONTEXT::TextSetOpenTypeFeatures ( const MISTRING features  ) 

Set the OpenType features to use on the current font (if the font supports them).

This method takes a string of space-seperated 4-letter codes of OpenType features. When using a TrueType font, it will look for and activate the given features.

A special code of "default" will reset the features back to their default state.

void MGD::CONTEXT::TextSetShadowValues ( double  offset,
double  angle,
bool  relative 
)

Set shadow position relative to foreground.

Parameters:
offset Offset in percentage of glyph height (1.0 = '100')
angle Angle counter-clockwise from right in radians
relative True if relative to baseline, false if absolute
void MGD::CONTEXT::TextSetStrokeWidth ( double  width,
bool  ValueInPixels = true 
)

Set thickness of stroke lines and outlined text.

Parameters:
width Thickness in percentage of glyph height (1.0 = '100'), 0 for thinnest possible lines
void MGD::CONTEXT::TextSetStyle ( const TEXTSTYLE style  ) 

Set text styling from TEXTSTYLE structure.

Parameters:
style Style parameters to use
void MGD::CONTEXT::TextSetUnderlineValues ( double  offset,
double  thickness 
)

Set underline position and thickness.

Parameters:
offset Offset between baseline and center of underline in percentage of glyph height (1.0 = '100')
thickness Thickness of underline in percentage of glyph height (1.0 = '100')
int MGD::CONTEXT::TTFComputeGlyphExtentsByIndex ( UINT16  GlyphIndex,
MGD::GLYPHINFO glyphinfo 
)
Parameters:
glyphinfo Glyph metrics returned
int MGD::CONTEXT::TTFDrawGlyphByIndex ( double  x,
double  y,
double  baseangle,
UINT16  idx 
)

Draw a given glyph given its glyph index.

If the current font is not a TrueType font, then "idx" is really a Unicode value

int MGD::CONTEXT::TTFGlyphToChar ( UINT16  GlyphIndex,
MIUNICODE Char 
)

Convert a glyph index to character code.

virtual void MGD::CONTEXT::v_Copy ( const CONTEXT rhs  )  [protected, virtual]

Copy all the settings from one CONTEXT to another.

virtual ERRVALUE MGD::CONTEXT::v_CopyRect ( const MGD::DEVICE pDevSrc,
const LRECT2D RectSrc,
const LPOINT2D PtTgt,
MGD::DEVICE_MEM8G pDevAlpha = 0 
) [protected, virtual]

Copy rectangular area from another device to this one.

The upper-left corner of the source rectangle will be placed at the destination point. Appropriate adjustments will have been made for portions off the edge of the display.

virtual ERRVALUE MGD::CONTEXT::v_DrawArc ( double  xcenter,
double  ycenter,
double  xradius,
double  yradius,
double  startangle,
double  sweepangle,
double  rotangle = 0,
MGD::SHAPECLOSE  closemode = SHAPECLOSE_None 
) [protected, virtual]
Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
startangle Starting angle in RADIANS
sweepangle Sweep angle in RADIANS
rotangle Rotation angle in RADIANS

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawArc ( INT32  xcenter,
INT32  ycenter,
INT32  xradius,
INT32  yradius,
double  startangle,
double  sweepangle,
double  rotangle = 0,
MGD::SHAPECLOSE  closemode = SHAPECLOSE_None 
) [protected, virtual]

Draw single elliptical arc.

Default implementation converts the arc into a polyline and calls DrawLines()

Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
startangle Starting angle in RADIANS
sweepangle Sweep angle in RADIANS
rotangle Rotation angle in RADIANS
virtual ERRVALUE MGD::CONTEXT::v_DrawCircle ( double  xcenter,
double  ycenter,
double  radius 
) [protected, virtual]
Parameters:
xcenter X coordinate of center of circle
ycenter Y coordinate of center of circle
radius Radius of circle in pixels

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawCircle ( INT32  xcenter,
INT32  ycenter,
INT32  radius 
) [protected, virtual]

Draw outline of a circle.

Default implementation either uses Brezenham's circle drawing algorithm or calls DrawArc with a complete $ 0 - 2\pi$ arc. It calls DrawArc if line thickness is < 1.5 and antialiasing is turned on, or if the line thickess is >= 1.5 and radius > 100, or if the device return true for AvoidFillSpans that it prefers line drawing to span filling.

Parameters:
xcenter X coordinate of center of circle
ycenter Y coordinate of center of circle
radius Radius of circle in pixels
virtual ERRVALUE MGD::CONTEXT::v_DrawEllipse ( double  xcenter,
double  ycenter,
double  xradius,
double  yradius,
double  rotangle 
) [protected, virtual]
Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
rotangle Rotation angle in RADIANS
virtual ERRVALUE MGD::CONTEXT::v_DrawEllipse ( INT32  xcenter,
INT32  ycenter,
INT32  xradius,
INT32  yradius,
double  rotangle = 0 
) [protected, virtual]

Draw outline of an ellipse.

Default implementation calls DrawArc with a complete $ 0 - 2\pi$ arc

Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
rotangle Rotation angle in RADIANS
virtual ERRVALUE MGD::CONTEXT::v_DrawGlyph ( MGD::FONT font,
double  x,
double  y,
double  baseangle,
const MGD::STRINGDATA gidstr,
int  num 
) [protected, virtual]

Draw the nth glyph in gidstr at the given location.

The default implementation just calls the font->DrawGlyph() method. Special devices could elect to output the glyph itself. The gidstr.m_str is the string being drawn (in Unicode)

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawIcon ( INT32  x,
INT32  y,
MICONSTRUCT icon,
ICONFLAGS  flags 
) [private, virtual]

Draw single icon.

Default implementation does nothing.

virtual ERRVALUE MGD::CONTEXT::v_DrawLine ( INT32  x1,
INT32  y1,
INT32  x2,
INT32  y2 
) [protected, virtual]

Draw a 2 point line.

Default implemementation just calls DrawLines() with a 2 point line

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawLine3D ( INT32  x1,
INT32  y1,
float  z1,
INT32  x2,
INT32  y2,
float  z2 
) [protected, virtual]

Draw 3D line.

Default implementation does 3d transformation and calls DrawLine()

Parameters:
x1 Starting X coordinate
y1 Starting Y coordinate
z1 Starting Z coordinate
x2 Ending X coordinate
y2 Ending Y coordinate
z2 Ending Z coordinate
virtual ERRVALUE MGD::CONTEXT::v_DrawLinesDashed ( const LPOINT2D points,
INT32  numpoints,
const double *  DashArray,
INT32  DashCount,
double  DashOffset = 0.0,
bool  close = false 
) [protected, virtual]

Draw dashed polyline.

Parameters:
points Point array
numpoints Number of points
DashArray Alternating dash lengths/spacings
DashCount Number of DashArray items
DashOffset Start of first dash.
close Force closed polygon if true (Not very effecient)

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawLinesLow ( const POLYLINE line  )  [protected, virtual]

Derived classes can override this instead of v_DrawLines.

The default DrawLines implementation will call this method after having closed the polygon (if requested) and possibly clipping the lines (if necessary)

This method is also guarenteed to never get passes a line with less than 2 points or have to deal with line patterns. The line patterns are decomposed into simple lines which are drawn via this function

Note: The default version of this method converts the POLYLINE into an array of LPOINT2Ds and calls the other version of this virtual method. If you override this method, you must also override the other method because either could be called.

The only reason to override this method is if your device would benifit from getting passed floating-point coordinates or could skip a step by doing its own rounding (X has to convert points to 16-bit integers, so it overrides this to skip converting them to LPOINT2Ds first)

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawLinesLow ( const LPOINT2D points,
INT32  numpts 
) [protected, virtual]

Derived classes can override this instead of v_DrawLines.

The default DrawLines implementation will call this method after having closed the polygon (if requested) and possibly clipping the lines (if necessary)

This method is also guarenteed to never get passed a line with less than 2 points or have to deal with line patterns. The line patterns are decomposed into simple lines which are drawn via this function

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawPixel ( INT32  x,
INT32  y 
) [protected, virtual]

Draw a single pixel, using current color.

Default implementation calls FillSpan() with a single point span This function completely ignores 3D

virtual ERRVALUE MGD::CONTEXT::v_DrawPoint ( const DPOINT2D pt  )  [protected, virtual]

Draw a point, using current point style.

Override if you can make use of floating point coordinates. Otherwise let the default implementation call the other

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawPoint ( INT32  x,
INT32  y 
) [protected, virtual]

Draw a point, using current point style.

Default implementation calls either DrawPointPattern() or DrawPixel(), depending on current context settings.

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawPoints ( const LPOINT2D points,
INT32  NumPoints 
) [protected, virtual]

Draw a bunch of points.

The default implementation just calls DrawPoint for each point, but could be overridden to use a more efficiant method if the display can take more than one at a time.

virtual ERRVALUE MGD::CONTEXT::v_DrawRectangle ( const DRECT2D rect  )  [protected, virtual]

Draw rectangle outline.

Default implementation calls v_DrawRectangle(x1,x2,y1,y2)

virtual ERRVALUE MGD::CONTEXT::v_DrawRectangle ( const LRECT2D rect  )  [protected, virtual]

Draw rectangle outline.

Default implementation calls v_DrawRectangle(x1,x2,y1,y2)

virtual ERRVALUE MGD::CONTEXT::v_DrawRectangle ( INT32  x1,
INT32  y1,
INT32  x2,
INT32  y2 
) [protected, virtual]

Draw rectangle outline.

Default implementation calls DrawLines()

Parameters:
x1 Upper left X
y1 Upper left Y
x2 Lower right X
y2 Lower right Y

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_DrawSegments ( const LSEGMENT2D segments,
INT32  NumSegments 
) [protected, virtual]

Draw multiple 2-point line segments.

DefaultImplementation calls DrawLines for each segment

virtual ERRVALUE MGD::CONTEXT::v_DrawStringStraight ( const DPOINT2D pt,
double  baseangle,
const MGD::STRINGDATA gidstr,
int  sindex,
int  eindex,
double  SpaceExtra,
double  GlyphExtra 
) [protected, virtual]

SpaceExtra and GlyphExtra are added between each space and each glyph (including spaces) to acheive "full" justification.

If overwritten by a derived class, the new method is responsible for drawing the underline, enhanced mode, and shadow.

Parameters:
pt Base point for the string
sindex The starting glyph index to draw
eindex The last glyph index to draw

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_EraseRectangle ( const LRECT2D rectangle,
const COLOR color 
) [protected, virtual]

Erase rectangle to specified color, replacing pixels regardless of transparency.

Default implementation uses FillRectangle. Devices supporting alpha in pixel should override.

Parameters:
rectangle Rectangle to erase
color Color to erase with

Reimplemented in MGD::DEVICE_MEM32::CONTEXT.

virtual ERRVALUE MGD::CONTEXT::v_FillArc ( double  xcenter,
double  ycenter,
double  xradius,
double  yradius,
double  startangle,
double  sweepangle,
double  rotangle,
MGD::SHAPECLOSE  closemode 
) [protected, virtual]

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_FillArc ( INT32  xcenter,
INT32  ycenter,
INT32  xradius,
INT32  yradius,
double  startangle,
double  sweepangle,
double  rotangle = 0,
MGD::SHAPECLOSE  closemode = SHAPECLOSE_Direct 
) [protected, virtual]

Fill single elliptical arc chord or wedge.

Default implementation converts the arc into a polygon and calls FillPolygon()

Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
startangle Starting angle in RADIANS
sweepangle Sweep angle in RADIANS
rotangle Rotation angle in RADIANS
virtual ERRVALUE MGD::CONTEXT::v_FillCircle ( double  xcenter,
double  ycenter,
double  radius 
) [protected, virtual]
Parameters:
xcenter X coordinate of center of circle
ycenter Y coordinate of center of circle
radius Radius of circle in pixels

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_FillCircle ( INT32  xcenter,
INT32  ycenter,
INT32  radius 
) [protected, virtual]

Fill a circle.

Default implementation uses FillSpans()

Parameters:
xcenter X coordinate of center of circle
ycenter Y coordinate of center of circle
radius Radius of circle in pixels

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_FillEllipse ( double  xcenter,
double  ycenter,
double  xradius,
double  yradius,
double  rotangle 
) [protected, virtual]
Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
rotangle Rotation angle in RADIANS
virtual ERRVALUE MGD::CONTEXT::v_FillEllipse ( INT32  xcenter,
INT32  ycenter,
INT32  xradius,
INT32  yradius,
double  rotangle = 0 
) [protected, virtual]

Fill an ellipse.

Default implementation calls FillArc with a full $ 0 - 2\pi$ arc

Parameters:
xcenter X coordinate of center of arc
ycenter Y coordinate of center of arc
xradius X radius of ellipse (BEFORE ROTATION)
yradius Y radius of ellipse (BEFORE ROTATION)
rotangle Rotation angle in RADIANS
virtual ERRVALUE MGD::CONTEXT::v_FillPolygon ( const LPOINT2D points,
INT32  NumPoints,
MGD::POLYSHAPE  shape = POLYSHAPE_Complex,
bool  DrawOutline = false 
) [protected, virtual]

Fill a polygon.

Default implementation calls FillPolygons with a single polygon

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_FillPolygons ( const LPOLYGON polygons,
INT32  NumPolys,
bool  DrawOutline = false 
) [protected, virtual]

Fill polygons.

The first polygon is the polygon to fill, additional polygons are treated as islands (with possible islands inside the islands, etc)

Default implementation calls HatchPolygons() if the current context wants them, otherwise it fills using FillSpan()

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_FillRectangle ( const DRECT2D rect  )  [protected, virtual]

Fill a rectangle.

Default implementation calls the other version of FillRectangle()

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_FillRectangle ( const LRECT2D rect  )  [protected, virtual]

Fill a rectangle.

Default implementation calls the other version of FillRectangle()

virtual ERRVALUE MGD::CONTEXT::v_FillRectangle ( INT32  x1,
INT32  y1,
INT32  x2,
INT32  y2 
) [protected, virtual]

Fill a rectangle.

Default implementation converts the rectangle to a polygon and calls fill Polygon if the context is set to use a hatch pattern or if the device's AvoidFillSpans() returns true. Otherwise it fills using FillSpan()

Parameters:
x1 Upper left X
y1 Upper left Y
x2 Lower right X
y2 Lower right Y

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_FillRegion ( const REGION2D polygons,
bool  DrawOutline = false 
) [protected, virtual]

Fill a region.

Converts the region into LPOLYGONs and calls FillPolygons.

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_FillSubRegion ( const SUBREGION2D polygons,
bool  DrawOutline = false 
) [protected, virtual]

Fill a region.

Converts the region into LPOLYGONs and calls FillPolygons.

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_ImageBegin ( INT32  x,
INT32  y,
INT32  width,
INT32  height,
COLORSPACE  colorspace,
const COLOR_ARRAY colormap = 0,
UINT32  flags = 0 
) [protected, virtual]

Tell the display what kind of data we'll provide to PutImageSpan().

If it matches the colorspace of the display, PutImageSpan() will call ImagePutSpanDirect(). If not, the image will be translated to what the display wants first.

If overloaded, derived class should call base class first. Doing so will setup the protected m_ColorComp member and PutImageSpanDirect() can assume the image data sent to it is in the colorspace returned by GetColorSpace()

Parameters:
x X coordinate of left edge
y Y coordinate of top edge
width Width of image in pixels
height Height of image in pixels
colorspace Colorspace of the data we'll be sending
colormap Colormap for COLORSPACE_Indexed colorspaces

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_ImageEnd ( UINT32  flags = 0  )  [protected, virtual]

Notify device that image is complete.

Needed for some displays to flush output or terminate image operations Derived method should call base method after doing its own work.

Reimplemented in MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_InterfaceTextDrawString ( INT32  x,
INT32  y,
const MIUNICODE string,
TEXTBASEORIGIN  baseorigin,
bool  bVisualOrder,
INTERFACETEXTSTYLE  style 
) [private, virtual]

Draw "interface text" MIUNICODE* string.

This and related InterfaceText functions are used for rendering text through the underlying graphic system. For example, X text will be rendered using BDF fonts. For user interfaces this will generally be much faster than using the Text or TextBlock functions, but is subject to the limitations of the user-selected font and style.

Parameters:
x X coordinate of basepoint of text
y Y coordinate of basepoint of text
string The string to draw
baseorigin Where to draw the text relative to x,y
bVisualOrder If true, the text is assumed to be in visual order and no BIDI flipping will be done.
style Interface text style

Default implementation does nothing. This method is only implemented on MGD::DEVICE_X and should not be used anywhere WYSIWYG text is desired.

virtual ERRVALUE MGD::CONTEXT::v_InterfaceTextGetExtents ( const MIUNICODE string,
int *  width,
int *  height,
int *  ascent,
INTERFACETEXTSTYLE  style 
) [private, virtual]

Get extents of "interface text" MIUNICODE* string.

Default implementation does nothing. This method is only implemented on MGD::DEVICE_X and should not be used anywhere WYSIWYG text is desired.

Parameters:
string String
width Width of string in pixels returned, 0 if don't need
height Height in pixels returned, 0 if don't need
ascent Ascent of first line in pixels returned, 0 if don't need
virtual ERRVALUE MGD::CONTEXT::v_InterfaceTextGetMetrics ( const MIUNICODE string,
TEXTMETRICS metrics,
INTERFACETEXTSTYLE  style 
) [private, virtual]

Get metrics of "interface text" MIUNICODE* string.

Default implementation does nothing. This method is only implemented on MGD::DEVICE_X and should not be used anywhere WYSIWYG text is desired.

Parameters:
string String
virtual int MGD::CONTEXT::v_InterfaceTextGetWidth ( const MIUNICODE string,
INTERFACETEXTSTYLE  style,
bool  bInkMetrics 
) [private, virtual]

Get width of "interface text" MIUNICODE* string.

Default implementation does nothing. This method is only implemented on MGD::DEVICE_X and should not be used anywhere WYSIWYG text is desired.

Parameters:
string String
virtual ERRVALUE MGD::CONTEXT::v_PutImageSpanDirect ( INT32  x,
INT32  y,
INT32  len,
const void *  data,
const UINT8 mask = 0 
) [protected, virtual]

Put a span of image data.

Note: Before putting an image, you MUST call ImageBegin and call ImageEnd afterwards. These are stub functions that do nothing in most implementations, but required by others

This function should assume the data passed to it is exactly what it wants. The caller will actually call PutImageSpan(), and ImageBegin() will cause PutImageSpan to either call this directly or first translate the data from one display type to what we really want.

Reimplemented in MGD::CONTEXT_MEM16, MGD::CONTEXT_MEM24, MGD::DEVICE_MEM32::CONTEXT, MGD::DEVICE_MEM32RGBA::CONTEXT, MGD::CONTEXT_MEM8G, and MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_PutPixel ( INT32  x,
INT32  y,
PIXEL  pixel 
) [protected, virtual]

Put single pixel on generic display.

Default implementation calls SetColor() and DrawPixel() and the default DrawPixel() just calls FillSpan with a one-pixel span If there is any 3D depth testing active, PutPixel() calculates z and calls PutPixel3D()

Reimplemented in MGD::CONTEXT_MEM24, and MGD::CONTEXT_PDF2.

virtual ERRVALUE MGD::CONTEXT::v_PutPixel3D ( INT32  x,
INT32  y,
float  z,
PIXEL  pixel 
) [protected, virtual]

Put 3D pixel at specified coordinates.

Default implementation checks the Z buffer and calls v_PutPixel if the point would not be hidden. 99% of the time this is all you need it to do. Derived class should only implement this if it can do something useful with the z value.

virtual void MGD::CONTEXT::v_Reset (  )  [protected, virtual]

Reset all drawing parameters (except color) to defaults.

There is a default implementation that calls set functions derived class shouldn't need to override it, but can if it would be faster to do it all at once. It could also override it to reset private things, but then should call base class version

virtual void MGD::CONTEXT::v_SetBitmapOrigin ( INT32  xorigin,
INT32  yorigin 
) [protected, virtual]

Set origin for bitmap pattern drawing.

The origin will be SUBTRACTED from the screen coordinate when indexing into the bitmap pattern. If a rectangle is filled whose upper-left corner is the specified origin the upper-left corner of the pattern will be at the upper-left corner of the rectangle.

The default implementation records the new settings

Parameters:
xorigin X origin
yorigin Y origin
virtual void MGD::CONTEXT::v_SetColorIsPatternVariable ( bool  value  )  [protected, virtual]

Default method does nothing.

Used during symbol rendering for vector formats like pdf/svg etc. to indicate that the color being rendered is the variable color for the pattern/symbol.

virtual void MGD::CONTEXT::v_SymbolBegin (  )  [private, virtual]

Called before a point symbol is to be drawn.

Symbol is described by m_PointStyle and m_pattbuf Default implementation does nothing

virtual void MGD::CONTEXT::v_SymbolEnd (  )  [private, virtual]

Called after a point symbol is drawn.

Default implementation does nothing

virtual void MGD::CONTEXT::v_TextBlockBegin ( const MGD::TEXTBLOCK block  )  [private, virtual]

Called at the beginning of a TextBlockDraw().

This allows the derived class to just keep track of the glyphs and dump them all out in some format at the end of the string. Default implementation does nothing

Reimplemented in MGD::CONTEXT_PDF2.

virtual void MGD::CONTEXT::v_TextBlockEnd ( const MGD::TEXTBLOCK block  )  [private, virtual]

Called at the end of a TextBlockDraw().

This allows the derived class to just keep track of the glyphs and dump them all out in some format at the end of the string. Default implementation does nothing

Reimplemented in MGD::CONTEXT_PDF2.

virtual void MGD::CONTEXT::v_TextSpanBegin (  )  [private, virtual]

Called just before starting a run of _DrawGlyph calls.

This allows the derived class to just keep track of the glyphs and dump them all out in some format at the end of the string. Default implementation does nothing

Reimplemented in MGD::CONTEXT_PDF2.

virtual void MGD::CONTEXT::v_TextSpanEnd (  )  [private, virtual]

Called just after ending a run of _DrawGlyph calls.

This allows the derived class to just keep track of the glyphs and dump them all out in some format at the end of the string. Default implementation does nothing

Reimplemented in MGD::CONTEXT_PDF2.

virtual void MGD::CONTEXT::v_UpdateClipNone (  )  [private, virtual]

Called when clipping is set to None.

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing.

Reimplemented in MGD::CONTEXT_PDF2.

virtual void MGD::CONTEXT::v_UpdateClipRect (  )  [private, virtual]

Called when the ClipRect is changed.

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing.

Reimplemented in MGD::CONTEXT_PDF2.

virtual void MGD::CONTEXT::v_UpdateClipRegion (  )  [private, virtual]

Called when the ClipRegion or ClipRect is changed.

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing.

Reimplemented in MGD::CONTEXT_PDF2.

virtual void MGD::CONTEXT::v_UpdateColor (  )  [private, virtual]

Called when the current drawing color changes (via a PIXEL).

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing. Note that this method is always called when the color is changed, where as the COLOR version is only called if the COLOR version of SetColor() is called.

Reimplemented in MGD::CONTEXT_MEM24, MGD::CONTEXT_PDF2, and MGD::CONTEXT_RASTER_COLORMAPPED.

virtual void MGD::CONTEXT::v_UpdateColor2 ( const COLOR  )  [private, virtual]

Called when the current drawing color changes (via a COLOR).

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing. Note that when this method is called, the PIXEL version will also get called, but the reverse is not always true. This version of the method is only called when the COLOR version of SetColor is called.

Reimplemented in MGD::CONTEXT_PDF2.

virtual void MGD::CONTEXT::v_UpdateFont ( const MGD::FONT  )  [private, virtual]

Called when the Font is changed.

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing.

virtual void MGD::CONTEXT::v_UpdateLineAttributes (  )  [private, virtual]

Called when the LineAttributes is changed.

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing.

virtual void MGD::CONTEXT::v_UpdateLineWidth (  )  [private, virtual]

Called when the LineWidth is changed.

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing.

virtual void MGD::CONTEXT::v_UpdatePixelFunc (  )  [private, virtual]

Called when the PixelFunc is changed.

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing.

virtual void MGD::CONTEXT::v_UpdatePlaneMask (  )  [private, virtual]

Called when the PlaneMask changes.

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing.

Reimplemented in MGD::CONTEXT_MEM24.

virtual void MGD::CONTEXT::v_UpdateStipple (  )  [private, virtual]

Called when stipple settings changed.

This method can be overridden by a derived class if it needs to notify the underlying device about a change to the context. The default implementation does nothing.


Member Data Documentation

bool MGD::CONTEXT::m_bColorLocked [protected]

Force patterns to draw entirely in DrawColorPixel.

3-D Depth is variable (using function)

Perform clipping for Put...() functions.

Perform transparency blending in PutImageSpan.

True if we've done any transparency.

Subtract from coordinates when doing bitmap fills.

Subtract from coordinates when doing bitmap fills.

Draw "thin" lines 4-connected.

Line was scaled to map in last style setting.

Gets set if ClipRegion is modified and m_pClipDevice needs to be updated.

Set if pattern was built from "query string".

Plane mask is locked and cannot be changed.

Point was scaled to map in last style setting.

Set if transparency value is "locked".

Use pattern for fill functions.

Use pattern for drawing functions.

Use pattern/symbol for DrawPoint/DrawPoints.

COLORCOMPSTRUCT* MGD::CONTEXT::m_ColorComp [protected]
float MGD::CONTEXT::m_dfx [protected]
float MGD::CONTEXT::m_dfy [protected]
float MGD::CONTEXT::m_dfz [protected]

Depth function coefficients for 3-D.

SIMPLE_ARRAY<EDGELIST> MGD::CONTEXT::m_EdgeList [protected]

Font pointer.

Initialization defered to first call to GetPixelColor() that needs it.

Projection: true for perspective and false for parallel.

double MGD::CONTEXT::m_LineWidth [protected]

Line width in PIXELS.

double MGD::CONTEXT::m_MapScale [protected]

Map scale to use for patterns if required.

Clipping mask as a BITSET_SHARED.

Colorspace and possibly colormap for PutImageSpan.

Amount of transparency, 0 is opaque.

Rounded X/Y size in pixels.

Rounded X/Y size/2 in pixels.


The documentation for this class was generated from the following file:

Generated on Sun Oct 7 21:35:05 2012 for TNTsdk 2012 by  doxygen 1.6.1