WPTools Manual



Search


(press enter to search)

Class TWPRTFEnginePaint

Hierarchy

System.TObject | System.Classes.TPersistent | System.Classes.TComponent | Vcl.Controls.TControl | Vcl.Controls.TGraphicControl | WPRTEDefs.TWPRTFEngineBasis | WPRTEEdit.TWPRTFEngineEdit | TWPRTFEnginePaint

Subclasses

WPCTRLabel.TWPCustomRtfLabel

Description

TWPRTFEnginePaint inherites from TWPRTFEngineBasis and coordinates the text formatting and painting. It handles its own pages array 'PaintPages' to save the position where and how to paint the pages. The pages in PaintPages can be retrieved from other sources to allow the integration of foreign pages into the text.

Properties

Methods

Procedure BroadcastMsg(Sender:TWPRTFDataCollectionBase; Code:Integer; Param:TObject)

Procedure CheckCursor

Create(aOwner:TComponent)

Destroy

Procedure DoFreeNotifyDynamicObject(Sender:TObject)

Function Draw(outDC:HDC; x:Integer; y:Integer; h:Integer; xres:Integer; yres:Integer; starty:Integer; HandlePageBreaks:Boolean) : Integer

Procedure DrawLineBorders(DestCanvas:TCanvas; aPar:TParagraph; aLin:Integer; aBorder:TBorder; aLineRect:TWPVirtPageImageLineRef; LineData:TWPVirtPageImageLineRef; PaintMode:TWPPaintModes; bPaintInGray:Boolean; rtfpage:TWPVirtPage; xoff:Integer; yoff:Integer; IsCell:Boolean)

Procedure EndPaint

Function FindDynamicObject(x:Integer; y:Integer; rtfpage:TWPVirtPage) : TWPDynamicObject

Function FixFontsOfText(RelacementFonts:; Charset:Integer) : Integer

Procedure FrameLine(Mode:TWPFrameLineMode; Pos:Integer)

Function FrameLineWasMoved : Boolean

Function Get_RTLMode : Boolean

Function GetCursorXYWH(X:Integer; Y:Integer; W:Integer; H:Integer; par:TParagraph; posinpar:Integer) : Boolean

Function GetDeskColor : TColor

Function GetDeskColorTo : TColor

Function GetFrameColor(textobj:TWPTextObj; defColor:TColor; PaintMode:TWPPaintModes) : TColor

Function GetImageAtXY(PaintPageNr:Integer; X:Integer; Y:Integer; TextObject:TWPTextObj; img_x:Integer; img_y:Integer; img_w:Integer; img_h:Integer) : Boolean

Function GetReferenceCanvas : TCanvas

Function GetSpecialTextStyle(Input:TCharacterAttr; Printing:Boolean; par:TParagraph; posinpar:Integer) : TCharacterAttr

Function GetTextPageScreenRect(par:TParagraph; posinpar:Integer; x:Integer; y:Integer; w:Integer; h:Integer; pagenr:Integer) : TWPVirtPage

Function GetTextScreenRect(par:TParagraph; posinpar:Integer; x:Integer; y:Integer; w:Integer; h:Integer; CharOffset:Boolean; linenr:Integer; pagenr:Integer; FavourizeEnd:Boolean) : Boolean

Function InitializePaintPages : Integer

Procedure InitializePar(RTFDataBlock:TWPRTFDataBlock; par:TParagraph; from_pos:Integer; to_pos:Integer)

Function MapFont(fn:string) : string

Function MeasureObject(MeasureObjectMode:TWPMeasureObjectMode; Par:TParagraph; posinpar:Integer; PageNumber:Integer; xoff:Integer; maxx:Integer; YOff:Integer; maxy:Integer; curr_page:TWPVirtPage; w:Integer; h:Integer; PaintObject:TWPTextObj; PaintCanvas:TCanvas; SectionID:Integer; LockWidth:Boolean) : WideString

Function MoveCursor(PaintPageNr:Integer; X:Integer; Y:Integer; DontLeaveDataBlock:Boolean) : Boolean

Function ObjectWindowRect(TextObject:TWPTextObj; X:Integer; Y:Integer; W:Integer; H:Integer; CurrentPaintPageNr:Integer) : Boolean

Function PageIsSelected(PageNr:Integer) : Boolean

Procedure PaintAnImage(PaintMode:TWPPaintModes; x:Integer; y:Integer; PaintPageNr:Integer; CanvasExtraParams:TWPPaintExtraParams; ObjRef:TWPObject; FSelectedObject:TWPTextObj; prUnderPage:Boolean; DestCanvas:TCanvas; r:TRect; pImage:TWPVirtPageImage; rtfpage:TWPVirtPage; relx:Integer; rely:Integer; onepix:Integer)

Function PaintCursor(Mode:TWPPaintCursorMode; par:TParagraph; posinpar:Integer; aCanvas:TCanvas; xoff:Integer; yoff:Integer) : Boolean

