MGD::CONTEXT Class Reference

Base class for all your drawing needs. More...

#include <mi32/mgd2.h>

Inheritance diagram for MGD::CONTEXT:

Inheritance graph
[legend]
List of all members.

Public Member Functions

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 UNICODE *text, const POLYLINE &BaseLine, const LABELSTYLE &Style, const POLYLINELIST &LeaderLines, bool bCheckClip=false, REGION2D *frame=0)
double ConvertScreenUnits (double value, int iunits, int ounits)
void Copy (const CONTEXT &rhs)
ERRVALUE CopyRect (const MGD::DEVICE *srcdev, const LRECT2D &srcrect, const LPOINT2D &destpt, MGD::DEVICE_MEM8G *alpha=0)
ERRVALUE CopyRectSampled (const MGD::DEVICE *srcdev, const LRECT2D &srcrect, const LRECT2D &destrect, MGD::DEVICE_MEM8G *alpha=0)
void DepthTestDisable ()
void DepthTestEnable ()
void DisableICM ()
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 (INT32 xcenter, INT32 ycenter, INT32 radius)
ERRVALUE DrawEllipse (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double rotangle=0)
ERRVALUE DrawIcon (INT32 x, INT32 y, MICON icon, ICONFLAGS flags)
ERRVALUE DrawLabel (const TEXTBLOCK &textblock, const LABELSTYLE &Style, const POLYLINELIST &LeaderLines)
ERRVALUE DrawLabel (const UNICODE *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 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 (int shandle, const LINESTYLE &style, const LRECT2D &rect, STYLESAMPLEFLAGS flags=STYLESAMPLE_Default)
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 (int shandle, const POINTSTYLE &style, const LRECT2D &rect, STYLESAMPLEFLAGS flags=STYLESAMPLE_Default)
ERRVALUE DrawPointStyleSample (const RVC::STYLE &styleobj, const POINTSTYLE &style, const LRECT2D &rect, STYLESAMPLEFLAGS flags=STYLESAMPLE_Default)
ERRVALUE DrawPolyStyleSample (int shandle, const POLYSTYLE &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 DrawSegments (const SIMPLE_ARRAY< LSEGMENT2D > &segments)
ERRVALUE DrawSegments (const LSEGMENT2D *segments, INT32 NumSegments)
ERRVALUE DrawSubRegion (const SUBREGION2D &polygons)
ERRVALUE FillArc (INT32 xcenter, INT32 ycenter, INT32 xradius, INT32 yradius, double startangle, double sweepangle, double rotangle=0, MGD::SHAPECLOSE closemode=SHAPECLOSE_Direct)
ERRVALUE FillCircle (INT32 xcenter, INT32 ycenter, INT32 radius)
ERRVALUE FillDevice ()
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 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
MGD::DEPTHTEST Get3dDepthTestMode () 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::DEVICEGetDevice () const
MGD::DEVICEGetDisplay () const
const DISPLAYINFOGetDisplayInfo () const
FONTGetFont () const
bool GetLine4Connected () const
MGD::LINECAP GetLineCap () const
MGD::LINEJOIN GetLineJoin () const
bool GetLineScaledToMap () const
int GetLineWidth () const
double GetMapScale () 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 MGD::TEXTSETTINGSGetTextSettings () const
MGD::TEXTSETTINGSGetTextSettings ()
const TEXTSTYLEGetTextStyle ()
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, HATCHCOMPONENT *Element, INT32 numelem)
ERRVALUE ImageBegin (const LRECT2D &rect, COLORSPACE colorspace, const SIMPLE_ARRAY< COLOR > *colormap=0, UINT32 flags=0)
ERRVALUE ImageBegin (INT32 x, INT32 y, INT32 width, INT32 height, COLORSPACE colorspace, const SIMPLE_ARRAY< COLOR > *colormap=0, UINT32 flags=0)
ERRVALUE ImageEnd (UINT32 flags=0)
ERRVALUE InterfaceTextDrawString (INT32 x, INT32 y, const UNICODE *string, TEXTBASEORIGIN baseorigin=TEXTBASEORIGIN_FirstLine, bool bVisualOrder=false, INTERFACETEXTSTYLE style=INTERFACETEXTSTYLE_Normal)
ERRVALUE InterfaceTextGetExtents (const UNICODE *string, int *width, int *height=0, int *ascent=0, INTERFACETEXTSTYLE style=INTERFACETEXTSTYLE_Normal)
int InterfaceTextGetWidth (const UNICODE *string, bool bInkMetrics)
int InterfaceTextGetWidth (const UNICODE *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
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 Set3dDepthTestMode (MGD::DEPTHTEST testmode)
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 SetColorPixel (PIXEL pixel)
void SetFont (MGD::FONT *font)
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 SetNoMultiPointSpan (bool state)
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 void *pattern=0, INT32 patternbytes=0)
ERRVALUE SetStyleLine (const LINESTYLE *style, const void *pattern=0, INT32 patternbytes=0)
ERRVALUE SetStylePoint (const POINTSTYLE *style, const void *pattern=0, INT32 patternbytes=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)
ERRVALUE TextAddToClip (const UNICODE *string, const POLYLINE &Baseline, MGD::BASELINE baseflags, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
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, UNICODE character, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextDrawString (const DPOINT2D *basepoints, int numbasepoints, MGD::BASELINE baseflags, const UNICODE *string, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextDrawStringPart (const DPOINT2D *basepoints, int numbasepoints, MGD::BASELINE baseflags, const UNICODE *string, int startindex=0, int endindex=0, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextDrawStringSimple (double x, double y, double baseangle, const UNICODE *string, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextGetFontMetrics (MGD::FONTINFO &fontinfo)
ERRVALUE TextGetGlyphExtents (const double &x, const double &y, const double &baseangle, UNICODE ch, DRECT2D &rect, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextGetGlyphMetrics (UNICODE ch, MGD::GLYPHINFO &glyphinfo, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextGetStringExtents (const DPOINT2D *basepoints, int numbasepoints, MGD::BASELINE baseflags, const UNICODE *string, DRECT2D &extents, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextGetStringExtentsJustified (const DPOINT2D *basepoints, int numbasepoints, MGD::BASELINE baseflags, const UNICODE *string, DRECT2D &extents, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextGetStringExtentsSimple (double x, double y, double baseangle, const UNICODE *string, DRECT2D &extents, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextGetStringExtentsSimpleJustified (double x, double y, double baseangle, const UNICODE *string, DRECT2D &extents, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextGetStringMetrics (const UNICODE *string, MGD::GLYPHINFO &glyphinfo, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
ERRVALUE TextGetStringWidth (const UNICODE *string, double &width, MGD::FONT::MODE mode=MGD::FONT::MODE_UNICODE)
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 UNICODE *fontname)
void TextSetHeight (double height, SCREENUNIT units=SCREENUNIT_Pixels)
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, UNICODE &Char)
virtual ~CONTEXT ()

Static Public Member Functions

int AllocPrivDataIndex ()
ERRVALUE TextGetFontInfo (int fonthandle, MGD::FONT **font)
ERRVALUE TextGetFontName (int fonthandle, UNICODE *fontname)
int TextOpenFont (const UNICODE *fontname)

Protected Member Functions

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)
 CONTEXT (MGD::DEVICE *disp)
ERRVALUE CopyRectSampledLow (const MGD::DEVICE *srcdisp, const LRECT2D &srcrect, const LRECT2D &destrect, MGD::DEVICE_MEM8G *alpha=0)
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 UNICODE *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 SIMPLE_ARRAY< COLOR > *colmap=0)
ERRVALUE PutImageSpanDirect (INT32 x, INT32 y, INT32 len, const void *data, const UINT8 *mask=0)
virtual void v_Copy (const CONTEXT &rhs)
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 (INT32 xcenter, INT32 ycenter, INT32 radius)
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_DrawIcon (INT32 x, INT32 y, MICON icon, ICONFLAGS flags)
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_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 (INT32 xcenter, INT32 ycenter, INT32 radius)
virtual ERRVALUE v_FillDevice ()
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_ImageBegin (INT32 x, INT32 y, INT32 width, INT32 height, COLORSPACE colorspace, const SIMPLE_ARRAY< COLOR > *colormap=0, UINT32 flags=0)
virtual ERRVALUE v_ImageEnd (UINT32 flags=0)
virtual ERRVALUE v_InterfaceTextDrawString (INT32 x, INT32 y, const UNICODE *string, TEXTBASEORIGIN baseorigin, bool bVisualOrder, INTERFACETEXTSTYLE style)
virtual ERRVALUE v_InterfaceTextGetExtents (const UNICODE *string, int *width, int *height, int *ascent, INTERFACETEXTSTYLE style)
virtual int v_InterfaceTextGetWidth (const UNICODE *string, INTERFACETEXTSTYLE style, bool bInkMetrics)
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)
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 (const COLOR &)
virtual void v_UpdateColor ()
virtual void v_UpdateFont (const MGD::FONT *)
virtual void v_UpdateLineAttributes ()
virtual void v_UpdateLineWidth ()
virtual void v_UpdatePixelFunc ()
virtual void v_UpdatePlaneMask ()

Static Protected Member Functions

bool CheckZ (const bool isPerspective, const float checkvalue, const float value)
void SetZ (const bool isPerspective, const float checkvalue, float *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_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
CONTEXTm_ClipContext
DEVICE_MEM1_SPARSEm_ClipDevice
LRECT2D m_ClipRect
REGION2Dm_ClipRegion
COLORCOMPHANDLE 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
SIMPLE_ARRAY< UINT8m_pattbuf
MGD::PIXELFUNC m_PixelFunc
PIXEL m_PlaneMask
SIMPLE_ARRAY< LPOINT2Dm_PointArray
POINTSTYLE m_PointStyle
SIMPLE_ARRAY< LPOLYGONm_PolygonArray
int m_PutImageBytesPerPixel
SIMPLE_ARRAY< COLORm_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

Detailed Description

Base class for all your drawing needs.

Definition at line 1482 of file mgd2.h.


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 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)

Definition at line 3264 of file mgd2.h.

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. This function could be made virtual, but that would be a bad idea.

Definition at line 3343 of file mgd2.h.

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.

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,