Okay given all the problems I was(am) having with Bitmaps. I created a Patch and manually edited out the bitmap problem code, applied it to a fresh copy from CVS, and started cleaning up my other changes. So here is the result if someone wants to commit it to CVS.(apply IN the lazarus directory)
Here is the run down of what it includes -
-Vasily Volchenko's Updated Russian Localizations
-improvements to GTK Styles/SysColors
-initial GTK Palette code - (untested, and for now useless)
-Hint Windows and Modal dialogs now try to stay transient to the main program form, aka they stay on top of the main form and usually minimize/maximize with it.
-fixes to Form BorderStyle code(tool windows needed a border)
-fixes DrawFrameControl DFCS_BUTTONPUSH to match Win32 better when flat
-fixes DrawFrameControl DFCS_BUTTONCHECK to match Win32 better and to match GTK theme better. It works most of the time now, but some themes, noteably Default, don't work.
-fixes bug in Bitmap code which broke compiling in NoGDKPixbuf mode.
-misc other cleanups/ fixes in gtk interface
-speedbutton's should now draw correctly when flat in Win32
-I have included an experimental new CheckBox(disabled by default) which has initial support for cbGrayed(Tri-State), and WordWrap, and misc other improvements. It is not done, it is mostly a quick hack to test DrawFrameControl
DFCS_BUTTONCHECK, however it offers many improvements which can be seen in cbsCheck/cbsCrissCross (aka non-themed) state.
-fixes Message Dialogs to more accurately determine button Spacing/Size, and Label Spacing/Size based on current System font.
-fixes MessageDlgPos, & ShowMessagePos in Dialogs
-adds InputQuery & InputBox to Dialogs
-re-arranges & somewhat re-designs Control Tabbing, it now partially works - wrapping around doesn't work, and subcontrols(Panels & Children, etc) don't work. TabOrder now works to an extent. I am not sure what is wrong with my code, based on my other tests at least wrapping and TabOrder SHOULD work properly, but.. Anyone want to try and fix?
-SynEdit(Code Editor) now changes mouse cursor to match position(aka over scrollbar/gutter vs over text edit)
-adds a TRegion property to Graphics.pp, and Canvas. Once I figure out how to handle complex regions(aka polygons) data properly I will add Region functions to the canvas itself (SetClipRect, intersectClipRect etc.)
-BitBtn now has a Stored flag on Glyph so it doesn't store to lfm/lrs if Glyph is Empty, or if Glyph is not bkCustom(aka bkOk, bkCancel, etc.) This should fix most crashes with older GDKPixbuf libs.
One problem introduced in this patch that I have as yet been unable to track down is every now and again on closing lazarus I get a bunch of gtk_object is not an object errors.. It doesn't apear to be any of my interface changes(though it could be) so I assume it is a problem somewhere else in the interface that shows up on account of some of my other code. I tried building lazarus in memcheck mode to try and track in down, but it broke my build(I think something is wrong w/MemCheck mode). So if anyone knows or finds the cause please let me know so I can fix it.
Any other problems or questions (or better yet, fixes ;-), please let me know.
Andrew
_________________________________________________________________ Send and receive Hotmail on your mobile device: http://mobile.msn.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bin00004.bin
Type: application/octet-stream
Size: 28730 bytes
Desc: "lazarus.patch.gz"
Url : http://localhost/pipermail/lazarus/attachments/20020927/431838f9/bin00004.bin