Procedure PaintDesktop(DestCanvas:TCanvas; ScreenWidth:Integer; ScreenHeight:Integer; PaintDesktopModes:TWPPaintDesktopModes; pClipRect:PRect)

Procedure PaintDesktopBackground(Outcanvas:TCanvas; PaintRect:TRect)

Function PaintDesktopPrepareExView(PaintDesktopModes:TWPPaintDesktopModes) : TWPPaintModes

Procedure PaintNumberText(LineData:TWPVirtPageImageLineRef; ThisRTFpage:TWPVirtPage; ly:Integer; DestCanvas:TCanvas; PaintMode:TWPPaintModes; iHotFrom:Integer; iHotTo:Integer; bNoHot:Boolean; BaseCA:TWPCharAttrStack; aParColor:TColor; CanvasExtraParams:TWPPaintExtraParams; NumOffs:Integer; cx:Integer)

Procedure PaintRTFPage(PaintPageNr:Integer; x:Integer; y:Integer; pw:Integer; ph:Integer; DestCanvas:TCanvas; PaintMode:TWPPaintModes; DestXRes:Integer; DestYRes:Integer; ClipY:Integer; ClipH:Integer; PaintPageMode:TWPRTFEnginePaintPagesModes; rtfpage:TWPVirtPage)

Function PaintSinglePar(par:TWPTextStyle; toCanvas:TCanvas; r:TRect; xres:Integer; yres:Integer; text:string; IgnoreFontColor:Boolean) : Integer

Procedure PrepareDynamicObjects(offx:Integer; offy:Integer; rtfpage:TWPVirtPage; LineData:TWPVirtPageImageLineRef; PaintMode:TWPPaintModes)

Procedure PrintDynamicObjects(offx:Integer; offy:Integer; DestCanvas:TCanvas; rtfpage:TWPVirtPage; PaintMode:TWPPaintModes)

Procedure PropsToFontValues(Props:TWPCharAttr; SpecialTextFlags:TWPSpecialCharacterAttrKinds; InputValues:TWPFontCacheInput)

Function RefreshAniImages(toCanvas:TCanvas; x:Integer; y:Integer) : Boolean

Procedure Repaint

Function ScrollLinePos(par:TParagraph; posinpar:Integer; Obj:TWPTextObj; YOffset:Integer; Forced:Boolean) : Boolean

Procedure Set_RTLMode(x:Boolean)

Procedure SetCanvasAttr(par:TParagraph; pos_in_par:Integer; aCanvas:TCanvas; ChooseHotStyle:Boolean; Printing:Boolean; CanvasExtraParams:TWPPaintExtraParams; BaseCA:TWPCharAttrStack; DontCheckObjects:Boolean; CheckOnlyThisObject:Boolean; cw:Char)

Procedure SetCanvasAttrIntern(InputValues:TWPFontCacheInput; aCanvas:TCanvas)

Function SetHOTStyle(start_par:TParagraph; end_par:TParagraph; start_posinpar:Integer; end_posinpar:Integer; HotMode:Integer) : Boolean

Function ShowCursor : Boolean

Procedure StartPaint(ThisDoubleBuffer:TBitmap)

Function TextHeight(Resolution:Integer) : Integer

Function TextWidth(Resolution:Integer) : Integer

Function UpdateCodePage : Integer

Events

BeforeDestroyPaintPage : TWPBeforeDestroyPaintPage= procedure( Sender: TObject; RTF - Engine RTFEngine: TWPRTFEngineEdit; var ExternPageRef: TObject; var WatermarkRef: TObject) of object;

OnActivatingHotStyle : TWPActivatingHotStyle= procedure(Sender: TObject; par: TParagraph; posinpar: Integer) of object;

OnChangedTopOffset : TNotifyEvent= procedure (Sender : TObject) of Object

OnChangeScrollPosition : TWPChangeScrollPositionEvent= TWPChangeScrollPositionEvent = procedure( Sender: TObject; RTFEngine: TWPRTFEngineEdit; HorzScroll: Boolean; var Ignore: Boolean) of object;

OnCustomLinePaintAfter : TWPVirtPagePaintEvent= TWPVirtPagePaintEvent = procedure(Sender: TObject; RTFEngine: TWPRTFEngineBasis; param: TWPVirtPagePaintParam; EndOfPageRun: Boolean) of object;

OnCustomLinePaintBefore : TWPVirtPagePaintEvent= TWPVirtPagePaintEvent = procedure(Sender: TObject; RTFEngine: TWPRTFEngineBasis; param: TWPVirtPagePaintParam; EndOfPageRun: Boolean) of object;

OnDeactivateHotStyle : TWPDeactivateHotStyle= procedure(Sender: TObject) of object;

OnDrawUnderline : TWPOnDrawUnderlineEvent= procedure( Sender : TObject; Engine: TWPRTFEnginePaint; Stage : TWPDrawStage; Canvas: TCanvas; R : TRect; SpecialTextFlags: TWPSpecialCharacterAttrKinds; BaseY : Integer; var LineMode : Integer; var LineColor: TColor; PaintMode : TWPPaintModes; xres,yres : Integer; par : TParagraph; posinpar : Integer; var Ignore : Boolean ) of Object;

