Statusbar items background

Ruslan Kabatsayev b7.10110111 at gmail.com
Sun Jul 8 08:20:10 PDT 2012


Hello,

I'm trying to make statusbar items render correct window background
under themselves, i.e. the background specified by theme.
Attached is the experimental patch which I'd like to hear some
comments on, namely:
1. How could I avoid ignoring bOffScreen, i.e. how to render native
control (CTRL_WINDOW_BACKGROUND) on VirtualDevice? The problem with
ignoring bOffScreen is that e.g. when you move zoom slider, it
flickers because of repaint of window bg and the widget itself
directly on the Window. And at the same time, VirtualDevice itself
doesn't seem to support native control.
2. For the future (there're still plenty of widgets which don't render
their background correctly), maybe it's a good idea to add a new
method to class Window, which will render native themed background in
the rectangle specified if that's supported by theming backend, and
fill the rect with background color if no native bg is supported?

The images attached show how the status bar looks (with test bg image)
before and after the patch, so that the difference could be easily
spotted.

Regards,
Ruslan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: statusbar-bg.patch
Type: application/octet-stream
Size: 3977 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120708/7c28ff37/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: after patch.png
Type: image/png
Size: 129175 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120708/7c28ff37/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: before patch.png
Type: image/png
Size: 125627 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120708/7c28ff37/attachment-0003.png>


More information about the LibreOffice mailing list