Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2011-11

Location of fpvectorial

10 messages · 5 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Torsten Bonde Christiansen

Hi List

I'm rather confused about the location of fpvectorial, since I can find it in several places.

I'm using fpc 2.4.4 and trunk of Lazarus, and fpvectorial exists both places but with different
setups.

The wiki page states to download from lazarus trunk, but the example files there do no use
the lazarus package, but rather the one from fpc.

Is it best to use the lazarus/components version or the fpc version?

Kind regards,
Torsten Bonde Christiansen.

Reply by email

Felipe Monteiro de Carvalho
to Torsten Bonde Christiansen

I moved fpvectorial out of fpc because I found it too slow/problematic for me to develop inside the FCL. it was bothersome to rebuild the FCL and reconfigure the environment noting that I develop across 5 different setups on a daily basis (Mac+2 virtual machines + dual boot on another computer). If I install an older compiler then my library is not available, users don't get fixes until a new release is done, etc.

Not to mention that my renderer code requires TCanvas features which are not yet in TFPCustomCanvas and also that I'd like to use the powerful lazutils package.

fpvectorial was never released in compiled form with any FPC release, so you will only have it installed from FPC if you are using an old fpc trunk snapshot or something like that.

Torsten Bonde Christiansen wrote
The wiki page states to download from lazarus trunk, but the example files there do no use the lazarus package, but rather the one from fpc.

Please file a bug report.

Is it best to use the lazarus/components version or the fpc version?

Yes, lazarus/components

The fpc version no longer exists.

Felipe Monteiro de Carvalho

Reply by email

Marco van de Voort
to Torsten Bonde Christiansen: Hi List I'm rather confused about the location of fpvectorial, since I can find it in…

In our previous episode, Torsten Bonde Christiansen said:

Show quoted text 12 lines
I'm rather confused about the location of fpvectorial, since I can find it in several places. I'm using fpc 2.4.4 and trunk of Lazarus, and fpvectorial exists both places but with different setups. The wiki page states to download from lazarus trunk, but the example files there do no use the lazarus package, but rather the one from fpc. Is it best to use the lazarus/components version or the fpc version?

The author has retracted fpvectorial from FPC after the 2.4.4 release, afaik because he wanted to access some utf8 units of Lazarus from fpvectorial. I'm not sure if that is a temporary thing or not.

Its compilation in snapshots on the 2.6 and 2.7.x branches has been disabled.

Reply by email

Unknown author
to Felipe Monteiro de Carvalho: I moved fpvectorial out of fpc because I found it too slow/problematic for me to develop…
Felipe Monteiro de Carvalho wrote 11 lines
I moved fpvectorial out of fpc because I found it too slow/problematic for me to develop inside the FCL. it was bothersome to rebuild the FCL and reconfigure the environment noting that I develop across 5 different setups on a daily basis (Mac+2 virtual machines + dual boot on another computer). If I install an older compiler then my library is not available, users don't get fixes until a new release is done, etc. Not to mention that my renderer code requires TCanvas features which are not yet in TFPCustomCanvas and also that I'd like to use the powerful lazutils package.

A dependency on the LCL TCanvas means that fpVectorial will not be usable in a CGI (or web) environment.

Can you tell me what is missing in TFPCustomCanvas, so we can add it ?

Michael.

Reply by email

Torsten Bonde Christiansen
to Felipe Monteiro de Carvalho: I moved fpvectorial out of fpc because I found it too slow/problematic for me to develop…
Felipe Monteiro de Carvalho wrote 15 lines
I moved fpvectorial out of fpc because I found it too slow/problematic for me to develop inside the FCL. it was bothersome to rebuild the FCL and reconfigure the environment noting that I develop across 5 different setups on a daily basis (Mac+2 virtual machines + dual boot on another computer). If I install an older compiler then my library is not available, users don't get fixes until a new release is done, etc. Not to mention that my renderer code requires TCanvas features which are not yet in TFPCustomCanvas and also that I'd like to use the powerful lazutils package. fpvectorial was never released in compiled form with any FPC release, so you will only have it installed from FPC if you are using an old fpc trunk snapshot or something like that.

I've downloaded the releases_2_4_4 from the svn repository. The source code is included
but you are right that it is not compiled.

Show quoted text 7 lines
On Thu, Nov 10, 2011 at 9:04 AM, Torsten Bonde Christiansen wrote: > The wiki page states to download from lazarus trunk, but the example files > there do no use > the lazarus package, but rather the one from fpc. Please file a bug report.

Bug report filed: http://bugs.freepascal.org/view.php?id=20662

Show quoted text 6 lines
> Is it best to use the lazarus/components version or the fpc version? Yes, lazarus/components The fpc version no longer exists.

I noted that after I sent the mail. But thank you for the reply.

Kind regards,
Torsten Bonde Christiansen.

Reply by email

Felipe Monteiro de Carvalho
to Unknown author: A dependency on the LCL TCanvas means that fpVectorial will not be usable in a CGI (or…
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

Reply by email

Martin Schreiber
to Felipe Monteiro de Carvalho: It seams that it supports only rectangles as primitives, correct? Felipe Monteiro de…
Felipe Monteiro de Carvalho wrote
On Thu, Nov 10, 2011 at 10:28 AM, Martin Schreiber
Show quoted text 5 lines
> MSEgui has a Pascal implementation of clip regions: > http://gitorious.org/mseide-msegui/mseide-msegui/blobs/master/lib/common/ > graphics/msegenericgdi.pas It seams that it supports only rectangles as primitives, correct?

Rectangles and regions. Not tested well BTW. I used it for the MSEgui OpenGL backend.
Non rectangular region definitions are normally converted to rect-regions first before doing operations AFAIK. segmentellipsef() can be used to stripe an ellipse for example.

Martin

Reply by email