Thanks. If transparency works fine the best should be deprecate the component.
El feb 8, 2018 5:08 PM, "Ondrej Pokorny via Lazarus" < [email protected]> escribió: > First of all, the image list became multi-resolution. You have the new > class TCustomImageListResolution that is the new "TCustomImageList". You > have to move your custom code there. > > On 08.02.2018 16:02, lainz via Lazarus wrote: > >> Hi, I have a component BGRAImageList that fixes basically the alpha >> channels >> of the regular ImageList on Linux using BGRABitmap. >> >> I did not code that component, but I'm the one that updates the package. >> >> Sources: >> https://github.com/bgrabitmap/bgracontrols/blob/master/bgraimagelist.pas >> >> It works fine in 1.8, but in trunk there are changes like: >> >> 1.8 >> TCustomImageList = class(TLCLReferenceComponent) >> >> 1.9 is TCustomImageList = class(TLCLComponent), so the method >> ReferenceNeeded is not available. >> >> Questions: >> - *What does ReferenceNeeded, and if it is necessary on 1.9*. >> > > On win32 you need a handle for WinAPI native controls. The real imagelist > code (along with ReferenceNeeded method) was moved into > TCustomImageListResolution. > > You have to move all your code into a TCustomImageListResolution > descendant and register it in TCustomImageList.GetResolutionClass. > > Another is this: >> >> 1.8 >> procedure Draw(ACanvas: TCanvas; AX, AY, AIndex: Integer; ADrawingStyle: >> TDrawingStyle; AImageType: TImageType; >> ADrawEffect: TGraphicsDrawEffect); overload; virtual; >> >> 1.9 >> procedure Draw(ACanvas: TCanvas; AX, AY, AIndex: Integer; ADrawingStyle: >> TDrawingStyle; AImageType: TImageType; >> ADrawEffect: TGraphicsDrawEffect); overload; >> >> In 1.9 the virtual was removed and I can't use override anymore. >> > > Again, override TCustomImageListResolution.Draw > > My question is *if the method still will be called instead of the LCL one >> in >> 1.9 without using override*. I know this is a basic of OOP but I need a >> bit >> of help because I never use virtual and overload. >> > > Override TCustomImageListResolution.Draw > > Another question: If I remove override to compile in 1.9, what happens in >> 1.8? >> > > The new image list from 1.9 is not compatible with 1.8. You have to > release a new version for 1.9+ only. > > I never use IFDEF LCL_FULLVERSION and don't know how to use it, any chances >> to have 2 different methods, one with override and other without, one for >> 1.8 and one for 1.9 or newer? >> >> And the big question: >> >> *Transparency is now or will be fixed on linux, so I don't need this >> component anymore and I can archive it?* >> > > I didn't change anything about transparency but for me transparency works > fine on both Gtk2 and Qt Linux. (I don't know any other details.) > > Ondrej > -- > _______________________________________________ > Lazarus mailing list > [email protected] > https://lists.lazarus-ide.org/listinfo/lazarus >
-- _______________________________________________ Lazarus mailing list [email protected] https://lists.lazarus-ide.org/listinfo/lazarus