OnFillPaperColorOnScreen : TWPInternFillPaperColorOnScreenEvent= procedure( Sender : TObject; Canvas : TCanvas; r : TRect; PaintPageNr : Integer; PaintMode : TWPPaintModes; var Handled : Boolean) of Object;

OnGetPageGapText : string= string

OnHyperlinkObjGetText : TWPOnTextObjGetTextEvent= procedure( RefCanvas: TCanvas; TXTObject: TWPTextObj; var PrintString: WideString; var WidthInPix: Integer; var HeightInPix: Integer; var PaintObject: TWPTextObj; Xres, YRes: Integer) of object;

OnInitPage : TWPOnInitPage= TWPOnInitPage = procedure( Sender: TObject; { The 'Parent' Object of the RTF - Engine, usually the TWPRichText } RTFEngine: TWPRTFEngineEdit; paintpagenr: Integer; { the number of the paint page (this is not the RTF page) } rtfpagenr: Integer; { the RTF page which will be used if ExternPageRef stayes to be nil } var ExternPageRef: TObject; { assign an object here to disable RTF text for this page } var WatermarkRef: TObject; { assign data required to paint a watermark } var PaperColor: TColor; var pagewidth, pageheight, marginleft, margintop, marginright, marginbottom: Integer) of object;

OnMakeFootnoteNr : WideString= WideString

OnMeasureObjectEvent : TWPMeasureObjectEvent= TWPMeasureObjectEvent = procedure( Sender: TObject; Par: TParagraph; PosInPar: Integer; PageNumber: Integer; xoff, maxx, yoff, maxy: Integer; curr_page: TWPVirtPage; var w, h: Integer; var PaintObject: TWPTextObj; PaintCanvas: TCanvas; SectionID: Integer; var LockWidth: Boolean; RefCanvas: TCanvas; var NewString: WideString; var Handled: Boolean) of object;

This event is used for internal porposes. It makes it possible to override the default code which works with embedded objects. You can also use the OnTextObjectGetTextEx event instead. OnMeasureObjectEvent will be always triggered immediately before OnTextObjectGetTextEx.

OnPaintDesktopBackground : TWPOnPaintDesktopBackground= procedure(Sender: TObject; Canvas : TCanvas; R : TRect) of object;

OnPaintExternPage : TWPOnPaintExternPageEvent= procedure( Sender: TObject; RTFEngine: TWPRTFEnginePaint; prCanvas: TCanvas; xoff, yoff: Integer; r: TRect; PaintPageNr: Integer; ExternPageRef: TObject; DestXRes, DestYRes: Integer) of object;

OnPaintTextFrameRect : TWPPaintTextFrameRect= procedure( Sender : TObject; Engine: TWPRTFEnginePaint; Canvas: TCanvas; PageNr : Integer; FrameNr : Integer; Page : TWPVirtPage; x1,y1,x2,y2 : Integer; Options : Pointer; var Done : Boolean ) of Object;

OnPaintWatermark : TWPOnPaintWatermarkEvent= procedure( Sender: TObject; RTFEngine: TWPRTFEnginePaint; toCanvas: TCanvas; PageRect: TRect; PaintPageNr: Integer; RTFPageNr: Integer; WaterMarkRef: TObject; XRes, YRes: Integer; CurrentZoom: Single; PaintMode: TWPPaintModes) of object;

OnTextObjectPaint : TWPTextObjectPaintEvent= procedure( Sender: TObject; pobj: TWPTextObj; toCanvas: TCanvas; XRes, YRes: Integer; X, Y, W, H, BASE: Integer; PageRef: TWPVirtPage; Modes: TWPTextObjectPaintModes; const CanvasExtraAttr: TWPPaintExtraParams; var ContinueMode: TWPTextObjectPaintResult) of object;

OnTextObjectPaintCalc : TWPTextObjectPaintCalcEvent= procedure(Sender: TObject; pobj: TWPTextObj; Par: TParagraph; Page: TWPVirtPage; pagenr: Integer; textbody: TWPRTFDataBlock; var ResultText: WideString; PaintCanvas: TCanvas; var UseIt: Boolean) of object;

OnTextObjGetText : TWPOnTextObjGetTextEvent= procedure( RefCanvas: TCanvas; TXTObject: TWPTextObj; var PrintString: WideString; var WidthInPix: Integer; var HeightInPix: Integer; var PaintObject: TWPTextObj; Xres, YRes: Integer) of object;

Used or referenced by

-Procedure TWPSuperMerge.PaintBand(Memo:TWPRTFEngineBasis; toCanvas:TCanvas; par:TParagraph; r:TRect; PaintBandMode:TWPPaintBandMode; PaintModes:TWPPaintModes)
-Property TWPRTFBalloonHint.Memo : TWPRTFEnginePaint