[Lazarus] fpimage use of Lazarus

Mattias Gaertner nc-gaertnma at netcologne.de
Sat Feb 16 14:32:24 CET 2008


On Sat, 16 Feb 2008 13:34:32 +0100
Marco van de Voort <marcov at stack.nl> wrote:

>[...]
> > > For now I'm only playing ad exploring, and even if I start to get
> > > serious, it will be a branch at first. So no panic and running for
> > > the door please :-)
> > > 
> > > Does sb know on what fpimage properties lazarus exactly depends? 
> > 
> > If you mean TFPCustomImage: Almost every property. The Extra*
> > properties are used only by some readers/writers that are used by
> > the LCL. So this is an indirect dependency.
> 
> > TLazIntfImage = class(TFPCustomImage)
> >  
> > > Are there hidden assumptions on internal format (mostly being it
> > > always 32bpp?)
> > 
> > I didn't even know that fpimage has an internal format.
> 
> Depends on what you see as fpimage.  TFPCustomImage is the abstract
> ancestor,  TFPMemoryImage the one with actual storage.

I see.

 
> In this context one should also see my "which properties" question.
> If I expand TFPMemoryImage with scanline (because it has storage), I
> couldn't use it in the readers or writers, because then they wouldn't
> work anymore with tlazintfimage. So more or less you confirmed my
> doubts, Lazarus is not using TFPMemoryImage.

Correct. TFPMemoryImage knows only one format. The LCL needs a flexible
one, that supports at least all memory formats of all widgetsets -
which afaik excludes only compressed and floating point memory formats.

 
> So probably the ancestor class should get a scanline property with
> some abstract methods, and TLazIntfImage needs to override that too.

TLazIntfImage.GetDataLineStart?


Mattias



More information about the Lazarus mailing list