#include <rndrgn.h>
Inheritance diagram for RenderRegion:

Public Member Functions | |
| RenderRegion () | |
| Used by the RectTool to suspend background redrawing. Used by DocView::CanContinue Default Constructor for RenderRegion Class. | |
| RenderRegion (DocRect ClipRect, Matrix ConvertMatrix, FIXED16 ViewScale) | |
| Constructor for a RenderRegion, allowing a invalid rectangle to be specified. The matrix passed is used to convert Document coords into device coords, taking into account scaling, scroll offsets etc. | |
| RenderRegion (const RenderRegion &other) | |
| Copy Constructor for RenderRegion. This conctructs a RenderRegion based on another. This involves copying all the current attributes and also making a copy of the ContextStack. | |
| virtual | ~RenderRegion () |
| Default Destructor for RenderRegion Class. Releases any memory claimed for the ContextStack. | |
| virtual BOOL | CopyRenderInfo (const RenderRegion &Other) |
| Copies all the parameters from the render region 'Other' into this render region. This was written for the region merging code. When a new region is created, due to existing regions being split up, it should be based on the original region, with a different clipping rectangle. | |
| virtual BOOL | AttachDevice (View *, CNativeDC *, Spread *SpreadToAttach=NULL, bool fOwned=false) |
| virtual BOOL | AttachDevice (View *, CCDC *, Spread *SpreadToAttach=NULL, bool fOwned=false) |
| Attaches View, wxDC and Spread pointers to the RenderRegion. The View is used to for general rendering purposes. The wxDC is the device that we are rendering to. We extract the HDC from this and store it so we can recreate another wxDC object for background rendering. The Spread is just stored for external referance and is used to continue rendering during BackGnd redraw. | |
| virtual BOOL | InitDevice () |
| Initialises the render region's connection to the device information passed in to RenderRegion::AttachDevice. | |
| virtual BOOL | ImmediateRender () |
| Used to Draw something immediately. | |
| virtual Node * | GetBackmostChangedNode () |
| virtual void | SetBackmostChangedNode (Node *pInvalidNode) |
| virtual void | ClearBackmostChangedNode (Node *pNode) |
| virtual BOOL | RenderBits (LPBITMAPINFO lpBitmapInfo, LPBYTE lpBits, DocRect rect, BOOL bForceNoTransp=TRUE, Node *pEffectsOwner=NULL) |
| To blit one bitmap defined by a DocRect into the current RenderRegion. | |
| virtual BOOL | RenderBits (LPBITMAPINFO lpBitmapInfo, LPBYTE lpBits, DocCoord *pCoords, INT32 numcoords, BOOL bForceNoTransp=TRUE, Node *pEffectsOwner=NULL) |
| To blit one bitmap defined by a DocRect into the current RenderRegion. | |
| virtual BOOL | RenderBits (KernelBitmap *pkBitmap, DocCoord *pCoords, INT32 numcoords, BOOL bForceNoTransp, Node *pEffectsOwner) |
| To blit one bitmap defined by a DocRect into the current RenderRegion. | |
| virtual INT64 | GetTotalCount () |
| virtual INT64 | GetStoredCount () |
| virtual void | SetStoredCount (INT64 llcount) |
| virtual void | SetMatrix (Matrix &) |
| This can be used to set the RenderRegions transform matrix to the given matrix. This should really be used with care! | |
| Matrix | GetMatrix () |
| virtual Matrix | ConcatenateMatrix (Matrix &) |
| This can be used to add a transform in to the render regions transformation matrix. The function performs the following matrix operation :- MonoOn RenderMatrix = NewMatrix * RenderMatrix; MonoOff. | |
| virtual BOOL | StartRender () |
| Initialises the device attachment, if we haven't already done so for this render region. This is so that we can have a two-stage attachment of a device to a render region. This allows us to create render regions very quickly, which makes background rendering more efficient as quite often we will just throw them away without ever needing a proper connection to the device context. | |
| virtual BOOL | StopRender ()=0 |
| virtual void | SetClean (BOOL bResetChangedBounds, BOOL FillWhite) |
| Virtual function used to inform render region that defers update that it should set its render state to be 'clean', i.e. if no more rendering occurs then it need not update the device. This is used for render regions such as GRenderRegions, where we render the paper using the host OS graphics primitives, but we have to render the paper into the GRenderRegion too, otherwise we will get garbage. Equally though, we don't want the GRenderRegion to do a potentially slow blit if all it is going to draw is some paper. It also allows the 'changed box' to be reset, so if we only have a small object on the page, then only the area containing the object is updated using a blit. The default implementation of this function does nothing - most render regions won't need to over-ride this null behaviour. | |
| virtual BOOL | IsClean () |
| virtual BOOL | CloseDown () |
| Base class declaration of the CloseDown function. It allows the CloseDown functions in the EPS and CMX filters to be virtual over-rides, which means that I don't need the IsKindOfs cluttering up the rendering loops. | |
| virtual void | ConditionalSuicide (void) |
| Causes the object to commit suicide. This is to get around using a few if IS_A calls elsewhere in Camelot. | |
| Node * | GetRenderState () |
| Returns the Current Render State of the RenderRegion, which is a pointer to the next Node to render. If NULL then it is not currently rendering. | |
| void | SetRenderState (Node *RenderState) |
| SubRenderContext * | GetSubRenderState () |
| void | SetSubRenderState (SubRenderContext *SubRenderState) |
| BOOL | IsSubRenderStateLocked (void) const |
| void | LockSubRenderState (BOOL Lock) |
| CNativeDC * | GetRenderDC () |
| INT32 | GetTimeslice () const |
| void | DefaultRender (BOOL bForceImmediate=FALSE) |
| Calls the attatched view to render itself. This is used to continue rendering into a suspended RenderRegion. | |
| View * | GetRenderView () |
| Spread * | GetRenderSpread () |
| BOOL | IsPrinting () |
| BOOL | IsRendering () |
| BOOL | IsVeryMono () |
| BOOL | IsHitDetect () const |
| BOOL | IsUsingSmoothedBitmaps () |
| void | SetUsingSmoothedBitmaps (BOOL set) |
| void | SaveContext () |
| void | RestoreContext () |
| virtual BOOL | SaveAttribute (UINT32 Index, AttributeValue *pAttr, BOOL Temp) |
| Saves the current attribute on the attribute context stack, and installs the given attribute as the new attribute. If the attribute object is temporary, then it is deleted when the attribute is popped off the stack. See RenderRegion::RestoreAttribute. | |
| void | RestoreAttribute (UINT32 Index, AttributeValue *pAttr, BOOL Temp) |
| Restore the given attribute to the current attribute array. This is called when the rendering context stack is popped - the current attribute is ousted (and deleted if it is a temporary object), and the given one is installed in its place. | |
| virtual BOOL | WantsGrids () |
| This function is designed to help with the rendering of grids, as they are not always wanted (eg xara eps). If your class of render region does not want grids to appear, then overide this function and get it to return FALSE. The default behaviour is to return TRUE, which will allow grids to render if they want to. | |
| void | SetBackgroundColour (DocColour &Colour) |
| Sets the value of mBackground colour, which is used whenever the program needs to know what the background colour of a file is. | |
| virtual void | DrawPath (Path *PathToRender, PathProcessor *pCaller=NULL, PathShape psThis=PATHSHAPE_PATH) |
| Renders a path (main entry-point). May start a binary-recursive rendering pipeline off by calling any active path processors to do their stuff. | |
| PathProcessor * | GetFirstPathProcessor (void) |
| void | PushPathProcessor (PathProcessor *pProcessor) |
| Adds a PathProcessor to the rendering PathProcessor stack. | |
| void | PopPathProcessor (void) |
| Pops a PathProcessor from the top of the rendering PathProcessor stack. | |
| void | EnableAllBrushPathProcessors (BOOL Enable) |
| Enables or disables all the brush path processors on the stack. | |
| virtual void | DrawPathToOutputDevice (Path *PathToRender, PathShape shapePath=PATHSHAPE_PATH)=0 |
| virtual void | DrawRect (DocRect *RectToRender)=0 |
| virtual void | DrawDragRect (DocRect *RectToRender)=0 |
| virtual void | DrawDragBounds (DocRect *RectToRender) |
| Used to draw a "rectangle" to screen (for dragging). However, the corners of the rectangle are passed through the current rendering matrix, so the rect may well be rotated or skewed by the time it reaches the screen. | |
| virtual void | DrawDashLine (const DocCoord &StartPoint, const DocCoord &EndPoint) |
| Draws a dashed line between the two points. Uses the technology from DrawDragBounds(). | |
| virtual void | DrawLine (const DocCoord &StartPoint, const DocCoord &EndPoint)=0 |
| virtual void | DrawPixel (const DocCoord &Point)=0 |
| virtual void | DrawBlob (DocCoord p, BlobType type)=0 |
| virtual void | DrawCross (const DocCoord &Point, const UINT32 Size)=0 |
| virtual void | DrawBitmap (const DocCoord &Point, KernelBitmap *pBitmap)=0 |
| virtual void | DrawBitmap (const DocCoord &Point, UINT32 BitmapID, UINT32 ToolID=0)=0 |
| virtual BOOL | DrawTransformedBitmap (NodeBitmap *pNodeBitmap) |
| virtual void | DrawBitmapBlob (const DocCoord &Point, KernelBitmap *BlobShape)=0 |
| virtual void | DrawBitmapBlob (const DocCoord &Point, ResourceID resID)=0 |
| virtual SlowJobResult | DrawMaskedBitmap (const DocRect &Rect, KernelBitmap *pBitmap, MaskedRenderRegion *pMask, ProgressDisplay *Progress) |
| Plots the bitmap using the mask supplied. The base class implementation here does nothing. | |
| virtual void | DrawFixedSystemText (StringBase *TheText, DocRect &BoundsRect, UINT32 uFormat=0x00000020|0x00000800|0x00000004) |
| To draw simple text, using the default host-operating-system font. The size and style of this font are decided by the host OS (or oil code) and cannot be set in any way. To determine how much space is needed to display a string with this method, see the SeeAlso. | |
| virtual void | SetFixedSystemTextColours (DocColour *TextCol, DocColour *Background) |
| To set the text and background colour(s) for any FixedSystem text rendered in this render region in the future (within the current rendering pass). | |
| virtual void | GetFixedSystemTextSize (StringBase *TheText, DocRect *BoundsRect, double *atDpi=NULL) |
| To determine how much room is needed to plot a bit of text with RenderRegion::DrawFixedSystemText. | |
| virtual BOOL | DrawPathArrowHeads (DocCoord *Coords, PathVerb *Verbs, INT32 NumCoords) |
| Draws arrows heads on the start or end of an open path, according to the current ArrowHead Attributes. | |
| virtual BOOL | DrawArrowHead (ArrowRec &ArrowToDraw, DocCoord &Centre, DocCoord &Direction, DocCoord *RetnCentre=NULL) |
| Draw an Arrow head on the start or end of a line. | |
| virtual void | DrawPixelRect (DocRect *RectToRender) |
| To try and plot a single pixel rectangle outline. It does this by using filled rectangles rather than just drawing the line itself. This is required because although GDI and GDraw fills can be made to match up, their outlines can't (at the time of writing). Assumes fill colour and line colour have already been set up along with a line width, usually assumed to be zero which means plot single-pixel lines. Usually, the fill colour is set to be the required line colour and the line colour is set to be transparent (COLOUR_TRANS). | |
| virtual void | DrawPixelLine (const DocCoord &StartPoint, const DocCoord &EndPoint) |
| To try and plot a single pixel line. It does this by using a filled rectangle rather than just drawing the line itself. This is required because although GDI and GDraw fills can be made to match up, their outlines can't (at the time of writing). Assumes fill colour and line colour have already been set up along with a line width, usually assumed to be zero which means plot single-pixel lines. Usually, the fill colour is set to be the required line colour and the line colour is set to be transparent (COLOUR_TRANS). | |
| virtual void | SetLineColour (StrokeColourAttribute *, BOOL Temp) |
| Set the current line colour according to an AttributeValue object, pushing the current line colour onto the context stack. | |
| virtual void | SetLineOverprint (OverprintLineAttrValue *, BOOL Temp) |
| Set the line overprint state, pushing the current "overprint line" attribute onto the context stack. | |
| virtual void | SetLineTransp (StrokeTranspAttribute *, BOOL Temp) |
| Set the current line colour according to an AttributeValue object, pushing the current line colour onto the context stack. | |
| virtual void | SetStrokeType (StrokeTypeAttrValue *, BOOL Temp) |
| Set the current Stroke Type according to an AttributeValue object, pushing the current Stroke Type onto the context stack. | |
| virtual void | SetVariableWidth (VariableWidthAttrValue *, BOOL Temp) |
| Set the current VariableWidth according to an AttributeValue object, pushing the current VariableWidth onto the context stack. | |
| virtual void | SetFillGeometry (ColourFillAttribute *, BOOL Temp) |
| Set the current fill type according to an AttributeValue object, pushing the current fill type onto the context stack. | |
| virtual void | SetFillMapping (FillMappingAttribute *, BOOL Temp) |
| Set the current fill type according to an AttributeValue object, pushing the current fill type onto the context stack. | |
| virtual void | SetFillEffect (FillEffectAttribute *, BOOL Temp) |
| Set the current fill type according to an AttributeValue object, pushing the current fill type onto the context stack. | |
| virtual void | SetFillOverprint (OverprintFillAttrValue *, BOOL Temp) |
| Set the fill overprint state, pushing the current "overprint fill" attribute onto the context stack. | |
| virtual void | SetTranspFillGeometry (TranspFillAttribute *, BOOL Temp) |
| Set the current fill type according to an AttributeValue object, pushing the current fill type onto the context stack. | |
| virtual void | SetTranspFillMapping (TranspFillMappingAttribute *, BOOL Temp) |
| Set the current fill type according to an AttributeValue object, pushing the current fill type onto the context stack. | |
| virtual void | SetPrintOnAllPlates (PrintOnAllPlatesAttrValue *, BOOL Temp) |
| Set the PrintOnAllPlates state, pushing the current "print on all plates" attribute onto the context stack. | |
| virtual void | SetLineWidth (LineWidthAttribute *, BOOL Temp) |
| Set the current line width according to an AttributeValue object, pushing the current linewidth onto the context stack. | |
| virtual void | SetStartCap (StartCapAttribute *, BOOL Temp) |
| Set the current Line Cap according to an AttributeValue object, pushing the current LineCap the context stack. | |
| virtual void | SetStartArrow (StartArrowAttribute *, BOOL Temp) |
| Set the current StartArrow according to an AttributeValue object, pushing the current StartArrow the context stack. | |
| virtual void | SetEndArrow (EndArrowAttribute *, BOOL Temp) |
| Set the current EndArrow according to an AttributeValue object, pushing the current EndArrow the context stack. | |
| virtual void | SetJoinType (JoinTypeAttribute *, BOOL Temp) |
| Set the current JoinType according to an AttributeValue object, pushing the current JoinType the context stack. | |
| virtual void | SetMitreLimit (MitreLimitAttribute *, BOOL Temp) |
| Set the current MitreLimit according to an AttributeValue object, pushing the current MitreLimit the context stack. | |
| virtual void | SetDashPattern (DashPatternAttribute *, BOOL Temp) |
| Set the current dash pattern according to an AttributeValue object, pushing the current dash pattern onto the context stack. | |
| virtual void | SetWindingRule (WindingRuleAttribute *, BOOL Temp) |
| Set the current winding rule according to an AttributeValue object, pushing the current winding rule onto the context stack. | |
| virtual void | SetDrawingMode (DrawingModeAttribute *, BOOL Temp) |
| Set the current drawing mode according to an AttributeValue object, pushing the current drawing mode onto the context stack. | |
| virtual void | SetQuality (QualityAttribute *, BOOL Temp) |
| Set the current display quality according to an AttributeValue object, pushing the current quality onto the context stack. | |
| virtual void | SetWebAddress (WebAddressAttribute *, BOOL Temp) |
| Set the current WebAddress. | |
| virtual void | SetTxtFontTypeface (TxtFontTypefaceAttribute *, BOOL Temp) |
| Set the current Text Font Typeface according to an AttributeValue object, pushing the current Font Typeface onto the context stack. | |
| virtual void | SetTxtBold (TxtBoldAttribute *, BOOL Temp) |
| Set the current Text Boldness according to an AttributeValue object, pushing the current Boldness onto the context stack. | |
| virtual void | SetTxtUnderline (TxtUnderlineAttribute *, BOOL Temp) |
| Set the current Text Underline state according to an AttributeValue object, pushing the current Underline state onto the context stack. | |
| virtual void | SetTxtItalic (TxtItalicAttribute *, BOOL Temp) |
| Set the current Text Italicness according to an AttributeValue object, pushing the current Italicness onto the context stack. | |
| virtual void | SetTxtAspectRatio (TxtAspectRatioAttribute *, BOOL Temp) |
| Set the current Text Aspect Ratio according to an AttributeValue object, pushing the current Aspect Ratio onto the context stack. | |
| virtual void | SetTxtJustification (TxtJustificationAttribute *, BOOL Temp) |
| Set the current Text Justification according to an AttributeValue object, pushing the current Justification onto the context stack. | |
| virtual void | SetTxtTracking (TxtTrackingAttribute *, BOOL Temp) |
| Set the current Text Tracking according to an AttributeValue object, pushing the current Tracking onto the context stack. | |
| virtual void | SetTxtFontSize (TxtFontSizeAttribute *, BOOL Temp) |
| Set the current Font Size according to an AttributeValue object, pushing the current font size state onto the context stack. | |
| virtual void | SetTxtScript (TxtScriptAttribute *, BOOL Temp) |
| Set the current Text Script according to an AttributeValue object, pushing the current Script onto the context stack. | |
| virtual void | SetTxtBaseLine (TxtBaseLineAttribute *, BOOL Temp) |
| Set the current Text BaseLine according to an AttributeValue object, pushing the current BaseLine onto the context stack. | |
| virtual void | SetTxtLineSpace (TxtLineSpaceAttribute *, BOOL Temp) |
| Set the current Text LineSpace according to an AttributeValue object, pushing the current LineSpace onto the context stack. | |
| virtual void | SetTxtLeftMargin (TxtLeftMarginAttribute *, BOOL Temp) |
| See other Set/Restore routines above. | |
| virtual void | SetTxtRightMargin (TxtRightMarginAttribute *, BOOL Temp) |
| virtual void | SetTxtFirstIndent (TxtFirstIndentAttribute *, BOOL Temp) |
| virtual void | SetTxtRuler (TxtRulerAttribute *, BOOL Temp) |
| virtual void | SetSolidColours (BOOL SetSolid) |
| void | SetLineColour (DocColour &NewLineColour) |
| Set the line colour to a specific colour, pushing the current line colour onto the context stack. | |
| void | SetLineColour (StockColour NewLineColour) |
| Set the line colour to a specific colour, pushing the current line colour onto the context stack. | |
| void | SetFillColour (DocColour &NewFillColour) |
| Set the fill colour to a specific colour, pushing the current fill colour onto the context stack. | |
| void | SetFillColour (StockColour NewFillColour) |
| Set the fill colour to a specific colour, pushing the current fill colour onto the context stack. | |
| void | SetLineWidth (MILLIPOINT NewLineWidth) |
| Set the line width to a specific size, pushing the current line width onto the context stack. | |
| void | SetStartCap (LineCapType NewStartCap) |
| Set the current Line Cap according to an AttributeValue object, pushing the current LineCap the context stack. | |
| void | SetStartArrow (StockArrow NewStartArrow) |
| Set the current StartArrow according to an AttributeValue object, pushing the current Arrow the context stack. | |
| void | SetEndArrow (StockArrow NewEndArrow) |
| Set the current EndArrow according to an AttributeValue object, pushing the current Arrow the context stack. | |
| void | SetStartArrow (ArrowRec &NewStartArrow) |
| Set the current StartArrow according to an AttributeValue object, pushing the current Arrow the context stack. | |
| void | SetEndArrow (ArrowRec &NewEndArrow) |
| Set the current EndArrow according to an AttributeValue object, pushing the current Arrow the context stack. | |
| void | SetJoinType (JointType NewJoinType) |
| Set the current JoinType according to an AttributeValue object, pushing the current JoinType the context stack. | |
| void | SetMitreLimit (MILLIPOINT NewMitreLimit) |
| Set the current MitreLimit according to an AttributeValue object, pushing the current Arrow the context stack. | |
| void | SetDashPattern (DashRec &NewDashPattern) |
| Set the dash pattern, pushing the current dash pattern onto the context stack. | |
| void | SetDashPattern (StockDash NewDashPattern) |
| Set the dash pattern, pushing the current dash pattern onto the context stack. | |
| void | SetWindingRule (WindingType NewWindingRule) |
| Set the winding rule, pushing the current winding rule onto the context stack. | |
| void | SetDrawingMode (DrawModeType NewDrawingType) |
| Set the drawing mode, pushing the current drawing mode onto the context stack. | |
| void | SetDefaultQuality () |
| Set the quality attribute to the default setting, pushing the current quality level onto the context stack. | |
| void | SetDeviceDashPattern (DashRec &NewDashPattern) |
| Set the dash pattern, pushing the current dash pattern onto the context stack. | |
| void | SetDeviceDashPattern (StockDash NewDashPattern) |
| Set the dash pattern, pushing the current dash pattern onto the context stack. | |
| virtual void | SetOffscreen (OffscreenAttrValue *pAttr) |
| Uses attribute stacking to offscreen rendering system notified when offscreen bitmap has been rendered (ie occurs when subtree is finished rendering and attributes are being restored). | |
| virtual void | SetClipRegion (ClipRegionAttribute *, BOOL Temp) |
| Set this render-region's current clipping region. See also: ClipRegionAttribute::Render(), RenderRegion::RestoreClipRegion(). | |
| virtual CCachedBitmap | GrabBitmap (DocRect rectGrab) |
| virtual void | RestoreLineColour (StrokeColourAttribute *, BOOL) |
| Get rid of the current line colour, and restore the specified line colour value. | |
| virtual void | RestoreLineOverprint (OverprintLineAttrValue *, BOOL) |
| Restore the previous Line Overprint state, popping the previous state from the rendering stack. | |
| virtual void | RestoreLineTransp (StrokeTranspAttribute *, BOOL) |
| Get rid of the current line colour, and restore the specified line colour value. | |
| virtual void | RestoreStrokeType (StrokeTypeAttrValue *, BOOL) |
| Get rid of the current stroke type, and restore the specified stroke type. | |
| virtual void | RestoreVariableWidth (VariableWidthAttrValue *, BOOL) |
| Get rid of the current VariableWidth, and restore the specified VariableWidth. | |
| virtual void | RestoreFillGeometry (ColourFillAttribute *, BOOL) |
| Get rid of the current fill type, and restore the specified fill type. | |
| virtual void | RestoreFillMapping (FillMappingAttribute *, BOOL) |
| Get rid of the current fill type, and restore the specified fill type. | |
| virtual void | RestoreFillOverprint (OverprintFillAttrValue *, BOOL) |
| Restore the previous Fill Overprint state, popping the previous state from the rendering stack. | |
| virtual void | RestoreTranspFillGeometry (TranspFillAttribute *, BOOL) |
| Get rid of the current fill type, and restore the specified fill type. | |
| virtual void | RestoreTranspFillMapping (TranspFillMappingAttribute *, BOOL) |
| Get rid of the current fill type, and restore the specified fill type. | |
| virtual void | RestoreFillEffect (FillEffectAttribute *, BOOL) |
| Get rid of the current fill type, and restore the specified fill type. | |
| virtual void | RestoreLineWidth (LineWidthAttribute *, BOOL) |
| Get rid of the current line width, and restore the specified line width. | |
| virtual void | RestoreDrawingMode (DrawingModeAttribute *, BOOL) |
| Get rid of the current drawing mode, and restore the specified drawing mode. | |
| virtual void | RestoreWindingRule (WindingRuleAttribute *, BOOL) |
| Get rid of the current winding rule, and restore the specified winding rule. | |
| virtual void | RestoreStartCap (StartCapAttribute *, BOOL) |
| Get rid of the current start cap, and restore the specified one. | |
| virtual void | RestoreJoinType (JoinTypeAttribute *, BOOL) |
| Get rid of the current JoinType, and restore the specified one. | |
| virtual void | RestoreQuality (QualityAttribute *, BOOL) |
| Get rid of the current quality level, and restore the specified quality level. | |
| virtual void | RestoreDashPattern (DashPatternAttribute *, BOOL) |
| Get rid of the current dash pattern, and restore the specified one. | |
| virtual void | RestoreStartArrow (StartArrowAttribute *, BOOL) |
| Get rid of the current StartArrow, and restore the specified one. | |
| virtual void | RestoreEndArrow (EndArrowAttribute *, BOOL) |
| Get rid of the current EndArrow, and restore the specified one. | |
| virtual void | RestoreMitreLimit (MitreLimitAttribute *, BOOL) |
| Get rid of the current MitreLimit, and restore the specified one. | |
| virtual void | RestoreWebAddress (WebAddressAttribute *, BOOL) |
| Restore the Web Address. | |
| virtual void | RestorePrintOnAllPlates (PrintOnAllPlatesAttrValue *, BOOL) |
| Restore the previous print-on-all-plates state, popping the previous state from the rendering stack. | |
| void | RestoreTxtFontTypeface (TxtFontTypefaceAttribute *, BOOL) |
| Get rid of the current Text Font Typeface, and restore the specified Typeface value. | |
| void | RestoreTxtBold (TxtBoldAttribute *, BOOL) |
| Get rid of the current Text Boldness, and restore the specified Boldness value. | |
| void | RestoreTxtUnderline (TxtUnderlineAttribute *, BOOL) |
| Get rid of the current Text underline state, and restore the specified underline value. | |
| void | RestoreTxtItalic (TxtItalicAttribute *, BOOL) |
| Get rid of the current Text Italicness, and restore the specified Italicness value. | |
| void | RestoreTxtAspectRatio (TxtAspectRatioAttribute *, BOOL) |
| Get rid of the current Text Aspect Ratio, and restore the specified Aspect Ratio value. | |
| void | RestoreTxtJustification (TxtJustificationAttribute *, BOOL) |
| Get rid of the current Text Justification, and restore the specified Justification value. | |
| void | RestoreTxtTracking (TxtTrackingAttribute *, BOOL) |
| Get rid of the current Text Tracking, and restore the specified Tracking value. | |
| void | RestoreTxtFontSize (TxtFontSizeAttribute *, BOOL) |
| Get rid of the current font size, and restore the specified font size. | |
| void | RestoreTxtScript (TxtScriptAttribute *, BOOL) |
| Get rid of the current Text Script, and restore the specified Script value. | |
| void | RestoreTxtBaseLine (TxtBaseLineAttribute *, BOOL) |
| Get rid of the current Text BaseLine, and restore the specified BaseLine value. | |
| void | RestoreTxtLineSpace (TxtLineSpaceAttribute *, BOOL) |
| Get rid of the current Text LineSpace, and restore the specified LineSpace value. | |
| void | RestoreTxtLeftMargin (TxtLeftMarginAttribute *, BOOL) |
| void | RestoreTxtRightMargin (TxtRightMarginAttribute *, BOOL) |
| void | RestoreTxtFirstIndent (TxtFirstIndentAttribute *, BOOL) |
| void | RestoreTxtRuler (TxtRulerAttribute *, BOOL) |
| virtual void | RestoreOffscreen (OffscreenAttrValue *) |
| virtual void | RestoreClipRegion (ClipRegionAttribute *, BOOL) |
| Restore this render-region's current clipping region, using the attribute supplied. See also: ClipRegionAttribute::Restore(), RenderRegion::SetClipRegion(). | |
| AttributeValue * | GetCurrentAttribute (UINT32 Index) |
| Get a pointer to one of the render region's current attributes. The index indicates which kind of attribute should be returned. | |
| OffscreenAttrValue * | GetCurrentOffscreenAttr () |
| virtual BOOL | CheckOffscreenBounds () |
| void | SetClipRect (DocRect &NewClipRect, BOOL ReCalcContextNode=FALSE) |
| Sets the Clipping rectangle of the Render Region. Calls InitClipping() to acually set the clip region in an OS specific way. | |
| DocRect | GetClipRect () |
| Returns the clipping rectangle of the Render Region. | |
| MILLIPOINT | GetPixelWidth () |
| MILLIPOINT | GetScaledPixelWidth () |
| virtual double | GetPixelsPerInch () |
| virtual void | GetRenderRegionCaps (RRCaps *pCaps) |
| This function allows a render region to declare what it can render and what it can not render. This base class version of the function says that it can render none of the options. If your render region can do some of these things then you should overide this function and set the appropriate flags. | |
| BOOL | SetRenderComplexShapes (BOOL NewState) |
| This function sets the state of the flag RenderComplexShapes. This flag is used by some classes of render region to decide what shapes to draw. If the flag is TRUE, then all shapes will be drawn that are asked to be drawn. If it is FALSE, only the shapes that are not considered to be complex by the render region will rendered. OSRenderRegions use this, as they can be used as part of the 3 phase rendering system that needs to render only specific nodes. | |
| BOOL | TestForComplexShape (RRCaps *pCaps) |
| This function is called whenever someone calls one of the primitive render functions in a ScanningRenderRegion. This takes a look at all the attributes (and anything else it might need to) to see if this represents a complex shape or not. If it is a complex shape, all the internal data members of the render region are updated accordingly. This function makes use of the RRCaps object that was set with the SetHostRRCaps() function to see what things the Host render region considers to be complex. | |
| EFFECTTYPE | GetFillEffect () |
| Decide what type of colour fade to use. Scope: Public. | |
| void | SetFilter (Filter *pFilter) |
| Filter * | GetFilter () |
| virtual void | ResizeRegion (DocRect &NewClipRect) |
| Called when a Region is changed in size (eg. clipped to the client area). | |
| virtual void | ResetRegion (DocRect &NewClipRect) |
| Resets the render region (after it has been merged), so that it no longer thinks it is banded etc. It also takes the Regions rectangle from the Current Clipping rectangle, so set this correctly before calling this function. | |
| virtual BOOL | SetFirstBand () |
| This function gives the render region a chance to see if it want to do some banding or not. If it decides it does, then this function will set it all up ready to start. It should be called before StartRender. | |
| virtual BOOL | GetNextBand () |
| This function goes and sets up the next band in the render region ready for rendering and returns TRUE if it went OK. If there are no more bands to render then the function returns FALSE. | |
| DocRect | GetRegionRect () |
| This function returns the size of the whole render region. Note that this may be different from the Clip rect. If the region is banded, then the Clip rect will hold the rect of the band that is being rendered, while the RegionRect will always hold the rect the whole region. | |
| BOOL | IsBanded () |
| To find out if the render region is banded. | |
| BOOL | CanBeMerged () |
| This is used to help simplify the merging code with banded region. A banded render region at the start of one of its bands looks similar to a render region that has done no rendering yet, and may be merged. This function allows banded regions to stop themselves from being merged after they have started rendering into their first band. | |
| BOOL | ResetColourContext () |
| ColourContext * | GetColourContext () |
| virtual void | ResetRender () |
| Reset the rendering state of this region. | |
| virtual BOOL | RenderChar (WCHAR ch, Matrix *pMatrix) |
| Render a character, using the specified transform and current attributes in the render region. | |
| virtual BOOL | WriteNewLine (void) |
| Writes in a new-line token if necessary. In this class, it's just a stub function that's over-ridden in the derived classes. | |
| Path * | CreateCharPath (WCHAR ch, Matrix *pMatrix=NULL) |
| Create a path of the specified char, using the specified transform and current attributes in the render region Note: The caller is resposible for initialising the path's flags if required. | |
| BOOL | GetAttrdCharBounds (DocRect *pRect, WCHAR ch) |
| Get the bounding box of the specified char (from a cache) and apply the required transform depending on attributes (this is a character relative rect!). | |
| BOOL | GetCharAttributeMatrix (Matrix *pAttrMatrix) |
| calc attribute matrix based on FontSize, AspectRatio and Script attributes | |
| void | ColourCorrectBitmap (BitmapFillAttribute *Fill, BITMAPINFO *Info, RGBQUAD **Palette) |
| Applies colour correction and/or contoning to a paletted bitmap being plotted. | |
| BOOL | RenderTree (Node *pRoot, BOOL bTimeSlice=TRUE, BOOL bClip=TRUE, RenderCallback *pCallback=NULL) |
| To render a specified subtree in this RenderRegion. The dominating factor in this routine is that it renders the document with as little time overhead as possible. Obviously, this is mainly down to RenderRegions and the tree scanning routines working fast but we can do a bit to help. | |
| BOOL | RenderTreeCanContinue () |
| Decide whether we can continue to render in RenderTree. | |
| BOOL | RenderTreeNoCache (Node *pRoot) |
| Renders a subtree with cacheing disabled. | |
| virtual BOOL | IsWrappedRender () const |
| virtual BOOL | TranspTypeIsRGBTCompatible (UINT32 ttype) const |
| virtual BOOL | SetSmoothingFlags (FillGeometryAttribute *Fill) |
| virtual BOOL | RenderPaperAsInk () |
| void | SetImmediateRender (BOOL SetVal) |
| BOOL | GetImmediateRender () const |
| void | SetForceMixTransparency (BOOL bForceMix) |
| virtual Capture * | StartCapture (CCObject *pOwner, DocRect CaptureRect, CAPTUREINFO cinfo, BOOL bTransparent=TRUE, BOOL bCaptureBackground=FALSE, double mpPixelWidth=0, NodeRenderableInk *pDirectSupplier=NULL) |
| To start a bitmap capture of whatever is subsequently rendered. | |
| virtual BOOL | StopCapture (CCObject *pOwner, BOOL bRender=TRUE, BOOL bReleaseBitmap=FALSE, LPBITMAPINFO *plpBitmapInfo=NULL, LPBYTE *plpBits=NULL, DocRect *pCaptureRect=NULL, Matrix *pmatTransform=NULL, double *pdResolution=NULL) |
| To stop a bitmap capture. | |
| virtual BOOL | ChangeCapture (CAPTUREINFO cinfo, BOOL bTransparent=TRUE, BOOL bCaptureBackground=FALSE) |
| To inform the capture stack that things (transparency) have changed. | |
| virtual INT32 | GetCaptureDepth () |
| virtual BOOL | MasterCaptureIsCurrent () const |
| virtual Capture * | GetTopCapture () const |
| virtual Capture * | GetMasterCapture () const |
| virtual BOOL | LockedTransparentCaptures () const |
| Search down the Capture stack from the top or from the capture specified until we find one that owns a bitmap. The master capture at the bottom of the stack should ALWAYS own a bitmap! | |
Static Public Member Functions | |
| static BOOL | Init () |
| Initialise the render region. | |
| static BOOL | InitPrefs () |
| Initialises the RenderRegions preferences from the preference file. This is called once as Camelot starts up. | |
Public Attributes | |
| DrawModeType | DrawingMode |
| BOOL | IsWaitingForRAM |
| BOOL | IsLastBand |
| BOOL | NeedsOSPaper |
| BOOL | RenderOSPaper |
| BOOL | IsPaperRendered |
| BOOL | IsInkRenderStarted |
| Quality | RRQuality |
| BOOL | m_DoCompression |
Protected Member Functions | |
| virtual BOOL | SetRenderToCapture (Capture *pCapture, BOOL ApplyClipRegion, BOOL bSetBitmap) |
| StrokeColourAttribute * | PrepareLineColour (StrokeColourAttribute *SourceAttr=NULL) |
| This function is used to allow 3 special attributes to function correctly. => Overprint line, Overprint fill, and Print on all plates. | |
| ColourFillAttribute * | PrepareFillGeometry (ColourFillAttribute *SourceAttr=NULL) |
| This function is used to allow 3 special attributes to function correctly. => Overprint line, Overprint fill, and Print on all plates. | |
| virtual void | InitClipping ()=0 |
| virtual void | InitAttributes ()=0 |
| virtual void | SetLineAttributes (ChangeLineAttrType=CHANGELINEATTR_ALL) |
| Inform the render region that an aspect of the path stroking attributes has changed. The base class version just updates the RenderRegion member variable StrokeFlags to reflect which aspects of the stroke attributes have become invalid. Derived render regions can either call the base class or just implement whatever methods they need for keeping track of these changes - or a combination of the two, of course. Some render regions (e.g. GRenderRegions) don't need to do anything about this at all as all attributes are invoked whenever anything is rendered. If this is the case, then this should be over-ridden to have a NULL implementation because this will improve rendering speed. | |
| virtual void | SetFillAttributes (ChangeAttrType Type=CHANGEATTR_ALL) |
| Inform the render region that an aspect of the path filling attributes has changed. The base class version just updates the RenderRegion member variable FillFlags to reflect which aspects of the fill attributes have become invalid. Derived render regions can either call the base class or just implement whatever methods they need for keeping track of these changes - or a combination of the two, of course. Some render regions (e.g. GRenderRegions) don't need to do anything about this at all as all attributes are invoked whenever anything is rendered. If this is the case, then this should be over-ridden to have a NULL implementation because this will improve rendering speed. | |
| virtual void | SetTextAttributes (ChangeFillAttrType Type=CHANGEFILLATTR_ALL) |
| Inform the render region that an aspect of the path filling attributes has changed. The base class version just updates the RenderRegion member variable FillFlags to reflect which aspects of the fill attributes have become invalid. Derived render regions can either call the base class or just implement whatever methods they need for keeping track of these changes - or a combination of the two, of course. Some render regions (e.g. GRenderRegions) don't need to do anything about this at all as all attributes are invoked whenever anything is rendered. If this is the case, then this should be over-ridden to have a NULL implementation because this will improve rendering speed. | |
| virtual BOOL | RenderNode (Node *pNode, Node *pRunToNode, RenderCallback *pCallback) |
| Wrap up the common stuff that's done to every node we render Render a single node and find out whether we should suspend rendering at this point Helper function for RenderTree. | |
| virtual void | SetOSDrawingMode ()=0 |
| virtual void | SetQualityLevel () |
| Does nothing. | |
| virtual MILLIPOINT | CalcPixelWidth ()=0 |
| virtual MILLIPOINT | CalcScaledPixelWidth ()=0 |
| BOOL | TryToFuzzyClip (Path *pPath, DocCoord **pNewCoords, PathVerb **pNewVerbs, UINT32 *NewNumCoords) |
| This function works out if clipping is needed (based on scale factor etc) and tries to clip the paths. If it works it will return TRUE, meaning that you should only try to draw that path info found in pNewCoords etc. If FALSE is returned pNewCoords etc will all be NULL. If this function returns TRUE it will have allocated memory to put the new coords and verbs in. It will be your responsibility to delete this memory after you have rendered the path. | |
| void | SetupFuzzyClipRects () |
| Sets up the fuzzy clipping rects, basing them on the CurrentClipRect. Don't ask me what they're used for - I'm just moving some useful code into a function :o). | |
| BOOL | CopyCurrentAttributes (const RenderRegion &) |
| Copy the current attribute array of another render region into this render region. The copying is intelligent; i.e. if the other array contains 'temporary' objects, then it will copy them, so two render regions don't try to delete the same object when their destructor is called. | |
Protected Attributes | |
| StackT< Capture * > | m_CaptureStack |
| DocColour | mBackgroundColour |
| DocRect | InnerRect |
| DocRect | OuterRect |
| BOOL | RenderComplexShapes |
| INT64 | m_countTotal |
| INT64 | m_countStored |
| CCAPI RenderRegion::FlagBlock | RenderFlags |
| RenderRegion::_StrokeFlags | StrokeFlags |
| RenderRegion::_FillFlags | FillFlags |
| RenderRegion::_TextFlags | TextFlags |
| Matrix | RenderMatrix |
| DocRect | CurrentClipRect |
| ColourContext * | CurrentColContext |
| View * | RenderView |
| CNativeDC * | RenderDC |
| Spread * | RenderSpread |
| bool | m_fOwned |
| Node * | CurrentRenderState |
| SubRenderContext * | CurrentSubRenderState |
| BOOL | SubRenderStateLocked |
| FIXED16 | ScaleFactor |
| AttributeEntry * | CurrentAttrs |
| INT32 | NumCurrentAttrs |
| OffscreenAttrValue * | CurrentOffscreenAttr |
| INT32 | Timeslice |
| BOOL | m_bRenderTreeTimeSlice |
| MonotonicTime | m_timeRenderTreeStartTime |
| MILLIPOINT | PixelWidth |
| MILLIPOINT | ScaledPixelWidth |
| RenderStack | TheStack< |