|
Classes |
class | SubRenderContext |
| Provide a base class for pointing to when storing sub-rendering contexts. These are needed when a node takes a long time to render, such as a NodeBlender object which interrupts itself before all the blended objects have finished rendering. This class is essentially empty - derive your own specific context class from it. More...
|
class | SubTreeRenderContext |
| Represents the rendering state where tree rendering has been suspended but the current node is the root of a subtree that has ALREADY BEEN RENDERED. More...
|
class | RenderRegion |
| THIS IS AN ABSTRACT CLASS. Don't try to create a RenderRegion itself, but rather create one of it's derived classes. A RenderRegion object is created when an area of the screen/printer (or any destination) has become invalid and needs to be redrawn. It 'lives' for as long as that region is still invalid. It is also used for e.g. exporting files or in smart click detection. Background rendering and region merging is achieved by using a List of Render Region objects. When a new region becomes invalid, a RenderRegion is created and added to that list. If the rendering is interrupted before it is complete, then it will continue again when the OnIdle routine scans through the list of RenderRegions. RenderRegions can also be created at other times for Immediate rendering. To use a RenderRegion, create an OSRenderRegion or a GRenderRegion depending on the method of rendering required, then Attach a DC and CWnd to the region to specify the Render destination. Next call InitRender which will return the RenderRegions previous render state if it had been interrupted or Null if it has just been created. You can then set attributes, Save/Restore them, and Render objects. When rendering is complete, call ExitRender passing the current render state. More...
|
struct | RenderRegion::FlagBlock |
struct | RenderRegion::_StrokeFlags |
struct | RenderRegion::_FillFlags |
struct | RenderRegion::_TextFlags |
class | RenderCallback |
| Provide a base class for handling callbacks from RenderTree Notes: RenderTree function calls the BeforeNode function in this class when it's about to render any Node. Derive from this class and implement Callback to provide specialised processing of nodes during rendering Derived versions of Callback can: Prevent the node being rendered Set attributes Set subrender contexts Accumulate their own info about the render sequence. More...
|
Defines |
#define | FORMAT_TOP 0x00000000 |
#define | FORMAT_LEFT 0x00000000 |
#define | FORMAT_CENTER 0x00000001 |
#define | FORMAT_RIGHT 0x00000002 |
#define | FORMAT_VCENTER 0x00000004 |
#define | FORMAT_BOTTOM 0x00000008 |
#define | FORMAT_WORDBREAK 0x00000010 |
#define | FORMAT_SINGLELINE 0x00000020 |
#define | FORMAT_EXPANFORMATABS 0x00000040 |
#define | FORMAT_TABSTOP 0x00000080 |
#define | FORMAT_NOCLIP 0x00000100 |
#define | FORMAT_EXTERNALLEADING 0x00000200 |
#define | FORMAT_CALCRECT 0x00000400 |
#define | FORMAT_NOPREFIX 0x00000800 |
#define | FORMAT_INTERNAL 0x00001000 |
#define | DEFAULT_TEXT_FORMATTING FORMAT_SINGLELINE | FORMAT_NOPREFIX | FORMAT_VCENTER |
#define | RR_STROKECOLOUR() (((StrokeColourAttribute *) CurrentAttrs[ATTR_STROKECOLOUR].pAttr)->Colour) |
#define | RR_FILLCOLOUR() (((ColourFillAttribute *) CurrentAttrs[ATTR_FILLGEOMETRY].pAttr)->Colour) |
#define | RR_LINEWIDTH() (((LineWidthAttribute *) CurrentAttrs[ATTR_LINEWIDTH ].pAttr)->LineWidth) |
#define | RR_WINDINGRULE() (((WindingRuleAttribute *) CurrentAttrs[ATTR_WINDINGRULE ].pAttr)->WindingRule) |
#define | RR_STARTCAP() (((StartCapAttribute *) CurrentAttrs[ATTR_STARTCAP ].pAttr)->StartCap) |
#define | RR_JOINTYPE() (((JoinTypeAttribute *) CurrentAttrs[ATTR_JOINTYPE ].pAttr)->JoinType) |
#define | RR_QUALITY() (((QualityAttribute *) CurrentAttrs[ATTR_QUALITY ].pAttr)->Quality) |
#define | RR_STARTARROW() (((StartArrowAttribute *) CurrentAttrs[ATTR_STARTARROW ].pAttr)->StartArrow) |
#define | RR_ENDARROW() (((EndArrowAttribute *) CurrentAttrs[ATTR_ENDARROW ].pAttr)->EndArrow) |
#define | RR_MITRELIMIT() (((MitreLimitAttribute *) CurrentAttrs[ATTR_MITRELIMIT ].pAttr)->MitreLimit) |
#define | RR_DASHPATTERN() (((DashPatternAttribute *) CurrentAttrs[ATTR_DASHPATTERN ].pAttr)->DashPattern) |
#define | RR_FILLTRANSP() ((TranspFillAttribute*)CurrentAttrs[ATTR_TRANSPFILLGEOMETRY].pAttr) |
#define | RR_FILLEFFECT() ((FillEffectAttribute*)CurrentAttrs[ATTR_FILLEFFECT].pAttr) |
#define | RR_FILLMAPPING() ((FillMappingAttribute*)CurrentAttrs[ATTR_FILLMAPPING].pAttr) |
#define | RR_TRANSPFILLMAPPING() ((FillTranspMappingAttribute*)CurrentAttrs[ATTR_TRANSPFILLMAPPING].pAttr) |
#define | RR_STROKETRANSP() ((StrokeTranspAttribute*)CurrentAttrs[ATTR_STROKETRANSP].pAttr) |
#define | RR_TXTFONTTYPEFACE() (((TxtFontTypefaceAttribute *) CurrentAttrs[ATTR_TXTFONTTYPEFACE ].pAttr)->HTypeface) |
#define | RR_TXTBOLD() |
#define | RR_TXTITALIC() |
#define | RR_TXTASPECTRATIO() (((TxtAspectRatioAttribute *) CurrentAttrs[ATTR_TXTASPECTRATIO ].pAttr)->AspectRatio) |
#define | RR_TXTJUSTIFICATION() (((TxtJustificationAttribute *) CurrentAttrs[ATTR_TXTJUSTIFICATION ].pAttr)->justification) |
#define | RR_TXTTRACKING() (((TxtTrackingAttribute *) CurrentAttrs[ATTR_TXTTRACKING ].pAttr)->Tracking) |
#define | RR_TXTUNDERLINE() (((TxtUnderlineAttribute *) CurrentAttrs[ATTR_TXTUNDERLINE ].pAttr)->Underlined) |
#define | RR_TXTFONTSIZE() (((TxtFontSizeAttribute *) CurrentAttrs[ATTR_TXTFONTSIZE ].pAttr)->FontSize) |
#define | RR_TXTSCRIPT() ((TxtScriptAttribute *) CurrentAttrs[ATTR_TXTSCRIPT ].pAttr) |
#define | RR_TXTBASELINE() (((TxtBaseLineAttribute *) CurrentAttrs[ATTR_TXTBASELINE ].pAttr)->Value) |
#define | RR_TXTLINESPACE() (((TxtLineSpaceAttribute *) CurrentAttrs[ATTR_TXTLINESPACE ].pAttr)->Value) |
#define | RR_TXTLEFTMARGIN() (((TxtLeftMarginAttribute *) CurrentAttrs[ATTR_TXTLEFTMARGIN ].pAttr)->Value) |
#define | RR_TXTRIGHTMARGIN() (((TxtRightMarginAttribute *) CurrentAttrs[ATTR_TXTRIGHTMARGIN ].pAttr)->Value) |
#define | RR_TXTFIRSTINDENT() (((TxtFirstIndentAttribute *) CurrentAttrs[ATTR_TXTFIRSTINDENT ].pAttr)->Value) |
#define | RR_TXTRULER() (((TxtRulerAttribute *) CurrentAttrs[ATTR_TXTRULER ].pAttr)->Value) |
#define | RR_CLIPREGION() ((ClipRegionAttribute*)CurrentAttrs[ATTR_CLIPREGION].pAttr) |
Enumerations |
enum | ChangeAttrType {
CHANGEATTR_ALL = -1,
CHANGEATTR_GEOMETRY = 0,
CHANGEATTR_EFFECT,
CHANGEATTR_MAPPING,
CHANGEATTR_TRANSP_GEOMETRY,
CHANGEATTR_TRANSP_EFFECT,
CHANGEATTR_TRANSP_MAPPING,
CHANGEATTR_WINDING_RULE
} |
enum | ChangeLineAttrType {
CHANGELINEATTR_ALL = -1,
CHANGEATTR_STROKECOL = 0,
CHANGEATTR_STROKETRANSP,
CHANGEATTR_LINEWIDTH,
CHANGEATTR_JOINTYPE,
CHANGEATTR_DASHPATTERN,
CHANGEATTR_LINECAP,
CHANGEATTR_STARTARROW,
CHANGEATTR_ENDARROW,
CHANGEATTR_MITRELIMIT
} |
enum | ChangeFillAttrType {
CHANGEFILLATTR_ALL = -1,
CHANGEATTR_FONT = 0,
CHANGEATTR_BOLD,
CHANGEATTR_ITALIC,
CHANGEATTR_UNDERLINE,
CHANGEATTR_ASPECT,
CHANGEATTR_TRACKING,
CHANGEATTR_SIZE,
CHANGEATTR_JUSTIFY,
CHANGEATTR_SCRIPT,
CHANGEATTR_BASELINE,
CHANGEATTR_LINESPACE,
CHANGEATTR_LEFTMARGIN,
CHANGEATTR_RIGHTMARGIN,
CHANGEATTR_FIRSTINDENT,
CHANGEATTR_RULER
} |