Commit Graph

72 Commits

Author SHA1 Message Date
Aaron J. Seigo
03ee0a6839 revert these changes as they go violate a number of design principles; this has been patiently explained a number of times now.
svn path=/trunk/KDE/kdelibs/; revision=962172
2009-05-01 16:28:10 +00:00
David Nolden
42172d0178 Achieve the additional background painting without adding any public API
svn path=/trunk/KDE/kdelibs/; revision=962014
2009-05-01 12:17:04 +00:00
David Nolden
347c0caac4 - Allow painting a background color, or a background pattern behind freely floating elements of the theme, to provide a better fallback mechanism for transparent themes when composition is not available.
The color/pattern is given through the configuration file, and updating due to changes of the configuration file works perfectly. A simple user-interface to use this will be added to the panel configuration.
If you want to try this out, put into the [Theme] section of your plasmarc file:
frameBackgroundColor=#aacc00 (Your picked color)
frameBackgroundColorAlpha=120 (Alpha value for the color, between 0 and 255, 0=invisible, 255=opaque)
frameBackgroundPattern=/path/to/image
frameBackgroundPatternAlpha=255 (Alpha value for the pattern, as above)

The color is painted first, then the pattern. They are painted into the mask defined by the theme, so this only works nicely with themes that supply proper masks.


svn path=/trunk/KDE/kdelibs/; revision=961915
2009-05-01 00:41:41 +00:00
Marco Martin
5f49bb2333 fix the borders calculation when the top border doesn't exists
svn path=/trunk/KDE/kdelibs/; revision=938414
2009-03-11 20:11:31 +00:00
Marco Martin
a82716d835 take the right sizes of the margin hints
svn path=/trunk/KDE/kdelibs/; revision=931029
2009-02-24 16:47:51 +00:00
Marco Martin
b2c950d01e SVN_SILENT: remove stupid debug output
svn path=/trunk/KDE/kdelibs/; revision=930053
2009-02-22 15:52:03 +00:00
Marco Martin
0a60f4c5d2 better support for tiled overlays
svn path=/trunk/KDE/kdelibs/; revision=928085
2009-02-18 21:35:23 +00:00
Alessandro Diaferia
2cc63a17e7 what about constifying constifyable
svn path=/trunk/KDE/kdelibs/; revision=923307
2009-02-08 15:20:00 +00:00
Marco Martin
99d3b2d603 save to normal QSize, hopefully would make easier to fix rendering
problems 

svn path=/trunk/KDE/kdelibs/; revision=922930
2009-02-07 20:44:08 +00:00
Marco Martin
1755bfa667 kill a bit of old dead code
svn path=/trunk/KDE/kdelibs/; revision=922905
2009-02-07 19:05:43 +00:00
Marco Martin
831f2564d8 quite mega-patch:
add a new function FrameSvg::alphaMask() that lets define an alpha-layer
for the frame, that can be the frame itself or a mask- prefix
allow for overlay elements on frames that can do a nice
filigrane-effect, they can either be:
-fixed position at 0,0
-random position consistent across plasma runs (only supported for applet
backgrounds)
-tiled
-scaled

svn path=/trunk/KDE/kdelibs/; revision=910655
2009-01-13 21:46:07 +00:00
Alex Merry
13116aaea9 Don't crash on weirdly invalid SVGs.
The particular problem I was having was that frame->leftWidth was 0 and leftHeight was 0, but
frame->rightWidth was > 0.  And, while trying to paint a 0x0 pixmap is apparently fine
(because QPixmap::isNull() is just (QPixmap::width() == 0)),
QPainter::drawTiledPixmap() tries to do 0 % 0 if you pass it an 8x0 pixmap (which is an
arithmetic error).

And this was happening in KSMServer when displaying the shutdown dialog.
Cue weird behaviour when trying to log out or shut down.


svn path=/trunk/KDE/kdelibs/; revision=909140
2009-01-11 03:48:29 +00:00
Aaron J. Seigo
35304c269d revert #898716 as it regressed bug #167430, fix the problem by not transforming the svg in FrameSvgPrivate::updateSizes
CCBUG:167430

svn path=/trunk/KDE/kdelibs/; revision=905645
2009-01-04 19:07:46 +00:00
Marco Martin
450e4a88a3 use a qregion instead of a qbitmap for the frame
resizing is same speed, still pixmap->bitmap->region
just repainting should be quite faster
one of the last bic changes

svn path=/trunk/KDE/kdelibs/; revision=897385
2008-12-15 22:17:59 +00:00
Ivan Čukić
9a5ebc1669 Custom mask support
svn path=/trunk/KDE/kdelibs/; revision=897285
2008-12-15 16:49:55 +00:00
Marco Martin
4bca5e12ec stop timers and clear list to save also here
svn path=/trunk/KDE/kdelibs/; revision=895381
2008-12-10 15:45:34 +00:00
Aaron J. Seigo
9edf9c2ac0 do the cheap check first
svn path=/trunk/KDE/kdelibs/; revision=894561
2008-12-08 21:31:13 +00:00
Marco Martin
8328875f4c delay insertion into the pixmap cache of all prefix that is being
resized and save all of them at once at a timer event.
this way when a big number of scales is done in little time (e.g. applet
reszing) prevents too many disk writes and qimage conversions

svn path=/trunk/KDE/kdelibs/; revision=890663
2008-11-29 19:24:40 +00:00
Aaron J. Seigo
4b08c03726 change KDE includes to use the .h style now that we're in libs
svn path=/trunk/KDE/kdelibs/; revision=879795
2008-11-04 02:04:34 +00:00
Aaron J. Seigo
1b523b9054 ok, this time JUST the plasma dir ;)
svn path=/trunk/KDE/kdelibs/; revision=879759
2008-11-03 23:08:39 +00:00
Aaron J. Seigo
fa5a2d87d9 bum-de-dum! plasma to kdelibs.
svn path=/trunk/KDE/kdelibs/; revision=879757
2008-11-03 23:03:26 +00:00
Kevin Ottens
f66b4d819b API changes as announced:
* ConfigXml becomes ConfigLoader
  * Containment::(add|remove)ToolBoxTool(QAction *action) becomes
    Containment::(add|remove)ToolBoxAction(QAction *action)
  * Flash becomes FlashingLabel
  * Icon becomes IconWidget
  * PanelSvg becomes FrameSvg

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=877504
2008-10-29 17:46:33 +00:00