Base for general drawing context. More...
#include <mi32/mgd2.h>

Classes | |
| class | PRIVDATA |
| Base class for private data. More... | |
Public Member Functions | |
| virtual | ~CONTEXT () |
| ERRVALUE | AddExteriorToClip (const LRECT2D &rect) |
| ERRVALUE | AddToClip (const REGION2D ®ion) |
| 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 LRECT2D & | GetClipRectangle () const |
| void | GetClipRegion (REGION2D ®ion) 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::DEVICE & | GetDevice () const |
| const DISPLAYINFO & | GetDisplayInfo () const |
| FONT * | GetFont () const |
| UINT16 | GetFrameBuffer () const |
| ERRVALUE | GetGlyphOutline (MIUNICODE uc, REGION2D ®ion, 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 |
| PRIVDATA * | GetPrivData (int indx) const |
| const POLYSTYLE & | GetStyleFill () const |
| const LINESTYLE & | GetStyleLine () const |
| const POINTSTYLE & | GetStylePoint () const |
| const MGD::TEXTSETTINGS & | GetTextSettings () const |
| MGD::TEXTSETTINGS & | GetTextSettings () |
| const TEXTSTYLE & | GetTextStyle () 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 ®ion) |
| 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 ®ion) |
| 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 STIPPLEMASK & | StippleGetMask () 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 |
| REGION2D * | m_ClipRegion |
| COLORCOMPSTRUCT * | m_ColorComp |
| SIMPLE_ARRAY< UINT8 > | m_ColorConvBuf |
| MGD::DEPTHTEST | m_DepthTest |
| MGD::DEVICE * | m_dev |
| float | m_dfx |
| float | m_dfy |
| float | m_dfz |
| PIXEL | m_DrawColorPixel |
| SIMPLE_ARRAY< EDGELIST > | m_EdgeList |
| SIMPLE_ARRAY< INT32 > | m_etptr |
| POLYSTYLE | m_FillStyle |
| MGD::FONT * | m_font |
| SIMPLE_ARRAY< UINT8 > | m_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< INT32 > | m_lptr |
| double | m_MapScale |
| CONTEXT * | m_pClipContext |
| DEVICE_MEM1_SPARSE * | m_pClipDevice |
| RVC::STYLEPATTERN_BASE * | m_pFillPattern |
| MGD::PIXELFUNC | m_PixelFunc |
| PIXEL | m_PlaneMask |
| RVC::STYLEPATTERN_LINE * | m_pLinePattern |
| SIMPLE_ARRAY< LPOINT2D > | m_PointArray |
| POINTSTYLE | m_PointStyle |
| SIMPLE_ARRAY< LPOLYGON > | m_PolygonArray |
| RVC::STYLEPATTERN_BITMAP * | m_pPointBitmap |
| RVC::STYLEPATTERN_SYMBOL * | m_pPointSymbol |
| int | m_PutImageBytesPerPixel |
| COLOR_ARRAY | m_PutImageColorMap |
| COLORSPACE | m_PutImageColorSpace |
| PROFILE | m_SourceProfile |
| MGD::TEXTSETTINGS | m_Text |
| UINT8 | m_Transparency |
| SIMPLE_ARRAY< LPOINT2D > | m_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 () |
Base for general drawing context.
| virtual MGD::CONTEXT::~CONTEXT | ( | ) | [virtual] |
| MGD::CONTEXT::CONTEXT | ( | MGD::DEVICE * | disp | ) | [protected] |
Default Constructor.
| 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.
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()
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.
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.
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.
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.
| 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.
| 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.
| 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.
| 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] |
| 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.
| 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.
| 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.
| xcenter | X coordinate of center of circle | |
| ycenter | Y coordinate of center of circle | |
| radius | Radius of circle in pixels |
Draw outline of a circle.
| 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] |
| 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.
| 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.
| 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.
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.
| 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.
| points | Point array | |
| close | Force closed polygon if true (Not very effecient) |
Draw a polyline.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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 |
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.
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.
| styleobj | Open RVC STYLE object reference | |
| style | Style | |
| rect | Rectangle to contain sample |
Draw a single pixel, using current color.
This function ignores all 3D settings. If you want 3D, call PutPixel
Draw a point, using current point style.
Draw a point, using current point style.
| ERRVALUE MGD::CONTEXT::DrawPoints | ( | const SIMPLE_ARRAY< LPOINT2D > & | points | ) | [inline] |
Draw multiple points.
| points | Point array |
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.
| 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.
| styleobj | Open RVC STYLE object reference | |
| style | Style | |
| rect | Rectangle to contain sample |
Draw rectangle outline.
| x1 | Upper left X | |
| y1 | Upper left Y | |
| x2 | Lower right X | |
| y2 | Lower right Y |
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.
| 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
| 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.
| 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.
| 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.
Erase rectangle to specified color, replacing pixels regardless of transparency.
| 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] |
| 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.
| 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] |
| xcenter | X coordinate of center of circle | |
| ycenter | Y coordinate of center of circle | |
| radius | Radius of circle in pixels |
Fill a circle.
| 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] |
| 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.
| 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)
Fill a rectangle.
| x1 | Upper left X | |
| y1 | Upper left Y | |
| x2 | Lower right X | |
| y2 | Lower right Y |
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::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] |
| 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] |
Given a color value, return the pixel it represents.
Does ICM translation if source and dest ICM Profiles are set
Given a color value, return the pixel it represents (ignores ICM).
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.
| 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.
Given a pixel value, return the color it represents.
Does ICM translation if source and dest ICM Profiles are set
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.
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.
| 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 |
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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| string | String |
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.
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.
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.
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.
| 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.
| ERRVALUE MGD::CONTEXT::PutImageSpan | ( | INT32 | x, | |
| INT32 | y, | |||
| INT32 | len, | |||
| const void * | data, | |||
| const UINT8 * | mask = 0 | |||
| ) |
Put a span of image data.
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.
Put single pixel on generic display.
If depth testing is enabled, this will compute the current Z value and call PutPixel3D
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.
| 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.
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.
| 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.
| 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.
| ColorLocked | true to lock, false to unlock |
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.
| 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.
| 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.
| mapscale | Inverse drawing scale (egL 24000 for 1:24000) |
| void MGD::CONTEXT::SetPixelFunction | ( | MGD::PIXELFUNC | func | ) |
Set the pixel function.
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.
| PlaneMaskLocked | true to lock mask, false to unlock |
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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| StippleMask | Stipple mask |
| void MGD::CONTEXT::StippleSetUsed | ( | bool | used | ) |
Set whether stipple set to be used.
| used | Whether used or not, if true must have previously called StippleSetMask |
Test single point for drawing with stipple.
| 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.
| string | String to determine clip mask exclusion | |
| Baseline | String baseline |
| ERRVALUE MGD::CONTEXT::TextBlockComputeExtents | ( | MGD::TEXTBLOCK & | block, | |
| DRECT2D & | extents | |||
| ) |
| extents | extents in display pixels returned |
| ERRVALUE MGD::CONTEXT::TextBlockDraw | ( | MGD::TEXTBLOCK & | block | ) |
| ERRVALUE MGD::CONTEXT::TextBlockGetFirstString | ( | MGD::TEXTBLOCK & | block, | |
| MISTRING & | string | |||
| ) |
| 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.
| 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.
| 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.
| 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.
| x | X coordinate of basepoint | |
| y | Y coordinate of basepoint | |
| baseangle | Baseline angle, counter-clockwise from horizontal in radians | |
| string | String to draw |
Return copy of font info for specified font handle.
| ERRVALUE MGD::CONTEXT::TextGetFontMetrics | ( | MGD::FONTINFO & | fontinfo | ) |
Retrieve metrics (ascent, descent, etc) for entire font.
| fontinfo | Font "metrics" returned |
| 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).
| 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.
| 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).
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| fgcolor | Foreground color | |
| bgcolor | Background color for shadows and "enhancement" outline | |
| ulcolor | Color for underline, will use fgcolor if NULL |
Set text foreground, background and underline colors using pixel values.
| 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.
| width | Width of "enhancement" border in percentage of glyph height (1.0 = '100') |
| ERRVALUE MGD::CONTEXT::TextSetFont | ( | int | fonthandle | ) |
Set font for text drawing.
| 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.
| fontname | Font name |
| void MGD::CONTEXT::TextSetHeight | ( | double | height, | |
| SCREENUNIT | units = SCREENUNIT_Pixels | |||
| ) |
Set text glyph height.
| 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.
| 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.
| 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.
| style | Style parameters to use |
| void MGD::CONTEXT::TextSetUnderlineValues | ( | double | offset, | |
| double | thickness | |||
| ) |
Set underline position and thickness.
| 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 | |||
| ) |
| 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
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] |
| 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()
| 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] |
| 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
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.
| 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] |
| 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
arc
| 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()
| 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.
| 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.
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.
Draw a single pixel, using current color.
Default implementation calls FillSpan() with a single point span This function completely ignores 3D
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.
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.
Draw rectangle outline.
Default implementation calls v_DrawRectangle(x1,x2,y1,y2)
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()
| 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.
| 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.
| 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()
| 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] |
| 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()
| 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] |
| 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
arc
| 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.
Fill a rectangle.
Default implementation calls the other version of FillRectangle()
Reimplemented in MGD::CONTEXT_PDF2.
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()
| 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()
| 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.
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.
| 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.
| 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.
| 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.
| 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.
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
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
| 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.
bool MGD::CONTEXT::m_bAntialiasingEnabled [protected] |
bool MGD::CONTEXT::m_bColorLocked [protected] |
Force patterns to draw entirely in DrawColorPixel.
bool MGD::CONTEXT::m_bDepthVariable [protected] |
3-D Depth is variable (using function)
bool MGD::CONTEXT::m_bDoClipForPut [protected] |
Perform clipping for Put...() functions.
bool MGD::CONTEXT::m_bDoTranspPutImage [protected] |
Perform transparency blending in PutImageSpan.
bool MGD::CONTEXT::m_bHasUsedTransparency [protected] |
True if we've done any transparency.
INT32 MGD::CONTEXT::m_bitmapxorigin [protected] |
Subtract from coordinates when doing bitmap fills.
INT32 MGD::CONTEXT::m_bitmapyorigin [protected] |
Subtract from coordinates when doing bitmap fills.
bool MGD::CONTEXT::m_bLine4Connected [protected] |
Draw "thin" lines 4-connected.
bool MGD::CONTEXT::m_bLineScaledToMap [protected] |
Line was scaled to map in last style setting.
bool MGD::CONTEXT::m_bNeedToUpdateClipMask [protected] |
Gets set if ClipRegion is modified and m_pClipDevice needs to be updated.
bool MGD::CONTEXT::m_bNoFillRightPolyPixels [protected] |
bool MGD::CONTEXT::m_bNoMultiPointSpan [protected] |
bool MGD::CONTEXT::m_bPatternFromString [protected] |
Set if pattern was built from "query string".
bool MGD::CONTEXT::m_bPlaneMaskLocked [protected] |
Plane mask is locked and cannot be changed.
bool MGD::CONTEXT::m_bPointScaledToMap [protected] |
Point was scaled to map in last style setting.
bool MGD::CONTEXT::m_bThinLineWidthHint [protected] |
bool MGD::CONTEXT::m_bTransparencyLocked [protected] |
Set if transparency value is "locked".
bool MGD::CONTEXT::m_bUsePatternFill [protected] |
Use pattern for fill functions.
bool MGD::CONTEXT::m_bUsePatternLine [protected] |
Use pattern for drawing functions.
bool MGD::CONTEXT::m_bUsePatternPoint [protected] |
Use pattern/symbol for DrawPoint/DrawPoints.
LRECT2D MGD::CONTEXT::m_ClipRect [protected] |
REGION2D* MGD::CONTEXT::m_ClipRegion [protected] |
COLORCOMPSTRUCT* MGD::CONTEXT::m_ColorComp [protected] |
SIMPLE_ARRAY<UINT8> MGD::CONTEXT::m_ColorConvBuf [protected] |
MGD::DEPTHTEST MGD::CONTEXT::m_DepthTest [protected] |
MGD::DEVICE* MGD::CONTEXT::m_dev [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.
PIXEL MGD::CONTEXT::m_DrawColorPixel [protected] |
SIMPLE_ARRAY<EDGELIST> MGD::CONTEXT::m_EdgeList [protected] |
SIMPLE_ARRAY<INT32> MGD::CONTEXT::m_etptr [protected] |
POLYSTYLE MGD::CONTEXT::m_FillStyle [protected] |
MGD::FONT* MGD::CONTEXT::m_font [protected] |
Font pointer.
SIMPLE_ARRAY<UINT8> MGD::CONTEXT::m_ICMConvBuf [protected] |
TRANSFORM MGD::CONTEXT::m_ICMTransform [protected] |
TRANSFORM MGD::CONTEXT::m_ICMTransformInv [mutable, protected] |
Initialization defered to first call to GetPixelColor() that needs it.
TRANSFORM MGD::CONTEXT::m_ImageICMTransform [protected] |
bool MGD::CONTEXT::m_IsPerspective [protected] |
Projection: true for perspective and false for parallel.
MGD::LINECAP MGD::CONTEXT::m_LineCap [protected] |
MGD::LINEJOIN MGD::CONTEXT::m_LineJoin [protected] |
LINESTYLE MGD::CONTEXT::m_LineStyle [protected] |
double MGD::CONTEXT::m_LineWidth [protected] |
Line width in PIXELS.
SIMPLE_ARRAY<INT32> MGD::CONTEXT::m_lptr [protected] |
double MGD::CONTEXT::m_MapScale [protected] |
Map scale to use for patterns if required.
CONTEXT* MGD::CONTEXT::m_pClipContext [protected] |
DEVICE_MEM1_SPARSE* MGD::CONTEXT::m_pClipDevice [protected] |
Clipping mask as a BITSET_SHARED.
RVC::STYLEPATTERN_BASE* MGD::CONTEXT::m_pFillPattern [protected] |
MGD::PIXELFUNC MGD::CONTEXT::m_PixelFunc [protected] |
PIXEL MGD::CONTEXT::m_PlaneMask [protected] |
RVC::STYLEPATTERN_LINE* MGD::CONTEXT::m_pLinePattern [protected] |
SIMPLE_ARRAY<LPOINT2D> MGD::CONTEXT::m_PointArray [protected] |
POINTSTYLE MGD::CONTEXT::m_PointStyle [protected] |
SIMPLE_ARRAY<LPOLYGON> MGD::CONTEXT::m_PolygonArray [protected] |
RVC::STYLEPATTERN_BITMAP* MGD::CONTEXT::m_pPointBitmap [protected] |
RVC::STYLEPATTERN_SYMBOL* MGD::CONTEXT::m_pPointSymbol [protected] |
int MGD::CONTEXT::m_PutImageBytesPerPixel [protected] |
COLOR_ARRAY MGD::CONTEXT::m_PutImageColorMap [protected] |
Colorspace and possibly colormap for PutImageSpan.
COLORSPACE MGD::CONTEXT::m_PutImageColorSpace [protected] |
PROFILE MGD::CONTEXT::m_SourceProfile [protected] |
MGD::TEXTSETTINGS MGD::CONTEXT::m_Text [protected] |
UINT8 MGD::CONTEXT::m_Transparency [protected] |
Amount of transparency, 0 is opaque.
SIMPLE_ARRAY<LPOINT2D> MGD::CONTEXT::m_WorkPoints [protected] |
INT32 MGD::CONTEXT::m_xsize [protected] |
INT32 MGD::CONTEXT::m_xsize2 [protected] |
INT32 MGD::CONTEXT::m_ysize [protected] |
Rounded X/Y size in pixels.
INT32 MGD::CONTEXT::m_ysize2 [protected] |
Rounded X/Y size/2 in pixels.
1.6.1