Hi all,
Many changes from Andrew:
- GTK interface : Improvements to GTK Styles/Default Font
- TextRect now has a SystemFont flag, to allow drawing with the default System Font
- SpeedButton now uses SystemFont, so Text matches System Theme, except for prefix underline
- Basic AutoSizing code for TWinControls has been added for TPanel/TForm etc.
- TScrollBox :
This Widget only works under GTK, as I do not understand Windows Scrolling as of yet.
AutoScroll is always set, as trying to change it under GTK would require several hack's until its implementation more fully matches Delphi's/Win32. So if anyone out there wants to take a whack at finishing it up for windows, it might help.
- TBitmap
- Settng Width/Height is now functional, if not complete
- Getting Width/Height now works properly
- FreeImage now empties the handle
- LoadFromFile now calls to LoadFromXPMFile, till things are more functional
- Misc fixes/hacks
- TPicture now works, via a few hacks, however it does not copy an assigned Image since Assigning is not functional under TBitmap
- TImage
- Added Transparent, Stretch and Center
- Now works properly, with two noteable exceptions:
1) clipping a Pixmap With Transparency larger than the area does not work under GTK, so it draws outside its bounds
2) Stretching a Pixmap with Transparency loses the Transparency
- GTK interface : GetObject, now partially works for Bitmaps, and can get Width/Height and Depth properly
- GTK interface : a LoadFromPixbufFile has been added which supports loading misc. Graphics Formats specifically .bmp for use with TBitmap. This could feasably be extended to use GDKPixbufLoader to enable loading from a TStream as well. But for now this ensure that when Pixbuf support is enabled TBitmap.LoadFromFile will work.
- Property editors have been added for TBitmap/TPixmap/TPicture and for TBitBtn & TSpeedButton.Glyph though until Saving to Stream works, they are really just a pretty toys. ;)
- Misc. Fixes and hacks all over the place..
please note that the TBitBtn.Glyph property is now published, meaning any lfm files with BitBtns will not be compatible with older versions of Lazarus.
I think that is everything for now, except that much of this is only partially implemented, so there are various hacks in place.. and while more functionailty has been added there is still much missing or incompatible with Delphi., so if anyone wants to try their hand at finishing Saving Bitmaps & Pixmaps to stream, or working on TScrollBox, or finishing DIB Sections, and loading Bitmaps form streams, it would help out a great deal.
Other updates:
- synedit: right margin is now painted under the text
- new property editors for TTime, TDate, TDateTime
- Double, Triple and Quad clicks now works under gtk
- synedit: Quad click selects paragraph
Mattias
