[Lazarus] ComponentPalette images size on HighDPI devices

Sandro Cumerlato sandro.cumerlato at gmail.com
Thu Dec 24 22:53:57 CET 2015


Hello,
I've found a simple way to improve ComponentPalette usability on HighDPI
touch devices.

Compare the following images:

1_Lazarus-ComponentPalette-24x24.PNG  vs
 2_Lazarus-ComponentPalette-48x48.PNG

[image: Inline images 1]

[image: Inline images 2]

It is quite easy to enlarge buttons area (and improve usability expecially
on touch devices), because the buttons size is hardcoded within source,
look at the attached patch to see where it is located.

It would be nice to add an option in ComponentPalette IDE Options section
to let users change buttons size, it could be placed after Palette is
visible checkbox and before Pages section.

In my case 48x48 is good, but even 64x64 could be optimal.

I haven't tried if something similar can be applied to IDE CoolBar buttons
too, but it seems resonable to think about it as well.

Sandro

p.s.: Waiting for Santa... :-)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20151224/abddfe39/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1_Lazarus-ComponentPalette-24x24.PNG
Type: image/png
Size: 26367 bytes
Desc: not available
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20151224/abddfe39/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2_Lazarus-ComponentPalette-48x48.PNG
Type: image/png
Size: 27303 bytes
Desc: not available
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20151224/abddfe39/attachment-0005.png>
-------------- next part --------------
Index: components/ideintf/formeditingintf.pas
===================================================================
--- components/ideintf/formeditingintf.pas	(revision 51026)
+++ components/ideintf/formeditingintf.pas	(working copy)
@@ -20,8 +20,8 @@
   LCLClasses, ProjectIntf, ComponentEditors, ObjectInspector, UnitResources;
   
 const
-  ComponentPaletteImageWidth = 24;
-  ComponentPaletteImageHeight = 24;
+  ComponentPaletteImageWidth = 48;
+  ComponentPaletteImageHeight = 48;
   ComponentPaletteBtnWidth  = ComponentPaletteImageWidth + 3;
   ComponentPaletteBtnHeight = ComponentPaletteImageHeight + 3;
   DesignerBaseClassId_TForm = 0;


More information about the Lazarus mailing list