[fpc-pascal] Location of fpvectorial

Felipe Monteiro de Carvalho felipemonteiro.carvalho at gmail.com
Thu Nov 10 10:07:52 CET 2011


On Thu, Nov 10, 2011 at 9:26 AM,  <michael.vancanneyt at wisa.be> wrote:
> Can you tell me what is missing in TFPCustomCanvas, so we can add it ?

Here:

http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/components/fpvectorial/fpvtocanvas.pas?view=markup&revision=33181&root=lazarus

all parts are isolated with ifdef USE_LCL_CANVAS, so rebuilding for
CGI support is actually trivial: just comment the define or use
LCL-nogui, but then the rendering gets crippled:

Missing parts are:

TCanvas.PolyBezier
TCanvas.Font.Orientation

A very problematic part is ClipRects. It is impossible to ignore them
in PostScript (ps, eps, pdf), the drawing gets completely deformed if
you do that, and the LCL implements them via LCLIntf:

  184     OldClipRegion := LCLIntf.CreateEmptyRegion();
  185     GetClipRgn(ACanvas.Handle, OldClipRegion);
  186     ClipRegion := ConvertPathToRegion(CurPath.ClipPath, ADestX,
ADestY, AMulX, AMulY);
  187     SelectClipRgn(ACanvas.Handle, ClipRegion);
  188     DeleteObject(ClipRegion);

This one I think is missing:

  444     ALCLDest.Arc(
  445       BoundsLeft, BoundsTop, BoundsRight, BoundsBottom,
  446       IntStartAngle, IntAngleLength
  447       );

Some parts which I still dont use, but will:

Pen.EndCap, joint, startcap

-- 
Felipe Monteiro de Carvalho



More information about the fpc-pascal mailing list