Recent

Author Topic: GTK2 - transparency of native widgets  (Read 4232 times)

Blaazen

  • Hero Member
  • *****
  • Posts: 2782
  • POKE 54296,15
    • Eye-Candy Controls
GTK2 - transparency of native widgets
« on: May 06, 2013, 03:30:59 pm »
Look at screenshot: When parent (Form) has non defalt color (Color<>clDefault) then native widgets (TButton, TEdit) have non-transparent frame. Non native widgets (TSpeedBtn, TBitBtn) are OK. Is it normal? Note that I am usually on KDE4, there's no problem.
Lazarus 2.1.0 r61214:62238 FPC 3.3.1 r40507 x86_64-linux-qt Chakra, Qt 4.8.7/5.13.2, Plasma 5.17.3
Lazarus 1.8.2 r57369 FPC 3.0.4 i386-win32-win32/win64 Wine 3.21

Try Eye-Candy Controls: https://sourceforge.net/projects/eccontrols/files/

Dibo

  • Hero Member
  • *****
  • Posts: 1045
Re: GTK2 - transparency of native widgets
« Reply #1 on: May 06, 2013, 04:20:54 pm »
Yeah, I spent nights on these issues. Thing are more complicated when you also use panels, radiogrups etc and targets are Windows and Linux. Finally my mind exploded and I moved to the fpGUI. Now I'm using LCL only for ERP (which is Lazarus target I supose) systems where theming and bacground colors are not important. If the customer only mentions about something "fancy" then I just left LCL and start project based on fpGUI or BGRAControls.
Here is question "Quo vadis LCL?". I think that GTK/QT/Win32 widgetset system finally will collapse. You hit GTK with hammer and something drop out from Win32 side. Lazarus team should start development of custom drawn controls or join to some existing projects like fpGUI/Custom Drawn (like QT did). This will not solve all problems but most of them. Certainly it reduce issues to the one API, not 5. I know that there is a lot of work, but if you look on Lazarus standard palette, most of controls are already custom drawn, labels, drawgrid, speed button, treeview, these are custom drawn controls. Buttons can be replaced by speed button, listview (which never worked same on Win32/Linux) can be easily replaced by drawgrid. Only TEdits, popupmenus and scrollbars are native. Custom Drawn Controls brings a lot of advantages, unique look, style manager ease of adding new functionality.

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3541
Re: GTK2 - transparency of native widgets
« Reply #2 on: June 17, 2013, 01:33:46 pm »
Lazarus team should start development of custom drawn controls or join to some existing projects like fpGUI/Custom Drawn (like QT did).

LCL/Custom Drawn is part of the LCL, see http://wiki.freepascal.org/Custom_Drawn_Interface , so it already has what you are asking for. But it hasn't gained much traction, the preference among most lazarus developers seams to be native controls. LCL/Custom Drawn needs more contributors.