summaryrefslogtreecommitdiffstats
path: root/kwin-styles
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-07 21:50:31 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-11-07 21:50:31 -0600
commite35f3fe53cd8df85d4fd04e49dfffbaeac971cdf (patch)
tree95836fc22de909b3b20dbf3fc3dea230e5e58e3b /kwin-styles
parenta5355f151396be579eba5838c7d8d93a43362cd7 (diff)
downloadtdeartwork-e35f3fe53cd8df85d4fd04e49dfffbaeac971cdf.tar.gz
tdeartwork-e35f3fe53cd8df85d4fd04e49dfffbaeac971cdf.zip
Rename kwin to twin (Part 2 of 2)
Diffstat (limited to 'kwin-styles')
-rw-r--r--kwin-styles/CMakeLists.txt22
-rw-r--r--kwin-styles/Makefile.am4
-rw-r--r--kwin-styles/cde/CMakeLists.txt34
-rw-r--r--kwin-styles/cde/Makefile.am22
-rw-r--r--kwin-styles/cde/cde.desktop6
-rw-r--r--kwin-styles/cde/cdeclient.cpp863
-rw-r--r--kwin-styles/cde/cdeclient.h119
-rw-r--r--kwin-styles/cde/config/CMakeLists.txt28
-rw-r--r--kwin-styles/cde/config/Makefile.am17
-rw-r--r--kwin-styles/cde/config/config.cpp131
-rw-r--r--kwin-styles/cde/config/config.h52
-rw-r--r--kwin-styles/configure.in.in3
-rw-r--r--kwin-styles/glow/CMakeLists.txt35
-rw-r--r--kwin-styles/glow/Makefile.am22
-rw-r--r--kwin-styles/glow/config/CMakeLists.txt28
-rw-r--r--kwin-styles/glow/config/Makefile.am17
-rw-r--r--kwin-styles/glow/config/bitmaps.h55
-rw-r--r--kwin-styles/glow/config/glowconfigdialog.cpp369
-rw-r--r--kwin-styles/glow/config/glowconfigdialog.h92
-rw-r--r--kwin-styles/glow/glow.desktop49
-rw-r--r--kwin-styles/glow/glowbutton.cpp339
-rw-r--r--kwin-styles/glow/glowbutton.h129
-rw-r--r--kwin-styles/glow/glowclient.cpp902
-rw-r--r--kwin-styles/glow/glowclient.h206
-rw-r--r--kwin-styles/glow/resources.h11
-rw-r--r--kwin-styles/glow/themes/CMakeLists.txt17
-rw-r--r--kwin-styles/glow/themes/Makefile.am1
-rw-r--r--kwin-styles/glow/themes/default/CMakeLists.txt22
-rw-r--r--kwin-styles/glow/themes/default/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/default/background.pngbin788 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/close.pngbin122 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/close_glow.pngbin179 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/default.theme19
-rw-r--r--kwin-styles/glow/themes/default/help.pngbin120 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/help_glow.pngbin174 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/iconify.pngbin120 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/iconify_glow.pngbin177 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/maximizeoff.pngbin109 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/maximizeoff_glow.pngbin166 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/maximizeon.pngbin129 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/maximizeon_glow.pngbin186 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/stickyoff.pngbin103 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/stickyoff_glow.pngbin161 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/stickyon.pngbin115 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/default/stickyon_glow.pngbin173 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/CMakeLists.txt22
-rw-r--r--kwin-styles/glow/themes/glass/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/glass/background.pngbin794 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/close.pngbin186 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/close_glow.pngbin567 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/glass.theme19
-rw-r--r--kwin-styles/glow/themes/glass/help.pngbin183 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/help_glow.pngbin554 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/iconify.pngbin190 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/iconify_glow.pngbin575 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/maximizeoff.pngbin169 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/maximizeoff_glow.pngbin518 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/maximizeon.pngbin188 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/maximizeon_glow.pngbin541 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/stickyoff.pngbin178 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/stickyoff_glow.pngbin597 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/stickyon.pngbin180 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass/stickyon_glow.pngbin564 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/CMakeLists.txt22
-rw-r--r--kwin-styles/glow/themes/glass_huge/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/glass_huge/background.pngbin2094 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/close.pngbin207 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/close_glow.pngbin1386 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/glass_huge.theme19
-rw-r--r--kwin-styles/glow/themes/glass_huge/help.pngbin199 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/help_glow.pngbin1398 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/iconify.pngbin206 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/iconify_glow.pngbin1395 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/maximizeoff.pngbin187 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/maximizeoff_glow.pngbin1397 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/maximizeon.pngbin206 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/maximizeon_glow.pngbin1417 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/stickyoff.pngbin192 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/stickyoff_glow.pngbin1409 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/stickyon.pngbin194 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_huge/stickyon_glow.pngbin1414 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/CMakeLists.txt22
-rw-r--r--kwin-styles/glow/themes/glass_large/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/glass_large/background.pngbin1217 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/close.pngbin190 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/close_glow.pngbin731 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/glass_large.theme19
-rw-r--r--kwin-styles/glow/themes/glass_large/help.pngbin187 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/help_glow.pngbin720 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/iconify.pngbin194 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/iconify_glow.pngbin723 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/maximizeoff.pngbin174 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/maximizeoff_glow.pngbin667 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/maximizeon.pngbin195 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/maximizeon_glow.pngbin700 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/stickyoff.pngbin182 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/stickyoff_glow.pngbin658 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/stickyon.pngbin178 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_large/stickyon_glow.pngbin674 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/CMakeLists.txt22
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/background.pngbin1520 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/close.pngbin197 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/close_glow.pngbin1048 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/glass_verylarge.theme19
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/help.pngbin190 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/help_glow.pngbin1070 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/iconify.pngbin201 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/iconify_glow.pngbin1063 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/maximizeoff.pngbin179 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/maximizeoff_glow.pngbin1060 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/maximizeon.pngbin201 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/maximizeon_glow.pngbin1073 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/stickyoff.pngbin185 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/stickyoff_glow.pngbin1059 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/stickyon.pngbin183 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/glass_verylarge/stickyon_glow.pngbin1045 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/CMakeLists.txt22
-rw-r--r--kwin-styles/glow/themes/square/Makefile.am17
-rw-r--r--kwin-styles/glow/themes/square/background.pngbin287 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/close.pngbin122 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/close_glow.pngbin164 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/help.pngbin120 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/help_glow.pngbin164 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/iconify.pngbin120 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/iconify_glow.pngbin164 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/maximizeoff.pngbin109 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/maximizeoff_glow.pngbin164 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/maximizeon.pngbin129 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/maximizeon_glow.pngbin164 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/square.theme19
-rw-r--r--kwin-styles/glow/themes/square/stickyoff.pngbin103 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/stickyoff_glow.pngbin164 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/stickyon.pngbin115 -> 0 bytes
-rw-r--r--kwin-styles/glow/themes/square/stickyon_glow.pngbin164 -> 0 bytes
-rw-r--r--kwin-styles/icewm/CMakeLists.txt35
-rw-r--r--kwin-styles/icewm/Makefile.am21
-rw-r--r--kwin-styles/icewm/config/CMakeLists.txt28
-rw-r--r--kwin-styles/icewm/config/Makefile.am16
-rw-r--r--kwin-styles/icewm/config/config.cpp271
-rw-r--r--kwin-styles/icewm/config/config.h77
-rw-r--r--kwin-styles/icewm/icewm-themes/CMakeLists.txt21
-rw-r--r--kwin-styles/icewm/icewm-themes/Makefile.am12
-rw-r--r--kwin-styles/icewm/icewm-themes/closeA.xpm69
-rw-r--r--kwin-styles/icewm/icewm-themes/closeI.xpm69
-rw-r--r--kwin-styles/icewm/icewm-themes/default.theme48
-rw-r--r--kwin-styles/icewm/icewm-themes/depthA.xpm69
-rw-r--r--kwin-styles/icewm/icewm-themes/depthI.xpm69
-rw-r--r--kwin-styles/icewm/icewm-themes/maximizeA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/maximizeI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/menuButtonA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/menuButtonI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/minimizeA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/minimizeI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/restoreA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/restoreI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/rolldownA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/rolldownI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/rollupA.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/rollupI.xpm68
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAB.xpm32
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAJ.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAM.xpm73
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAP.xpm73
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAQ.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAR.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAS.xpm32
-rw-r--r--kwin-styles/icewm/icewm-themes/titleAT.xpm38
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIB.xpm32
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIJ.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIM.xpm66
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIP.xpm66
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIQ.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIR.xpm37
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIS.xpm32
-rw-r--r--kwin-styles/icewm/icewm-themes/titleIT.xpm38
-rw-r--r--kwin-styles/icewm/icewm.cpp1703
-rw-r--r--kwin-styles/icewm/icewm.desktop11
-rw-r--r--kwin-styles/icewm/icewm.h193
-rw-r--r--kwin-styles/kde1/CMakeLists.txt32
-rw-r--r--kwin-styles/kde1/Makefile.am16
-rw-r--r--kwin-styles/kde1/kde1.desktop7
-rw-r--r--kwin-styles/kde1/kde1client.cpp809
-rw-r--r--kwin-styles/kde1/kde1client.h158
-rw-r--r--kwin-styles/kde1/kde1client_bitmaps.h149
-rw-r--r--kwin-styles/kstep/CMakeLists.txt32
-rw-r--r--kwin-styles/kstep/Makefile.am22
-rw-r--r--kwin-styles/kstep/kstep.desktop12
-rw-r--r--kwin-styles/kstep/nextclient.cpp987
-rw-r--r--kwin-styles/kstep/nextclient.h126
-rw-r--r--kwin-styles/openlook/CMakeLists.txt33
-rw-r--r--kwin-styles/openlook/Makefile.am16
-rw-r--r--kwin-styles/openlook/OpenLook.cpp728
-rw-r--r--kwin-styles/openlook/OpenLook.h116
-rw-r--r--kwin-styles/openlook/openlook.desktop14
-rw-r--r--kwin-styles/riscos/AboveButton.cpp65
-rw-r--r--kwin-styles/riscos/AboveButton.h51
-rw-r--r--kwin-styles/riscos/Button.cpp153
-rw-r--r--kwin-styles/riscos/Button.h82
-rw-r--r--kwin-styles/riscos/CMakeLists.txt52
-rw-r--r--kwin-styles/riscos/CloseButton.cpp66
-rw-r--r--kwin-styles/riscos/CloseButton.h53
-rw-r--r--kwin-styles/riscos/HelpButton.cpp66
-rw-r--r--kwin-styles/riscos/HelpButton.h53
-rw-r--r--kwin-styles/riscos/IconifyButton.cpp66
-rw-r--r--kwin-styles/riscos/IconifyButton.h53
-rw-r--r--kwin-styles/riscos/LowerButton.cpp66
-rw-r--r--kwin-styles/riscos/LowerButton.h53
-rw-r--r--kwin-styles/riscos/Makefile.am39
-rw-r--r--kwin-styles/riscos/Manager.cpp767
-rw-r--r--kwin-styles/riscos/Manager.h125
-rw-r--r--kwin-styles/riscos/MaximiseButton.cpp98
-rw-r--r--kwin-styles/riscos/MaximiseButton.h61
-rw-r--r--kwin-styles/riscos/Palette.h69
-rw-r--r--kwin-styles/riscos/README90
-rw-r--r--kwin-styles/riscos/Static.cpp540
-rw-r--r--kwin-styles/riscos/Static.h134
-rw-r--r--kwin-styles/riscos/StickyButton.cpp99
-rw-r--r--kwin-styles/riscos/StickyButton.h61
-rw-r--r--kwin-styles/riscos/riscos.desktop11
-rw-r--r--kwin-styles/smooth-blend/AUTHORS1
-rw-r--r--kwin-styles/smooth-blend/CMakeLists.txt12
-rw-r--r--kwin-styles/smooth-blend/COPYING340
-rw-r--r--kwin-styles/smooth-blend/CREDITS5
-rw-r--r--kwin-styles/smooth-blend/ChangeLog22
-rw-r--r--kwin-styles/smooth-blend/INSTALL167
-rw-r--r--kwin-styles/smooth-blend/Makefile.am1
-rw-r--r--kwin-styles/smooth-blend/NEWS0
-rw-r--r--kwin-styles/smooth-blend/README15
-rw-r--r--kwin-styles/smooth-blend/TODO4
-rw-r--r--kwin-styles/smooth-blend/client/CMakeLists.txt38
-rw-r--r--kwin-styles/smooth-blend/client/Makefile.am20
-rw-r--r--kwin-styles/smooth-blend/client/buttons.h1798
-rw-r--r--kwin-styles/smooth-blend/client/config/CMakeLists.txt32
-rw-r--r--kwin-styles/smooth-blend/client/config/Makefile.am15
-rw-r--r--kwin-styles/smooth-blend/client/config/configdialog.ui421
-rw-r--r--kwin-styles/smooth-blend/client/config/smoothblendconfig.cc180
-rw-r--r--kwin-styles/smooth-blend/client/config/smoothblendconfig.h56
-rw-r--r--kwin-styles/smooth-blend/client/smoothblend.cc1396
-rw-r--r--kwin-styles/smooth-blend/client/smoothblend.desktop40
-rw-r--r--kwin-styles/smooth-blend/client/smoothblend.h256
-rw-r--r--kwin-styles/system/CMakeLists.txt32
-rw-r--r--kwin-styles/system/Makefile.am21
-rw-r--r--kwin-styles/system/system.desktop27
-rw-r--r--kwin-styles/system/systemclient.cpp737
-rw-r--r--kwin-styles/system/systemclient.h113
246 files changed, 0 insertions, 20132 deletions
diff --git a/kwin-styles/CMakeLists.txt b/kwin-styles/CMakeLists.txt
deleted file mode 100644
index 255bbf18..00000000
--- a/kwin-styles/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include( "${TDE_CMAKE_DIR}/twin.cmake" )
-
-add_subdirectory( cde )
-add_subdirectory( glow )
-add_subdirectory( icewm )
-add_subdirectory( kde1 )
-add_subdirectory( kstep )
-add_subdirectory( openlook )
-add_subdirectory( riscos )
-add_subdirectory( smooth-blend )
-add_subdirectory( system )
diff --git a/kwin-styles/Makefile.am b/kwin-styles/Makefile.am
deleted file mode 100644
index 76abee7d..00000000
--- a/kwin-styles/Makefile.am
+++ /dev/null
@@ -1,4 +0,0 @@
-SUBDIRS = kstep glow cde icewm openlook kde1 system riscos smooth-blend
-
-messages:
- $(XGETTEXT) `find . -name \*.cpp` -o $(podir)/twin_art_clients.pot
diff --git a/kwin-styles/cde/CMakeLists.txt b/kwin-styles/cde/CMakeLists.txt
deleted file mode 100644
index 790ff84c..00000000
--- a/kwin-styles/cde/CMakeLists.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_subdirectory( config )
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES cde.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_cde ##################################
-
-tde_add_kpart( twin3_cde AUTOMOC
- SOURCES cdeclient.cpp
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/cde/Makefile.am b/kwin-styles/cde/Makefile.am
deleted file mode 100644
index 129a22bc..00000000
--- a/kwin-styles/cde/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
-
-INCLUDES = $(all_includes)
-
-SUBDIRS = . config
-
-kde_module_LTLIBRARIES = twin3_cde.la
-
-twin3_cde_la_SOURCES = cdeclient.cpp
-twin3_cde_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin3_cde_la_LIBADD = -ltdecorations
-
-METASOURCES = AUTO
-noinst_HEADERS = cdeclient.h
-
-lnkdir = $(kde_datadir)/twin/
-lnk_DATA = cde.desktop
-
-EXTRA_DIST = $(lnk_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/cde/cde.desktop b/kwin-styles/cde/cde.desktop
deleted file mode 100644
index a5f1ac66..00000000
--- a/kwin-styles/cde/cde.desktop
+++ /dev/null
@@ -1,6 +0,0 @@
-[Desktop Entry]
-Name=CDE
-Name[af]=Cde
-Name[hi]=सीडीई
-Name[ne]=सीडीई
-X-KDE-Library=twin3_cde
diff --git a/kwin-styles/cde/cdeclient.cpp b/kwin-styles/cde/cdeclient.cpp
deleted file mode 100644
index 03eb14fa..00000000
--- a/kwin-styles/cde/cdeclient.cpp
+++ /dev/null
@@ -1,863 +0,0 @@
-/*
- * $Id$
- *
- * CDE KWin client - emulates the look and feel
- * of dtwm, the CDE window manager.
- *
- * Copyright (c) 2000-2001, 2002
- * Chris Lee <lee@azsites.com>
- * Lennart Kudling <kudling@kde.org>
- * Fredrik H�glund <fredrik@kde.org>
- *
- * Copyright (c) 2003,2004
- * Luciano Montanaro <mikelima@cirulla.net>
- *
- * Originally based on the KStep client.
- *
- * Distributed under the terms of the BSD license.
- */
-
-#include "cdeclient.h"
-#include <tqdatetime.h>
-#include <tqlayout.h>
-#include <tqbutton.h>
-#include <tqcursor.h>
-#include <tqlabel.h>
-#include <tqtooltip.h>
-#include <tqdrawutil.h>
-#include <tqpainter.h>
-#include <tqapplication.h>
-#include <klocale.h>
-#include <kconfig.h>
-
-extern "C" KDE_EXPORT KDecorationFactory* create_factory()
-{
- return new CDE::CdeClientFactory();
-}
-
-namespace CDE {
-
-static int s_frameWidth = 5;
-static int s_buttonSize = 19;
-static bool titlebarButtonMode = true;
-static bool coloredFrame = true;
-static TQt::AlignmentFlags textAlignment = TQt::AlignHCenter;
-
-// Precomputed border sizes for accessibility
-// The sizes are applied for tiny -> normal -> large -> very large -> huge ->
-// very huge -> oversized
-static const int borderSizes[] = { 4, 6, 9, 12, 18, 26, 42 };
-
-// Parameters needed to draw the widgets (offsets from the border)
-static int s_o1 = 4;
-static int s_o2 = 7;
-static int s_w1 = 11;
-static int s_w2 = 5;
-
-// These are the line segments for the X on the close button
-
-static const int NUM_CLOSEL_COORDS = 2 * 14;
-static const TQCOORD closeLLinesTemplate[NUM_CLOSEL_COORDS] =
- { 14,3, 12,3, 12,3, 9,6, 5,3, 3,3, 3,3, 3,5,
- 3,5, 6,8, 6,9, 3,12, 3,12, 3,14 };
-
-static const int NUM_CLOSED_COORDS = 2 * 18;
-static const TQCOORD closeDLinesTemplate[NUM_CLOSED_COORDS] =
- { 5,3, 8,6, 14,4, 14,5, 14,5, 11,8, 11,9, 14,12, 14,12, 14,14,
- 14,14, 12,14, 12,14, 9,11, 8,11, 5,14, 5,14, 4,14 };
-
-static TQCOORD closeLLines[NUM_CLOSEL_COORDS];
-
-static TQCOORD closeDLines[NUM_CLOSED_COORDS];
-
-// These are the line segments for the ? on the help button
-static const int NUM_HELPL_COORDS = 2 * 16;
-static const TQCOORD helpLLinesTemplate[NUM_HELPL_COORDS] =
- { 4,6, 4,5, 4,5, 6,3, 6,3, 9,3, 10,3, 11,4,
- 9,7, 7,9, 7,9, 7,10, 7,14, 7,13, 8,12, 9,12 };
-
-static const int NUM_HELPD_COORDS = 2 * 14;
-static const TQCOORD helpDLinesTemplate[NUM_HELPD_COORDS] =
- { 5,7, 8,6, 12,5, 12,8, 12,8, 10,10, 10,10, 10,11,
- 10,11, 8,11, 10,14, 10,13, 9,15, 8,15 };
-
-static TQCOORD helpLLines[NUM_HELPL_COORDS];
-
-static TQCOORD helpDLines[NUM_HELPD_COORDS];
-
-
-// This question mark is taller than the one above and
-// is positioned one pixel higher on the button
-/*
-static const TQCOORD helpLLines[] =
- { 4,5, 4,4, 4,4, 6,2, 6,2, 9,2, 10,2, 11,3,
- 9,6, 7,8, 7,9, 7,10, 7,13, 8,12, 8,12, 9,12 };
-
-static const TQCOORD helpDLines[] =
- { 5,6, 8,5, 12,4, 12,7, 12,7, 10,9, 10,10, 10,11,
- 10,11, 8,11, 10,13, 9,14, 9,14, 8,14 };
-*/
-// Same as the one above but with a larger dot under
-// the question mark
-/*
-static const TQCOORD helpLLines[] =
- { 4,5, 4,4, 4,4, 6,2, 6,2, 9,2, 10,2, 11,3,
- 9,6, 7,8, 7,9, 7,10, 7,14, 7,13, 8,12, 9,12 };
-
-static const TQCOORD helpDLines[] =
- { 5,6, 8,5, 12,4, 12,7, 12,7, 10,9, 10,10, 10,11,
- 10,11, 8,11, 10,13, 10,14, 9,15, 8,15 };
-*/
-
-static inline const KDecorationOptions* options()
-{
- return KDecoration::options();
-}
-
-static void fixColorGroup(TQColorGroup & tqcolorGroup)
-{
- TQColor light = tqcolorGroup.light();
-
- int hue, saturation, value;
-
- light.hsv(&hue, &saturation, &value);
-
- if (value < 128)
- {
- light.setHsv(hue, saturation, 128);
- tqcolorGroup.setColor(TQColorGroup::Light, light);
- }
-
- TQColor dark = tqcolorGroup.dark();
-
- dark.hsv(&hue, &saturation, &value);
-
- if (value < 84)
- {
- dark.setHsv(hue, saturation, 84);
- tqcolorGroup.setColor(TQColorGroup::Dark, dark);
- }
-}
-
-// scaling helper function used to scale the close 'X' glyph
-
-static int scaleCoord(int c)
-{
- if (c < 6) return c;
- if (c <= 11) return c + (s_buttonSize - 19) / 2;
- return c + s_buttonSize - 19;
-}
-
-static void readConfig(CdeClientFactory *f)
-{
- KConfig conf( "twincderc" );
-
- conf.setGroup("General");
- coloredFrame = conf.readBoolEntry( "UseTitleBarBorderColors", true );
- titlebarButtonMode = conf.readBoolEntry( "TitlebarButtonMode", true );
-
- TQString value = conf.readEntry( "TextAlignment", "AlignHCenter" );
- if ( value == "AlignLeft" )
- textAlignment = TQt::AlignLeft;
- else if ( value == "AlignHCenter" )
- textAlignment = TQt::AlignHCenter;
- else if ( value == "AlignRight" )
- textAlignment = TQt::AlignRight;
-
-
- // find preferred border size
- int i = options()->preferredBorderSize(f);
- if (i >= 0 && i <= 6) s_frameWidth = borderSizes[i];
-
- // Do not allow malicious users or corrupt config files to
- // go past the domain of the valid border sizes.
-
- // Size limit increased for accessability. LM
- if (s_frameWidth < 0) s_frameWidth = 0;
- if (s_frameWidth > 30) s_frameWidth = 30;
-
- // Force button size to be in a reasonable range.
- // If the frame width is large, the button size must be large too.
- s_buttonSize = TQFontMetrics(options()->font( true )).height() + 2;
- if (s_buttonSize < 19) s_buttonSize = 19;
- if (s_buttonSize < s_frameWidth) s_buttonSize = s_frameWidth;
- s_buttonSize |= 1; // Be sure the button size is odd.
-
- // Calculate widths and offsets for the button icons
- s_o1 = s_buttonSize * 4 / 19;
- s_o2 = s_buttonSize * 7 / 19;
- s_w1 = s_buttonSize - 2 * s_o1;
- s_w2 = s_buttonSize - 2 * s_o2;
-
- // Copy and scale the close icon
- int offset = (s_buttonSize - 19) / 2;
- for (int i = 0; i < NUM_CLOSEL_COORDS; i++) {
- closeLLines[i] = scaleCoord(closeLLinesTemplate[i]);
- }
- for (int i = 0; i < NUM_CLOSED_COORDS; i++) {
- closeDLines[i] = scaleCoord(closeDLinesTemplate[i]);
- }
- // Copy and center the help icon
- for (int i = 0; i < NUM_HELPL_COORDS; i++) {
- helpLLines[i] = helpLLinesTemplate[i] + offset;
- }
- for (int i = 0; i < NUM_HELPD_COORDS; i++) {
- helpDLines[i] = helpDLinesTemplate[i] + offset;
- }
-}
-
-// ---------------------------------------
-
-CdeClientFactory::CdeClientFactory()
-{
- CDE::readConfig(this);
-}
-
-CdeClientFactory::~CdeClientFactory()
-{
-}
-
-KDecoration *CdeClientFactory::createDecoration(KDecorationBridge *b)
-{
- return new CdeClient(b, this);
-}
-
-bool CdeClientFactory::reset(unsigned long /*changed*/)
-{
- // TODO Do not recreate decorations if it is not needed. Look at
- // ModernSystem for how to do that
- // For now just return true.
- CDE::readConfig(this);
- return true;
-}
-
-bool CdeClientFactory::supports( Ability ability )
-{
- switch( ability )
- {
- case AbilityAnnounceButtons:
- case AbilityButtonMenu:
- case AbilityButtonOnAllDesktops:
- case AbilityButtonHelp:
- case AbilityButtonMinimize:
- case AbilityButtonMaximize:
- case AbilityButtonClose:
- return true;
- default:
- return false;
- };
-}
-
-TQValueList< CdeClientFactory::BorderSize >
-CdeClientFactory::borderSizes() const
-{
- // the list must be sorted
- return TQValueList< BorderSize >() << BorderTiny << BorderNormal <<
- BorderLarge << BorderVeryLarge << BorderHuge <<
- BorderVeryHuge << BorderOversized;
-}
-
-// ---------------------------------------
-
-CdeClient::CdeClient(KDecorationBridge *b, KDecorationFactory *f)
- : KDecoration(b, f)
-{
-}
-
-void CdeClient::init()
-{
- createMainWidget(WStaticContents | WResizeNoErase | WRepaintNoErase);
- widget()->installEventFilter(this);
-
- widget()->setBackgroundMode(NoBackground);
-
- mainLayout = new TQVBoxLayout(widget());
- TQBoxLayout* windowLayout = new TQBoxLayout(0, TQBoxLayout::LeftToRight, 0, 0, 0);
- titleLayout = new TQBoxLayout(0, TQBoxLayout::LeftToRight, 0, 0, 0);
-
- // TODO Check if this stuff can be simplified.
- // Border sizes are from a fixed set now.
- if ( s_frameWidth > 1 )
- {
- // the style normally draws a black frame around the window, so we
- // need 1 line of space for that in addition to the normal window frame
- mainLayout->setMargin( s_frameWidth+1 );
- }
- else
- {
- // but if the frame is set to just 1 pixel we just draw the black frame
- // instead of the normal window frame, so no extra space is needed. if
- // its 0 we don't draw anything.
- mainLayout->setMargin( s_frameWidth );
- }
-
- mainLayout->addLayout( titleLayout );
- mainLayout->addLayout( windowLayout, 1 );
-
- if (isPreview())
- windowLayout->addWidget(new TQLabel(i18n(
- "<center><b>CDE preview</b></center>"), widget()), 1);
- else
- windowLayout->addItem( new TQSpacerItem( 0, 0 ));
-
- for ( int i=0; i < BtnCount; i++ )
- button[i] = NULL;
-
- addClientButtons( options()->titleButtonsLeft() );
-
- titlebar = new TQSpacerItem( 10, 16, TQSizePolicy::Expanding, TQSizePolicy::Minimum );
- titleLayout->addItem( titlebar );
-
- addClientButtons( options()->titleButtonsRight() );
-
- titlebarPressed = false;
- closing = false;
-}
-
-void CdeClient::addClientButtons( const TQString& s )
-{
- if ( s.length() > 0 )
- for ( unsigned int i = 0; i < s.length(); i++ )
- {
- switch( s[i].latin1() )
- {
- // Menu button
- case 'M':
- if ( ! button[BtnMenu] )
- {
- button[BtnMenu] = new CdeButton( this, "menu", BtnMenu, i18n("Menu"), Qt::LeftButton|Qt::RightButton );
- connect( button[BtnMenu], TQT_SIGNAL(pressed()), TQT_SLOT(menuButtonPressed()) );
- connect( button[BtnMenu], TQT_SIGNAL(released()), TQT_SLOT(menuButtonReleased()) );
- titleLayout->addWidget( button[BtnMenu] );
- }
- break;
-
- //Help button
- case 'H':
- if ( providesContextHelp() && (! button[BtnHelp] ) )
- {
- button[BtnHelp] = new CdeButton( this, "help", BtnHelp, i18n("Help") );
- connect(button[BtnHelp],
- TQT_SIGNAL(clicked()), TQT_SLOT(showContextHelp()));
- titleLayout->addWidget( button[BtnHelp] );
- }
- break;
-
- //Minimize button
- case 'I':
- if ( (! button[BtnIconify] ) && isMinimizable() )
- {
- button[BtnIconify] = new CdeButton( this, "iconify", BtnIconify, i18n("Minimize") );
- connect(button[BtnIconify],
- TQT_SIGNAL(clicked()), TQT_SLOT(minimize()));
- titleLayout->addWidget( button[BtnIconify] );
- }
- break;
-
- // Maximize button
- case 'A':
- if ( (! button[BtnMax] ) && isMaximizable() )
- {
- button[BtnMax] = new CdeButton(this, "maximize", BtnMax, i18n("Maximize"), Qt::LeftButton|Qt::MidButton|Qt::RightButton);
- connect(button[BtnMax], TQT_SIGNAL(clicked()),
- TQT_SLOT(maximizeButtonClicked()));
- titleLayout->addWidget( button[BtnMax] );
- }
- break;
-
- // Close button
- case 'X':
- if ( !button[BtnClose] && isCloseable())
- {
- button[BtnClose] = new CdeButton(this, "close", BtnClose, i18n("Close"));
- connect( button[BtnClose], TQT_SIGNAL( clicked()), TQT_SLOT(closeWindow()) );
- titleLayout->addWidget( button[BtnClose] );
- }
- // Add onAlldesktops button and spacers
- }
- }
-
-}
-
-void CdeClient::captionChange()
-{
- widget()->tqrepaint(titlebar->tqgeometry(), false);
-}
-
-void CdeClient::activeChange()
-{
- for ( int i=0; i < BtnCount; i++ )
- if ( button[i] ) button[i]->reset();
-
- widget()->tqrepaint(false);
-}
-
-void CdeClient::maximizeChange()
-{
- if ( button[BtnMax] ) {
- bool m = maximizeMode() == MaximizeFull;
- TQToolTip::remove(button[BtnMax]);
- TQToolTip::add(button[BtnMax], m ? i18n("Restore") : i18n("Maximize"));
- button[BtnMax]->tqrepaint();
- }
-}
-
-void CdeClient::iconChange()
-{
-}
-
-void CdeClient::shadeChange()
-{
-}
-
-void CdeClient::showEvent(TQShowEvent *)
-{
- widget()->tqrepaint();
-}
-
-void CdeClient::desktopChange()
-{
- // Nothing to do yet
-}
-
-TQSize CdeClient::tqminimumSize() const
-{
- return TQSize(2 * (s_buttonSize + s_frameWidth),
- 2 * s_frameWidth + s_buttonSize);
-}
-
-void CdeClient::resize(const TQSize& s)
-{
- widget()->resize(s);
-}
-
-void CdeClient::maximizeButtonClicked()
-{
- if (button[BtnMax]) {
- maximize(button[BtnMax]->lastButton());
- }
-}
-
-void CdeClient::menuButtonPressed()
-{
- static TQTime* t = NULL;
- static CdeClient* lastClient = NULL;
- if( t == NULL )
- t = new TQTime;
- bool dbl = ( lastClient == this && t->elapsed() <= TQApplication::doubleClickInterval());
- lastClient = this;
- t->start();
- if( !dbl )
- {
- TQRect menuRect = button[BtnMenu]->rect();
- TQPoint menuTop = button[BtnMenu]->mapToGlobal(menuRect.topLeft());
- TQPoint menuBottom =
- button[BtnMenu]->mapToGlobal(menuRect.bottomRight());
- KDecorationFactory* f = factory();
- showWindowMenu(TQRect(menuTop, menuBottom));
- if( !f->exists( this )) // 'this' was deleted
- return;
- button[BtnMenu]->setDown(false);
- }
- else
- closing = true;
-}
-
-void CdeClient::menuButtonReleased()
-{
- if( closing )
- closeWindow();
-}
-
-void CdeClient::resizeEvent( TQResizeEvent* e)
-{
- if (widget()->isVisibleToTLW()) {
- widget()->update();
- int dx = 0;
- int dy = 0;
-
- if ( e->oldSize().width() != width() )
- dx = 32 + TQABS( e->oldSize().width() - width() );
-
- if ( e->oldSize().height() != height() )
- dy = 8 + TQABS( e->oldSize().height() - height() );
-
- if ( dy )
- widget()->update( 0, height() - dy + 1, width(), dy );
-
- if ( dx )
- {
- widget()->update( width() - dx + 1, 0, dx, height() );
- widget()->update( TQRect( TQPoint(4,4),
- titlebar->tqgeometry().bottomLeft() - TQPoint(1,0) ) );
- widget()->update(TQRect(titlebar->tqgeometry().topRight(),
- TQPoint(width() - 4, titlebar->tqgeometry().bottom())));
-
- // Titlebar needs no paint event
- TQApplication::postEvent( this, new TQPaintEvent( titlebar->tqgeometry(), false ) );
- }
- }
-}
-
-void CdeClient::paintEvent( TQPaintEvent* )
-{
- TQPainter p(widget());
-
- TQColorGroup tqcolorGroup;
-
- if ( coloredFrame )
- tqcolorGroup = options()->tqcolorGroup( KDecoration::ColorTitleBar, isActive() );
- else
- tqcolorGroup = options()->tqcolorGroup( KDecoration::ColorFrame, isActive() );
-
- fixColorGroup( tqcolorGroup );
-
- TQRect trect = titlebar->tqgeometry();
- TQRect mrect = widget()->rect();
-
- if ( s_frameWidth > 0 )
- {
- // draw black frame:
- p.setPen( TQt::black );
- p.drawRect( mrect );
- }
-
- p.setPen( TQt::NoPen );
- p.setBrush( tqcolorGroup.background() );
-
-
- if ( s_frameWidth > 1 )
- {
- bool shaded = isShade();
- int longSide = s_frameWidth + s_buttonSize;
-
- // draw frame-background:
- p.drawRect( 1, 1,
- mrect.width() - 2, s_frameWidth );
- p.drawRect( 1, mrect.height() - s_frameWidth - 1,
- mrect.width() - 2, s_frameWidth );
- p.drawRect( 1, s_frameWidth + 1,
- s_frameWidth, mrect.height() - 2*s_frameWidth - 2 );
- p.drawRect( mrect.width() - s_frameWidth - 1, s_frameWidth + 1,
- s_frameWidth, mrect.height() - 2*s_frameWidth - 2 );
-
- if ( ! shaded )
- {
- // draw left and right frames:
- qDrawShadePanel( &p, 1, longSide + 1,
- s_frameWidth, mrect.height() - 2 * (longSide + 1),
- tqcolorGroup );
-
- qDrawShadePanel( &p, mrect.width() - s_frameWidth - 1, longSide + 1,
- s_frameWidth, mrect.height() - 2 * (longSide + 1),
- tqcolorGroup );
- }
-
- // draw top and bottom frames:
- qDrawShadePanel( &p, longSide + 1, 1,
- mrect.width() - 2 * (longSide + 1), s_frameWidth,
- tqcolorGroup );
-
- qDrawShadePanel( &p, longSide + 1, mrect.height() - s_frameWidth - 1,
- mrect.width() - 2 * (longSide + 1), s_frameWidth,
- tqcolorGroup );
-
- // draw light corner parts:
- p.setPen( tqcolorGroup.light() );
-
- // tl corner:
- p.drawLine( 1, 1, longSide - 1, 1 );
- p.drawLine( 1, 1, 1, longSide - 1 );
-
- // tr corner:
- p.drawLine( mrect.width() - 3, 1, mrect.width() - longSide - 1, 1 );
- p.drawLine( mrect.width() - longSide - 1, 1,
- mrect.width() - longSide - 1, s_frameWidth - 1 );
- p.drawLine( mrect.width() - s_frameWidth - 1, s_frameWidth,
- mrect.width() - s_frameWidth - 1, longSide - 1 );
-
- // br corner:
- if ( !shaded )
- {
- p.drawLine( mrect.width() - 3, mrect.height() - longSide - 1,
- mrect.width() - s_frameWidth - 1, mrect.height() - longSide - 1 );
- }
- p.drawLine( mrect.width() - s_frameWidth - 1, mrect.height() - longSide,
- mrect.width() - s_frameWidth - 1, mrect.height() - s_frameWidth - 1 );
- p.drawLine( mrect.width() - s_frameWidth - 2, mrect.height() - s_frameWidth - 1,
- mrect.width() - longSide - 1, mrect.height() - s_frameWidth - 1 );
- p.drawLine( mrect.width() - longSide - 1, mrect.height() - s_frameWidth,
- mrect.width() - longSide - 1, mrect.height() - 2 );
-
- // bl corner:
- if ( !shaded )
- {
- p.drawLine( s_frameWidth-1, mrect.height() - longSide - 1,
- 2, mrect.height() - longSide - 1 );
- }
- p.drawLine( 1, mrect.height() - longSide - 1,
- 1, mrect.height() - 3 );
- p.drawLine( longSide - 1, mrect.height() - s_frameWidth - 1,
- s_frameWidth + 1, mrect.height() - s_frameWidth - 1 );
-
- // draw dark corner parts:
- p.setPen( tqcolorGroup.dark() );
-
- // tl corner:
- if ( !shaded )
- p.drawLine( 1, longSide, s_frameWidth, longSide );
- p.drawLine( s_frameWidth, longSide - 1, s_frameWidth, s_frameWidth );
- p.drawLine( s_frameWidth + 1, s_frameWidth, longSide, s_frameWidth );
- p.drawLine( s_frameWidth + s_buttonSize, s_frameWidth, longSide, 1 );
-
- // tr corner:
- p.drawLine( mrect.width() - longSide - 1, s_frameWidth,
- mrect.width() - s_frameWidth - 2, s_frameWidth );
- if ( !shaded )
- {
- p.drawLine( mrect.width() - s_frameWidth - 1, longSide,
- mrect.width() - 2, longSide );
- }
- p.drawLine( mrect.width() - 2, longSide, mrect.width() - 2, 1 );
-
- // br corner:
- p.drawLine( mrect.width() - longSide - 1, mrect.height() - 2,
- mrect.width() - 3, mrect.height() - 2 );
- p.drawLine( mrect.width() - 2, mrect.height() - 2,
- mrect.width() - 2, mrect.height() - longSide - 2 );
-
- // bl corner:
- p.drawLine( 1, mrect.height() - 2,
- longSide, mrect.height() - 2 );
- p.drawLine( s_frameWidth + s_buttonSize, mrect.height() - 3,
- longSide, mrect.height() - s_frameWidth - 1 );
- p.drawLine( s_frameWidth, mrect.height() - s_frameWidth - 1,
- s_frameWidth, mrect.height() - longSide - 1 );
- }
-
-
- p.setPen( TQt::NoPen );
-
- if ( !coloredFrame )
- {
- tqcolorGroup = options()->tqcolorGroup( KDecoration::ColorTitleBar, isActive() );
- fixColorGroup( tqcolorGroup );
- p.setBrush( tqcolorGroup.background() );
- }
-
- // draw titlebar:
- p.drawRect( trect );
- qDrawShadePanel( &p, trect, tqcolorGroup, titlebarPressed );
-
- // draw caption:
- if ( titlebarPressed ) // move the caption right and down if the titlebar is pressed
- trect.moveBy( 1,1 ); // Note: the real Mwm doesn't actually do this
-
- p.setFont( options()->font( true ) );
- p.setPen( options()->color( KDecoration::ColorFont, isActive() ) );
- if ( p.fontMetrics().width( caption() ) > trect.width() - 6 )
- {
- // left align the text if its too wide to fit in the titlebar
- p.drawText( trect.x() + 3, trect.y(),
- trect.width() - 6, trect.height(),
- AlignLeft | AlignVCenter, caption() );
- }
- else
- {
- // otherwise we'll draw it according to the user settings
- p.drawText( trect.x() + 3, trect.y(),
- trect.width() - 6, trect.height(),
- textAlignment | AlignVCenter, caption() );
- }
-
- // Draw a line behind the wrapped window to prevent having
- // unpainted areas when we're shaded.
- p.setPen( tqcolorGroup.dark() );
- p.drawLine(s_frameWidth + 1, mrect.height() - s_frameWidth - 2,
- mrect.width() - s_frameWidth - 2, mrect.height() - s_frameWidth - 2);
-
-}
-
-KDecoration::Position CdeClient::mousePosition( const TQPoint& p ) const
-{
- const int range = s_frameWidth + s_buttonSize;
- const int border = s_frameWidth + 1;
-
- Position m = PositionCenter;
-
- if ((p.x() > border && p.x() < width() - border)
- && (p.y() > border && p.y() < height() - border))
- return PositionCenter;
-
- if (p.y() < range && p.x() <= range)
- m = PositionTopLeft;
- else if (p.y() >= height() - range && p.x() >= width() - range)
- m = PositionBottomRight;
- else if (p.y() >= height()-range && p.x() <= range)
- m = PositionBottomLeft;
- else if (p.y() < range && p.x() >= width() - range)
- m = PositionTopRight;
- else if (p.y() < border)
- m = PositionTop;
- else if (p.y() >= height() - border)
- m = PositionBottom;
- else if (p.x() <= border)
- m = PositionLeft;
- else if (p.x() >= width() - border)
- m = PositionRight;
- else
- m = PositionCenter;
- return m;
-}
-
-void CdeClient::mouseDoubleClickEvent( TQMouseEvent * e )
-{
- if ( e->button() == Qt::LeftButton && titlebar->tqgeometry().contains( e->pos() ) )
- titlebarDblClickOperation();
-}
-
-void CdeClient::wheelEvent( TQWheelEvent * e )
-{
- if (isSetShade() || titleLayout->tqgeometry().contains( e->pos() ) )
- titlebarMouseWheelOperation( e->delta());
-}
-
-void CdeClient::mousePressEvent( TQMouseEvent * e )
-{
- if ( e->button() == Qt::LeftButton && titlebar->tqgeometry().contains( e->pos() ) )
- {
- if ( titlebarButtonMode )
- {
- titlebarPressed = true;
- widget()->tqrepaint(titlebar->tqgeometry(), false);
- }
- }
-}
-
-void CdeClient::borders(int &left, int &right, int &top, int &bottom) const
-{
- left = right = bottom = s_frameWidth + 1;
- top = s_buttonSize + s_frameWidth + 1;
-}
-
-void CdeClient::mouseReleaseEvent( TQMouseEvent * e )
-{
- if ( e->button() == Qt::LeftButton && titlebarPressed )
- {
- titlebarPressed = false;
- widget()->tqrepaint(titlebar->tqgeometry(), false);
- }
-}
-
-bool CdeClient::eventFilter(TQObject *o, TQEvent *e)
-{
- if (TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget()))
- return false;
- switch (e->type()) {
- case TQEvent::Resize:
- resizeEvent(TQT_TQRESIZEEVENT(e));
- return true;
- case TQEvent::Paint:
- paintEvent(TQT_TQPAINTEVENT(e));
- return true;
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent(TQT_TQMOUSEEVENT(e));
- return true;
- case TQEvent::MouseButtonPress:
- processMousePressEvent(TQT_TQMOUSEEVENT(e));
- return true;
- case TQEvent::Show:
- showEvent(TQT_TQSHOWEVENT(e));
- return true;
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( e ));
- return true;
- default:
- break;
- }
- return false;
-}
-
-// ---------------------------------------
-
-CdeButton::CdeButton(CdeClient* parent,
- const char* name, int btnType, const TQString& tip, int realize_btns)
- : TQButton(parent->widget(), name), m_btnType(btnType), last_button(Qt::NoButton)
-{
- setBackgroundMode( TQWidget::NoBackground );
- setFixedSize( s_buttonSize, s_buttonSize );
- resize( s_buttonSize, s_buttonSize );
- m_parent = parent;
-
- setCursor(ArrowCursor);
- TQToolTip::add(this, tip);
-
- m_realize_buttons = realize_btns;
-}
-
-void CdeButton::reset()
-{
- tqrepaint( false );
-}
-
-void CdeButton::drawButton( TQPainter* p )
-{
- p->setBrush( options()->color( KDecoration::ColorTitleBar, m_parent->isActive() ) );
- p->drawRect( 0, 0, s_buttonSize, s_buttonSize );
-
- TQColorGroup tqcolorGroup =
- options()->tqcolorGroup( KDecoration::ColorTitleBar, m_parent->isActive() );
-
- fixColorGroup(tqcolorGroup);
-
- qDrawShadePanel( p, 0, 0, s_buttonSize, s_buttonSize,
- tqcolorGroup, isDown() );
-
- switch ( m_btnType )
- {
- case (BtnMenu):
- qDrawShadePanel( p, s_o1, s_o2, s_w1, s_w2, tqcolorGroup );
- break;
- case (BtnHelp):
- p->setPen( tqcolorGroup.light() );
- p->drawLineSegments( TQPointArray(16, helpLLines) );
- p->setPen( tqcolorGroup.dark() );
- p->drawLineSegments( TQPointArray(14, helpDLines) );
- break;
- case (BtnIconify):
- qDrawShadePanel( p, s_o2, s_o2, s_w2, s_w2, tqcolorGroup );
- break;
- case (BtnMax):
- qDrawShadePanel( p, s_o1, s_o1, s_w1, s_w1, tqcolorGroup,
- m_parent->maximizeMode() == KDecoration::MaximizeFull );
- break;
- case (BtnClose):
- p->setPen( tqcolorGroup.dark() );
- p->drawLineSegments( TQPointArray(18, closeDLines) );
- p->setPen( tqcolorGroup.light() );
- p->drawLineSegments( TQPointArray(15, closeLLines) );
- break;
- }
-}
-
-void CdeButton::mousePressEvent(TQMouseEvent *e)
-{
- last_button = e->button();
- TQMouseEvent me(e->type(), e->pos(),
- e->globalPos(), (e->button()&m_realize_buttons)?Qt::LeftButton:Qt::NoButton, e->state());
- TQButton::mousePressEvent(&me);
-}
-
-void CdeButton::mouseReleaseEvent(TQMouseEvent * e)
-{
- last_button = e->button();
- TQMouseEvent me(e->type(), e->pos(),
- e->globalPos(), (e->button()&m_realize_buttons)?Qt::LeftButton:Qt::NoButton, e->state());
- TQButton::mouseReleaseEvent(&me);
-}
-
-} // CDE namespace
-
-#include "cdeclient.moc"
-
-// vim: sw=4
diff --git a/kwin-styles/cde/cdeclient.h b/kwin-styles/cde/cdeclient.h
deleted file mode 100644
index e3a0e9ad..00000000
--- a/kwin-styles/cde/cdeclient.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * CDE KWin client - emulates the look and feel
- * of dtwm, the CDE window manager.
- *
- * Copyright (c) 2000-2001, 2002
- * Chris Lee <lee@azsites.com>
- * Lennart Kudling <kudling@kde.org>
- * Fredrik H�glund <fredrik@kde.org>
- *
- * Copyright (c) 2003
- * Luciano Montanaro <mikelima@cirulla.net>
- *
- * Originally based on the KStep client.
- *
- * Distributed under the terms of the BSD license.
- */
-
-#ifndef __CDECLIENT_H
-#define __CDECLIENT_H
-
-#include <tqbutton.h>
-#include <tqbitmap.h>
-#include <kpixmap.h>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-
-class TQLabel;
-class TQBoxLayout;
-class TQVBoxLayout;
-class TQSpacerItem;
-
-namespace CDE {
-
-class CdeClient;
-
-enum Buttons { BtnMenu=0, BtnHelp, BtnIconify, BtnMax, BtnClose, BtnCount };
-
-class CdeButton : public TQButton
-{
-public:
- CdeButton( CdeClient* parent=0, const char* name=0, int btnType=0,
- const TQString& tip=NULL, int realize_btns = Qt::LeftButton );
- void reset();
- ButtonState lastButton() { return last_button; }
-
-protected:
- void mousePressEvent(TQMouseEvent *e);
- void mouseReleaseEvent(TQMouseEvent *e);
- virtual void drawButton(TQPainter *p);
-
-private:
- CdeClient *m_parent;
- int m_btnType;
- int m_realize_buttons;
- ButtonState last_button;
-};
-
-class CdeClient : public KDecoration
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- CdeClient(KDecorationBridge *b, KDecorationFactory *f);
- ~CdeClient() {};
- void init();
-
-protected:
- bool eventFilter(TQObject *o, TQEvent *e);
- void resizeEvent( TQResizeEvent* );
- void paintEvent( TQPaintEvent* );
-
- void showEvent(TQShowEvent *);
- void addClientButtons( const TQString& );
- void mouseDoubleClickEvent( TQMouseEvent* );
- void wheelEvent( TQWheelEvent * );
- void captionChange();
- void desktopChange();
- void activeChange();
- void shadeChange();
- void iconChange();
- TQSize tqminimumSize() const;
- void resize(const TQSize &size);
- void borders(int &left, int &right, int &top, int &bottom) const;
- void mousePressEvent( TQMouseEvent* );
- void mouseReleaseEvent( TQMouseEvent* );
- void maximizeChange();
- Position mousePosition( const TQPoint& p ) const;
-
-protected slots:
- void menuButtonPressed();
- void menuButtonReleased();
- void maximizeButtonClicked();
-
-private:
- CdeButton* button[BtnCount];
- TQVBoxLayout* mainLayout;
- TQBoxLayout* titleLayout;
- TQSpacerItem* titlebar;
- bool titlebarPressed;
- bool closing;
-};
-
-class CdeClientFactory: public TQObject, public KDecorationFactory
-{
-public:
- CdeClientFactory();
- virtual ~CdeClientFactory();
- virtual KDecoration *createDecoration(KDecorationBridge *);
- virtual bool supports( Ability ability );
- virtual bool reset(unsigned long changed);
-
- TQValueList< CdeClientFactory::BorderSize > borderSizes() const;
-
-};
-
-}
-
-#endif
-
diff --git a/kwin-styles/cde/config/CMakeLists.txt b/kwin-styles/cde/config/CMakeLists.txt
deleted file mode 100644
index 5faec263..00000000
--- a/kwin-styles/cde/config/CMakeLists.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### twin_cde_config (module) ###################
-
-tde_add_kpart( twin_cde_config AUTOMOC
- SOURCES config.cpp
- LINK tdeui-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/cde/config/Makefile.am b/kwin-styles/cde/config/Makefile.am
deleted file mode 100644
index 3e5bd243..00000000
--- a/kwin-styles/cde/config/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-INCLUDES = $(all_includes)
-
-kde_module_LTLIBRARIES = twin_cde_config.la
-
-twin_cde_config_la_SOURCES = config.cpp
-twin_cde_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin_cde_config_la_LIBADD = $(LIB_TDEUI)
-
-METASOURCES = AUTO
-noinst_HEADERS = config.h
-
-lnkdir = $(kde_datadir)/twin/
-
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/cde/config/config.cpp b/kwin-styles/cde/config/config.cpp
deleted file mode 100644
index fcd2de42..00000000
--- a/kwin-styles/cde/config/config.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-// $Id$
-#include "config.h"
-#include <kapplication.h>
-#include <kglobal.h>
-#include <tqwhatsthis.h>
-#include <tqvbox.h>
-#include <klocale.h>
-
-extern "C" KDE_EXPORT TQObject* allocate_config( KConfig* conf, TQWidget* parent )
-{
- return new CdeConfig(conf, parent);
-}
-
-
-/* NOTE:
- * 'conf' is a pointer to the twindecoration modules open twin config,
- * and is by default set to the "Style" group.
- *
- * 'parent' is the parent of the TQObject, which is a VBox inside the
- * Configure tab in twindecoration
- */
-
-CdeConfig::CdeConfig( KConfig* conf, TQWidget* parent )
- : TQObject( parent )
-{
- cdeConfig = new KConfig("twincderc");
- KGlobal::locale()->insertCatalogue("twin_art_clients");
-
- groupBox = new TQVBox( parent );
-
- bgAlign = new TQButtonGroup( 3, Qt::Horizontal, i18n("Text &Alignment"), groupBox );
- bgAlign->setExclusive( true );
- TQWhatsThis::add( bgAlign, i18n("Use these buttons to set the tqalignment of the titlebar caption text.") );
- new TQRadioButton( i18n("Left"), bgAlign, "AlignLeft" );
- TQRadioButton *radio2 = new TQRadioButton( i18n("Centered"), bgAlign, "AlignHCenter" );
- radio2->setChecked( true );
- new TQRadioButton( i18n("Right"), bgAlign, "AlignRight" );
-
- cbColorBorder = new TQCheckBox( i18n("Draw window frames using &titlebar colors"), groupBox );
- TQWhatsThis::add( cbColorBorder, i18n("When selected, the window decoration borders "
- "are drawn using the titlebar colors. Otherwise, they are "
- "drawn using normal border colors instead.") );
-
-// cbTitlebarButton = new TQCheckBox( i18n("Titlebar acts like a &pushbutton when clicked"), groupBox );
-// TQWhatsThis::add( cbTitlebarButton, i18n("When selected, this option causes the window titlebar to behave "
-// "as if it was a pushbutton when you click it to move the window.") );
-
- (void) new TQLabel( i18n("Tip: If you want the look of the original Motif(tm) Window Manager,\n"
- "click the \"Buttons\" tab above and remove the help\n"
- "and close buttons from the titlebar."), groupBox );
-
- // Load configuration options
- load( conf );
-
- // Ensure we track user changes properly
- connect( cbColorBorder, TQT_SIGNAL(clicked()), TQT_SLOT(slotSelectionChanged()) );
-// connect( cbTitlebarButton, TQT_SIGNAL(clicked()), TQT_SLOT(slotSelectionChanged()) );
- connect( bgAlign, TQT_SIGNAL(clicked(int)), TQT_SLOT(slotSelectionChanged(int)) );
-
- // Make the widgets visible in twindecoration
- groupBox->show();
-}
-
-
-CdeConfig::~CdeConfig()
-{
- delete bgAlign;
- delete groupBox;
- delete cdeConfig;
-}
-
-
-void CdeConfig::slotSelectionChanged()
-{
- emit changed();
-}
-
-void CdeConfig::slotSelectionChanged( int )
-{
- emit changed();
-}
-
-// Loads the configurable options from the twinrc config file
-// It is passed the open config from twindecoration to improve efficiency
-void CdeConfig::load( KConfig* /*conf*/ )
-{
- cdeConfig->setGroup("General");
-
- TQString value = cdeConfig->readEntry( "TextAlignment", "AlignHCenter" );
- TQRadioButton *button = (TQRadioButton*)bgAlign->child( (const char *)value.latin1() );
- if ( button )
- button->setChecked( true );
-
- bool coloredFrame = cdeConfig->readBoolEntry( "UseTitleBarBorderColors", true );
- cbColorBorder->setChecked( coloredFrame );
-
-// bool titlebarButton = cdeConfig->readBoolEntry( "TitlebarButtonMode", true );
-// cbTitlebarButton->setChecked( titlebarButton );
-}
-
-
-// Saves the configurable options to the twinrc config file
-void CdeConfig::save( KConfig* /*conf*/ )
-{
- cdeConfig->setGroup("General");
-
- TQRadioButton *button = (TQRadioButton*)bgAlign->selected();
- if ( button )
- cdeConfig->writeEntry( "TextAlignment", TQString(button->name()) );
-
- cdeConfig->writeEntry( "UseTitleBarBorderColors", cbColorBorder->isChecked() );
-// cdeConfig->writeEntry( "TitlebarButtonMode", cbTitlebarButton->isChecked() );
-
- // Ensure others trying to read this config get updated
- cdeConfig->sync();
-}
-
-
-// Sets UI widget defaults which must correspond to style defaults
-void CdeConfig::defaults()
-{
- TQRadioButton *button = (TQRadioButton*)bgAlign->child( "AlignHCenter" );
- if ( button )
- button->setChecked( true );
-
- cbColorBorder->setChecked( true );
-// cbTitlebarButton->setChecked( true );
-}
-
-#include "config.moc"
-// vim: ts=4
diff --git a/kwin-styles/cde/config/config.h b/kwin-styles/cde/config/config.h
deleted file mode 100644
index fc7fa136..00000000
--- a/kwin-styles/cde/config/config.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef __KDE_CDECONFIG_H
-#define __KDE_CDECONFIG_H
-
-#include <tqcheckbox.h>
-#include <tqgroupbox.h>
-#include <tqbuttongroup.h>
-#include <tqlabel.h>
-#include <tqradiobutton.h>
-#include <tqhbox.h>
-#include <kconfig.h>
-
-class TQCheckBox;
-class TQGroupBox;
-class TQVBox;
-class TQLabel;
-class TQRadioButton;
-
-class CdeConfig: public TQObject
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
- CdeConfig( KConfig* conf, TQWidget* parent );
- ~CdeConfig();
-
- // These public signals/slots work similar to KCM modules
- signals:
- void changed();
-
- public slots:
- void load( KConfig* conf );
- void save( KConfig* conf );
- void defaults();
-
- protected slots:
- void slotSelectionChanged(); // Internal use
- void slotSelectionChanged( int );
-
- private:
- KConfig* cdeConfig;
- TQCheckBox* cbColorBorder;
-// TQCheckBox* cbTitlebarButton;
- TQHBox* groupBox;
- TQGroupBox* gbSlider;
- TQButtonGroup* bgAlign;
-};
-
-
-#endif
-
-// vim: ts=4
diff --git a/kwin-styles/configure.in.in b/kwin-styles/configure.in.in
deleted file mode 100644
index e93b34e6..00000000
--- a/kwin-styles/configure.in.in
+++ /dev/null
@@ -1,3 +0,0 @@
-if test "x$kde_use_qt_mac" = "xyes"; then
- DO_NOT_COMPILE="$DO_NOT_COMPILE twin-styles"
-fi
diff --git a/kwin-styles/glow/CMakeLists.txt b/kwin-styles/glow/CMakeLists.txt
deleted file mode 100644
index 76d0a23e..00000000
--- a/kwin-styles/glow/CMakeLists.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_subdirectory( config )
-add_subdirectory( themes )
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES glow.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_glow ################################
-
-tde_add_kpart( twin3_glow AUTOMOC
- SOURCES glowbutton.cpp glowclient.cpp
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/glow/Makefile.am b/kwin-styles/glow/Makefile.am
deleted file mode 100644
index bb624e59..00000000
--- a/kwin-styles/glow/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
-
-INCLUDES = $(all_includes)
-
-SUBDIRS = . config themes
-
-kde_module_LTLIBRARIES = twin3_glow.la
-
-twin3_glow_la_SOURCES = glowclient.cpp glowbutton.cpp
-twin3_glow_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin3_glow_la_LIBADD = $(LIB_TDECORE) -ltdecorations
-
-METASOURCES = AUTO
-noinst_HEADERS = glowclient.h glowbutton.h resources.h
-
-linkdir = $(kde_datadir)/twin/
-link_DATA = glow.desktop
-
-EXTRA_DIST = $(link_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/glow/config/CMakeLists.txt b/kwin-styles/glow/config/CMakeLists.txt
deleted file mode 100644
index bfcc2633..00000000
--- a/kwin-styles/glow/config/CMakeLists.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### twin_glow_config (module) ##################
-
-tde_add_kpart( twin_glow_config AUTOMOC
- SOURCES glowconfigdialog.cpp
- LINK tdeui-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/glow/config/Makefile.am b/kwin-styles/glow/config/Makefile.am
deleted file mode 100644
index bf3d334b..00000000
--- a/kwin-styles/glow/config/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-INCLUDES = $(all_includes)
-
-kde_module_LTLIBRARIES = twin_glow_config.la
-
-twin_glow_config_la_SOURCES = glowconfigdialog.cpp
-twin_glow_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin_glow_config_la_LIBADD = $(LIB_TDEUI)
-
-METASOURCES = AUTO
-noinst_HEADERS = glowconfigdialog.h
-
-lnkdir = $(kde_datadir)/twin/
-
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/glow/config/bitmaps.h b/kwin-styles/glow/config/bitmaps.h
deleted file mode 100644
index 7ecb262a..00000000
--- a/kwin-styles/glow/config/bitmaps.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/***************************************************************************
- bitmaps.h - description
- -------------------
- begin : Thu Sep 12 2001
- copyright : (C) 2001 by Henning Burchardt
- email : h_burchardt@gmx.net
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#ifndef BITMAPS_H
-#define BITMAPS_H
-
-#define BITMAP_SIZE 17
-
-static unsigned char close_bits[] = {
- 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0xf8,0x00,0x00,0x0c,0x10,0x10,0x60,
- 0x30,0x18,0x00,0x60,0x0c,0xc8,0xc0,0x07,0x16,0x80,0x03,0x60,0xc0,0x07,0x00,
- 0x60,0x0c,0x00,0x30,0x18,0xf8,0x10,0x10,0x00,0x00,0x00,0x46,0x00,0x00,0xfe,
- 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x89,0xf3,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
-static unsigned char help_bits[] = {
- 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0x10,0x00,0x00,0x0c,0x80,0x07,0xb6,
- 0x40,0x0c,0x00,0x00,0x0c,0xc8,0x00,0x0c,0x16,0x00,0x06,0xb6,0x00,0x03,0x00,
- 0x00,0x01,0x00,0x00,0x00,0x10,0x00,0x01,0x00,0x00,0x00,0xac,0x00,0x00,0xfe,
- 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x24,0xc4,0x3f,0x40,0x01,0xf3,0x00,0x00,
- 0x70,0xb9,0x65,0x40,0x70,0xb9,0x65,0x40 };
-static unsigned char maximizeoff_bits[] = {
- 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0x1e,0x00,0x00,0x0c,0xf0,0x1f,0x60,
- 0xf0,0x1f,0x00,0x10,0x10,0xc8,0x10,0x10,0x16,0x10,0x10,0x60,0x10,0x10,0x00,
- 0x10,0x10,0x00,0x10,0x10,0x1e,0xf0,0x1f,0x00,0x00,0x00,0x50,0x00,0x00,0xfe,
- 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x68,0xb9,0x65,0x40,0x01,0xf2,0x00,0x00,
- 0x00,0x00,0x00,0x00,0xe0,0xb1,0x65,0x40 };
-static unsigned char minimize_bits[] = {
- 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0x10,0x00,0x00,0x0c,0x00,0x00,0xb6,
- 0xe0,0x0f,0x00,0x00,0x00,0xc8,0x20,0x08,0x16,0x60,0x0c,0xb6,0xc0,0x06,0x00,
- 0x80,0x03,0x00,0x00,0x01,0x10,0x00,0x00,0x00,0x00,0x00,0xb2,0x00,0x00,0xfe,
- 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x29,0xf2,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
-static unsigned char stickyoff_bits[] = {
- 0x00,0x00,0x16,0x00,0x00,0x16,0x00,0x00,0x1e,0x00,0x00,0x0c,0x50,0x15,0x60,
- 0xe0,0x00,0x00,0xf0,0x11,0xc8,0xe0,0x00,0x16,0x50,0x15,0x60,0x00,0x00,0x00,
- 0x10,0x11,0x00,0x00,0x00,0x1e,0x50,0x15,0x00,0x00,0x00,0x46,0x00,0x00,0xfe,
- 0x00,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0x08,0x31,0xf2,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x29,0xf2,0x00,0x00 };
-
-#endif
-
diff --git a/kwin-styles/glow/config/glowconfigdialog.cpp b/kwin-styles/glow/config/glowconfigdialog.cpp
deleted file mode 100644
index f8ff62fd..00000000
--- a/kwin-styles/glow/config/glowconfigdialog.cpp
+++ /dev/null
@@ -1,369 +0,0 @@
-/***************************************************************************
- glowconfigdialog.cpp - description
- -------------------
- begin : Thu Sep 12 2001
- copyright : (C) 2001 by Henning Burchardt
- email : h_burchardt@gmx.net
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#include <tqbitmap.h>
-#include <tqbuttongroup.h>
-#include <tqcheckbox.h>
-#include <tqcombobox.h>
-#include <tqdir.h>
-#include <tqfileinfo.h>
-#include <tqgroupbox.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqlistview.h>
-#include <tqpushbutton.h>
-#include <tqsignalmapper.h>
-#include <tqstringlist.h>
-#include <kconfig.h>
-#include <kcolorbutton.h>
-#include <kdebug.h>
-#include <kglobal.h>
-#include <kglobalsettings.h>
-#include <klocale.h>
-#include <kpixmap.h>
-#include <kpixmapeffect.h>
-#include <kstandarddirs.h>
-#include "bitmaps.h"
-#include "glowconfigdialog.h"
-#include "../resources.h"
-
-#define NUMBER_OF_BUTTONS 5
-
-extern "C"
-{
- KDE_EXPORT TQObject* allocate_config( KConfig* conf, TQWidget* parent )
- {
- return(new GlowConfigDialog(conf, parent));
- }
-}
-
-GlowConfigDialog::GlowConfigDialog( KConfig * conf, TQWidget * parent )
- : TQObject(parent)
-{
- _glowConfig = new KConfig("twinglowrc");
- KGlobal::locale()->insertCatalogue("twin_glow_config");
-
- _main_group_box = new TQWidget(parent);
- TQVBoxLayout *main_group_boxLayout = new TQVBoxLayout(_main_group_box);
- main_group_boxLayout->tqsetAlignment(TQt::AlignTop | TQt::AlignLeft);
- main_group_boxLayout->setSpacing(6);
-
- //-------------------------------------------------------------------------
- // themes
-
- _theme_list_view = new TQListView (_main_group_box, "theme_list_view");
- _theme_list_view->addColumn (i18n("Theme"));
- _theme_list_view->addColumn (i18n("Button Size"));
- _theme_list_view->setAllColumnsShowFocus(true);
- _theme_list_view->setResizeMode(TQListView::AllColumns);
-
- main_group_boxLayout->addWidget (_theme_list_view);
- TQObject::connect (_theme_list_view, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(slotThemeListViewSelectionChanged()));
- slotLoadThemeList();
-
- _button_glow_color_group_box = new TQGroupBox(
- 0, Qt::Horizontal, i18n("Button Glow Colors"), _main_group_box);
- TQHBoxLayout *colorHBoxLayout =
- new TQHBoxLayout(_button_glow_color_group_box->tqlayout());
-
- // create buttons
- TQSize buttonSize(BITMAP_SIZE, BITMAP_SIZE);
- TQPixmap pm(buttonSize);
- pm.fill(TQt::black);
-
- _stickyButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, stickyoff_bits, true));
- _stickyButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_stickyButton);
- _titleButtonList.push_back(_stickyButton);
-
- _helpButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, help_bits, true));
- _helpButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_helpButton);
- _titleButtonList.push_back(_helpButton);
-
- _iconifyButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, minimize_bits, true));
- _iconifyButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_iconifyButton);
- _titleButtonList.push_back(_iconifyButton);
-
- _maximizeButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, maximizeoff_bits, true));
- _maximizeButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_maximizeButton);
- _titleButtonList.push_back(_maximizeButton);
-
- _closeButton = new TQPushButton(_button_glow_color_group_box);
- pm.setMask(TQBitmap(buttonSize, close_bits, true));
- _closeButton->setPixmap(pm);
- colorHBoxLayout->addWidget(_closeButton);
- _titleButtonList.push_back(_closeButton);
-
- // create signal mapper
- _titleButtonMapper = new TQSignalMapper(this);
- for( uint i=0; i<_titleButtonList.size(); i++ ) {
- _titleButtonMapper->setMapping(TQT_TQOBJECT(_titleButtonList[i]), i);
- connect(_titleButtonList[i], TQT_SIGNAL(clicked()),_titleButtonMapper, TQT_SLOT(map()));
- }
- connect(_titleButtonMapper, TQT_SIGNAL(mapped(int)),this, TQT_SLOT(slotTitleButtonClicked(int)));
-
- _colorButton = new KColorButton(_button_glow_color_group_box);
- _colorButton->setEnabled(false);
- connect(_colorButton, TQT_SIGNAL(changed(const TQColor&)),
- this, TQT_SLOT(slotColorButtonChanged(const TQColor&)));
-
- colorHBoxLayout->addItem(new TQSpacerItem(
- 200, 20, TQSizePolicy::Expanding, TQSizePolicy::Minimum));
- colorHBoxLayout->addWidget(_colorButton);
-
- main_group_boxLayout->addWidget(_button_glow_color_group_box);
-
- TQHBoxLayout *titlebarGradientTypeLayout = new TQHBoxLayout();
- _titlebarGradientTypeComboBox = new TQComboBox(_main_group_box);
-
- KConfig *c = KGlobal::config();
- KConfigGroupSaver cgs( c, TQString::tqfromLatin1("WM") );
- TQColor activeBackground = c->readColorEntry("activeBackground");
- TQColor activeBlend = c->readColorEntry("activeBlend");
-
- // If the colors are equal, change one to get a gradient effect
- if (activeBackground==activeBlend) {
- activeBackground = activeBackground.dark();
- }
- for (int i=0; i< KPixmapEffect::EllipticGradient; i++ ) {
- KPixmap gradPixmap(TQSize(196,20));
- KPixmapEffect::gradient(gradPixmap, activeBackground,
- activeBlend, (KPixmapEffect::GradientType) i);
-
- _titlebarGradientTypeComboBox->insertItem(gradPixmap, i);
- }
-
- connect(_titlebarGradientTypeComboBox, TQT_SIGNAL(activated(int)),
- this, TQT_SLOT(slotTitlebarGradientTypeChanged(int)));
- titlebarGradientTypeLayout->addWidget(
- new TQLabel(i18n("Titlebar gradient:"), _main_group_box));
- titlebarGradientTypeLayout->addWidget(_titlebarGradientTypeComboBox, 0, TQt::AlignLeft);
- titlebarGradientTypeLayout->addStretch(10);
- main_group_boxLayout->addLayout(titlebarGradientTypeLayout);
-
-
- _showResizeHandleCheckBox = new TQCheckBox(
- i18n("Show resize handle"), _main_group_box);
- connect(_showResizeHandleCheckBox, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotResizeHandleCheckBoxChanged()));
- main_group_boxLayout->addWidget(_showResizeHandleCheckBox);
-
- // load config and update user interface
- load(conf);
-
- _main_group_box->show();
-}
-
-GlowConfigDialog::~GlowConfigDialog()
-{
- delete _main_group_box;
- delete _glowConfig;
- delete[] _buttonConfigMap;
-}
-
-void GlowConfigDialog::load( KConfig* /* conf */ )
-{
- TQColor color;
- const TQColor defaultCloseButtonColor(DEFAULT_CLOSE_BUTTON_COLOR);
- const TQColor defaultMaximizeButtonColor(DEFAULT_MAXIMIZE_BUTTON_COLOR);
- const TQColor defaultIconifyButtonColor(DEFAULT_ICONIFY_BUTTON_COLOR);
- const TQColor defaultHelpButtonColor(DEFAULT_HELP_BUTTON_COLOR);
- const TQColor defaultStickyButtonColor(DEFAULT_STICKY_BUTTON_COLOR);
-
- _glowConfig->setGroup("General");
-
- _buttonConfigMap = new TQColor[NUMBER_OF_BUTTONS];
- color = _glowConfig->readColorEntry("stickyButtonGlowColor",
- &defaultStickyButtonColor);
- _buttonConfigMap[stickyButton] = color;
-
- color = _glowConfig->readColorEntry("helpButtonGlowColor",
- &defaultHelpButtonColor);
- _buttonConfigMap[helpButton] = color;
-
- color = _glowConfig->readColorEntry("iconifyButtonGlowColor",
- &defaultIconifyButtonColor);
- _buttonConfigMap[iconifyButton] = color;
-
- color = _glowConfig->readColorEntry("maximizeButtonGlowColor",
- &defaultMaximizeButtonColor);
- _buttonConfigMap[maximizeButton] = color;
-
- color = _glowConfig->readColorEntry("closeButtonGlowColor",
- &defaultCloseButtonColor);
- _buttonConfigMap[closeButton] = color;
-
- _showResizeHandle = _glowConfig->readBoolEntry("showResizeHandle", true);
- _titlebarGradientType = static_cast<KPixmapEffect::GradientType>
- (_glowConfig->readNumEntry("titlebarGradientType",
- KPixmapEffect::DiagonalGradient));
-
- _showResizeHandleCheckBox->setChecked(_showResizeHandle);
- _titlebarGradientTypeComboBox->setCurrentItem(_titlebarGradientType);
-
- _theme_name = _glowConfig->readEntry ("themeName", "default");
- _theme_list_view->setSelected (
- _theme_list_view->findItem (_theme_name, 0), true);
- slotTitleButtonClicked(0);
-}
-
-void GlowConfigDialog::save( KConfig* /* conf */ )
-{
- _glowConfig->setGroup("General");
-
- _glowConfig->writeEntry("stickyButtonGlowColor", _buttonConfigMap[stickyButton]);
- _glowConfig->writeEntry("helpButtonGlowColor", _buttonConfigMap[helpButton]);
- _glowConfig->writeEntry("iconifyButtonGlowColor", _buttonConfigMap[iconifyButton]);
- _glowConfig->writeEntry("maximizeButtonGlowColor", _buttonConfigMap[maximizeButton]);
- _glowConfig->writeEntry("closeButtonGlowColor", _buttonConfigMap[closeButton]);
-
- _glowConfig->writeEntry("showResizeHandle", _showResizeHandle);
- _glowConfig->writeEntry("titlebarGradientType", _titlebarGradientType);
-
- _glowConfig->writeEntry ("themeName", _theme_name);
-
- _glowConfig->sync();
-}
-
-void GlowConfigDialog::defaults()
-{
- const TQColor defaultCloseButtonColor = DEFAULT_CLOSE_BUTTON_COLOR;
- const TQColor defaultMaximizeButtonColor(DEFAULT_MAXIMIZE_BUTTON_COLOR);
- const TQColor defaultIconifyButtonColor(DEFAULT_ICONIFY_BUTTON_COLOR);
- const TQColor defaultHelpButtonColor(DEFAULT_HELP_BUTTON_COLOR);
- const TQColor defaultStickyButtonColor(DEFAULT_STICKY_BUTTON_COLOR);
-
- _buttonConfigMap[stickyButton] = defaultStickyButtonColor;
- _buttonConfigMap[helpButton] = defaultHelpButtonColor;
- _buttonConfigMap[iconifyButton] = defaultIconifyButtonColor;
- _buttonConfigMap[maximizeButton] = defaultMaximizeButtonColor;
- _buttonConfigMap[closeButton] = defaultCloseButtonColor;
-
- _showResizeHandle = true;
- _titlebarGradientType = KPixmapEffect::DiagonalGradient;
-
- _showResizeHandleCheckBox->setChecked(_showResizeHandle);
- _titlebarGradientTypeComboBox->setCurrentItem(_titlebarGradientType);
-
- _theme_list_view->setSelected (
- _theme_list_view->findItem("default", 0), true);
-}
-
-void GlowConfigDialog::slotLoadThemeList ()
-{
- TQStringList dir_list=KGlobal::dirs()->findDirs("data", "twin/glow-themes");
-
- TQStringList::ConstIterator it;
-
- _theme_list_view->clear();
- new TQListViewItem (_theme_list_view, "default", "17x17");
-
- for (it=dir_list.begin(); it!=dir_list.end(); ++it)
- {
- TQDir dir (*it, TQString("*"), TQDir::Unsorted,
- TQDir::Dirs | TQDir::Readable);
- if (dir.exists())
- {
- TQFileInfoListIterator it2(*dir.entryInfoList());
- TQFileInfo * finfo;
-
- while ((finfo=it2.current()))
- {
- if (finfo->fileName() == "." || finfo->fileName() == "..") {
- ++it2;
- continue;
- }
-
- if (! _theme_list_view->findItem (finfo->fileName(), 0))
- {
- KConfig conf (dir.path() + "/" + finfo->fileName() + "/" +
- finfo->fileName() + ".theme");
- TQSize button_size = conf.readSizeEntry (
- "buttonSize", new TQSize (-1, -1));
- if (button_size.width() == -1)
- {
- ++it2;
- continue;
- }
- TQString size_string = TQString("") +
- TQString::number(button_size.width()) +
- "x" + TQString::number(button_size.height());
- new TQListViewItem (_theme_list_view,
- finfo->fileName(), size_string);
- }
-
- ++it2;
- }
- }
- }
-}
-
-void GlowConfigDialog::slotTitlebarGradientTypeChanged(int index)
-{
- _titlebarGradientType = static_cast<KPixmapEffect::GradientType>(index);
- emit changed();
-}
-
-void GlowConfigDialog::slotResizeHandleCheckBoxChanged()
-{
- _showResizeHandle = _showResizeHandleCheckBox->isChecked();
- emit changed();
-}
-
-void GlowConfigDialog::slotTitleButtonClicked(int index)
-{
- for( int i=0; i< ((int) _titleButtonList.size()); i++ ) {
- _titleButtonList[i]->setDown(i==index);
- }
- _colorButton->setEnabled(true);
- _colorButton->setColor(_buttonConfigMap[index]);
-}
-
-void GlowConfigDialog::slotColorButtonChanged(const TQColor& glowColor)
-{
- if( _stickyButton->isDown() ) {
- _buttonConfigMap[stickyButton] = glowColor;
- } else if( _helpButton->isDown() ) {
- _buttonConfigMap[helpButton] = glowColor;
- } else if( _iconifyButton->isDown() ) {
- _buttonConfigMap[iconifyButton] = glowColor;
- } else if( _maximizeButton->isDown() ) {
- _buttonConfigMap[maximizeButton] = glowColor;
- } else {
- _buttonConfigMap[closeButton] = glowColor;
- }
- emit changed();
-}
-
-void GlowConfigDialog::slotThemeListViewSelectionChanged ()
-{
- if( _theme_list_view->selectedItem() != 0 ) {
- _theme_name = _theme_list_view->selectedItem()->text (0);
-
- emit changed();
- }
-}
-
-#include "glowconfigdialog.moc"
diff --git a/kwin-styles/glow/config/glowconfigdialog.h b/kwin-styles/glow/config/glowconfigdialog.h
deleted file mode 100644
index 81747a4c..00000000
--- a/kwin-styles/glow/config/glowconfigdialog.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/***************************************************************************
- glowconfigdialog.h - description
- -------------------
- begin : Thu Sep 12 2001
- copyright : (C) 2001 by Henning Burchardt
- email : h_burchardt@gmx.net
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#ifndef GLOW_CONFIG_DIALOG_H
-#define GLOW_CONFIG_DIALOG_H
-
-#include <tqvaluevector.h>
-#include <tqobject.h>
-
-class TQListView;
-class TQPushButton;
-class TQSignalMapper;
-class TQCheckBox;
-class TQComboBox;
-class KConfig;
-class KColorButton;
-
-class GlowConfigDialog : public TQObject
-{
- Q_OBJECT
- TQ_OBJECT
-
-public:
- GlowConfigDialog( KConfig* conf, TQWidget* parent );
- ~GlowConfigDialog();
-
-signals:
- void changed();
-
-public slots:
- void load( KConfig* conf );
- void save( KConfig* conf );
- void defaults();
-
-protected slots:
- void slotTitleButtonClicked(int);
- void slotColorButtonChanged(const TQColor&);
- void slotTitlebarGradientTypeChanged(int);
- void slotResizeHandleCheckBoxChanged();
- void slotThemeListViewSelectionChanged ();
-
-private slots:
- void slotLoadThemeList ();
-
-private:
- enum ButtonType{stickyButton, helpButton, iconifyButton,
- maximizeButton, closeButton };
-
- KConfig *_glowConfig;
-
- bool _showResizeHandle;
- KPixmapEffect::GradientType _titlebarGradientType;
- TQString _theme_name;
-
- TQWidget *_main_group_box;
- TQGroupBox *_button_glow_color_group_box;
- TQGroupBox *_theme_group_box;
-
- TQListView * _theme_list_view;
-
- TQCheckBox *_showResizeHandleCheckBox;
- TQComboBox *_titlebarGradientTypeComboBox;
-
- TQPushButton *_stickyButton;
- TQPushButton *_helpButton;
- TQPushButton *_iconifyButton;
- TQPushButton *_maximizeButton;
- TQPushButton *_closeButton;
- TQSignalMapper *_titleButtonMapper;
-
- TQColor* _buttonConfigMap;
- TQValueVector<TQPushButton*> _titleButtonList;
-
- KColorButton *_colorButton;
-};
-
-#endif
-
diff --git a/kwin-styles/glow/glow.desktop b/kwin-styles/glow/glow.desktop
deleted file mode 100644
index 9659e5d6..00000000
--- a/kwin-styles/glow/glow.desktop
+++ /dev/null
@@ -1,49 +0,0 @@
-[Desktop Entry]
-Name=Glow
-Name[af]=Gloei
-Name[br]=Lufrus
-Name[ca]=Lluïssor
-Name[cs]=Záře
-Name[cy]=Gwrid
-Name[da]=Glød
-Name[el]=Λάμψη
-Name[es]=Brillo
-Name[et]=Helendus
-Name[eu]=Dirdira
-Name[fa]=درخشندگی
-Name[fi]=Hehku
-Name[fr]=Lueur
-Name[fy]=Gloede
-Name[hi]=ग्लो
-Name[is]=Glóð
-Name[it]=Bagliore
-Name[ja]=輝き
-Name[ka]=გავარვარება
-Name[lt]=Švytėjimas
-Name[lv]=Kvēlot
-Name[mk]=Отсјај
-Name[ms]=Kilau
-Name[mt]=Dija
-Name[nb]=Glød
-Name[ne]=चमक
-Name[nl]=Gloed
-Name[nn]=Glød
-Name[pl]=Blask
-Name[ro]=Licărire
-Name[ru]=Зарево
-Name[sk]=Plameň
-Name[sl]=Lesk
-Name[sr]=Сијање
-Name[sr@Latn]=Sijanje
-Name[sv]=Glöd
-Name[ta]=ஒளிப்பெற்று
-Name[tg]=Шафақ
-Name[th]=เรืองแสง
-Name[tr]=Parlama
-Name[uk]=Заграва
-Name[ven]=Tshedza
-Name[vi]=Hào quang
-Name[xh]=Qukuqela
-Name[zh_CN]=光芒
-Name[zu]=Khanya
-X-KDE-Library=twin3_glow
diff --git a/kwin-styles/glow/glowbutton.cpp b/kwin-styles/glow/glowbutton.cpp
deleted file mode 100644
index 87079c2e..00000000
--- a/kwin-styles/glow/glowbutton.cpp
+++ /dev/null
@@ -1,339 +0,0 @@
-/***************************************************************************
- glowbutton.cpp - description
- -------------------
- begin : Thu Sep 6 2001
- copyright : (C) 2001 by Henning Burchardt
- email : h_burchardt@gmx.net
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#include <math.h>
-#include <iostream>
-#include <vector>
-#include <tqmap.h>
-#include <tqpixmap.h>
-#include <tqpixmapcache.h>
-#include <tqbitmap.h>
-#include <tqpainter.h>
-#include <tqimage.h>
-#include <tqtimer.h>
-#include <tqtooltip.h>
-#include <kdecoration.h>
-#include <kiconeffect.h>
-#include "glowbutton.h"
-
-namespace Glow
-{
-
-//-----------------------------------------------------------------------------
-// PixmapCache
-//-----------------------------------------------------------------------------
-
-TQMap<TQString, const TQPixmap*> PixmapCache::m_pixmapMap;
-
-const TQPixmap* PixmapCache::find(const TQString& key)
-{
- TQMap<TQString, const TQPixmap*>::const_iterator it =
- m_pixmapMap.find(key);
- if( it != m_pixmapMap.end() )
- return *it;
- else
- return 0;
-}
-
-void PixmapCache::insert(const TQString& key, const TQPixmap *pixmap)
-{
- m_pixmapMap[key] = pixmap;
-}
-
-void PixmapCache::erase(const TQString& key)
-{
- TQMap<TQString, const TQPixmap*>::iterator it =
- m_pixmapMap.find(key);
- if (it != m_pixmapMap.end())
- {
- delete *it;
- m_pixmapMap.erase(it);
- }
-}
-
-void PixmapCache::clear()
-{
- // delete all pixmaps in the cache
- TQMap<TQString, const TQPixmap*>::const_iterator it
- = m_pixmapMap.begin();
- for(; it != m_pixmapMap.end(); ++it)
- delete *it;
- m_pixmapMap.clear();
-}
-
-//-----------------------------------------------------------------------------
-// GlowButton
-//-----------------------------------------------------------------------------
-
-GlowButton::GlowButton(TQWidget *parent, const char *name,
- const TQString& tip, const int realizeBtns)
- : TQButton(parent, name)
-{
- m_realizeButtons = realizeBtns;
-
- _steps = 0;
- m_updateTime = 50;
- m_pixmapName = TQString();
-
- m_timer = new TQTimer(this);
- connect(m_timer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotTimeout()));
- m_pos = 0;
- m_timertqStatus = Stop;
-
- setTipText (tip);
- setCursor(arrowCursor);
-}
-
-GlowButton::~GlowButton()
-{
-}
-
-void GlowButton::setTipText( const TQString& tip )
-{
- if (KDecoration::options()->showTooltips())
- {
- TQToolTip::remove( this );
- TQToolTip::add( this, tip );
- }
-}
-
-TQString GlowButton::getPixmapName() const
-{
- return m_pixmapName;
-}
-
-TQt::ButtonState GlowButton::lastButton() const
-{
- return _last_button;
-}
-
-void GlowButton::setPixmapName(const TQString& pixmapName)
-{
- m_pixmapName = pixmapName;
-
- const TQPixmap *pixmap = PixmapCache::find(pixmapName);
- if( ! pixmap )
- return;
-
- // set steps
- _steps = pixmap->height()/pixmap->width() - 1;
-
- tqrepaint(false);
-}
-
-void GlowButton::paintEvent( TQPaintEvent *e )
-{
- TQWidget::paintEvent(e);
- const TQPixmap *pixmap = PixmapCache::find(m_pixmapName);
- if( pixmap != 0 )
- {
- int pos = m_pos>=0?m_pos:-m_pos;
- TQPainter p;
- TQPixmap pm (pixmap->size());
- p.begin(&pm);
- const TQPixmap * bg_pixmap = PixmapCache::find(
- TQString::number(parentWidget()->winId()));
- p.drawPixmap (0, 0, *bg_pixmap, x(), y(), width(), height());
- p.drawPixmap (0, 0, *pixmap, 0, pos*height(), width(), height());
- p.end();
- p.begin(this);
- p.drawPixmap (0, 0, pm);
- p.end();
- }
-}
-
-void GlowButton::enterEvent( TQEvent *e )
-{
- if( m_pos<0 )
- m_pos=-m_pos;
- m_timertqStatus = Run;
- if( ! m_timer->isActive() )
- m_timer->start(m_updateTime);
- TQButton::enterEvent(e);
-}
-
-void GlowButton::leaveEvent( TQEvent *e )
-{
- m_timertqStatus = Stop;
- if( ! m_timer->isActive() )
- m_timer->start(m_updateTime);
- TQButton::leaveEvent(e);
-}
-
-void GlowButton::mousePressEvent( TQMouseEvent *e )
-{
- _last_button = e->button();
- if( m_timer->isActive() )
- m_timer->stop();
- m_pos = _steps;
- tqrepaint(false);
- // without pretending LeftButton, clicking on the button with MidButton
- // or RightButton would cause unwanted titlebar action
- TQMouseEvent me (e->type(), e->pos(), e->globalPos(),
- (e->button()&m_realizeButtons)?Qt::LeftButton:Qt::NoButton, e->state());
- TQButton::mousePressEvent(&me);
-}
-
-void GlowButton::mouseReleaseEvent( TQMouseEvent *e )
-{
- _last_button = e->button();
- TQPoint p = mapToParent(mapFromGlobal(e->globalPos()));
- if( ! m_timer->isActive() ) {
- m_timer->start(m_updateTime);
- }
- if( ! tqgeometry().contains(p) ) {
- m_timertqStatus = Stop;
- }
- TQMouseEvent me (e->type(), e->pos(), e->globalPos(),
- (e->button()&m_realizeButtons)?Qt::LeftButton:Qt::NoButton, e->state());
- TQButton::mouseReleaseEvent(&me);
-}
-
-void GlowButton::slotTimeout()
-{
- tqrepaint(false);
-
- if( m_pos>=_steps-1 ) {
- m_pos = -m_pos;
- }
- if( m_timertqStatus==Stop ) {
- if( m_pos==0 ) {
- m_timer->stop();
- return;
- } else if( m_pos>0 ) {
- m_pos = -m_pos;
- }
- }
-
- m_pos++;
-}
-
-//-----------------------------------------------------------------------------
-// GlowButtonFactory
-//-----------------------------------------------------------------------------
-
-GlowButtonFactory::GlowButtonFactory()
-{
- _steps = 20;
-}
-
-int GlowButtonFactory::getSteps()
-{
- return _steps;
-}
-
-void GlowButtonFactory::setSteps(int steps)
-{
- _steps = steps;
-}
-
-TQPixmap * GlowButtonFactory::createGlowButtonPixmap(
- const TQImage & bg_image,
- const TQImage & fg_image,
- const TQImage & glow_image,
- const TQColor & color,
- const TQColor & glow_color)
-{
- if (bg_image.size() != fg_image.size()
- || fg_image.size() != glow_image.size()) {
- std::cerr << "Image size error" << std::endl;
- return new TQPixmap();
- }
-
- TQImage colorized_bg_image = bg_image.copy();
- KIconEffect::colorize (colorized_bg_image, color, 1.0);
-
- int w = colorized_bg_image.width();
- int h = colorized_bg_image.height();
-
- TQImage image (w, (_steps+1)*h, 32);
- image.setAlphaBuffer (true);
- for (int i=0; i<_steps+1; ++i) {
- for (int y=0; y<h; ++y) {
- uint * src1_line = (uint*) colorized_bg_image.scanLine (y);
- uint * src2_line = (uint*) fg_image.scanLine (y);
- uint * dst_line = (uint*) image.scanLine (i*h+y);
- for (int x=0; x<w; ++x) {
- int r = tqRed (*(src1_line+x));
- int g = tqGreen (*(src1_line+x));
- int b = tqBlue (*(src1_line+x));
- int a = TQMAX (tqAlpha(*(src1_line+x)),tqGray(*(src2_line+x)));
- *(dst_line+x) = tqRgba (r, g, b, a);
- }
- }
- }
- TQPixmap * pixmap = new TQPixmap (image);
- TQPainter painter (pixmap);
-
- bool dark = (tqGray(color.rgb()) <= 127);
- TQImage fg_img (w, h, 32);
- fg_img.setAlphaBuffer (true);
- for (int y=0; y<h; ++y) {
- uint * src_line = (uint*) fg_image.scanLine (y);
- uint * dst_line = (uint*) fg_img.scanLine (y);
- for (int x=0; x<w; ++x) {
- int alpha = tqGray (*(src_line+x));
- if (dark)
- *(dst_line+x) = tqRgba (255, 255, 255, alpha);
- else
- *(dst_line+x) = tqRgba (0, 0, 0, alpha);
- }
- }
-
- int r = glow_color.red();
- int g = glow_color.green();
- int b = glow_color.blue();
- TQImage glow_img (w, h, 32);
- glow_img.setAlphaBuffer (true);
- for (int i=0; i<_steps; ++i) {
- painter.drawImage (0, i*h, fg_img);
- for (int y=0; y<h; ++y) {
- uint * src_line = (uint*) glow_image.scanLine(y);
- uint * dst_line = (uint*) glow_img.scanLine(y);
- for (int x=0; x<w; ++x) {
- int alpha =
- (int) (tqGray (*(src_line+x)) * ((double) i/_steps));
- *(dst_line+x) = tqRgba (r, g, b, alpha);
- }
- }
- painter.drawImage (0, i*h, glow_img);
- }
- painter.drawImage (0, _steps*h, fg_img);
- for (int y=0; y<h; ++y) {
- uint * src_line = (uint*) glow_image.scanLine (y);
- uint * dst_line = (uint*) glow_img.scanLine (y);
- for (int x=0; x<w; ++x) {
- int alpha = tqGray (*(src_line+x));
- *(dst_line+x) = tqRgba (r, g, b, alpha);
- }
- }
- painter.drawImage (0, _steps*h, glow_img);
-
- return pixmap;
-}
-
-GlowButton* GlowButtonFactory::createGlowButton(
- TQWidget *parent, const char* name, const TQString& tip, const int realizeBtns)
-{
- GlowButton *glowButton = new GlowButton(parent, name, tip, realizeBtns);
- return glowButton;
-}
-
-}
-
-#include "glowbutton.moc"
-
diff --git a/kwin-styles/glow/glowbutton.h b/kwin-styles/glow/glowbutton.h
deleted file mode 100644
index d2e83beb..00000000
--- a/kwin-styles/glow/glowbutton.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/***************************************************************************
- glowbutton.h - description
- -------------------
- begin : Thu Sep 14 2001
- copyright : (C) 2001 by Henning Burchardt
- email : h_burchardt@gmx.net
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#ifndef GLOW_BUTTON_H
-#define GLOW_BUTTON_H
-
-#include <vector>
-#include <tqmap.h>
-#include <tqbutton.h>
-
-class TQPixmap;
-class TQBitmap;
-class TQTimer;
-class TQString;
-
-namespace Glow
-{
-
-class PixmapCache
-{
-public:
- static const TQPixmap* find(const TQString& key);
- static void insert(const TQString& key, const TQPixmap *pixmap);
- static void erase(const TQString& key);
- static void clear();
-private:
- static TQMap<TQString, const TQPixmap*> m_pixmapMap;
-};
-
-
-//-----------------------------------------------------------------------------
-
-class GlowButton : public TQButton
-{
- Q_OBJECT
- TQ_OBJECT
-
-public:
- GlowButton(TQWidget *parent, const char* name, const TQString& tip, const int realizeBtns);
- ~GlowButton();
-
- void setTipText( const TQString& tip );
-
- TQString getPixmapName() const;
- ButtonState lastButton() const;
-
- /** Sets the name of the pixmap in the pixmap cache.
- * If no background pixmap is wanted use TQString() as name. */
- void setPixmapName(const TQString& pixmapName);
-
-protected:
- virtual void paintEvent( TQPaintEvent * );
- virtual void enterEvent( TQEvent * );
- virtual void leaveEvent( TQEvent * );
- virtual void mousePressEvent( TQMouseEvent * );
- virtual void mouseReleaseEvent( TQMouseEvent * );
-
-protected slots:
- void slotTimeout();
-
-private:
- enum TimertqStatus { Run, Stop };
-
- int m_updateTime;
- int _steps;
- TQString m_pixmapName;
-
- TQTimer *m_timer;
- int m_pos;
- TimertqStatus m_timertqStatus;
-
- int m_realizeButtons;
- ButtonState _last_button;
-};
-
-//-----------------------------------------------------------------------------
-
-class GlowButtonFactory
-{
-public:
- GlowButtonFactory();
-
- int getSteps();
-
- /**
- * Sets the number of pixmaps used to create the glow effect of the
- * glow buttons.
- */
- void setSteps(int steps);
-
- /**
- * Creates a background pixmap for a glow button.
- * The pixmap will consist of sub pixmaps of the size of the button which
- * are placed one below the other. Each sub pixmap is copied on the button
- * in succession to create the glow effect. The last sub pixmap is used
- * when the button is pressed.
- */
- TQPixmap * createGlowButtonPixmap(
- const TQImage & bg_image,
-// const TQImage & bg_alpha_image,
- const TQImage & fg_image,
- const TQImage & glow_image,
- const TQColor & color,
- const TQColor & glow_color);
-
- GlowButton* createGlowButton(
- TQWidget *parent, const char* name, const TQString& tip, const int realizeBtns = Qt::LeftButton);
-
-private:
- int _steps;
-};
-
-} // namespace
-
-#endif
diff --git a/kwin-styles/glow/glowclient.cpp b/kwin-styles/glow/glowclient.cpp
deleted file mode 100644
index 98133221..00000000
--- a/kwin-styles/glow/glowclient.cpp
+++ /dev/null
@@ -1,902 +0,0 @@
-/***************************************************************************
- glowclient.cpp - description
- -------------------
- begin : Thu Sep 6 2001
- copyright : (C) 2001 by Henning Burchardt
- email : h_burchardt@gmx.net
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#include <tqapplication.h>
-#include <tqbitmap.h>
-#include <tqimage.h>
-#include <tqlayout.h>
-#include <tqpainter.h>
-#include <tqpixmap.h>
-#include <kconfig.h>
-#include <kdebug.h>
-#include <klocale.h>
-#include <kpixmapeffect.h>
-#include <kpixmap.h>
-#include <kstandarddirs.h>
-#include <tqlabel.h>
-#include "resources.h"
-#include "glowclient.h"
-#include "glowbutton.h"
-
-namespace Glow
-{
-
-static int titleHeight;
-static int SIDE_MARGIN;
-static int BOTTOM_MARGIN;
-static const int TITLE_MARGIN = 2;
-static const int TITLE_SPACING = 1;
-static int RESIZE_HANDLE_HEIGHT;
-
-//-----------------------------------------------------------------------------
-
-GlowClientConfig::GlowClientConfig()
-{
- themeName = "default";
-}
-
-void GlowClientConfig::load(KDecorationFactory *factory)
-{
- KConfig conf("twinglowrc");
- conf.setGroup("General");
-
- const TQColor defaultCloseButtonColor(DEFAULT_CLOSE_BUTTON_COLOR);
- const TQColor defaultMaximizeButtonColor(DEFAULT_MAXIMIZE_BUTTON_COLOR);
- const TQColor defaultIconifyButtonColor(DEFAULT_ICONIFY_BUTTON_COLOR);
- const TQColor defaultHelpButtonColor(DEFAULT_HELP_BUTTON_COLOR);
- const TQColor defaultStickyButtonColor(DEFAULT_STICKY_BUTTON_COLOR);
-
- stickyButtonGlowColor = conf.readColorEntry(
- "stickyButtonGlowColor", &defaultStickyButtonColor);
-
- helpButtonGlowColor = conf.readColorEntry(
- "helpButtonGlowColor", &defaultHelpButtonColor);
-
- iconifyButtonGlowColor = conf.readColorEntry(
- "iconifyButtonGlowColor", &defaultIconifyButtonColor);
-
- maximizeButtonGlowColor = conf.readColorEntry(
- "maximizeButtonGlowColor", &defaultMaximizeButtonColor);
-
- closeButtonGlowColor = conf.readColorEntry(
- "closeButtonGlowColor", &defaultCloseButtonColor);
-
- showResizeHandle = conf.readBoolEntry("showResizeHandle", true);
- titlebarGradientType = conf.readNumEntry("titlebarGradientType",
- KPixmapEffect::DiagonalGradient);
-
- themeName = conf.readEntry ("themeName", "default");
-
- switch(KDecoration::options()->preferredBorderSize (factory)) {
- case KDecoration::BorderLarge:
- SIDE_MARGIN = 8;
- BOTTOM_MARGIN = 6;
- RESIZE_HANDLE_HEIGHT = 10;
- break;
- case KDecoration::BorderVeryLarge:
- SIDE_MARGIN = 12;
- BOTTOM_MARGIN = 12;
- RESIZE_HANDLE_HEIGHT = 18;
- break;
- case KDecoration::BorderHuge:
- SIDE_MARGIN = 18;
- BOTTOM_MARGIN = 18;
- RESIZE_HANDLE_HEIGHT = 27;
- break;
- case KDecoration::BorderVeryHuge:
- SIDE_MARGIN = 27;
- BOTTOM_MARGIN = 27;
- RESIZE_HANDLE_HEIGHT = 40;
- break;
- case KDecoration::BorderOversized:
- SIDE_MARGIN = 40;
- BOTTOM_MARGIN = 40;
- RESIZE_HANDLE_HEIGHT = 60;
- break;
- case KDecoration::BorderNormal:
- default:
- SIDE_MARGIN = 4;
- BOTTOM_MARGIN = 2;
- RESIZE_HANDLE_HEIGHT = 4;
- }
-}
-
-//-----------------------------------------------------------------------------
-
-GlowClientGlobals::~GlowClientGlobals()
-{
- deletePixmaps();
- m_instance = 0;
-}
-
-TQString GlowClientGlobals::getPixmapName(PixmapType type, bool isActive)
-{
- TQString s = getPixmapTypeName(static_cast<PixmapType>(type));
- s += "|";
- s += isActive ? "Active" : "NotActive";
- return s;
-}
-
-GlowClientGlobals::GlowClientGlobals()
- : KDecorationFactory()
-{
- _button_factory = new GlowButtonFactory();
- readConfig();
- readTheme ();
- if (!createPixmaps())
- {
- deletePixmaps();
- delete _theme;
- config()->themeName = "default";
- readTheme();
- createPixmaps();
- }
-}
-
-void GlowClientGlobals::readConfig()
-{
- _config = new GlowClientConfig();
- _config->load(this);
-}
-
-TQValueList< GlowClientGlobals::BorderSize >
-GlowClientGlobals::borderSizes() const
-{
- // the list must be sorted
- return TQValueList< BorderSize >() << BorderNormal <<
- BorderLarge << BorderVeryLarge << BorderHuge <<
- BorderVeryHuge << BorderOversized;
-}
-
-void GlowClientGlobals::readTheme()
-{
- TQString theme_config_file = KGlobal::dirs()->findResource ("data",
- TQString("twin/glow-themes/") + config()->themeName + "/" +
- config()->themeName + ".theme");
- if (theme_config_file.isNull())
- {
- config()->themeName = "default";
- return;
- }
-
- KConfig conf (theme_config_file);
- _theme = new GlowTheme(default_glow_theme);
-
- _theme->buttonSize = conf.readSizeEntry ("buttonSize",
- &_theme->buttonSize);
- _theme->stickyOnPixmap = conf.readEntry ("stickyOnPixmap",
- _theme->stickyOnPixmap);
- _theme->stickyOffPixmap = conf.readEntry ("stickyOffPixmap",
- _theme->stickyOffPixmap);
- _theme->maximizeOnPixmap = conf.readEntry ("maximizeOnPixmap",
- _theme->maximizeOnPixmap);
- _theme->maximizeOffPixmap = conf.readEntry ("maximizeOffPixmap",
- _theme->maximizeOffPixmap);
- _theme->helpPixmap = conf.readEntry ("helpPixmap",
- _theme->helpPixmap);
- _theme->closePixmap = conf.readEntry ("closePixmap",
- _theme->closePixmap);
- _theme->iconifyPixmap = conf.readEntry ("iconifyPixmap",
- _theme->iconifyPixmap);
- _theme->stickyOnGlowPixmap = conf.readEntry ("stickyOnGlowPixmap",
- _theme->stickyOnGlowPixmap);
- _theme->stickyOffGlowPixmap = conf.readEntry ("stickyOffGlowPixmap",
- _theme->stickyOffGlowPixmap);
- _theme->maximizeOnGlowPixmap = conf.readEntry ("maximizeOnGlowPixmap",
- _theme->maximizeOnGlowPixmap);
- _theme->maximizeOffGlowPixmap = conf.readEntry ("maximizeOffGlowPixmap",
- _theme->maximizeOffGlowPixmap);
- _theme->helpGlowPixmap = conf.readEntry ("helpGlowPixmap",
- _theme->helpGlowPixmap);
- _theme->closeGlowPixmap = conf.readEntry ("closeGlowPixmap",
- _theme->closeGlowPixmap);
- _theme->iconifyGlowPixmap = conf.readEntry ("iconifyGlowPixmap",
- _theme->iconifyGlowPixmap);
-
- titleHeight = TQFontMetrics(KDecoration::options()->font(true)).height();
- if (titleHeight < SIDE_MARGIN)
- titleHeight = SIDE_MARGIN;
- if (titleHeight < _theme->buttonSize.height())
- titleHeight = _theme->buttonSize.height();
-}
-
-bool GlowClientGlobals::reset( unsigned long /*changed*/ )
-{
- deletePixmaps();
- delete _config;
- readConfig();
- delete _theme;
- readTheme ();
- if (! createPixmaps())
- {
- deletePixmaps();
- delete _theme;
- _config->themeName = "default";
- readTheme();
- createPixmaps();
- }
- return true; // FRAME
-}
-
-bool GlowClientGlobals::supports( Ability ability )
-{
- switch( ability )
- {
- case AbilityAnnounceButtons:
- case AbilityButtonOnAllDesktops:
- case AbilityButtonSpacer:
- case AbilityButtonHelp:
- case AbilityButtonMinimize:
- case AbilityButtonMaximize:
- case AbilityButtonClose:
- return true;
- default:
- return false;
- };
-}
-
-bool GlowClientGlobals::createPixmaps()
-{
- for( int type=0; type<=Close; type++ ) {
- if (! createPixmap(static_cast<PixmapType>(type), false))
- return false;
- if (! createPixmap(static_cast<PixmapType>(type), true))
- return false;
- }
-
- return true;
-}
-
-void GlowClientGlobals::deletePixmaps()
-{
- PixmapCache::clear();
-}
-
-const TQString GlowClientGlobals::getPixmapTypeName(PixmapType type)
-{
- switch(type) {
- case (StickyOn):
- return "StickyOn";
- case(StickyOff ):
- return "StickyOff";
- case(Help):
- return "Help";
- case(Iconify):
- return "Iconify";
- case(MaximizeOn):
- return "MaximizeOn";
- case(MaximizeOff):
- return "MaximizeOff";
- case(Close):
- return "Close";
- default:
- return TQString();
- }
-}
-
-bool GlowClientGlobals::createPixmap(PixmapType type, bool isActive)
-{
- TQString theme_dir = KGlobal::dirs()->findResource ("data",
- TQString("twin/glow-themes/") + _config->themeName + "/");
-
- TQColor glow_color;
- TQColor color = options()->color(ColorButtonBg, isActive);
-
- TQImage bg_image (theme_dir+_theme->backgroundPixmap);
- TQImage fg_image;
- TQImage glow_image;
-
- switch(type) {
- case (StickyOn):
- {
- fg_image = TQImage (theme_dir+_theme->stickyOnPixmap);
- glow_image = TQImage (theme_dir+_theme->stickyOnGlowPixmap);
- glow_color = _config->stickyButtonGlowColor;
- break;
- }
- case (StickyOff):
- {
- fg_image = TQImage (theme_dir+_theme->stickyOffPixmap);
- glow_image = TQImage (theme_dir+_theme->stickyOffGlowPixmap);
- glow_color = _config->stickyButtonGlowColor;
- break;
- }
- case (Help):
- {
- fg_image = TQImage (theme_dir+_theme->helpPixmap);
- glow_image = TQImage (theme_dir+_theme->helpGlowPixmap);
- glow_color = _config->helpButtonGlowColor;
- break;
- }
- case (Iconify):
- {
- fg_image = TQImage (theme_dir+_theme->iconifyPixmap);
- glow_image = TQImage (theme_dir+_theme->iconifyGlowPixmap);
- glow_color = _config->iconifyButtonGlowColor;
- break;
- }
- case (MaximizeOn):
- {
- fg_image = TQImage (theme_dir+_theme->maximizeOnPixmap);
- glow_image = TQImage (theme_dir+_theme->maximizeOnGlowPixmap);
- glow_color = _config->maximizeButtonGlowColor;
- break;
- }
- case (MaximizeOff):
- {
- fg_image = TQImage (theme_dir+_theme->maximizeOffPixmap);
- glow_image = TQImage (theme_dir+_theme->maximizeOffGlowPixmap);
- glow_color = _config->maximizeButtonGlowColor;
- break;
- }
- case (Close):
- {
- fg_image = TQImage (theme_dir+_theme->closePixmap);
- glow_image = TQImage (theme_dir+_theme->closeGlowPixmap);
- glow_color = _config->closeButtonGlowColor;
- break;
- }
- }
-
- if (bg_image.size() != _theme->buttonSize
- || fg_image.size() != _theme->buttonSize
- || glow_image.size() != _theme->buttonSize)
- return false;
-
- TQPixmap * glowPm = buttonFactory()->createGlowButtonPixmap(
- bg_image, fg_image, glow_image,
- color, glow_color);
- if (glowPm->isNull())
- return false;
- PixmapCache::insert(getPixmapName(type, isActive), glowPm);
- return true;
-}
-
-GlowClientGlobals *GlowClientGlobals::m_instance = 0;
-
-GlowClientGlobals *GlowClientGlobals::instance()
-{
- if( ! m_instance )
- {
- m_instance = new GlowClientGlobals();
- }
- return m_instance;
-}
-
-//-----------------------------------------------------------------------------
-
-GlowClient::GlowClient( KDecorationBridge* b, KDecorationFactory* f )
- : KDecoration( b, f ),
- m_stickyButton(0), m_helpButton(0), m_minimizeButton(0),
- m_maximizeButton(0), m_closeButton(0),
- m_leftButtonLayout(0), m_rightButtonLayout(0), _main_layout(0)
-{
-}
-
-void GlowClient::init()
-{
- createMainWidget(WResizeNoErase | WStaticContents | WRepaintNoErase);
- widget()->installEventFilter(this);
-
- createButtons();
- resetLayout();
-}
-
-GlowClient::~GlowClient()
-{
- PixmapCache::erase(TQString::number(widget()->winId()));
-}
-
-void GlowClient::resizeEvent( TQResizeEvent * )
-{
- doShape();
- widget()->tqrepaint(false);
-}
-
-void GlowClient::paintEvent( TQPaintEvent * )
-{
- GlowClientConfig *conf = GlowClientGlobals::instance()->config();
- TQRect r_this = widget()->rect();
- TQRect r_title = _title_spacer->tqgeometry();
- TQColorGroup titleCg = options()->tqcolorGroup(ColorTitleBar, isActive());
- TQColorGroup titleBlendCg=options()->tqcolorGroup(ColorTitleBlend, isActive());
- TQColorGroup cg = widget()->tqcolorGroup();
- TQColor titleColor = options()->color(ColorTitleBar, isActive());
- TQColor titleBlendColor = options()->color(ColorTitleBlend, isActive());
- TQColor bgColor = widget()->tqcolorGroup().background();
- TQPainter p;
- TQPointArray pArray, pArray2, pArray3, pArray4;
-
- // pixmap for title bar
- TQSize tBSize(width(), r_title.height());
- TQSize gradientPixmapSize (tBSize-TQSize(3,3));
- if (! gradientPixmapSize.isValid())
- gradientPixmapSize = TQSize(0,0);
- KPixmap gradientPixmap(gradientPixmapSize);
- if (! gradientPixmapSize.isNull())
- KPixmapEffect::gradient(gradientPixmap, titleColor, titleBlendColor,
- (KPixmapEffect::GradientType) conf->titlebarGradientType);
-
- TQPixmap * title_buffer = new TQPixmap(tBSize);
- p.begin(title_buffer);
- if (! gradientPixmap.isNull())
- p.drawPixmap(2, 2, gradientPixmap);
-
- if (tBSize.width()>=3 && tBSize.height()>=3)
- {
- // draw caption
- p.setFont(options()->font(isActive()));
- p.setPen(options()->color(ColorFont, isActive()));
- p.drawText(r_title.x(), 0,
- r_title.width(), r_title.height(),
- TQt::AlignLeft | TQt::AlignVCenter | TQt::SingleLine, caption());
-
- // draw split color beneath buttons top right
- pArray4 = TQPointArray(4);
- pArray4.setPoint(0, tBSize.width()-1, tBSize.height()/2-1);
- pArray4.setPoint(1, r_title.x()+r_title.width()-1+tBSize.height()/2,
- tBSize.height()/2-1);
- pArray4.setPoint(2, r_title.x()+r_title.width()-1, tBSize.height());
- pArray4.setPoint(3, tBSize.width()-1, tBSize.height());
- p.setPen(TQt::NoPen);
- p.setBrush(bgColor);
- p.drawPolygon(pArray4);
-
- // draw borders
- pArray = TQPointArray(3);
- pArray.setPoint(0, tBSize.width()-1, tBSize.height()/2-1);
- pArray.setPoint(1, r_title.x()+r_title.width()-1+tBSize.height()/2,
- tBSize.height()/2-1);
- pArray.setPoint(2, r_title.x()+r_title.width()-1, tBSize.height()-1);
- p.setPen(titleCg.mid());
- p.drawPolyline(pArray);
- p.drawLine (0, tBSize.height()-1, r_title.x()+r_title.width()-1, tBSize.height()-1);
-
- pArray2 = TQPointArray(3);
- pArray2.setPoint(0, 1, tBSize.height()-2);
- pArray2.setPoint(1, 1, 1);
- pArray2.setPoint(2, tBSize.width()-2, 1);
- p.setPen(titleCg.light());
- p.drawPolyline(pArray2);
- }
-
- pArray3 = TQPointArray(4);
- pArray3.setPoint(0, 0, tBSize.height()-1);
- pArray3.setPoint(1, 0, 0);
- pArray3.setPoint(2, tBSize.width()-1, 0);
- pArray3.setPoint(3, tBSize.width()-1, tBSize.height()-1);
- p.setPen(TQt::black);
- p.drawPolyline(pArray3);
- p.end();
-
- // insert title buffer in cache; before that, remove old buffer
- PixmapCache::erase(TQString::number(widget()->winId()));
- PixmapCache::insert(TQString::number(widget()->winId()), title_buffer);
-
- bitBlt(widget(), 0, 0, title_buffer);
- for (unsigned int i=0; i<m_buttonList.size(); ++i)
- m_buttonList[i]->tqrepaint(false);
-
- p.begin(widget());
- p.setPen(TQt::black);
- //-----
- // draw borders
- p.drawLine(0,tBSize.height(),0,r_this.height()-1);
- p.drawLine(0,r_this.height()-1,r_this.width()-1,r_this.height()-1);
- p.drawLine(r_this.width()-1,r_this.height()-1,
- r_this.width()-1,tBSize.height()/2);
- //-----
- // fill content widget
- p.fillRect(1, tBSize.height(),
- r_this.width()-2, r_this.height()-tBSize.height()-1,
- options()->tqcolorGroup(ColorFrame, isActive()).background());
- p.end();
-
- // paint resize handle if necessary
- if(conf->showResizeHandle && isResizable() && ! isShade()
- && width()>=2 && height() >= RESIZE_HANDLE_HEIGHT)
- {
- p.begin(widget());
- p.setPen (TQt::black);
- p.drawLine (1, height() - RESIZE_HANDLE_HEIGHT,
- width()-2, height() - RESIZE_HANDLE_HEIGHT);
- p.end();
- }
-}
-
-void GlowClient::showEvent( TQShowEvent * )
-{
- doShape();
- widget()->tqrepaint(false);
-}
-
-void GlowClient::mouseDoubleClickEvent( TQMouseEvent *e )
-{
- if(e->button() == Qt::LeftButton && _title_spacer->tqgeometry().contains(e->pos()))
- titlebarDblClickOperation();
-}
-
-void GlowClient::wheelEvent( TQWheelEvent *e )
-{
- if (isSetShade() || TQRect( 0, 0, width(), titleHeight ).contains(e->pos()))
- titlebarMouseWheelOperation( e->delta());
-}
-
-void GlowClient::activeChange()
-{
- updateButtonPixmaps();
- widget()->tqrepaint(false);
-}
-
-void GlowClient::iconChange()
-{
- // we have no (t yet an) icon button, so do nothing
-}
-
-void GlowClient::shadeChange()
-{
-}
-
-void GlowClient::captionChange()
-{
- widget()->update(_title_spacer->tqgeometry());
-}
-
-TQSize GlowClient::tqminimumSize() const
-{
- return widget()->tqminimumSize();
-}
-
-void GlowClient::resize( const TQSize& s )
-{
- widget()->resize( s );
-}
-
-void GlowClient::borders( int& left, int& right, int& top, int& bottom ) const
-{
- left = right = SIDE_MARGIN;
- top = titleHeight + TITLE_MARGIN + 1;
- if (GlowClientGlobals::instance()->config()->showResizeHandle
- && isResizable())
- bottom = RESIZE_HANDLE_HEIGHT;
- else
- bottom = BOTTOM_MARGIN;
-}
-
-void GlowClient::desktopChange()
-{
- if (isOnAllDesktops()) {
- m_stickyButton->setPixmapName(
- GlowClientGlobals::instance()->getPixmapName(
- GlowClientGlobals::StickyOn, isActive()));
- m_stickyButton->setTipText(i18n("Not on all desktops"));
- } else {
- m_stickyButton->setPixmapName(
- GlowClientGlobals::instance()->getPixmapName(
- GlowClientGlobals::StickyOff, isActive()));
- m_stickyButton->setTipText(i18n("On all desktops"));
- }
-}
-
-void GlowClient::maximizeChange()
-{
- if (maximizeMode() == MaximizeFull) {
- m_maximizeButton->setPixmapName(
- GlowClientGlobals::instance()->getPixmapName(
- GlowClientGlobals::MaximizeOn, isActive()));
- m_maximizeButton->setTipText(i18n("Restore"));
- } else {
- m_maximizeButton->setPixmapName(
- GlowClientGlobals::instance()->getPixmapName(
- GlowClientGlobals::MaximizeOff, isActive()));
- m_maximizeButton->setTipText(i18n("Maximize"));
- }
-}
-
-KDecoration::Position GlowClient::mousePosition(const TQPoint &pos) const
-{
- Position m = PositionCenter;
-
- int bottomSize
- = (GlowClientGlobals::instance()->config()->showResizeHandle)
- ? RESIZE_HANDLE_HEIGHT : BOTTOM_MARGIN;
-
- const int range = 14 + 3*SIDE_MARGIN/2;
-
- if ( ( pos.x() > SIDE_MARGIN && pos.x() < width() - SIDE_MARGIN )
- && ( pos.y() > 4 && pos.y() < height() - bottomSize ) )
- m = PositionCenter;
- else if ( pos.y() <= range && pos.x() <= range)
- m = PositionTopLeft;
- else if ( pos.y() >= height()-range && pos.x() >= width()-range)
- m = PositionBottomRight;
- else if ( pos.y() >= height()-range && pos.x() <= range)
- m = PositionBottomLeft;
- else if ( pos.y() <= range && pos.x() >= width()-range)
- m = PositionTopRight;
- else if ( pos.y() <= 4 )
- m = PositionTop;
- else if ( pos.y() >= height()-bottomSize )
- m = PositionBottom;
- else if ( pos.x() <= SIDE_MARGIN )
- m = PositionLeft;
- else if ( pos.x() >= width()-SIDE_MARGIN )
- m = PositionRight;
- else
- m = PositionCenter;
-
- return m;
-}
-
-void GlowClient::createButtons()
-{
- GlowClientGlobals *globals = GlowClientGlobals::instance();
- GlowButtonFactory *factory = globals->buttonFactory();
- TQSize size = globals->theme()->buttonSize;
-
- m_stickyButton = factory->createGlowButton(widget(),
- "StickyButton", isOnAllDesktops()?i18n("Not on all desktops"):i18n("On all desktops"), Qt::LeftButton|Qt::RightButton);
- m_stickyButton->setFixedSize(size);
- connect(m_stickyButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(toggleOnAllDesktops()));
- m_buttonList.insert(m_buttonList.end(), m_stickyButton);
-
- m_helpButton = factory->createGlowButton(widget(),
- "HelpButton", i18n("Help"));
- m_helpButton->setFixedSize(size);
- connect(m_helpButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(showContextHelp()));
- m_buttonList.insert(m_buttonList.end(), m_helpButton);
-
- m_minimizeButton = factory->createGlowButton(widget(),
- "IconifyButton", i18n("Minimize"));
- m_minimizeButton->setFixedSize(size);
- connect(m_minimizeButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(minimize()));
- m_buttonList.insert(m_buttonList.end(), m_minimizeButton);
-
- m_maximizeButton=factory->createGlowButton(widget(),
- "MaximizeButton", i18n("Maximize"), Qt::LeftButton|Qt::MidButton|Qt::RightButton);
- m_maximizeButton->setFixedSize(size);
- connect(m_maximizeButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotMaximize()));
- m_buttonList.insert(m_buttonList.end(), m_maximizeButton);
-
- m_closeButton = factory->createGlowButton(widget(),
- "CloseButton", i18n("Close"));
- m_closeButton->setFixedSize(size);
- connect(m_closeButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(closeWindow()));
- m_buttonList.insert(m_buttonList.end(), m_closeButton);
-}
-
-void GlowClient::resetLayout()
-{
- _main_layout = new TQVBoxLayout(widget(), 0, 0);
- _main_layout->setResizeMode (TQLayout::FreeResize);
-
- // update button positions and colors
- updateButtonPositions();
- updateButtonPixmaps();
-
- TQBoxLayout * topLayout = new TQBoxLayout(_main_layout,
- TQBoxLayout::LeftToRight, 0, 0);
- topLayout->setMargin(0);
- topLayout->setSpacing(TITLE_SPACING);
- topLayout->addSpacing(SIDE_MARGIN);
- TQVBoxLayout *outerLeftLayout = new TQVBoxLayout(topLayout);
- outerLeftLayout->addSpacing(TITLE_MARGIN);
- outerLeftLayout->addItem(m_leftButtonLayout);
- outerLeftLayout->addSpacing(1);
- topLayout->addSpacing(SIDE_MARGIN);
-
- _title_spacer = new TQSpacerItem(0, titleHeight + TITLE_MARGIN + 1,
- TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- topLayout->addItem(_title_spacer);
-
- topLayout->addSpacing(SIDE_MARGIN);
- TQVBoxLayout *outerRightLayout = new TQVBoxLayout(topLayout);
- outerRightLayout->addSpacing(TITLE_MARGIN);
- outerRightLayout->addItem(m_rightButtonLayout);
- outerRightLayout->addSpacing(1);
- topLayout->addSpacing(SIDE_MARGIN);
-
- TQBoxLayout *midLayout = new TQBoxLayout(
- _main_layout, TQBoxLayout::LeftToRight, 0, 0);
- midLayout->addSpacing(SIDE_MARGIN);
- if(isPreview())
- midLayout->addWidget(
- new TQLabel( i18n( "<b><center>Glow preview</center></b>" ), widget()));
- else
- midLayout->addItem( new TQSpacerItem( 0, 0 ));
- midLayout->addSpacing(SIDE_MARGIN);
-
- if(GlowClientGlobals::instance()->config()->showResizeHandle
- && isResizable() ) {
- _bottom_spacer = new TQSpacerItem(SIDE_MARGIN*2,
- RESIZE_HANDLE_HEIGHT, TQSizePolicy::Expanding, TQSizePolicy::Minimum);
- } else {
- _bottom_spacer = new TQSpacerItem(SIDE_MARGIN*2,
- BOTTOM_MARGIN, TQSizePolicy::Expanding, TQSizePolicy::Minimum);
- }
- _main_layout->addItem (_bottom_spacer);
- _main_layout->setStretchFactor(topLayout, 0);
- _main_layout->setStretchFactor(midLayout, 1);
-}
-
-void GlowClient::updateButtonPositions()
-{
- TQString buttons = options()->titleButtonsLeft() + "|"
- + options()->titleButtonsRight();
- bool leftButtons=true;
-
- // hide all buttons
- for( unsigned int i=0; i<m_buttonList.size(); i++ )
- m_buttonList[i]->hide();
-
- m_leftButtonList.clear();
- m_rightButtonList.clear();
-
- // reset left and right button tqlayout
- if(m_leftButtonLayout)
- delete m_leftButtonLayout;
- m_leftButtonLayout = new TQBoxLayout(0, TQBoxLayout::LeftToRight, 0, 0, 0);
- m_leftButtonLayout->setMargin(0);
- m_leftButtonLayout->setSpacing(TITLE_SPACING);
- if(m_rightButtonLayout)
- delete m_rightButtonLayout;
- m_rightButtonLayout = new TQBoxLayout(0, TQBoxLayout::LeftToRight, 0, 0, 0);
- m_rightButtonLayout->setMargin(0);
- m_rightButtonLayout->setSpacing(TITLE_SPACING);
-
- for( unsigned int i=0; i<buttons.length(); i++ )
- {
- char c = buttons[i].latin1();
- GlowButton *button = 0;
- if( c=='S' ) // sticky
- button = m_stickyButton;
- else if( c=='H' && providesContextHelp() ) // help
- button = m_helpButton;
- else if( c=='I' && isMinimizable() ) // iconify
- button = m_minimizeButton;
- else if( c=='A' && isMaximizable() ) // maximize
- button = m_maximizeButton;
- else if( c=='X' && isCloseable() ) // close
- button= m_closeButton;
- else if( c=='_' ) // spacer item
- {
- if(leftButtons)
- m_leftButtonLayout->addSpacing(4);
- else
- m_rightButtonLayout->addSpacing(4);
- }
- else if( c=='|' )
- leftButtons = false;
-
- if (button) {
- button->show(); // show visible buttons
- if (leftButtons) {
- m_leftButtonList.insert(m_leftButtonList.end(), button);
- m_leftButtonLayout->addWidget(button);
- } else {
- m_rightButtonList.insert(m_rightButtonList.end(), button);
- m_rightButtonLayout->addWidget(button);
- }
- }
- }
-}
-
-void GlowClient::updateButtonPixmaps()
-{
- GlowClientGlobals *globals = GlowClientGlobals::instance();
-
- if ( isOnAllDesktops() ) {
- m_stickyButton->setPixmapName(globals->getPixmapName(
- GlowClientGlobals::StickyOn, isActive()));
- } else {
- m_stickyButton->setPixmapName(globals->getPixmapName(
- GlowClientGlobals::StickyOff, isActive()));
- }
- m_helpButton->setPixmapName(globals->getPixmapName(
- GlowClientGlobals::Help, isActive()));
-
- m_minimizeButton->setPixmapName(globals->getPixmapName(
- GlowClientGlobals::Iconify, isActive()));
-
- if ( maximizeMode() == MaximizeFull ) {
- m_maximizeButton->setPixmapName(globals->getPixmapName(
- GlowClientGlobals::MaximizeOn, isActive()));
- } else {
- m_maximizeButton->setPixmapName(globals->getPixmapName(
- GlowClientGlobals::MaximizeOff, isActive()));
- }
- m_closeButton->setPixmapName(globals->getPixmapName(
- GlowClientGlobals::Close, isActive()));
-}
-
-void GlowClient::doShape()
-{
- TQRegion mask(widget()->rect());
- // edges
-
- mask -= TQRegion(width()-1,0,1,1);
- mask -= TQRegion(0,height()-1,1,1);
- mask -= TQRegion(width()-1,height()-1,1,1);
- setMask(mask);
-}
-
-bool GlowClient::isLeft(GlowButton *button)
-{
- for( unsigned int i=0; i<m_leftButtonList.size(); i++ )
- if( m_leftButtonList[i] == button )
- return true;
- return false;
-}
-
-bool GlowClient::isRight(GlowButton *button)
-{
- for( unsigned int i=0; i<m_rightButtonList.size(); i++ )
- if( m_rightButtonList[i] == button )
- return true;
- return false;
-}
-
-void GlowClient::slotMaximize()
-{
- maximize(m_maximizeButton->lastButton());
-}
-
-bool GlowClient::eventFilter( TQObject* o, TQEvent* e )
-{
- if( TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget()))
- return false;
- switch( e->type())
- {
- case TQEvent::Resize:
- resizeEvent( TQT_TQRESIZEEVENT( e ));
- return true;
- case TQEvent::Paint:
- paintEvent( TQT_TQPAINTEVENT( e ));
- return true;
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent( TQT_TQMOUSEEVENT( e ));
- return true;
- case TQEvent::MouseButtonPress:
- processMousePressEvent( TQT_TQMOUSEEVENT( e ));
- return true;
- case TQEvent::Show:
- showEvent( TQT_TQSHOWEVENT( e ));
- return true;
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( e ));
- return true;
- default:
- break;
- }
- return false;
-}
-
-KDecoration* GlowClientGlobals::createDecoration( KDecorationBridge* bridge )
-{
- return new GlowClient( bridge, this );
-}
-
-} // end of namespace
-
-extern "C"
-KDE_EXPORT KDecorationFactory* create_factory()
-{
- return Glow::GlowClientGlobals::instance();
-}
-
-#include "glowclient.moc"
-
diff --git a/kwin-styles/glow/glowclient.h b/kwin-styles/glow/glowclient.h
deleted file mode 100644
index 9129dce0..00000000
--- a/kwin-styles/glow/glowclient.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/***************************************************************************
- glowclient.h - description
- -------------------
- begin : Thu Sep 6 2001
- copyright : (C) 2001 by Henning Burchardt
- email : h_burchardt@gmx.net
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#ifndef GLOW_CLIENT_H
-#define GLOW_CLIENT_H
-
-#include <vector>
-#include <map>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-
-class TQPixmap;
-class TQBitmap;
-class TQTimer;
-class TQBoxLayout;
-class TQGridLayout;
-class TQVBoxLayout;
-class TQSpacerItem;
-
-namespace Glow
-{
-
-class GlowButton;
-class GlowButtonFactory;
-
-//-----------------------------------------------------------------------------
-// GlowTheme
-//-----------------------------------------------------------------------------
-
-struct GlowTheme
-{
- TQSize buttonSize;
-
- TQString backgroundPixmap;
- TQString backgroundAlphaPixmap;
-
- TQString stickyOnPixmap;
- TQString stickyOffPixmap;
- TQString maximizeOnPixmap;
- TQString maximizeOffPixmap;
- TQString helpPixmap;
- TQString closePixmap;
- TQString iconifyPixmap;
-
- TQString stickyOnGlowPixmap;
- TQString stickyOffGlowPixmap;
- TQString maximizeOnGlowPixmap;
- TQString maximizeOffGlowPixmap;
- TQString helpGlowPixmap;
- TQString closeGlowPixmap;
- TQString iconifyGlowPixmap;
-};
-
-static GlowTheme default_glow_theme = {
- TQSize (17, 17),
- "background.png", "background_alpha.png",
- "stickyon.png", "stickyoff.png",
- "maximizeon.png", "maximizeoff.png",
- "help.png", "close.png", "iconify.png",
- "stickyon_glow.png", "stickyoff_glow.png",
- "maximizeon_glow.png", "maximizeoff_glow.png",
- "help_glow.png", "close_glow.png", "iconify_glow.png" };
-
-//-----------------------------------------------------------------------------
-// GlowClientConfig
-//-----------------------------------------------------------------------------
-
-class GlowClientConfig
-{
-public:
- GlowClientConfig();
-
- void load (KDecorationFactory *factory);
-
- TQColor stickyButtonGlowColor;
- TQColor helpButtonGlowColor;
- TQColor iconifyButtonGlowColor;
- TQColor maximizeButtonGlowColor;
- TQColor closeButtonGlowColor;
- bool showResizeHandle;
- int titlebarGradientType;
- TQString themeName;
-};
-
-//-----------------------------------------------------------------------------
-// GlowClientGlobals
-//-----------------------------------------------------------------------------
-
-class GlowClientGlobals : public KDecorationFactory
-{
-public:
- enum PixmapType { StickyOn, StickyOff, Help, Iconify, MaximizeOn,
- MaximizeOff, Close };
-
- static GlowClientGlobals *instance();
-
- ~GlowClientGlobals();
-
- virtual KDecoration* createDecoration( KDecorationBridge* b );
- virtual bool reset( unsigned long changed );
- virtual bool supports( Ability ability );
- TQValueList< GlowClientGlobals::BorderSize > borderSizes() const;
-
- TQString getPixmapName(PixmapType type, bool isActive);
-
- GlowTheme * theme() const { return _theme; }
- GlowClientConfig * config() const { return _config; }
- GlowButtonFactory * buttonFactory() { return _button_factory; }
-
-private:
- static GlowClientGlobals *m_instance;
-
- GlowTheme * _theme;
- GlowClientConfig * _config;
- GlowButtonFactory * _button_factory;
-
- GlowClientGlobals();
- void readConfig();
- void readTheme ();
- bool createPixmaps();
- void deletePixmaps();
- bool createPixmap(PixmapType type,bool isActive);
- const TQString getPixmapTypeName(PixmapType type);
-};
-
-//-----------------------------------------------------------------------------
-// GlowClient
-//-----------------------------------------------------------------------------
-
-class GlowClient : public KDecoration
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- GlowClient( KDecorationBridge* b, KDecorationFactory* f );
- ~GlowClient();
-
- virtual void init();
- virtual void borders( int&, int&, int&, int& ) const;
- virtual void resize( const TQSize& );
- virtual TQSize tqminimumSize() const;
-
-protected:
- virtual void resizeEvent( TQResizeEvent * );
- virtual void paintEvent( TQPaintEvent * );
- virtual void showEvent( TQShowEvent * );
- virtual void mouseDoubleClickEvent( TQMouseEvent * );
- virtual void wheelEvent( TQWheelEvent * );
- virtual void maximizeChange();
- virtual void activeChange();
- virtual void iconChange();
- virtual void desktopChange();
- virtual void shadeChange();
- virtual void captionChange();
- virtual Position mousePosition(const TQPoint &) const;
- virtual bool eventFilter( TQObject* o, TQEvent* e );
-
-private:
- std::vector<GlowButton*> m_buttonList;
- std::vector<GlowButton*> m_leftButtonList;
- std::vector<GlowButton*> m_rightButtonList;
- GlowButton *m_stickyButton;
- GlowButton *m_helpButton;
- GlowButton *m_minimizeButton;
- GlowButton *m_maximizeButton;
- GlowButton *m_closeButton;
- TQBoxLayout *m_leftButtonLayout;
- TQBoxLayout *m_rightButtonLayout;
- TQSpacerItem * _bottom_spacer;
- TQSpacerItem * _title_spacer;
- TQVBoxLayout * _main_layout;
-
- void createButtons();
- void updateButtonPositions();
- /**
- * Before this method is called we have to update the button
- * positions with updateButtonPositions() because the pixmaps
- * depend on the position
- */
- void updateButtonPixmaps();
- void resetLayout();
- void doShape();
- bool isLeft(GlowButton *button);
- bool isRight(GlowButton *button);
-
-protected slots:
- void slotMaximize();
-};
-
-} // namespace
-
-#endif
diff --git a/kwin-styles/glow/resources.h b/kwin-styles/glow/resources.h
deleted file mode 100644
index a304b822..00000000
--- a/kwin-styles/glow/resources.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef RESOURCES_H
-#define RESOURCES_H
-
-#define DEFAULT_CLOSE_BUTTON_COLOR TQt::red
-#define DEFAULT_MAXIMIZE_BUTTON_COLOR TQt::yellow
-#define DEFAULT_ICONIFY_BUTTON_COLOR TQt::green
-#define DEFAULT_HELP_BUTTON_COLOR TQt::white
-#define DEFAULT_STICKY_BUTTON_COLOR TQt::white
-
-#endif
-
diff --git a/kwin-styles/glow/themes/CMakeLists.txt b/kwin-styles/glow/themes/CMakeLists.txt
deleted file mode 100644
index 2f725214..00000000
--- a/kwin-styles/glow/themes/CMakeLists.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_subdirectory( default )
-add_subdirectory( glass )
-add_subdirectory( glass_huge )
-add_subdirectory( glass_large )
-add_subdirectory( glass_verylarge )
-add_subdirectory( square ) \ No newline at end of file
diff --git a/kwin-styles/glow/themes/Makefile.am b/kwin-styles/glow/themes/Makefile.am
deleted file mode 100644
index ec2725a7..00000000
--- a/kwin-styles/glow/themes/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS=default glass square glass_large glass_verylarge glass_huge
diff --git a/kwin-styles/glow/themes/default/CMakeLists.txt b/kwin-styles/glow/themes/default/CMakeLists.txt
deleted file mode 100644
index 433e22b6..00000000
--- a/kwin-styles/glow/themes/default/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-install( FILES
- background.png
- help.png help_glow.png
- close.png close_glow.png
- iconify.png iconify_glow.png
- maximizeoff.png maximizeoff_glow.png
- maximizeon.png maximizeon_glow.png
- stickyon.png stickyon_glow.png
- stickyoff.png stickyoff_glow.png
- default.theme
- DESTINATION ${DATA_INSTALL_DIR}/twin/glow-themes/default )
diff --git a/kwin-styles/glow/themes/default/Makefile.am b/kwin-styles/glow/themes/default/Makefile.am
deleted file mode 100644
index b3ef0fa5..00000000
--- a/kwin-styles/glow/themes/default/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-linkdir = $(kde_datadir)/twin/glow-themes/default
-link_DATA = \
-background.png \
-help.png help_glow.png \
-close.png close_glow.png \
-iconify.png iconify_glow.png \
-maximizeoff.png maximizeoff_glow.png \
-maximizeon.png maximizeon_glow.png \
-stickyon.png stickyon_glow.png \
-stickyoff.png stickyoff_glow.png \
-default.theme
-
-EXTRA_DIST = $(link_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/glow/themes/default/background.png b/kwin-styles/glow/themes/default/background.png
deleted file mode 100644
index 3fcbcdf5..00000000
--- a/kwin-styles/glow/themes/default/background.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/close.png b/kwin-styles/glow/themes/default/close.png
deleted file mode 100644
index 898a368a..00000000
--- a/kwin-styles/glow/themes/default/close.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/close_glow.png b/kwin-styles/glow/themes/default/close_glow.png
deleted file mode 100644
index 69b36e92..00000000
--- a/kwin-styles/glow/themes/default/close_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/default.theme b/kwin-styles/glow/themes/default/default.theme
deleted file mode 100644
index 26f00feb..00000000
--- a/kwin-styles/glow/themes/default/default.theme
+++ /dev/null
@@ -1,19 +0,0 @@
-buttonSize=17,17
-
-backgroundPixmap=background.png
-
-stickyOnPixmap=stickyon.png
-stickyOffPixmap=stickyoff.png
-maximizeOnPixmap=maximizeon.png
-maximizeOffPixmap=maximizeoff.png
-helpPixmap=help.png
-closePixmap=close.png
-iconifyPixmap=iconify.png
-
-stickyOnGlowPixmap=stickyon_glow.png
-stickyOffGlowPixmap=stickyoff_glow.png
-maximizeOnGlowPixmap=maximizeon_glow.png
-maximizeOffGlowPixmap=maximizeoff_glow.png
-helpGlowPixmap=help_glow.png
-closeGlowPixmap=close_glow.png
-iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/default/help.png b/kwin-styles/glow/themes/default/help.png
deleted file mode 100644
index c3ed65ee..00000000
--- a/kwin-styles/glow/themes/default/help.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/help_glow.png b/kwin-styles/glow/themes/default/help_glow.png
deleted file mode 100644
index 79a5006a..00000000
--- a/kwin-styles/glow/themes/default/help_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/iconify.png b/kwin-styles/glow/themes/default/iconify.png
deleted file mode 100644
index 94fc6338..00000000
--- a/kwin-styles/glow/themes/default/iconify.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/iconify_glow.png b/kwin-styles/glow/themes/default/iconify_glow.png
deleted file mode 100644
index 8b4d1413..00000000
--- a/kwin-styles/glow/themes/default/iconify_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/maximizeoff.png b/kwin-styles/glow/themes/default/maximizeoff.png
deleted file mode 100644
index e60cdc97..00000000
--- a/kwin-styles/glow/themes/default/maximizeoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/maximizeoff_glow.png b/kwin-styles/glow/themes/default/maximizeoff_glow.png
deleted file mode 100644
index 25f4c8ec..00000000
--- a/kwin-styles/glow/themes/default/maximizeoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/maximizeon.png b/kwin-styles/glow/themes/default/maximizeon.png
deleted file mode 100644
index 3976411f..00000000
--- a/kwin-styles/glow/themes/default/maximizeon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/maximizeon_glow.png b/kwin-styles/glow/themes/default/maximizeon_glow.png
deleted file mode 100644
index 941ed849..00000000
--- a/kwin-styles/glow/themes/default/maximizeon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/stickyoff.png b/kwin-styles/glow/themes/default/stickyoff.png
deleted file mode 100644
index 3600e326..00000000
--- a/kwin-styles/glow/themes/default/stickyoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/stickyoff_glow.png b/kwin-styles/glow/themes/default/stickyoff_glow.png
deleted file mode 100644
index 5c9861a0..00000000
--- a/kwin-styles/glow/themes/default/stickyoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/stickyon.png b/kwin-styles/glow/themes/default/stickyon.png
deleted file mode 100644
index a84941a3..00000000
--- a/kwin-styles/glow/themes/default/stickyon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/default/stickyon_glow.png b/kwin-styles/glow/themes/default/stickyon_glow.png
deleted file mode 100644
index 905653e5..00000000
--- a/kwin-styles/glow/themes/default/stickyon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/CMakeLists.txt b/kwin-styles/glow/themes/glass/CMakeLists.txt
deleted file mode 100644
index 279668d3..00000000
--- a/kwin-styles/glow/themes/glass/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-install( FILES
- background.png
- help.png help_glow.png
- close.png close_glow.png
- iconify.png iconify_glow.png
- maximizeoff.png maximizeoff_glow.png
- maximizeon.png maximizeon_glow.png
- stickyon.png stickyon_glow.png
- stickyoff.png stickyoff_glow.png
- glass.theme
- DESTINATION ${DATA_INSTALL_DIR}/twin/glow-themes/glass )
diff --git a/kwin-styles/glow/themes/glass/Makefile.am b/kwin-styles/glow/themes/glass/Makefile.am
deleted file mode 100644
index aeff2c35..00000000
--- a/kwin-styles/glow/themes/glass/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-linkdir = $(kde_datadir)/twin/glow-themes/glass
-link_DATA = \
-background.png \
-help.png help_glow.png \
-close.png close_glow.png \
-iconify.png iconify_glow.png \
-maximizeoff.png maximizeoff_glow.png \
-maximizeon.png maximizeon_glow.png \
-stickyon.png stickyon_glow.png \
-stickyoff.png stickyoff_glow.png \
-glass.theme
-
-EXTRA_DIST = $(link_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/glow/themes/glass/background.png b/kwin-styles/glow/themes/glass/background.png
deleted file mode 100644
index 97d278a0..00000000
--- a/kwin-styles/glow/themes/glass/background.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/close.png b/kwin-styles/glow/themes/glass/close.png
deleted file mode 100644
index 8b61cfd2..00000000
--- a/kwin-styles/glow/themes/glass/close.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/close_glow.png b/kwin-styles/glow/themes/glass/close_glow.png
deleted file mode 100644
index 2be50e89..00000000
--- a/kwin-styles/glow/themes/glass/close_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/glass.theme b/kwin-styles/glow/themes/glass/glass.theme
deleted file mode 100644
index 9facf271..00000000
--- a/kwin-styles/glow/themes/glass/glass.theme
+++ /dev/null
@@ -1,19 +0,0 @@
-buttonSize=19,19
-
-backgroundPixmap=background.png
-
-stickyOnPixmap=stickyon.png
-stickyOffPixmap=stickyoff.png
-maximizeOnPixmap=maximizeon.png
-maximizeOffPixmap=maximizeoff.png
-helpPixmap=help.png
-closePixmap=close.png
-iconifyPixmap=iconify.png
-
-stickyOnGlowPixmap=stickyon_glow.png
-stickyOffGlowPixmap=stickyoff_glow.png
-maximizeOnGlowPixmap=maximizeon_glow.png
-maximizeOffGlowPixmap=maximizeoff_glow.png
-helpGlowPixmap=help_glow.png
-closeGlowPixmap=close_glow.png
-iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/glass/help.png b/kwin-styles/glow/themes/glass/help.png
deleted file mode 100644
index 7a12fe88..00000000
--- a/kwin-styles/glow/themes/glass/help.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/help_glow.png b/kwin-styles/glow/themes/glass/help_glow.png
deleted file mode 100644
index 77976ff1..00000000
--- a/kwin-styles/glow/themes/glass/help_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/iconify.png b/kwin-styles/glow/themes/glass/iconify.png
deleted file mode 100644
index 55b9f6a9..00000000
--- a/kwin-styles/glow/themes/glass/iconify.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/iconify_glow.png b/kwin-styles/glow/themes/glass/iconify_glow.png
deleted file mode 100644
index ff741dbe..00000000
--- a/kwin-styles/glow/themes/glass/iconify_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/maximizeoff.png b/kwin-styles/glow/themes/glass/maximizeoff.png
deleted file mode 100644
index b08d34c1..00000000
--- a/kwin-styles/glow/themes/glass/maximizeoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/maximizeoff_glow.png b/kwin-styles/glow/themes/glass/maximizeoff_glow.png
deleted file mode 100644
index 8ff43447..00000000
--- a/kwin-styles/glow/themes/glass/maximizeoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/maximizeon.png b/kwin-styles/glow/themes/glass/maximizeon.png
deleted file mode 100644
index 8894007e..00000000
--- a/kwin-styles/glow/themes/glass/maximizeon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/maximizeon_glow.png b/kwin-styles/glow/themes/glass/maximizeon_glow.png
deleted file mode 100644
index 7fe3c840..00000000
--- a/kwin-styles/glow/themes/glass/maximizeon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/stickyoff.png b/kwin-styles/glow/themes/glass/stickyoff.png
deleted file mode 100644
index d87cfe9d..00000000
--- a/kwin-styles/glow/themes/glass/stickyoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/stickyoff_glow.png b/kwin-styles/glow/themes/glass/stickyoff_glow.png
deleted file mode 100644
index f682df78..00000000
--- a/kwin-styles/glow/themes/glass/stickyoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/stickyon.png b/kwin-styles/glow/themes/glass/stickyon.png
deleted file mode 100644
index f044c134..00000000
--- a/kwin-styles/glow/themes/glass/stickyon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass/stickyon_glow.png b/kwin-styles/glow/themes/glass/stickyon_glow.png
deleted file mode 100644
index 0b468787..00000000
--- a/kwin-styles/glow/themes/glass/stickyon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/CMakeLists.txt b/kwin-styles/glow/themes/glass_huge/CMakeLists.txt
deleted file mode 100644
index 92021eff..00000000
--- a/kwin-styles/glow/themes/glass_huge/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-install( FILES
- background.png
- help.png help_glow.png
- close.png close_glow.png
- iconify.png iconify_glow.png
- maximizeoff.png maximizeoff_glow.png
- maximizeon.png maximizeon_glow.png
- stickyon.png stickyon_glow.png
- stickyoff.png stickyoff_glow.png
- glass_huge.theme
- DESTINATION ${DATA_INSTALL_DIR}/twin/glow-themes/glass_huge )
diff --git a/kwin-styles/glow/themes/glass_huge/Makefile.am b/kwin-styles/glow/themes/glass_huge/Makefile.am
deleted file mode 100644
index 244f67a0..00000000
--- a/kwin-styles/glow/themes/glass_huge/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-linkdir = $(kde_datadir)/twin/glow-themes/glass_huge
-link_DATA = \
-background.png \
-help.png help_glow.png \
-close.png close_glow.png \
-iconify.png iconify_glow.png \
-maximizeoff.png maximizeoff_glow.png \
-maximizeon.png maximizeon_glow.png \
-stickyon.png stickyon_glow.png \
-stickyoff.png stickyoff_glow.png \
-glass_huge.theme
-
-EXTRA_DIST = $(link_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/glow/themes/glass_huge/background.png b/kwin-styles/glow/themes/glass_huge/background.png
deleted file mode 100644
index f69e109b..00000000
--- a/kwin-styles/glow/themes/glass_huge/background.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/close.png b/kwin-styles/glow/themes/glass_huge/close.png
deleted file mode 100644
index 3f1c7369..00000000
--- a/kwin-styles/glow/themes/glass_huge/close.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/close_glow.png b/kwin-styles/glow/themes/glass_huge/close_glow.png
deleted file mode 100644
index 00b647dc..00000000
--- a/kwin-styles/glow/themes/glass_huge/close_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/glass_huge.theme b/kwin-styles/glow/themes/glass_huge/glass_huge.theme
deleted file mode 100644
index d8c41f52..00000000
--- a/kwin-styles/glow/themes/glass_huge/glass_huge.theme
+++ /dev/null
@@ -1,19 +0,0 @@
-buttonSize=40,40
-
-backgroundPixmap=background.png
-
-stickyOnPixmap=stickyon.png
-stickyOffPixmap=stickyoff.png
-maximizeOnPixmap=maximizeon.png
-maximizeOffPixmap=maximizeoff.png
-helpPixmap=help.png
-closePixmap=close.png
-iconifyPixmap=iconify.png
-
-stickyOnGlowPixmap=stickyon_glow.png
-stickyOffGlowPixmap=stickyoff_glow.png
-maximizeOnGlowPixmap=maximizeon_glow.png
-maximizeOffGlowPixmap=maximizeoff_glow.png
-helpGlowPixmap=help_glow.png
-closeGlowPixmap=close_glow.png
-iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/glass_huge/help.png b/kwin-styles/glow/themes/glass_huge/help.png
deleted file mode 100644
index a391ce94..00000000
--- a/kwin-styles/glow/themes/glass_huge/help.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/help_glow.png b/kwin-styles/glow/themes/glass_huge/help_glow.png
deleted file mode 100644
index a8237795..00000000
--- a/kwin-styles/glow/themes/glass_huge/help_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/iconify.png b/kwin-styles/glow/themes/glass_huge/iconify.png
deleted file mode 100644
index b3219692..00000000
--- a/kwin-styles/glow/themes/glass_huge/iconify.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/iconify_glow.png b/kwin-styles/glow/themes/glass_huge/iconify_glow.png
deleted file mode 100644
index a5950bcc..00000000
--- a/kwin-styles/glow/themes/glass_huge/iconify_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/maximizeoff.png b/kwin-styles/glow/themes/glass_huge/maximizeoff.png
deleted file mode 100644
index b6ca8c0b..00000000
--- a/kwin-styles/glow/themes/glass_huge/maximizeoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/maximizeoff_glow.png b/kwin-styles/glow/themes/glass_huge/maximizeoff_glow.png
deleted file mode 100644
index deb8b29f..00000000
--- a/kwin-styles/glow/themes/glass_huge/maximizeoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/maximizeon.png b/kwin-styles/glow/themes/glass_huge/maximizeon.png
deleted file mode 100644
index bcccef1f..00000000
--- a/kwin-styles/glow/themes/glass_huge/maximizeon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/maximizeon_glow.png b/kwin-styles/glow/themes/glass_huge/maximizeon_glow.png
deleted file mode 100644
index 410296b1..00000000
--- a/kwin-styles/glow/themes/glass_huge/maximizeon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/stickyoff.png b/kwin-styles/glow/themes/glass_huge/stickyoff.png
deleted file mode 100644
index db79fec8..00000000
--- a/kwin-styles/glow/themes/glass_huge/stickyoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/stickyoff_glow.png b/kwin-styles/glow/themes/glass_huge/stickyoff_glow.png
deleted file mode 100644
index ff8377b1..00000000
--- a/kwin-styles/glow/themes/glass_huge/stickyoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/stickyon.png b/kwin-styles/glow/themes/glass_huge/stickyon.png
deleted file mode 100644
index c6b1f6bc..00000000
--- a/kwin-styles/glow/themes/glass_huge/stickyon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_huge/stickyon_glow.png b/kwin-styles/glow/themes/glass_huge/stickyon_glow.png
deleted file mode 100644
index 46d8470b..00000000
--- a/kwin-styles/glow/themes/glass_huge/stickyon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/CMakeLists.txt b/kwin-styles/glow/themes/glass_large/CMakeLists.txt
deleted file mode 100644
index 597d15c1..00000000
--- a/kwin-styles/glow/themes/glass_large/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-install( FILES
- background.png
- help.png help_glow.png
- close.png close_glow.png
- iconify.png iconify_glow.png
- maximizeoff.png maximizeoff_glow.png
- maximizeon.png maximizeon_glow.png
- stickyon.png stickyon_glow.png
- stickyoff.png stickyoff_glow.png
- glass_large.theme
- DESTINATION ${DATA_INSTALL_DIR}/twin/glow-themes/glass_large )
diff --git a/kwin-styles/glow/themes/glass_large/Makefile.am b/kwin-styles/glow/themes/glass_large/Makefile.am
deleted file mode 100644
index 353e4b6f..00000000
--- a/kwin-styles/glow/themes/glass_large/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-linkdir = $(kde_datadir)/twin/glow-themes/glass_large
-link_DATA = \
-background.png \
-help.png help_glow.png \
-close.png close_glow.png \
-iconify.png iconify_glow.png \
-maximizeoff.png maximizeoff_glow.png \
-maximizeon.png maximizeon_glow.png \
-stickyon.png stickyon_glow.png \
-stickyoff.png stickyoff_glow.png \
-glass_large.theme
-
-EXTRA_DIST = $(link_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/glow/themes/glass_large/background.png b/kwin-styles/glow/themes/glass_large/background.png
deleted file mode 100644
index 860e346f..00000000
--- a/kwin-styles/glow/themes/glass_large/background.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/close.png b/kwin-styles/glow/themes/glass_large/close.png
deleted file mode 100644
index 4e180281..00000000
--- a/kwin-styles/glow/themes/glass_large/close.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/close_glow.png b/kwin-styles/glow/themes/glass_large/close_glow.png
deleted file mode 100644
index 59976dd3..00000000
--- a/kwin-styles/glow/themes/glass_large/close_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/glass_large.theme b/kwin-styles/glow/themes/glass_large/glass_large.theme
deleted file mode 100644
index 1fdf6832..00000000
--- a/kwin-styles/glow/themes/glass_large/glass_large.theme
+++ /dev/null
@@ -1,19 +0,0 @@
-buttonSize=23,23
-
-backgroundPixmap=background.png
-
-stickyOnPixmap=stickyon.png
-stickyOffPixmap=stickyoff.png
-maximizeOnPixmap=maximizeon.png
-maximizeOffPixmap=maximizeoff.png
-helpPixmap=help.png
-closePixmap=close.png
-iconifyPixmap=iconify.png
-
-stickyOnGlowPixmap=stickyon_glow.png
-stickyOffGlowPixmap=stickyoff_glow.png
-maximizeOnGlowPixmap=maximizeon_glow.png
-maximizeOffGlowPixmap=maximizeoff_glow.png
-helpGlowPixmap=help_glow.png
-closeGlowPixmap=close_glow.png
-iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/glass_large/help.png b/kwin-styles/glow/themes/glass_large/help.png
deleted file mode 100644
index 464a7d49..00000000
--- a/kwin-styles/glow/themes/glass_large/help.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/help_glow.png b/kwin-styles/glow/themes/glass_large/help_glow.png
deleted file mode 100644
index 21e94cd0..00000000
--- a/kwin-styles/glow/themes/glass_large/help_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/iconify.png b/kwin-styles/glow/themes/glass_large/iconify.png
deleted file mode 100644
index c148f4bb..00000000
--- a/kwin-styles/glow/themes/glass_large/iconify.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/iconify_glow.png b/kwin-styles/glow/themes/glass_large/iconify_glow.png
deleted file mode 100644
index 9daa831b..00000000
--- a/kwin-styles/glow/themes/glass_large/iconify_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/maximizeoff.png b/kwin-styles/glow/themes/glass_large/maximizeoff.png
deleted file mode 100644
index 40580530..00000000
--- a/kwin-styles/glow/themes/glass_large/maximizeoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/maximizeoff_glow.png b/kwin-styles/glow/themes/glass_large/maximizeoff_glow.png
deleted file mode 100644
index 164aadbf..00000000
--- a/kwin-styles/glow/themes/glass_large/maximizeoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/maximizeon.png b/kwin-styles/glow/themes/glass_large/maximizeon.png
deleted file mode 100644
index 34e9425a..00000000
--- a/kwin-styles/glow/themes/glass_large/maximizeon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/maximizeon_glow.png b/kwin-styles/glow/themes/glass_large/maximizeon_glow.png
deleted file mode 100644
index 6038c045..00000000
--- a/kwin-styles/glow/themes/glass_large/maximizeon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/stickyoff.png b/kwin-styles/glow/themes/glass_large/stickyoff.png
deleted file mode 100644
index a29cde1a..00000000
--- a/kwin-styles/glow/themes/glass_large/stickyoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/stickyoff_glow.png b/kwin-styles/glow/themes/glass_large/stickyoff_glow.png
deleted file mode 100644
index 76c4781e..00000000
--- a/kwin-styles/glow/themes/glass_large/stickyoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/stickyon.png b/kwin-styles/glow/themes/glass_large/stickyon.png
deleted file mode 100644
index c805faf4..00000000
--- a/kwin-styles/glow/themes/glass_large/stickyon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_large/stickyon_glow.png b/kwin-styles/glow/themes/glass_large/stickyon_glow.png
deleted file mode 100644
index 7a6b9ec4..00000000
--- a/kwin-styles/glow/themes/glass_large/stickyon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/CMakeLists.txt b/kwin-styles/glow/themes/glass_verylarge/CMakeLists.txt
deleted file mode 100644
index 5fd50a91..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-install( FILES
- background.png
- help.png help_glow.png
- close.png close_glow.png
- iconify.png iconify_glow.png
- maximizeoff.png maximizeoff_glow.png
- maximizeon.png maximizeon_glow.png
- stickyon.png stickyon_glow.png
- stickyoff.png stickyoff_glow.png
- glass_verylarge.theme
- DESTINATION ${DATA_INSTALL_DIR}/twin/glow-themes/glass_verylarge )
diff --git a/kwin-styles/glow/themes/glass_verylarge/Makefile.am b/kwin-styles/glow/themes/glass_verylarge/Makefile.am
deleted file mode 100644
index ab67c5db..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-linkdir = $(kde_datadir)/twin/glow-themes/glass_verylarge
-link_DATA = \
-background.png \
-help.png help_glow.png \
-close.png close_glow.png \
-iconify.png iconify_glow.png \
-maximizeoff.png maximizeoff_glow.png \
-maximizeon.png maximizeon_glow.png \
-stickyon.png stickyon_glow.png \
-stickyoff.png stickyoff_glow.png \
-glass_verylarge.theme
-
-EXTRA_DIST = $(link_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/glow/themes/glass_verylarge/background.png b/kwin-styles/glow/themes/glass_verylarge/background.png
deleted file mode 100644
index ed032232..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/background.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/close.png b/kwin-styles/glow/themes/glass_verylarge/close.png
deleted file mode 100644
index 15dc4b50..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/close.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/close_glow.png b/kwin-styles/glow/themes/glass_verylarge/close_glow.png
deleted file mode 100644
index 9207e37e..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/close_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/glass_verylarge.theme b/kwin-styles/glow/themes/glass_verylarge/glass_verylarge.theme
deleted file mode 100644
index 36368a8d..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/glass_verylarge.theme
+++ /dev/null
@@ -1,19 +0,0 @@
-buttonSize=30,30
-
-backgroundPixmap=background.png
-
-stickyOnPixmap=stickyon.png
-stickyOffPixmap=stickyoff.png
-maximizeOnPixmap=maximizeon.png
-maximizeOffPixmap=maximizeoff.png
-helpPixmap=help.png
-closePixmap=close.png
-iconifyPixmap=iconify.png
-
-stickyOnGlowPixmap=stickyon_glow.png
-stickyOffGlowPixmap=stickyoff_glow.png
-maximizeOnGlowPixmap=maximizeon_glow.png
-maximizeOffGlowPixmap=maximizeoff_glow.png
-helpGlowPixmap=help_glow.png
-closeGlowPixmap=close_glow.png
-iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/glass_verylarge/help.png b/kwin-styles/glow/themes/glass_verylarge/help.png
deleted file mode 100644
index 3a2d0c9d..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/help.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/help_glow.png b/kwin-styles/glow/themes/glass_verylarge/help_glow.png
deleted file mode 100644
index 29e6edf9..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/help_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/iconify.png b/kwin-styles/glow/themes/glass_verylarge/iconify.png
deleted file mode 100644
index 2d760e3d..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/iconify.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/iconify_glow.png b/kwin-styles/glow/themes/glass_verylarge/iconify_glow.png
deleted file mode 100644
index 01f474e5..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/iconify_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/maximizeoff.png b/kwin-styles/glow/themes/glass_verylarge/maximizeoff.png
deleted file mode 100644
index 4224aa05..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/maximizeoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/maximizeoff_glow.png b/kwin-styles/glow/themes/glass_verylarge/maximizeoff_glow.png
deleted file mode 100644
index 9327994a..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/maximizeoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/maximizeon.png b/kwin-styles/glow/themes/glass_verylarge/maximizeon.png
deleted file mode 100644
index 2d90482f..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/maximizeon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/maximizeon_glow.png b/kwin-styles/glow/themes/glass_verylarge/maximizeon_glow.png
deleted file mode 100644
index 3b9a6bf4..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/maximizeon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/stickyoff.png b/kwin-styles/glow/themes/glass_verylarge/stickyoff.png
deleted file mode 100644
index a2c26583..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/stickyoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/stickyoff_glow.png b/kwin-styles/glow/themes/glass_verylarge/stickyoff_glow.png
deleted file mode 100644
index c6e57e21..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/stickyoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/stickyon.png b/kwin-styles/glow/themes/glass_verylarge/stickyon.png
deleted file mode 100644
index 56cde081..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/stickyon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/glass_verylarge/stickyon_glow.png b/kwin-styles/glow/themes/glass_verylarge/stickyon_glow.png
deleted file mode 100644
index f3778479..00000000
--- a/kwin-styles/glow/themes/glass_verylarge/stickyon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/CMakeLists.txt b/kwin-styles/glow/themes/square/CMakeLists.txt
deleted file mode 100644
index 0343fa2a..00000000
--- a/kwin-styles/glow/themes/square/CMakeLists.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-install( FILES
- background.png
- help.png help_glow.png
- close.png close_glow.png
- iconify.png iconify_glow.png
- maximizeoff.png maximizeoff_glow.png
- maximizeon.png maximizeon_glow.png
- stickyon.png stickyon_glow.png
- stickyoff.png stickyoff_glow.png
- square.theme
- DESTINATION ${DATA_INSTALL_DIR}/twin/glow-themes/square )
diff --git a/kwin-styles/glow/themes/square/Makefile.am b/kwin-styles/glow/themes/square/Makefile.am
deleted file mode 100644
index 01193d98..00000000
--- a/kwin-styles/glow/themes/square/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-linkdir = $(kde_datadir)/twin/glow-themes/square
-link_DATA = \
-background.png \
-help.png help_glow.png \
-close.png close_glow.png \
-iconify.png iconify_glow.png \
-maximizeoff.png maximizeoff_glow.png \
-maximizeon.png maximizeon_glow.png \
-stickyon.png stickyon_glow.png \
-stickyoff.png stickyoff_glow.png \
-square.theme
-
-EXTRA_DIST = $(link_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/glow/themes/square/background.png b/kwin-styles/glow/themes/square/background.png
deleted file mode 100644
index 225af3a5..00000000
--- a/kwin-styles/glow/themes/square/background.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/close.png b/kwin-styles/glow/themes/square/close.png
deleted file mode 100644
index 898a368a..00000000
--- a/kwin-styles/glow/themes/square/close.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/close_glow.png b/kwin-styles/glow/themes/square/close_glow.png
deleted file mode 100644
index 4cd1f1cb..00000000
--- a/kwin-styles/glow/themes/square/close_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/help.png b/kwin-styles/glow/themes/square/help.png
deleted file mode 100644
index c3ed65ee..00000000
--- a/kwin-styles/glow/themes/square/help.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/help_glow.png b/kwin-styles/glow/themes/square/help_glow.png
deleted file mode 100644
index 4cd1f1cb..00000000
--- a/kwin-styles/glow/themes/square/help_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/iconify.png b/kwin-styles/glow/themes/square/iconify.png
deleted file mode 100644
index 94fc6338..00000000
--- a/kwin-styles/glow/themes/square/iconify.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/iconify_glow.png b/kwin-styles/glow/themes/square/iconify_glow.png
deleted file mode 100644
index 4cd1f1cb..00000000
--- a/kwin-styles/glow/themes/square/iconify_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/maximizeoff.png b/kwin-styles/glow/themes/square/maximizeoff.png
deleted file mode 100644
index e60cdc97..00000000
--- a/kwin-styles/glow/themes/square/maximizeoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/maximizeoff_glow.png b/kwin-styles/glow/themes/square/maximizeoff_glow.png
deleted file mode 100644
index 4cd1f1cb..00000000
--- a/kwin-styles/glow/themes/square/maximizeoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/maximizeon.png b/kwin-styles/glow/themes/square/maximizeon.png
deleted file mode 100644
index 3976411f..00000000
--- a/kwin-styles/glow/themes/square/maximizeon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/maximizeon_glow.png b/kwin-styles/glow/themes/square/maximizeon_glow.png
deleted file mode 100644
index 4cd1f1cb..00000000
--- a/kwin-styles/glow/themes/square/maximizeon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/square.theme b/kwin-styles/glow/themes/square/square.theme
deleted file mode 100644
index 26f00feb..00000000
--- a/kwin-styles/glow/themes/square/square.theme
+++ /dev/null
@@ -1,19 +0,0 @@
-buttonSize=17,17
-
-backgroundPixmap=background.png
-
-stickyOnPixmap=stickyon.png
-stickyOffPixmap=stickyoff.png
-maximizeOnPixmap=maximizeon.png
-maximizeOffPixmap=maximizeoff.png
-helpPixmap=help.png
-closePixmap=close.png
-iconifyPixmap=iconify.png
-
-stickyOnGlowPixmap=stickyon_glow.png
-stickyOffGlowPixmap=stickyoff_glow.png
-maximizeOnGlowPixmap=maximizeon_glow.png
-maximizeOffGlowPixmap=maximizeoff_glow.png
-helpGlowPixmap=help_glow.png
-closeGlowPixmap=close_glow.png
-iconifyGlowPixmap=iconify_glow.png
diff --git a/kwin-styles/glow/themes/square/stickyoff.png b/kwin-styles/glow/themes/square/stickyoff.png
deleted file mode 100644
index 3600e326..00000000
--- a/kwin-styles/glow/themes/square/stickyoff.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/stickyoff_glow.png b/kwin-styles/glow/themes/square/stickyoff_glow.png
deleted file mode 100644
index 4cd1f1cb..00000000
--- a/kwin-styles/glow/themes/square/stickyoff_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/stickyon.png b/kwin-styles/glow/themes/square/stickyon.png
deleted file mode 100644
index a84941a3..00000000
--- a/kwin-styles/glow/themes/square/stickyon.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/glow/themes/square/stickyon_glow.png b/kwin-styles/glow/themes/square/stickyon_glow.png
deleted file mode 100644
index 4cd1f1cb..00000000
--- a/kwin-styles/glow/themes/square/stickyon_glow.png
+++ /dev/null
Binary files differ
diff --git a/kwin-styles/icewm/CMakeLists.txt b/kwin-styles/icewm/CMakeLists.txt
deleted file mode 100644
index d59f42c9..00000000
--- a/kwin-styles/icewm/CMakeLists.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_subdirectory( config )
-add_subdirectory( icewm-themes )
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES icewm.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_icewm ###############################
-
-tde_add_kpart( twin3_icewm AUTOMOC
- SOURCES icewm.cpp
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/icewm/Makefile.am b/kwin-styles/icewm/Makefile.am
deleted file mode 100644
index e067c531..00000000
--- a/kwin-styles/icewm/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-INCLUDES = $(all_includes)
-
-SUBDIRS = . config icewm-themes
-
-kde_module_LTLIBRARIES = twin3_icewm.la
-
-twin3_icewm_la_SOURCES = icewm.cpp
-twin3_icewm_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin3_icewm_la_LIBADD = $(LIB_TDEUI) -ltdecorations
-
-METASOURCES = AUTO
-noinst_HEADERS = icewm.h
-
-lnkdir = $(kde_datadir)/twin/
-lnk_DATA = icewm.desktop
-
-EXTRA_DIST = $(lnk_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/icewm/config/CMakeLists.txt b/kwin-styles/icewm/config/CMakeLists.txt
deleted file mode 100644
index 9e2e118d..00000000
--- a/kwin-styles/icewm/config/CMakeLists.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### twin_icewm_config (module) ################
-
-tde_add_kpart( twin_icewm_config AUTOMOC
- SOURCES config.cpp
- LINK tdeui-shared kio-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/icewm/config/Makefile.am b/kwin-styles/icewm/config/Makefile.am
deleted file mode 100644
index ca2d2552..00000000
--- a/kwin-styles/icewm/config/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-INCLUDES = $(all_includes)
-
-kde_module_LTLIBRARIES = twin_icewm_config.la
-
-twin_icewm_config_la_SOURCES = config.cpp
-twin_icewm_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin_icewm_config_la_LIBADD = $(LIB_TDEUI) $(LIB_KIO)
-
-METASOURCES = AUTO
-noinst_HEADERS = config.h
-
-lnkdir = $(kde_datadir)/twin/
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/icewm/config/config.cpp b/kwin-styles/icewm/config/config.cpp
deleted file mode 100644
index a0a2a8db..00000000
--- a/kwin-styles/icewm/config/config.cpp
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * $Id$
- *
- * This file contains the IceWM configuration widget
- *
- * Copyright (c) 2001
- * Karol Szwed <gallium@kde.org>
- * http://gallium.n3.net/
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#include "config.h"
-#include <tqdir.h>
-#include <tqregexp.h>
-#include <tqvbox.h>
-#include <tqwhatsthis.h>
-#include <kglobal.h>
-#include <klocale.h>
-#include <kstandarddirs.h>
-#include <kdialog.h>
-#include <kdirwatch.h>
-#include <kapplication.h>
-
-
-extern "C"
-{
- KDE_EXPORT TQObject* allocate_config( KConfig* conf, TQWidget* parent )
- {
- return(new IceWMConfig(conf, parent));
- }
-}
-
-
-// NOTE:
-// ==========================================================================
-// 'conf' is a pointer to the twindecoration modules open twin config,
-// and is by default set to the "Style" group.
-//
-// 'parent' is the parent of the TQObject, which is a VBox inside the
-// Configure tab in twindecoration
-// ==========================================================================
-
-IceWMConfig::IceWMConfig( KConfig* conf, TQWidget* parent )
- : TQObject( parent )
-{
- icewmConfig = new KConfig("twinicewmrc");
- KGlobal::locale()->insertCatalogue("twin_art_clients");
-
- mainWidget = new TQVBox( parent );
- mainWidget->setSpacing( KDialog::spacingHint() );
-
- themeListBox = new TQListBox( mainWidget );
- TQWhatsThis::add( themeListBox,
- i18n("Make your IceWM selection by clicking on a theme here. ") );
-
- cbThemeTitleTextColors = new TQCheckBox(
- i18n("Use theme &title text colors"), mainWidget );
-
- TQWhatsThis::add( cbThemeTitleTextColors,
- i18n("When selected, titlebar colors will follow those set "
- "in the IceWM theme. If not selected, the current KDE "
- "titlebar colors will be used instead.") );
-
- cbTitleBarOnTop = new TQCheckBox(
- i18n("&Show title bar on top of windows"), mainWidget );
-
- TQWhatsThis::add( cbTitleBarOnTop,
- i18n("When selected, all window titlebars will be shown "
- "at the top of each window, otherwise they will be "
- "shown at the bottom.") );
-
- cbShowMenuButtonIcon = new TQCheckBox(
- i18n("&Menu button always shows application mini icon"), mainWidget );
-
- TQWhatsThis::add( cbShowMenuButtonIcon,
- i18n("When selected, all titlebar menu buttons will have "
- "the application icon shown. If not selected, the current "
- "theme's defaults are used instead.") );
-
- urlLabel = new KURLLabel( mainWidget );
- urlLabel->setText( i18n("Open KDE's IceWM theme folder") );
-
- themeLabel = new TQLabel(
- i18n("Clicking on the link above will cause a window to appear "
- "showing the KDE IceWM theme folder. You can "
- "add or remove native IceWM themes by "
- "uncompressing <b>http://icewm.themes.org/</b> theme files "
- "into this folder, or by creating folder symlinks to "
- "existing IceWM themes on your system."), mainWidget );
-
- // Load configuration options
- load( conf );
-
- // Ensure we track user changes properly
- connect( themeListBox, TQT_SIGNAL(selectionChanged()),
- this, TQT_SLOT(slotSelectionChanged()) );
-
- connect( urlLabel, TQT_SIGNAL(leftClickedURL(const TQString&)),
- this, TQT_SLOT(callURL(const TQString&)));
-
- connect( cbThemeTitleTextColors, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotSelectionChanged()) );
-
- connect( cbTitleBarOnTop, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotSelectionChanged()) );
-
- connect( cbShowMenuButtonIcon, TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotSelectionChanged()) );
-
- // Create the theme directory (if not found) ... and obtain the path as we do so.
- localThemeString = KGlobal::dirs()->saveLocation("data", "twin");
- localThemeString += "/icewm-themes";
- if (!TQFile::exists(localThemeString))
- TQDir().mkdir(localThemeString);
-
- // Watch the icewm theme directory for theme additions/removals
- KDirWatch::self()->addDir(localThemeString);
- connect( KDirWatch::self(), TQT_SIGNAL(dirty(const TQString&)), this, TQT_SLOT(findIceWMThemes()) );
- connect( KDirWatch::self(), TQT_SIGNAL(created(const TQString&)), this, TQT_SLOT(findIceWMThemes()) );
- connect( KDirWatch::self(), TQT_SIGNAL(deleted(const TQString&)), this, TQT_SLOT(findIceWMThemes()) );
-
- // Set the konqui link url
- TQString urlThemeString = TQString("file://") + localThemeString;
- urlThemeString.replace( TQRegExp("~"), "$HOME" );
- urlLabel->setURL( urlThemeString );
-
- // Make the widgets visible in twindecoration
- mainWidget->show();
-
- KDirWatch::self()->startScan();
-}
-
-
-IceWMConfig::~IceWMConfig()
-{
- KDirWatch::self()->removeDir(localThemeString);
- KDirWatch::self()->stopScan();
- delete icewmConfig;
- delete mainWidget;
-}
-
-
-// Searches for all installed IceWM themes, and adds them to the listBox.
-void IceWMConfig::findIceWMThemes()
-{
- TQStringList dirList = KGlobal::dirs()->findDirs("data", "twin/icewm-themes");
- TQStringList::ConstIterator it;
-
- // Remove any old themes in the list (if any)
- themeListBox->clear();
- themeListBox->insertItem( i18n("Infadel #2 (default)") );
-
- // Step through all twin/icewm-themes directories...
- for( it = dirList.begin(); it != dirList.end(); it++)
- {
- // List all directory names only...
- TQDir d(*it, TQString("*"), TQDir::Unsorted, TQDir::Dirs | TQDir::Readable );
- if (d.exists())
- {
- TQFileInfoListIterator it2( *d.entryInfoList() );
- TQFileInfo* finfo;
-
- // Step through all directories within the twin/icewm-themes directory
- while( (finfo = it2.current()) )
- {
- // Ignore . and .. directories
- if ( (finfo->fileName() == ".") || (finfo->fileName() == "..") )
- {
- ++it2;
- continue;
- }
-
- if ( !themeListBox->findItem( finfo->fileName()) )
- themeListBox->insertItem( finfo->fileName() );
-
- ++it2;
- }
- }
- }
-
- // Sort the items
- themeListBox->sort();
-
- // Select the currently used IceWM theme
- TQString themeName = icewmConfig->readEntry("CurrentTheme");
-
- // Provide a theme alias
- if (themeName == "default")
- themeName = "";
-
- if (themeName.isEmpty())
- themeListBox->setCurrentItem(
- themeListBox->findItem( i18n("Infadel #2 (default)") ) );
- else
- themeListBox->setCurrentItem( themeListBox->findItem(themeName) );
-}
-
-
-void IceWMConfig::callURL( const TQString& s )
-{
- kapp->invokeBrowser( s );
-}
-
-
-void IceWMConfig::slotSelectionChanged()
-{
- emit changed();
-}
-
-
-// Loads the configurable options from the twinicewmrc config file
-void IceWMConfig::load( KConfig* )
-{
- icewmConfig->setGroup("General");
-
- bool override = icewmConfig->readBoolEntry( "ThemeTitleTextColors", true );
- cbThemeTitleTextColors->setChecked( override );
-
- override = icewmConfig->readBoolEntry( "TitleBarOnTop", true );
- cbTitleBarOnTop->setChecked( override );
-
- override = icewmConfig->readBoolEntry( "ShowMenuButtonIcon", false );
- cbShowMenuButtonIcon->setChecked( override );
-
- findIceWMThemes();
-}
-
-
-// Saves the configurable options to the twinicewmrc config file
-void IceWMConfig::save( KConfig* )
-{
- icewmConfig->setGroup("General");
- icewmConfig->writeEntry( "ThemeTitleTextColors", cbThemeTitleTextColors->isChecked() );
- icewmConfig->writeEntry( "TitleBarOnTop", cbTitleBarOnTop->isChecked() );
- icewmConfig->writeEntry( "ShowMenuButtonIcon", cbShowMenuButtonIcon->isChecked() );
-
- if (themeListBox->currentText() == i18n("Infadel #2 (default)"))
- icewmConfig->writeEntry("CurrentTheme", "default");
- else
- icewmConfig->writeEntry("CurrentTheme", themeListBox->currentText() );
-
- icewmConfig->sync();
-}
-
-
-// Sets UI widget defaults which must correspond to config defaults
-void IceWMConfig::defaults()
-{
- cbThemeTitleTextColors->setChecked( true );
- cbTitleBarOnTop->setChecked( true );
- cbShowMenuButtonIcon->setChecked( false );
- themeListBox->setCurrentItem( themeListBox->findItem(i18n("Infadel #2 (default)")) );
-}
-
-#include "config.moc"
-// vim: ts=4
diff --git a/kwin-styles/icewm/config/config.h b/kwin-styles/icewm/config/config.h
deleted file mode 100644
index c9c5b2d0..00000000
--- a/kwin-styles/icewm/config/config.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * $Id$
- *
- * This file contains the IceWM configuration widget
- *
- * Copyright (c) 2001
- * Karol Szwed <gallium@kde.org>
- * http://gallium.n3.net/
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef _ICEWMCONFIG_H
-#define _ICEWMCONFIG_H
-
-#include <tqwidget.h>
-#include <tqcheckbox.h>
-#include <tqgroupbox.h>
-#include <tqlistbox.h>
-#include <tqlabel.h>
-#include <kurllabel.h>
-#include <kconfig.h>
-
-class TQVBox;
-
-class IceWMConfig: public TQObject
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
- IceWMConfig( KConfig* conf, TQWidget* parent );
- ~IceWMConfig();
-
- // These public signals/slots work similar to KCM modules
- signals:
- void changed();
-
- public slots:
- void load( KConfig* conf );
- void save( KConfig* conf );
- void defaults();
-
- protected slots:
- void slotSelectionChanged(); // Internal use
- void callURL( const TQString& s );
- void findIceWMThemes();
-
- private:
- KConfig* icewmConfig;
- TQCheckBox* cbThemeTitleTextColors;
- TQCheckBox* cbTitleBarOnTop;
- TQCheckBox* cbShowMenuButtonIcon;
- TQListBox* themeListBox;
- TQLabel* themeLabel;
- KURLLabel* urlLabel;
- TQString localThemeString;
- TQVBox* mainWidget;
-};
-
-
-#endif
-// vim: ts=4
diff --git a/kwin-styles/icewm/icewm-themes/CMakeLists.txt b/kwin-styles/icewm/icewm-themes/CMakeLists.txt
deleted file mode 100644
index 367553ab..00000000
--- a/kwin-styles/icewm/icewm-themes/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-install( FILES
- titleAB.xpm titleAJ.xpm titleAM.xpm titleAP.xpm titleAQ.xpm
- titleAR.xpm titleAS.xpm titleAT.xpm titleIB.xpm titleIJ.xpm
- titleIM.xpm titleIQ.xpm titleIR.xpm titleIS.xpm titleIT.xpm
- titleIP.xpm closeA.xpm closeI.xpm depthA.xpm depthI.xpm
- maximizeA.xpm maximizeI.xpm menuButtonA.xpm menuButtonI.xpm
- minimizeA.xpm minimizeI.xpm restoreA.xpm restoreI.xpm
- rolldownA.xpm rolldownI.xpm rollupA.xpm rollupI.xpm
- default.theme
- DESTINATION ${DATA_INSTALL_DIR}/twin/icewm-themes )
diff --git a/kwin-styles/icewm/icewm-themes/Makefile.am b/kwin-styles/icewm/icewm-themes/Makefile.am
deleted file mode 100644
index dcd5463a..00000000
--- a/kwin-styles/icewm/icewm-themes/Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
-pics_DATA = titleAB.xpm titleAJ.xpm titleAM.xpm titleAP.xpm titleAQ.xpm \
- titleAR.xpm titleAS.xpm titleAT.xpm titleIB.xpm titleIJ.xpm \
- titleIM.xpm titleIQ.xpm titleIR.xpm titleIS.xpm titleIT.xpm \
- titleIP.xpm closeA.xpm closeI.xpm depthA.xpm depthI.xpm \
- maximizeA.xpm maximizeI.xpm menuButtonA.xpm menuButtonI.xpm \
- minimizeA.xpm minimizeI.xpm restoreA.xpm restoreI.xpm \
- rolldownA.xpm rolldownI.xpm rollupA.xpm rollupI.xpm \
- default.theme
-
-picsdir = $(kde_datadir)/twin/icewm-themes
-
-
diff --git a/kwin-styles/icewm/icewm-themes/closeA.xpm b/kwin-styles/icewm/icewm-themes/closeA.xpm
deleted file mode 100644
index cc202bcd..00000000
--- a/kwin-styles/icewm/icewm-themes/closeA.xpm
+++ /dev/null
@@ -1,69 +0,0 @@
-/* XPM */
-static char * closeA_xpm[] = {
-"15 34 32 1",
-" c None",
-". c #858686",
-"+ c #9A9A9A",
-"@ c #AEAEAE",
-"# c #5D5D5E",
-"$ c #111214",
-"% c #040404",
-"& c #C2C2C2",
-"* c #181C22",
-"= c #2D333D",
-"- c #56657A",
-"; c #58667E",
-"> c #5D6E86",
-", c #D6D6D6",
-"' c #1D2632",
-") c #4A4A4A",
-"! c #6E809C",
-"~ c #EAEAEA",
-"{ c #717273",
-"] c #232D3A",
-"^ c #4D5868",
-"/ c #798EAA",
-"( c #7E96B6",
-"_ c #C7CDD4",
-": c #FEFEFE",
-"< c #8CA3C5",
-"[ c #435165",
-"} c #3C4553",
-"| c #323F4F",
-"1 c #0D0E13",
-"2 c #363636",
-"3 c #677B98",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/(/_>^]{~",
-":*)^>!(<'!_^[*:",
-"~%}^>!/*/_>^}%~",
-",%}[->*!,>;^}%,",
-"&%|[^$>_>;^}=%&",
-"@$]|1[&^^^}|]$@",
-"+)$]|&}[)||=$)+",
-"..**']=|=]]**..",
-"{{{$1*'''*1${{{",
-"####=%%%%1=####",
-")))))))))))))))",
-"2222222=2222222",
-"...............",
-"+++++++++++++++",
-"@@@@)1%%%$)@@@@",
-"&&&*'})[)}]*&&&",
-",,*=)[^-^^}2*,,",
-"~{'}[^;>;-[}'{~",
-":$=}[^>31+[|=*:",
-"~%=}[^;$;^+|=%~",
-",%]|}^1-^+}|]%,",
-"&%'2|1[[/)|2'%&",
-"@1']%|}.}|2]'1@",
-"+)1']=.==]]'1)+",
-"..$$*.]]''*$1..",
-"{{{11$***$1${{{",
-"####]%%%%%]####",
-")))))))))))))))",
-"222222222222222"};
diff --git a/kwin-styles/icewm/icewm-themes/closeI.xpm b/kwin-styles/icewm/icewm-themes/closeI.xpm
deleted file mode 100644
index 4529b06f..00000000
--- a/kwin-styles/icewm/icewm-themes/closeI.xpm
+++ /dev/null
@@ -1,69 +0,0 @@
-/* XPM */
-static char * closeI_xpm[] = {
-"15 34 32 1",
-" g None",
-". g #858585",
-"+ g #9A9A9A",
-"@ g #AEAEAE",
-"# g #5D5D5D",
-"$ g #111111",
-"% g #040404",
-"& g #C2C2C2",
-"* g #1B1B1B",
-"= g #323232",
-"- g #626262",
-"; g #646464",
-"> g #6B6B6B",
-", g #D6D6D6",
-"' g #242424",
-") g #4A4A4A",
-"! g #7D7D7D",
-"~ g #EAEAEA",
-"{ g #717171",
-"] g #2B2B2B",
-"^ g #565656",
-"/ g #8A8A8A",
-"( g #929292",
-"_ g #CBCBCB",
-": g #FEFEFE",
-"< g #9F9F9F",
-"[ g #4F4F4F",
-"} g #434343",
-"| g #3C3C3C",
-"1 g #0E0E0E",
-"2 g #363636",
-"3 g #787878",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/(/_>^]{~",
-":*)^>!(<'!_^[*:",
-"~%}^>!/*/_>^}%~",
-",%}[->*!,>;^}%,",
-"&%|[^$>_>;^}=%&",
-"@$]|1[&^^^}|]$@",
-"+)$]|&}[)||=$)+",
-"..**']=|=]]**..",
-"{{{$1*'''*1${{{",
-"####=%%%%1=####",
-")))))))))))))))",
-"2222222=2222222",
-"...............",
-"+++++++++++++++",
-"@@@@)1%%%$)@@@@",
-"&&&*'})[)}]*&&&",
-",,*=)[^-^^}2*,,",
-"~{'}[^;>;-[}'{~",
-":$=}[^>31+[|=*:",
-"~%=}[^;$;^+|=%~",
-",%]|}^1-^+}|]%,",
-"&%'2|1[[/)|2'%&",
-"@1']%|}.}|2]'1@",
-"+)1']=.==]]'1)+",
-"..$$*.]]''*$1..",
-"{{{11$***$1${{{",
-"####]%%%%%]####",
-")))))))))))))))",
-"222222222222222"};
diff --git a/kwin-styles/icewm/icewm-themes/default.theme b/kwin-styles/icewm/icewm-themes/default.theme
deleted file mode 100644
index 945a3824..00000000
--- a/kwin-styles/icewm/icewm-themes/default.theme
+++ /dev/null
@@ -1,48 +0,0 @@
-# Xerithane:
-#
-# Well, Artwiz inspired me (dirty lil blackbox user <g>)
-# So, I ripped his font (snap.pcf), and then got the chrome style idea and
-# adapted the theme as a rip of the e.t.o page (get it, Infadel..)
-# Some of the borrowed style is from Area 51 (by RudeSka, herald of #icewm)
-# Also borrowed are some icons from Area 51.
-#
-# tbf:
-#
-# Extended Artwiz's snap font, added cursors, polished the applets.
-# Invented depth, hide, rollup and rolldown buttons. Redraw the others.
-# Reduced number of colors.
-
-# closeI.xpm depthI.xpm maximizeI.xpm minimizeI.xpm restoreI.xpm hideI.xpm
-# rollupI.xpm rolldownI.xpm menuButtonI.xpm
-# closeA.xpm depthA.xpm maximizeA.xpm minimizeA.xpm restoreA.xpm hideA.xpm
-# rollupA.xpm rolldownA.xpm menuButtonA.xpm
-
-# PLEASE NOTE:
-# ============
-# Heavily modified by gallium for the purposes of twin-icewm.
-# Please do not use this for icewm. Use the original icewm Infadel #2 instead.
-# The full Infadel #2 theme will still work with twin-icewm as well, but
-# this trimmed version is included here for space reasons.
-
-ThemeDescription="Infadel/1.0.7(twin)"
-ThemeAuthor="xerithane@nerdfarm.org"
-Look=pixmap
-
-TitleButtonsLeft="s"
-TitleButtonsRight="xmi"
-TitleButtonsSupported="sxmihrd"
-TitleBarCentered=1
-TitleBarHeight=17
-
-# Modified border sizes so they're more user "grip" friendly
-BorderSizeX=3
-BorderSizeY=3
-CornerSizeX=28
-CornerSizeY=28
-
-ColorNormalTitleBarText="#c0c0c0"
-ColorActiveTitleBarText="#ffffff"
-ColorActiveBorder="#868687"
-ColorNormalBorder="#575757"
-
-ShowMenuButtonIcon=0
diff --git a/kwin-styles/icewm/icewm-themes/depthA.xpm b/kwin-styles/icewm/icewm-themes/depthA.xpm
deleted file mode 100644
index 67a2e1e6..00000000
--- a/kwin-styles/icewm/icewm-themes/depthA.xpm
+++ /dev/null
@@ -1,69 +0,0 @@
-/* XPM */
-static char * depthA_xpm[] = {
-"15 34 32 1",
-" c None",
-". c #858686",
-"+ c #9A9A9A",
-"@ c #AEAEAE",
-"# c #363636",
-"$ c #0D0E13",
-"% c #040404",
-"& c #C2C2C2",
-"* c #4A4A4A",
-"= c #2D333D",
-"- c #56657A",
-"; c #5D6E86",
-"> c #D6D6D6",
-", c #4D5868",
-"' c #677B98",
-") c #6E809C",
-"! c #58667E",
-"~ c #EAEAEA",
-"{ c #232D3A",
-"] c #798EAA",
-"^ c #7E96B6",
-"/ c #FEFEFE",
-"( c #3C4553",
-"_ c #8CA3C5",
-": c #111214",
-"< c #323F4F",
-"[ c #435165",
-"} c #C7CDD4",
-"| c #717273",
-"1 c #181C22",
-"2 c #1D2632",
-"3 c #5D5D5E",
-"...............",
-"+++++++++++++++",
-"@@@@.#$%$#.@@@@",
-"&&&*=-;;;-=*&&&",
-">>,*-;')';!*,>>",
-"~@{,;)]^]);,{@~",
-"/*(-;)^_^);,(,/",
-"~:(,;)<(<);,*:~",
-">%([!=)))}![(%>",
-"&:=*[-}}&-,[=$&",
-"@#=<*[,-,[(<{#@",
-"+|:{<(((*(<=:|+",
-"..#1{=<==={1#..",
-"|||{$12221$=|||",
-"3333(1%%%1(3333",
-"***************",
-"###############",
-"...............",
-"+++++++++++++++",
-"@@@@|{$%%=|@@@@",
-"&&&(2**[[(2(&&&",
-">>*=([,3,,*#*>>",
-"~+1([3!;!,[(2+~",
-"/(#([,;'!-[(#(/",
-"~:=([,{={,[<=:~",
-">%{<(2,-,+(<=%>",
-"&$2#((^+.[<=2$&",
-"@=2{=#<<(<#{1=@",
-"+3$2{===={{2$!+",
-"..=:122{221:=..",
-"|||{%1111:$2|||",
-"3333#1%%%:*3333",
-"***************",
-"###############"};
diff --git a/kwin-styles/icewm/icewm-themes/depthI.xpm b/kwin-styles/icewm/icewm-themes/depthI.xpm
deleted file mode 100644
index e4fe17a9..00000000
--- a/kwin-styles/icewm/icewm-themes/depthI.xpm
+++ /dev/null
@@ -1,69 +0,0 @@
-/* XPM */
-static char * depthI_xpm[] = {
-"15 34 32 1",
-" g None",
-". g #858585",
-"+ g #9A9A9A",
-"@ g #AEAEAE",
-"# g #363636",
-"$ g #0E0E0E",
-"% g #040404",
-"& g #C2C2C2",
-"* g #4A4A4A",
-"= g #323232",
-"- g #626262",
-"; g #6B6B6B",
-"> g #D6D6D6",
-", g #565656",
-"' g #787878",
-") g #7D7D7D",
-"! g #646464",
-"~ g #EAEAEA",
-"{ g #2B2B2B",
-"] g #8A8A8A",
-"^ g #929292",
-"/ g #FEFEFE",
-"( g #434343",
-"_ g #9F9F9F",
-": g #111111",
-"< g #3C3C3C",
-"[ g #4F4F4F",
-"} g #CBCBCB",
-"| g #717171",
-"1 g #1B1B1B",
-"2 g #242424",
-"3 g #5D5D5D",
-"...............",
-"+++++++++++++++",
-"@@@@.#$%$#.@@@@",
-"&&&*=-;;;-=*&&&",
-">>,*-;')';!*,>>",
-"~@{,;)]^]);,{@~",
-"/*(-;)^_^);,(,/",
-"~:(,;)<(<);,*:~",
-">%([!=)))}![(%>",
-"&:=*[-}}&-,[=$&",
-"@#=<*[,-,[(<{#@",
-"+|:{<(((*(<=:|+",
-"..#1{=<==={1#..",
-"|||{$12221$=|||",
-"3333(1%%%1(3333",
-"***************",
-"###############",
-"...............",
-"+++++++++++++++",
-"@@@@|{$%%=|@@@@",
-"&&&(2**[[(2(&&&",
-">>*=([,3,,*#*>>",
-"~+1([3!;!,[(2+~",
-"/(#([,;'!-[(#(/",
-"~:=([,{={,[<=:~",
-">%{<(2,-,+(<=%>",
-"&$2#((^+.[<=2$&",
-"@=2{=#<<(<#{1=@",
-"+3$2{===={{2$!+",
-"..=:122{221:=..",
-"|||{%1111:$2|||",
-"3333#1%%%:*3333",
-"***************",
-"###############"};
diff --git a/kwin-styles/icewm/icewm-themes/maximizeA.xpm b/kwin-styles/icewm/icewm-themes/maximizeA.xpm
deleted file mode 100644
index c34304dc..00000000
--- a/kwin-styles/icewm/icewm-themes/maximizeA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * maximizeA_xpm[] = {
-"15 34 31 1",
-" c None",
-". c #858686",
-"+ c #9A9A9A",
-"@ c #AEAEAE",
-"# c #5D5D5E",
-"$ c #111214",
-"% c #040404",
-"& c #C2C2C2",
-"* c #181C22",
-"= c #2D333D",
-"- c #56657A",
-"; c #58667E",
-"> c #5D6E86",
-", c #D6D6D6",
-"' c #1D2632",
-") c #4A4A4A",
-"! c #6E809C",
-"~ c #EAEAEA",
-"{ c #717273",
-"] c #232D3A",
-"^ c #4D5868",
-"/ c #798EAA",
-"( c #7E96B6",
-"_ c #FEFEFE",
-": c #7A91B1",
-"< c #3C4553",
-"[ c #435165",
-"} c #C7CDD4",
-"| c #323F4F",
-"1 c #0D0E13",
-"2 c #363636",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/(/!>^]{~",
-"_*)^>!(~:!>-)*_",
-"~%<^>!,@,!>^<%~",
-",%<[-}@@@};^|%,",
-"&%|[^%%%%%^<|%&",
-"@$]|<^^^^^<|]$@",
-"+)$]|<<[<<|]$)+",
-"..**'==|=]]**..",
-"{{{$1*'''*1${{{",
-"####=%%%%1=####",
-")))))))))))))))",
-"222222222222222",
-"...............",
-"+++++++++++++++",
-"@@@@)1%%%$)@@@@",
-"&&&*'<)[)['*}&&",
-",,*2<^^^^[<2*,,",
-"~{'<[^>>;-)<*{~",
-"_$=|[->+;-[<2*_",
-"~%=<[^+.+^[|=%~",
-",%]|<+.!!+<|]%,",
-"&%'=|%%%%%|2'%&",
-"@1']=||<||2]'1@",
-"+)1']==2=]]'1)+",
-"..$1*'''''*$1..",
-"{{{11$***$1${{{",
-"####]%%%%%]####",
-")))))))))))))))",
-"222222222222222"};
diff --git a/kwin-styles/icewm/icewm-themes/maximizeI.xpm b/kwin-styles/icewm/icewm-themes/maximizeI.xpm
deleted file mode 100644
index d857672b..00000000
--- a/kwin-styles/icewm/icewm-themes/maximizeI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * maximizeI_xpm[] = {
-"15 34 31 1",
-" g None",
-". g #858585",
-"+ g #9A9A9A",
-"@ g #AEAEAE",
-"# g #5D5D5D",
-"$ g #111111",
-"% g #040404",
-"& g #C2C2C2",
-"* g #1B1B1B",
-"= g #323232",
-"- g #626262",
-"; g #646464",
-"> g #6B6B6B",
-", g #D6D6D6",
-"' g #242424",
-") g #4A4A4A",
-"! g #7D7D7D",
-"~ g #EAEAEA",
-"{ g #717171",
-"] g #2B2B2B",
-"^ g #565656",
-"/ g #8A8A8A",
-"( g #929292",
-"_ g #FEFEFE",
-": g #8D8D8D",
-"< g #434343",
-"[ g #4F4F4F",
-"} g #CBCBCB",
-"| g #3C3C3C",
-"1 g #0E0E0E",
-"2 g #363636",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/(/!>^]{~",
-"_*)^>!(~:!>-)*_",
-"~%<^>!,@,!>^<%~",
-",%<[-}@@@};^|%,",
-"&%|[^%%%%%^<|%&",
-"@$]|<^^^^^<|]$@",
-"+)$]|<<[<<|]$)+",
-"..**'==|=]]**..",
-"{{{$1*'''*1${{{",
-"####=%%%%1=####",
-")))))))))))))))",
-"222222222222222",
-"...............",
-"+++++++++++++++",
-"@@@@)1%%%$)@@@@",
-"&&&*'<)[)['*}&&",
-",,*2<^^^^[<2*,,",
-"~{'<[^>>;-)<*{~",
-"_$=|[->+;-[<2*_",
-"~%=<[^+.+^[|=%~",
-",%]|<+.!!+<|]%,",
-"&%'=|%%%%%|2'%&",
-"@1']=||<||2]'1@",
-"+)1']==2=]]'1)+",
-"..$1*'''''*$1..",
-"{{{11$***$1${{{",
-"####]%%%%%]####",
-")))))))))))))))",
-"222222222222222"};
diff --git a/kwin-styles/icewm/icewm-themes/menuButtonA.xpm b/kwin-styles/icewm/icewm-themes/menuButtonA.xpm
deleted file mode 100644
index e4b5e0ed..00000000
--- a/kwin-styles/icewm/icewm-themes/menuButtonA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * menuButtonA_xpm[] = {
-"17 34 31 1",
-" c None",
-". c #858686",
-"+ c #9A9A9A",
-"@ c #AEAEAE",
-"# c #363636",
-"$ c #0D0E13",
-"% c #040404",
-"& c #C2C2C2",
-"* c #4A4A4A",
-"= c #2D333D",
-"- c #56657A",
-"; c #5D6E86",
-"> c #D6D6D6",
-", c #4D5868",
-"' c #677B98",
-") c #6E809C",
-"! c #58667E",
-"~ c #EAEAEA",
-"{ c #232D3A",
-"] c #798EAA",
-"^ c #7E96B6",
-"/ c #FEFEFE",
-"( c #3C4553",
-"_ c #8CA3C5",
-": c #111214",
-"< c #435165",
-"[ c #323F4F",
-"} c #717273",
-"| c #181C22",
-"1 c #1D2632",
-"2 c #5D5D5E",
-".................",
-"+++++++++++++++++",
-"@@@@@.#$%$#.@@@@@",
-"&&&&*=-;;;-=*&&&&",
-">>>,*-;')';!*,>>>",
-"~~@{,;)]^]);,{@~~",
-"//*(-;)^_^);,(,//",
-"~~:(,;)]^]);,*:~~",
-">>%(<%%%%%%%<(%>>",
-"&&$=<@&&&&&@<=$&&",
-"@@#{[*<,,,,([=#@@",
-"++}|{[((<(([=:}++",
-"...#|{{=[={{|#...",
-"}}}}{$|111|$=}}}}",
-"22222(|%%$|(22222",
-"*****************",
-"#################",
-".................",
-"+++++++++++++++++",
-"@@@@@}{$%%=}@@@@@",
-"&&&&(1**<<(1(&&&&",
-">>>*=(<,-2<*#*>>>",
-"~~+|(<,-;-,<(1+~~",
-"//(#(<-;'!-<(#(//",
-"~~$=[*,!;-,<[=:~~",
-">>%{[%%%%%%%[{%>>",
-"&&$1#.]..]..#1$&&",
-"@@=1{=[((([#{1=@@",
-"++2$1{====={|$2++",
-"...{:|11{11|:=...",
-"}}}}{%:|||:$1}}}}",
-"22222(|%%%|(22222",
-"*****************",
-"#################"};
diff --git a/kwin-styles/icewm/icewm-themes/menuButtonI.xpm b/kwin-styles/icewm/icewm-themes/menuButtonI.xpm
deleted file mode 100644
index 854ea273..00000000
--- a/kwin-styles/icewm/icewm-themes/menuButtonI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * menuButtonI_xpm[] = {
-"17 34 31 1",
-" g None",
-". g #858585",
-"+ g #9A9A9A",
-"@ g #AEAEAE",
-"# g #363636",
-"$ g #0E0E0E",
-"% g #040404",
-"& g #C2C2C2",
-"* g #4A4A4A",
-"= g #323232",
-"- g #626262",
-"; g #6B6B6B",
-"> g #D6D6D6",
-", g #565656",
-"' g #787878",
-") g #7D7D7D",
-"! g #646464",
-"~ g #EAEAEA",
-"{ g #2B2B2B",
-"] g #8A8A8A",
-"^ g #929292",
-"/ g #FEFEFE",
-"( g #434343",
-"_ g #9F9F9F",
-": g #111111",
-"< g #4F4F4F",
-"[ g #3C3C3C",
-"} g #717171",
-"| g #1B1B1B",
-"1 g #242424",
-"2 g #5D5D5D",
-".................",
-"+++++++++++++++++",
-"@@@@@.#$%$#.@@@@@",
-"&&&&*=-;;;-=*&&&&",
-">>>,*-;')';!*,>>>",
-"~~@{,;)]^]);,{@~~",
-"//*(-;)^_^);,(,//",
-"~~:(,;)]^]);,*:~~",
-">>%(<%%%%%%%<(%>>",
-"&&$=<@&&&&&@<=$&&",
-"@@#{[*<,,,,([=#@@",
-"++}|{[((<(([=:}++",
-"...#|{{=[={{|#...",
-"}}}}{$|111|$=}}}}",
-"22222(|%%$|(22222",
-"*****************",
-"#################",
-".................",
-"+++++++++++++++++",
-"@@@@@}{$%%=}@@@@@",
-"&&&&(1**<<(1(&&&&",
-">>>*=(<,-2<*#*>>>",
-"~~+|(<,-;-,<(1+~~",
-"//(#(<-;'!-<(#(//",
-"~~$=[*,!;-,<[=:~~",
-">>%{[%%%%%%%[{%>>",
-"&&$1#.]..]..#1$&&",
-"@@=1{=[((([#{1=@@",
-"++2$1{====={|$2++",
-"...{:|11{11|:=...",
-"}}}}{%:|||:$1}}}}",
-"22222(|%%%|(22222",
-"*****************",
-"#################"};
diff --git a/kwin-styles/icewm/icewm-themes/minimizeA.xpm b/kwin-styles/icewm/icewm-themes/minimizeA.xpm
deleted file mode 100644
index bcbfa3a7..00000000
--- a/kwin-styles/icewm/icewm-themes/minimizeA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * minimizeA_xpm[] = {
-"15 34 31 1",
-" c None",
-". c #858686",
-"+ c #9A9A9A",
-"@ c #AEAEAE",
-"# c #5D5D5E",
-"$ c #111214",
-"% c #040404",
-"& c #C2C2C2",
-"* c #181C22",
-"= c #2D333D",
-"- c #56657A",
-"; c #58667E",
-"> c #5D6E86",
-", c #D6D6D6",
-"' c #1D2632",
-") c #4A4A4A",
-"! c #6E809C",
-"~ c #EAEAEA",
-"{ c #717273",
-"] c #232D3A",
-"^ c #4D5868",
-"/ c #798EAA",
-"( c #7E96B6",
-"_ c #FEFEFE",
-": c #8CA3C5",
-"< c #3C4553",
-"[ c #323F4F",
-"} c #0D0E13",
-"| c #435165",
-"1 c #363636",
-"2 c #677B98",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/(/!>^]{~",
-"_*)^>!(:(!>-)*_",
-"~%<^>,,,,,>^<%~",
-",%<^-%@@@%-^[%,",
-"&%[<^-}@%-^<[%&",
-"@}][<|^%^|<[]$@",
-"+|$][<<|<<[=$)+",
-"..**]==[=]]**..",
-"{{{$}*'''*}${{{",
-"####=%%%%}]####",
-")))))))))))))))",
-"111111111111111",
-"...............",
-"+++++++++++++++",
-"@@@@)}%%%}^@@@@",
-"&&&*'<)|)<'*&&&",
-",,*1||^-^|)1*,,",
-"~{*[|^;>;^|<'{~",
-"_*1<|->2>-|<=*_",
-"~%=[|+++++|[=%~",
-",%=[<%!.!%<[]%,",
-"&%'1[<%.%)[1'%&",
-"@}']11[%[[1]'}@",
-"+)}']==1==]'})+",
-"..}$*'''''*$}..",
-"{{{$}$**$$}}{{{",
-"####]%%%%}]####",
-")))))))))))))))",
-"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/minimizeI.xpm b/kwin-styles/icewm/icewm-themes/minimizeI.xpm
deleted file mode 100644
index e2e954a2..00000000
--- a/kwin-styles/icewm/icewm-themes/minimizeI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * minimizeI_xpm[] = {
-"15 34 31 1",
-" g None",
-". g #858585",
-"+ g #9A9A9A",
-"@ g #AEAEAE",
-"# g #5D5D5D",
-"$ g #111111",
-"% g #040404",
-"& g #C2C2C2",
-"* g #1B1B1B",
-"= g #323232",
-"- g #626262",
-"; g #646464",
-"> g #6B6B6B",
-", g #D6D6D6",
-"' g #242424",
-") g #4A4A4A",
-"! g #7D7D7D",
-"~ g #EAEAEA",
-"{ g #717171",
-"] g #2B2B2B",
-"^ g #565656",
-"/ g #8A8A8A",
-"( g #929292",
-"_ g #FEFEFE",
-": g #9F9F9F",
-"< g #434343",
-"[ g #3C3C3C",
-"} g #0E0E0E",
-"| g #4F4F4F",
-"1 g #363636",
-"2 g #787878",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/(/!>^]{~",
-"_*)^>!(:(!>-)*_",
-"~%<^>,,,,,>^<%~",
-",%<^-%@@@%-^[%,",
-"&%[<^-}@%-^<[%&",
-"@}][<|^%^|<[]$@",
-"+|$][<<|<<[=$)+",
-"..**]==[=]]**..",
-"{{{$}*'''*}${{{",
-"####=%%%%}]####",
-")))))))))))))))",
-"111111111111111",
-"...............",
-"+++++++++++++++",
-"@@@@)}%%%}^@@@@",
-"&&&*'<)|)<'*&&&",
-",,*1||^-^|)1*,,",
-"~{*[|^;>;^|<'{~",
-"_*1<|->2>-|<=*_",
-"~%=[|+++++|[=%~",
-",%=[<%!.!%<[]%,",
-"&%'1[<%.%)[1'%&",
-"@}']11[%[[1]'}@",
-"+)}']==1==]'})+",
-"..}$*'''''*$}..",
-"{{{$}$**$$}}{{{",
-"####]%%%%}]####",
-")))))))))))))))",
-"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/restoreA.xpm b/kwin-styles/icewm/icewm-themes/restoreA.xpm
deleted file mode 100644
index 93481afe..00000000
--- a/kwin-styles/icewm/icewm-themes/restoreA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * restoreA_xpm[] = {
-"15 34 31 1",
-" c None",
-". c #858686",
-"+ c #9A9A9A",
-"@ c #AEAEAE",
-"# c #5D5D5E",
-"$ c #111214",
-"% c #040404",
-"& c #C2C2C2",
-"* c #181C22",
-"= c #2D333D",
-"- c #56657A",
-"; c #58667E",
-"> c #5D6E86",
-", c #D6D6D6",
-"' c #1D2632",
-") c #4A4A4A",
-"! c #6E809C",
-"~ c #EAEAEA",
-"{ c #717273",
-"] c #232D3A",
-"^ c #4D5868",
-"/ c #798EAA",
-"( c #FEFEFE",
-"_ c #3C4553",
-": c #0D0E13",
-"< c #323F4F",
-"[ c #C7CDD4",
-"} c #435165",
-"| c #363636",
-"1 c #8CA3C5",
-"2 c #7E96B6",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/,/!>^]{~",
-"(*)^>!,@,!>-)*(",
-"~%_^>,@@@,>^_%~",
-",%_^;%:%%%-^<%,",
-"&%<_^[[[[[^_<%&",
-"@:]<_:@@@%_<]$@",
-"+}$]<<%@%_<]$)+",
-"..**]]=%=]]**..",
-"{{{$:*'''*:${{{",
-"####=%%%%:=####",
-")))))))))))))))",
-"|||||||||||||||",
-"...............",
-"+++++++++++++++",
-"@@@@):%%%$)@@@@",
-"&&&*'_)})}'*[&&",
-",,*|_^^^^}_|*,,",
-"~{'_}^>1;#}<'{~",
-"($=<}-+.+^}_=*(",
-"~%=_)+!..+}<=%~",
-",%=<_%%%%%)|]%,",
-"&%'<<++2+/_=]%&",
-"@:*]=%.{.%|]*:@",
-"+):'']%{%]]':)+",
-"..$$*''%''*$$..",
-"{{{$:$***$::{{{",
-"####]%%%%:]####",
-")))))))))))))))",
-"|||||||||||||||"};
diff --git a/kwin-styles/icewm/icewm-themes/restoreI.xpm b/kwin-styles/icewm/icewm-themes/restoreI.xpm
deleted file mode 100644
index b1408657..00000000
--- a/kwin-styles/icewm/icewm-themes/restoreI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * restoreI_xpm[] = {
-"15 34 31 1",
-" g None",
-". g #858585",
-"+ g #9A9A9A",
-"@ g #AEAEAE",
-"# g #5D5D5D",
-"$ g #111111",
-"% g #040404",
-"& g #C2C2C2",
-"* g #1B1B1B",
-"= g #323232",
-"- g #626262",
-"; g #646464",
-"> g #6B6B6B",
-", g #D6D6D6",
-"' g #242424",
-") g #4A4A4A",
-"! g #7D7D7D",
-"~ g #EAEAEA",
-"{ g #717171",
-"] g #2B2B2B",
-"^ g #565656",
-"/ g #8A8A8A",
-"( g #FEFEFE",
-"_ g #434343",
-": g #0E0E0E",
-"< g #3C3C3C",
-"[ g #CBCBCB",
-"} g #4F4F4F",
-"| g #363636",
-"1 g #9F9F9F",
-"2 g #929292",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/,/!>^]{~",
-"(*)^>!,@,!>-)*(",
-"~%_^>,@@@,>^_%~",
-",%_^;%:%%%-^<%,",
-"&%<_^[[[[[^_<%&",
-"@:]<_:@@@%_<]$@",
-"+}$]<<%@%_<]$)+",
-"..**]]=%=]]**..",
-"{{{$:*'''*:${{{",
-"####=%%%%:=####",
-")))))))))))))))",
-"|||||||||||||||",
-"...............",
-"+++++++++++++++",
-"@@@@):%%%$)@@@@",
-"&&&*'_)})}'*[&&",
-",,*|_^^^^}_|*,,",
-"~{'_}^>1;#}<'{~",
-"($=<}-+.+^}_=*(",
-"~%=_)+!..+}<=%~",
-",%=<_%%%%%)|]%,",
-"&%'<<++2+/_=]%&",
-"@:*]=%.{.%|]*:@",
-"+):'']%{%]]':)+",
-"..$$*''%''*$$..",
-"{{{$:$***$::{{{",
-"####]%%%%:]####",
-")))))))))))))))",
-"|||||||||||||||"};
diff --git a/kwin-styles/icewm/icewm-themes/rolldownA.xpm b/kwin-styles/icewm/icewm-themes/rolldownA.xpm
deleted file mode 100644
index e7b70845..00000000
--- a/kwin-styles/icewm/icewm-themes/rolldownA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * rolldownA_xpm[] = {
-"15 34 31 1",
-" c None",
-". c #858686",
-"+ c #9A9A9A",
-"@ c #AEAEAE",
-"# c #5D5D5E",
-"$ c #111214",
-"% c #040404",
-"& c #C2C2C2",
-"* c #181C22",
-"= c #2D333D",
-"- c #56657A",
-"; c #58667E",
-"> c #5D6E86",
-", c #D6D6D6",
-"' c #1D2632",
-") c #4A4A4A",
-"! c #6E809C",
-"~ c #EAEAEA",
-"{ c #717273",
-"] c #232D3A",
-"^ c #4D5868",
-"/ c #798EAA",
-"( c #7E96B6",
-"_ c #FEFEFE",
-": c #3C4553",
-"< c #323F4F",
-"[ c #0D0E13",
-"} c #C7CDD4",
-"| c #435165",
-"1 c #363636",
-"2 c #8CA3C5",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/(/!>^]{~",
-"_*)^>,,~,,>-)*_",
-"~%:^>%@@@%>^:%~",
-",%:^->%@%>;^<%,",
-"&%<:^;>%>-^:<%&",
-"@[]<&&}}}&&<][@",
-"+|$]%%%%%%%=$)+",
-"..**]]====]**..",
-"{{{$[*']'*[${{{",
-"####=%%%%%=####",
-")))))))))))))))",
-"111111=11111111",
-"...............",
-"+++++++++++++++",
-"@@@@)[%%%[^@@@@",
-"&&&*':)|):'*&&&",
-",,*=)|^-^|)1*,,",
-"~{':|^;>;^|:'{~",
-"_$=:|+2+2+|:=*_",
-"~%=:|%...%)<=%~",
-",%]<:|%.%|)<]%,",
-"&%'1<:)%):<<'%&",
-"@[''+/+/+(.]*[@",
-"+)['%%%%%%%'[)+",
-"..$$*'''''*$$..",
-"{{{[[$***$[[{{{",
-"####]%%%%%]####",
-")))))))))))))))",
-"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/rolldownI.xpm b/kwin-styles/icewm/icewm-themes/rolldownI.xpm
deleted file mode 100644
index 993e561b..00000000
--- a/kwin-styles/icewm/icewm-themes/rolldownI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * rolldownI_xpm[] = {
-"15 34 31 1",
-" g None",
-". g #858585",
-"+ g #9A9A9A",
-"@ g #AEAEAE",
-"# g #5D5D5D",
-"$ g #111111",
-"% g #040404",
-"& g #C2C2C2",
-"* g #1B1B1B",
-"= g #323232",
-"- g #626262",
-"; g #646464",
-"> g #6B6B6B",
-", g #D6D6D6",
-"' g #242424",
-") g #4A4A4A",
-"! g #7D7D7D",
-"~ g #EAEAEA",
-"{ g #717171",
-"] g #2B2B2B",
-"^ g #565656",
-"/ g #8A8A8A",
-"( g #929292",
-"_ g #FEFEFE",
-": g #434343",
-"< g #3C3C3C",
-"[ g #0E0E0E",
-"} g #CBCBCB",
-"| g #4F4F4F",
-"1 g #363636",
-"2 g #9F9F9F",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^>!/(/!>^]{~",
-"_*)^>,,~,,>-)*_",
-"~%:^>%@@@%>^:%~",
-",%:^->%@%>;^<%,",
-"&%<:^;>%>-^:<%&",
-"@[]<&&}}}&&<][@",
-"+|$]%%%%%%%=$)+",
-"..**]]====]**..",
-"{{{$[*']'*[${{{",
-"####=%%%%%=####",
-")))))))))))))))",
-"111111=11111111",
-"...............",
-"+++++++++++++++",
-"@@@@)[%%%[^@@@@",
-"&&&*':)|):'*&&&",
-",,*=)|^-^|)1*,,",
-"~{':|^;>;^|:'{~",
-"_$=:|+2+2+|:=*_",
-"~%=:|%...%)<=%~",
-",%]<:|%.%|)<]%,",
-"&%'1<:)%):<<'%&",
-"@[''+/+/+(.]*[@",
-"+)['%%%%%%%'[)+",
-"..$$*'''''*$$..",
-"{{{[[$***$[[{{{",
-"####]%%%%%]####",
-")))))))))))))))",
-"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/rollupA.xpm b/kwin-styles/icewm/icewm-themes/rollupA.xpm
deleted file mode 100644
index 32311d6a..00000000
--- a/kwin-styles/icewm/icewm-themes/rollupA.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * rollupA_xpm[] = {
-"15 34 31 1",
-" c None",
-". c #858686",
-"+ c #9A9A9A",
-"@ c #AEAEAE",
-"# c #5D5D5E",
-"$ c #111214",
-"% c #040404",
-"& c #C2C2C2",
-"* c #181C22",
-"= c #2D333D",
-"- c #56657A",
-"; c #58667E",
-"> c #5D6E86",
-", c #D6D6D6",
-"' c #1D2632",
-") c #4A4A4A",
-"! c #6E809C",
-"~ c #EAEAEA",
-"{ c #717273",
-"] c #232D3A",
-"^ c #4D5868",
-"/ c #C7CDD4",
-"( c #FEFEFE",
-"_ c #0D0E13",
-": c #435165",
-"< c #3C4553",
-"[ c #677B98",
-"} c #798EAA",
-"| c #323F4F",
-"1 c #363636",
-"2 c #8CA3C5",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^/,,,,,/^]{~",
-"(*)^_%__%_%^:*(",
-"~%<^;[},}!>^<%~",
-",%<^;>,@/[-^<%,",
-"&%|<^/@@@/^<=%&",
-"@_]|<_%%%%<|]$@",
-"+)*]|<<<<||=$)+",
-"..$*'=||==]**..",
-"{{{$_**''*_${{{",
-"##-#=_%%%%=####",
-")))))))))))))))",
-"111111=11111111",
-"...............",
-"+++++++++++++++",
-"@@@@)_%%%_^@@@@",
-"&&&*'<):)<'*&&&",
-",,*=):^-^^)1*,,",
-"~{'|+2+2+++<'{~",
-"($=<%%%%%%%<=*(",
-"~%=|:^;+;^:|=%~",
-",%=|<:+.+:<|]%,",
-"&%'1<+!!.+|1'%&",
-"@_']=%%%%%1]'_@",
-"+)_*]====]]'_)+",
-"..$$*'']''*$_..",
-"{{{__$$*$$_${{{",
-"####]%%%%_]####",
-")))))))))))))))",
-"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/rollupI.xpm b/kwin-styles/icewm/icewm-themes/rollupI.xpm
deleted file mode 100644
index 31b81973..00000000
--- a/kwin-styles/icewm/icewm-themes/rollupI.xpm
+++ /dev/null
@@ -1,68 +0,0 @@
-/* XPM */
-static char * rollupI_xpm[] = {
-"15 34 31 1",
-" g None",
-". g #858585",
-"+ g #9A9A9A",
-"@ g #AEAEAE",
-"# g #5D5D5D",
-"$ g #111111",
-"% g #040404",
-"& g #C2C2C2",
-"* g #1B1B1B",
-"= g #323232",
-"- g #626262",
-"; g #646464",
-"> g #6B6B6B",
-", g #D6D6D6",
-"' g #242424",
-") g #4A4A4A",
-"! g #7D7D7D",
-"~ g #EAEAEA",
-"{ g #717171",
-"] g #2B2B2B",
-"^ g #565656",
-"/ g #CBCBCB",
-"( g #FEFEFE",
-"_ g #0E0E0E",
-": g #4F4F4F",
-"< g #434343",
-"[ g #787878",
-"} g #8A8A8A",
-"| g #3C3C3C",
-"1 g #363636",
-"2 g #9F9F9F",
-"...............",
-"+++++++++++++++",
-"@@@@#$%%%$#@@@@",
-"&&&*=-;>;-=*&&&",
-",,')->!!!>;)',,",
-"~{]^/,,,,,/^]{~",
-"(*)^_%__%_%^:*(",
-"~%<^;[},}!>^<%~",
-",%<^;>,@/[-^<%,",
-"&%|<^/@@@/^<=%&",
-"@_]|<_%%%%<|]$@",
-"+)*]|<<<<||=$)+",
-"..$*'=||==]**..",
-"{{{$_**''*_${{{",
-"##-#=_%%%%=####",
-")))))))))))))))",
-"111111=11111111",
-"...............",
-"+++++++++++++++",
-"@@@@)_%%%_^@@@@",
-"&&&*'<):)<'*&&&",
-",,*=):^-^^)1*,,",
-"~{'|+2+2+++<'{~",
-"($=<%%%%%%%<=*(",
-"~%=|:^;+;^:|=%~",
-",%=|<:+.+:<|]%,",
-"&%'1<+!!.+|1'%&",
-"@_']=%%%%%1]'_@",
-"+)_*]====]]'_)+",
-"..$$*'']''*$_..",
-"{{{__$$*$$_${{{",
-"####]%%%%_]####",
-")))))))))))))))",
-"111111111111111"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAB.xpm b/kwin-styles/icewm/icewm-themes/titleAB.xpm
deleted file mode 100644
index f153f2af..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAB.xpm
+++ /dev/null
@@ -1,32 +0,0 @@
-/* XPM */
-static char * titleAS_xpm[] = {
-"1 17 12 1",
-" c None",
-". c #868687",
-"+ c #9A9A9B",
-"@ c #AEAEAF",
-"# c #C2C2C3",
-"$ c #D6D6D7",
-"% c #EAEAEB",
-"& c #FFFFFF",
-"* c #727273",
-"= c #5E5E5F",
-"- c #4A4A4B",
-"; c #363637",
-".",
-"+",
-"@",
-"#",
-"$",
-"%",
-"&",
-"%",
-"$",
-"#",
-"@",
-"+",
-".",
-"*",
-"=",
-"-",
-";"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAJ.xpm b/kwin-styles/icewm/icewm-themes/titleAJ.xpm
deleted file mode 100644
index 0ef284c1..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAJ.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* XPM */
-static char * titleAJ_xpm[] = {
-"3 17 17 1",
-" c None",
-". c #858687",
-"+ c #4F4F51",
-"@ c #999A9A",
-"# c #AEAEAE",
-"$ c #5E5E5E",
-"% c #C2C2C2",
-"& c #717172",
-"* c #D6D6D6",
-"= c #E9EAEA",
-"- c #FEFEFE",
-"; c #909090",
-"> c #717374",
-", c #5C5F64",
-"' c #373739",
-") c #494B4D",
-"! c #343638",
-"..+",
-"@@+",
-"##$",
-"%%&",
-"**&",
-"==&",
-"--;",
-"==&",
-"**&",
-"%%&",
-"##$",
-"@@+",
-"..+",
-">>+",
-",,'",
-"))'",
-"!!'"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAM.xpm b/kwin-styles/icewm/icewm-themes/titleAM.xpm
deleted file mode 100644
index 808458a4..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAM.xpm
+++ /dev/null
@@ -1,73 +0,0 @@
-/* XPM */
-static char * titleAM_xpm[] = {
-"18 17 53 1",
-" c None",
-". c #868687",
-"+ c #4E4E4F",
-"@ c #484848",
-"# c #9A9A9B",
-"$ c #575758",
-"% c #344066",
-"& c #515151",
-"* c #AEAEAF",
-"= c #606061",
-"- c #425076",
-"; c #606060",
-"> c #C2C2C3",
-", c #68686A",
-"' c #526185",
-") c #707070",
-"! c #D6D6D7",
-"~ c #717173",
-"{ c #607194",
-"] c #808080",
-"^ c #EAEAEB",
-"/ c #7A7A7C",
-"( c #7081A3",
-"_ c #8E8E8E",
-": c #FFFFFF",
-"< c #838385",
-"[ c #7284A6",
-"} c #9B9B9B",
-"| c #7587A9",
-"1 c #A9A9A9",
-"2 c #66779A",
-"3 c #B7B7B7",
-"4 c #57668A",
-"5 c #C5C5C5",
-"6 c #4A597D",
-"7 c #D2D2D2",
-"8 c #3D4A70",
-"9 c #303C63",
-"0 c #A7A7A7",
-"a c #727273",
-"b c #454547",
-"c c #273259",
-"d c #7F7F7F",
-"e c #5E5E5F",
-"f c #3C3C3E",
-"g c #969696",
-"h c #848484",
-"i c #6B6B6B",
-"j c #575757",
-"k c #4A4A4B",
-"l c #333335",
-"m c #363637",
-"n c #2A2A2C",
-"..............+...",
-"@@@@@@@@@@@@@#$###",
-"%%%%%%%%%%%%&*=***",
-"------------;>,>>>",
-"'''''''''''')!~!!!",
-"{{{{{{{{{{{{]^/^^^",
-"((((((((((((_:<:::",
-"[[[[[[[[[[[[}^/^^^",
-"||||||||||||1!~!!!",
-"2222222222223>,>>>",
-"4444444444445*=***",
-"6666666666667#$###",
-"8888888888885.+...",
-"9999999999990abaaa",
-"ccccccccccccdefeee",
-"}}}}}}}}}ghijklkkk",
-"mmmmmmmmmmmmmmnmmm"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAP.xpm b/kwin-styles/icewm/icewm-themes/titleAP.xpm
deleted file mode 100644
index a4ae203a..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAP.xpm
+++ /dev/null
@@ -1,73 +0,0 @@
-/* XPM */
-static char * titleAP_xpm[] = {
-"18 17 53 1",
-" c None",
-". c #868687",
-"+ c #4E4E4F",
-"@ c #9A9A9B",
-"# c #575758",
-"$ c #484848",
-"% c #AEAEAF",
-"& c #606061",
-"* c #515151",
-"= c #344066",
-"- c #C2C2C3",
-"; c #68686A",
-"> c #606060",
-", c #425076",
-"' c #D6D6D7",
-") c #717173",
-"! c #707070",
-"~ c #526185",
-"{ c #EAEAEB",
-"] c #7A7A7C",
-"^ c #808080",
-"/ c #607194",
-"( c #FFFFFF",
-"_ c #838385",
-": c #8E8E8E",
-"< c #7081A3",
-"[ c #9B9B9B",
-"} c #7284A6",
-"| c #A9A9A9",
-"1 c #7587A9",
-"2 c #B7B7B7",
-"3 c #66779A",
-"4 c #C5C5C5",
-"5 c #57668A",
-"6 c #D2D2D2",
-"7 c #4A597D",
-"8 c #3D4A70",
-"9 c #727273",
-"0 c #454547",
-"a c #A7A7A7",
-"b c #303C63",
-"c c #5E5E5F",
-"d c #3C3C3E",
-"e c #7F7F7F",
-"f c #273259",
-"g c #4A4A4B",
-"h c #333335",
-"i c #575757",
-"j c #6B6B6B",
-"k c #848484",
-"l c #969696",
-"m c #363637",
-"n c #2A2A2C",
-"...+..............",
-"@@@#@$$$$$$$$$$$$$",
-"%%%&%*============",
-"---;->,,,,,,,,,,,,",
-"''')'!~~~~~~~~~~~~",
-"{{{]{^////////////",
-"(((_(:<<<<<<<<<<<<",
-"{{{]{[}}}}}}}}}}}}",
-"''')'|111111111111",
-"---;-2333333333333",
-"%%%&%4555555555555",
-"@@@#@6777777777777",
-"...+.4888888888888",
-"99909abbbbbbbbbbbb",
-"cccdceffffffffffff",
-"ggghgijkl[[[[[[[[[",
-"mmmnmmmmmmmmmmmmmm"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAQ.xpm b/kwin-styles/icewm/icewm-themes/titleAQ.xpm
deleted file mode 100644
index 8bc6cd28..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAQ.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* XPM */
-static char * titleAQ_xpm[] = {
-"2 17 17 1",
-" c None",
-". c #4F4F51",
-"+ c #858687",
-"@ c #999A9A",
-"# c #5E5E5E",
-"$ c #AEAEAE",
-"% c #717172",
-"& c #C2C2C2",
-"* c #D6D6D6",
-"= c #E9EAEA",
-"- c #909090",
-"; c #FEFEFE",
-"> c #717374",
-", c #373739",
-"' c #5C5F64",
-") c #494B4D",
-"! c #343638",
-".+",
-".@",
-"#$",
-"%&",
-"%*",
-"%=",
-"-;",
-"%=",
-"%*",
-"%&",
-"#$",
-".@",
-".+",
-".>",
-",'",
-",)",
-",!"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAR.xpm b/kwin-styles/icewm/icewm-themes/titleAR.xpm
deleted file mode 100644
index 8bc6cd28..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAR.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* XPM */
-static char * titleAQ_xpm[] = {
-"2 17 17 1",
-" c None",
-". c #4F4F51",
-"+ c #858687",
-"@ c #999A9A",
-"# c #5E5E5E",
-"$ c #AEAEAE",
-"% c #717172",
-"& c #C2C2C2",
-"* c #D6D6D6",
-"= c #E9EAEA",
-"- c #909090",
-"; c #FEFEFE",
-"> c #717374",
-", c #373739",
-"' c #5C5F64",
-") c #494B4D",
-"! c #343638",
-".+",
-".@",
-"#$",
-"%&",
-"%*",
-"%=",
-"-;",
-"%=",
-"%*",
-"%&",
-"#$",
-".@",
-".+",
-".>",
-",'",
-",)",
-",!"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAS.xpm b/kwin-styles/icewm/icewm-themes/titleAS.xpm
deleted file mode 100644
index f153f2af..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAS.xpm
+++ /dev/null
@@ -1,32 +0,0 @@
-/* XPM */
-static char * titleAS_xpm[] = {
-"1 17 12 1",
-" c None",
-". c #868687",
-"+ c #9A9A9B",
-"@ c #AEAEAF",
-"# c #C2C2C3",
-"$ c #D6D6D7",
-"% c #EAEAEB",
-"& c #FFFFFF",
-"* c #727273",
-"= c #5E5E5F",
-"- c #4A4A4B",
-"; c #363637",
-".",
-"+",
-"@",
-"#",
-"$",
-"%",
-"&",
-"%",
-"$",
-"#",
-"@",
-"+",
-".",
-"*",
-"=",
-"-",
-";"};
diff --git a/kwin-styles/icewm/icewm-themes/titleAT.xpm b/kwin-styles/icewm/icewm-themes/titleAT.xpm
deleted file mode 100644
index 84f06879..00000000
--- a/kwin-styles/icewm/icewm-themes/titleAT.xpm
+++ /dev/null
@@ -1,38 +0,0 @@
-/* XPM */
-static char * titleAT_xpm[] = {
-"1 17 18 1",
-" c None",
-". c #868687",
-"+ c #484848",
-"@ c #344066",
-"# c #425076",
-"$ c #526185",
-"% c #607194",
-"& c #7081A3",
-"* c #7284A6",
-"= c #7587A9",
-"- c #66779A",
-"; c #57668A",
-"> c #4A597D",
-", c #3D4A70",
-"' c #303C63",
-") c #273259",
-"! c #9B9B9B",
-"~ c #363637",
-".",
-"+",
-"@",
-"#",
-"$",
-"%",
-"&",
-"*",
-"=",
-"-",
-";",
-">",
-",",
-"'",
-")",
-"!",
-"~"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIB.xpm b/kwin-styles/icewm/icewm-themes/titleIB.xpm
deleted file mode 100644
index f153f2af..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIB.xpm
+++ /dev/null
@@ -1,32 +0,0 @@
-/* XPM */
-static char * titleAS_xpm[] = {
-"1 17 12 1",
-" c None",
-". c #868687",
-"+ c #9A9A9B",
-"@ c #AEAEAF",
-"# c #C2C2C3",
-"$ c #D6D6D7",
-"% c #EAEAEB",
-"& c #FFFFFF",
-"* c #727273",
-"= c #5E5E5F",
-"- c #4A4A4B",
-"; c #363637",
-".",
-"+",
-"@",
-"#",
-"$",
-"%",
-"&",
-"%",
-"$",
-"#",
-"@",
-"+",
-".",
-"*",
-"=",
-"-",
-";"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIJ.xpm b/kwin-styles/icewm/icewm-themes/titleIJ.xpm
deleted file mode 100644
index 0ef284c1..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIJ.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* XPM */
-static char * titleAJ_xpm[] = {
-"3 17 17 1",
-" c None",
-". c #858687",
-"+ c #4F4F51",
-"@ c #999A9A",
-"# c #AEAEAE",
-"$ c #5E5E5E",
-"% c #C2C2C2",
-"& c #717172",
-"* c #D6D6D6",
-"= c #E9EAEA",
-"- c #FEFEFE",
-"; c #909090",
-"> c #717374",
-", c #5C5F64",
-"' c #373739",
-") c #494B4D",
-"! c #343638",
-"..+",
-"@@+",
-"##$",
-"%%&",
-"**&",
-"==&",
-"--;",
-"==&",
-"**&",
-"%%&",
-"##$",
-"@@+",
-"..+",
-">>+",
-",,'",
-"))'",
-"!!'"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIM.xpm b/kwin-styles/icewm/icewm-themes/titleIM.xpm
deleted file mode 100644
index 575b63c4..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIM.xpm
+++ /dev/null
@@ -1,66 +0,0 @@
-/* XPM */
-static char * titleIM_xpm[] = {
-"18 17 46 1",
-" c None",
-". c #868686",
-"+ c #4E4E4E",
-"@ c #484848",
-"# c #9A9A9A",
-"$ c #575757",
-"% c #4D4D4D",
-"& c #515151",
-"* c #AEAEAE",
-"= c #606060",
-"- c #5C5C5C",
-"; c #C2C2C2",
-"> c #696969",
-", c #6B6B6B",
-"' c #707070",
-") c #D6D6D6",
-"! c #727272",
-"~ c #7A7A7A",
-"{ c #808080",
-"] c #EAEAEA",
-"^ c #7B7B7B",
-"/ c #898989",
-"( c #8E8E8E",
-"_ c #FFFFFF",
-": c #848484",
-"< c #8C8C8C",
-"[ c #9B9B9B",
-"} c #8F8F8F",
-"| c #A9A9A9",
-"1 c #B7B7B7",
-"2 c #C5C5C5",
-"3 c #636363",
-"4 c #D2D2D2",
-"5 c #565656",
-"6 c #494949",
-"7 c #A7A7A7",
-"8 c #464646",
-"9 c #404040",
-"0 c #7F7F7F",
-"a c #5E5E5E",
-"b c #3D3D3D",
-"c c #969696",
-"d c #4A4A4A",
-"e c #343434",
-"f c #363636",
-"g c #2B2B2B",
-"..............+...",
-"@@@@@@@@@@@@@#$###",
-"%%%%%%%%%%%%&*=***",
-"------------=;>;;;",
-",,,,,,,,,,,,')!)))",
-"~~~~~~~~~~~~{]^]]]",
-"////////////(_:___",
-"<<<<<<<<<<<<[]^]]]",
-"}}}}}}}}}}}}|)!)))",
-"{{{{{{{{{{{{1;>;;;",
-"''''''''''''2*=***",
-"3333333333334#$###",
-"5555555555552.+...",
-"6666666666667!8!!!",
-"9999999999990abaaa",
-"[[[[[[[[[c:,$deddd",
-"ffffffffffffffgfff"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIP.xpm b/kwin-styles/icewm/icewm-themes/titleIP.xpm
deleted file mode 100644
index 170d1b2a..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIP.xpm
+++ /dev/null
@@ -1,66 +0,0 @@
-/* XPM */
-static char * titleIP_xpm[] = {
-"18 17 46 1",
-" c None",
-". c #868686",
-"+ c #4E4E4E",
-"@ c #9A9A9A",
-"# c #575757",
-"$ c #484848",
-"% c #AEAEAE",
-"& c #606060",
-"* c #515151",
-"= c #4D4D4D",
-"- c #C2C2C2",
-"; c #696969",
-"> c #5C5C5C",
-", c #D6D6D6",
-"' c #727272",
-") c #707070",
-"! c #6B6B6B",
-"~ c #EAEAEA",
-"{ c #7B7B7B",
-"] c #808080",
-"^ c #7A7A7A",
-"/ c #FFFFFF",
-"( c #848484",
-"_ c #8E8E8E",
-": c #898989",
-"< c #9B9B9B",
-"[ c #8C8C8C",
-"} c #A9A9A9",
-"| c #8F8F8F",
-"1 c #B7B7B7",
-"2 c #C5C5C5",
-"3 c #D2D2D2",
-"4 c #636363",
-"5 c #565656",
-"6 c #464646",
-"7 c #A7A7A7",
-"8 c #494949",
-"9 c #5E5E5E",
-"0 c #3D3D3D",
-"a c #7F7F7F",
-"b c #404040",
-"c c #4A4A4A",
-"d c #343434",
-"e c #969696",
-"f c #363636",
-"g c #2B2B2B",
-"...+..............",
-"@@@#@$$$$$$$$$$$$$",
-"%%%&%*============",
-"---;-&>>>>>>>>>>>>",
-",,,',)!!!!!!!!!!!!",
-"~~~{~]^^^^^^^^^^^^",
-"///(/_::::::::::::",
-"~~~{~<[[[[[[[[[[[[",
-",,,',}||||||||||||",
-"---;-1]]]]]]]]]]]]",
-"%%%&%2))))))))))))",
-"@@@#@3444444444444",
-"...+.2555555555555",
-"'''6'7888888888888",
-"99909abbbbbbbbbbbb",
-"cccdc#!(e<<<<<<<<<",
-"fffgffffffffffffff"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIQ.xpm b/kwin-styles/icewm/icewm-themes/titleIQ.xpm
deleted file mode 100644
index 8bc6cd28..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIQ.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* XPM */
-static char * titleAQ_xpm[] = {
-"2 17 17 1",
-" c None",
-". c #4F4F51",
-"+ c #858687",
-"@ c #999A9A",
-"# c #5E5E5E",
-"$ c #AEAEAE",
-"% c #717172",
-"& c #C2C2C2",
-"* c #D6D6D6",
-"= c #E9EAEA",
-"- c #909090",
-"; c #FEFEFE",
-"> c #717374",
-", c #373739",
-"' c #5C5F64",
-") c #494B4D",
-"! c #343638",
-".+",
-".@",
-"#$",
-"%&",
-"%*",
-"%=",
-"-;",
-"%=",
-"%*",
-"%&",
-"#$",
-".@",
-".+",
-".>",
-",'",
-",)",
-",!"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIR.xpm b/kwin-styles/icewm/icewm-themes/titleIR.xpm
deleted file mode 100644
index 8bc6cd28..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIR.xpm
+++ /dev/null
@@ -1,37 +0,0 @@
-/* XPM */
-static char * titleAQ_xpm[] = {
-"2 17 17 1",
-" c None",
-". c #4F4F51",
-"+ c #858687",
-"@ c #999A9A",
-"# c #5E5E5E",
-"$ c #AEAEAE",
-"% c #717172",
-"& c #C2C2C2",
-"* c #D6D6D6",
-"= c #E9EAEA",
-"- c #909090",
-"; c #FEFEFE",
-"> c #717374",
-", c #373739",
-"' c #5C5F64",
-") c #494B4D",
-"! c #343638",
-".+",
-".@",
-"#$",
-"%&",
-"%*",
-"%=",
-"-;",
-"%=",
-"%*",
-"%&",
-"#$",
-".@",
-".+",
-".>",
-",'",
-",)",
-",!"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIS.xpm b/kwin-styles/icewm/icewm-themes/titleIS.xpm
deleted file mode 100644
index f153f2af..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIS.xpm
+++ /dev/null
@@ -1,32 +0,0 @@
-/* XPM */
-static char * titleAS_xpm[] = {
-"1 17 12 1",
-" c None",
-". c #868687",
-"+ c #9A9A9B",
-"@ c #AEAEAF",
-"# c #C2C2C3",
-"$ c #D6D6D7",
-"% c #EAEAEB",
-"& c #FFFFFF",
-"* c #727273",
-"= c #5E5E5F",
-"- c #4A4A4B",
-"; c #363637",
-".",
-"+",
-"@",
-"#",
-"$",
-"%",
-"&",
-"%",
-"$",
-"#",
-"@",
-"+",
-".",
-"*",
-"=",
-"-",
-";"};
diff --git a/kwin-styles/icewm/icewm-themes/titleIT.xpm b/kwin-styles/icewm/icewm-themes/titleIT.xpm
deleted file mode 100644
index ddcab757..00000000
--- a/kwin-styles/icewm/icewm-themes/titleIT.xpm
+++ /dev/null
@@ -1,38 +0,0 @@
-/* XPM */
-static char * titleIT_xpm[] = {
-"1 17 18 1",
-" c None",
-". c #868686",
-"+ c #484848",
-"@ c #4D4D4D",
-"# c #5C5C5C",
-"$ c #6B6B6B",
-"% c #7A7A7A",
-"& c #898989",
-"* c #8C8C8C",
-"= c #8F8F8F",
-"- c #808080",
-"; c #707070",
-"> c #636363",
-", c #565656",
-"' c #494949",
-") c #404040",
-"! c #9B9B9B",
-"~ c #363636",
-".",
-"+",
-"@",
-"#",
-"$",
-"%",
-"&",
-"*",
-"=",
-"-",
-";",
-">",
-",",
-"'",
-")",
-"!",
-"~"};
diff --git a/kwin-styles/icewm/icewm.cpp b/kwin-styles/icewm/icewm.cpp
deleted file mode 100644
index 4b9a064b..00000000
--- a/kwin-styles/icewm/icewm.cpp
+++ /dev/null
@@ -1,1703 +0,0 @@
-/*
- $Id$
-
- Gallium-IceWM themeable KWin client
-
- Copyright 2001
- Karol Szwed <gallium@kde.org>
- http://gallium.n3.net/
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-
- -----------------------------------------------------------------------------
- This client loads most icewm 1.0.X pixmap themes, without taking into account
- specific font settings for clients, or coloured mouse cursors. Titlebar
- fonts can be changed via the kde control center. Bi-colour mouse cursors
- may be added in future if requested by users, as well as theme font support.
- Any styles using inbuilt icewm titlebar drawing without using pixmaps (e.g.
- Warp4, win95 etc.) are not fully supported, and may cause drawing errors,
- as these themes use in-built icewm drawing mechanisms.
-
- When a pixmap theme is not present (or a corrupt one is present) then very
- plain title decorations are painted instead, so that users don't see
- non-painted window areas where possible ;)
-
- At a later date, frame shaping may be added if really requested, and an
- update to support the latest icewm 1.1.X theme format may be made.
-
-*/
-
-#include <kconfig.h>
-#include <kstandarddirs.h>
-#include <kglobal.h>
-#include <klocale.h>
-#include <kdrawutil.h>
-#include <tqapplication.h>
-#include <tqlabel.h>
-#include <tqdrawutil.h>
-#include <tqdatetime.h>
-#include <tqbitmap.h>
-#include <tqcursor.h>
-#include <tqstring.h>
-#include <tqtooltip.h>
-#include <tqregexp.h>
-#include "icewm.h"
-
-namespace IceWM {
-
-////////////////////////////////////////////////////////////////////////////////////////////
-// Here's the global pixmap stuff - as memory efficient as it can be :)
-////////////////////////////////////////////////////////////////////////////////////////////
-
-// IceWM frame pixmaps
-TQPixmap* frameTL[] = {NULL, NULL};
-TQPixmap* frameT [] = {NULL, NULL};
-TQPixmap* frameTR[] = {NULL, NULL};
-TQPixmap* frameL [] = {NULL, NULL};
-TQPixmap* frameR [] = {NULL, NULL};
-TQPixmap* frameBL[] = {NULL, NULL};
-TQPixmap* frameB [] = {NULL, NULL};
-TQPixmap* frameBR[] = {NULL, NULL};
-
-// Button pixmaps
-TQPixmap* closePix[] = {NULL, NULL};
-TQPixmap* depthPix[] = {NULL, NULL};
-TQPixmap* maximizePix[] = {NULL, NULL};
-TQPixmap* minimizePix[] = {NULL, NULL};
-TQPixmap* restorePix[] = {NULL, NULL};
-TQPixmap* hidePix[] = {NULL, NULL};
-TQPixmap* rollupPix[] = {NULL, NULL};
-TQPixmap* rolldownPix[] = {NULL, NULL};
-TQPixmap* menuButtonPix[] = {NULL, NULL};
-
-// Titlebar pixmaps
-TQPixmap* titleJ[] = {NULL, NULL};
-TQPixmap* titleL[] = {NULL, NULL};
-TQPixmap* titleS[] = {NULL, NULL};
-TQPixmap* titleP[] = {NULL, NULL};
-TQPixmap* titleT[] = {NULL, NULL};
-TQPixmap* titleM[] = {NULL, NULL};
-TQPixmap* titleB[] = {NULL, NULL};
-TQPixmap* titleR[] = {NULL, NULL};
-TQPixmap* titleQ[] = {NULL, NULL};
-
-ThemeHandler* clientHandler;
-
-TQString* titleButtonsLeft;
-TQString* titleButtonsRight;
-
-TQColor* colorActiveBorder;
-TQColor* colorInActiveBorder;
-TQColor* colorActiveButton;
-TQColor* colorInActiveButton;
-TQColor* colorActiveTitleBarText;
-TQColor* colorInActiveTitleBarText;
-TQColor* colorActiveTitleBar;
-TQColor* colorInActiveTitleBar;
-TQColor* colorActiveTitleTextShadow;
-TQColor* colorInActiveTitleTextShadow;
-
-int cornerSizeX;
-int cornerSizeY;
-int titleBarHeight;
-int borderSizeX;
-int borderSizeY;
-
-bool validframe = false;
-bool useActiveShadow = false;
-bool useInActiveShadow = false;
-
-// KControl Settings - Read from twinicewmrc config file or icewm theme
-bool themeTitleTextColors = true; // Allow theme to set colors.
- // kcontrol will have no effect
-
-bool titleBarOnTop = true; // Titlebars can be below windows too :)
-bool showMenuButtonIcon = false; // Draw a mini icon over the menu pixmap.
-bool customButtonPositions = false; // Let the theme dictate the btn pos.
-bool titleBarCentered = true;
-
-enum styles {OTHER, WARP3, WARP4, MOTIF, WIN95, NICE} themeLook;
-
-////////////////////////////////////////////////////////////////////////////////////////////
-// General utility functions
-////////////////////////////////////////////////////////////////////////////////////////////
-
-// Returns true if both active and inactive pixmaps are valid, and not null
-bool validPixmaps( TQPixmap* p[] )
-{
- return ( p[Active] && ( !p[Active]->isNull() ) &&
- p[InActive] && ( !p[InActive]->isNull() ) );
-}
-
-
-////////////////////////////////////////////////////////////////////////////////////////////
-// ThemeHandler class
-//
-// This class allows us to free dynamic memory upon being reset, or unloaded
-// from twin, so we don't leak big images everywhere, and handles the theme
-// initialisation / destruction in general.
-////////////////////////////////////////////////////////////////////////////////////////////
-
-ThemeHandler::ThemeHandler()
-{
- initialized = false;
-
- // Prevent having globals objects (use pointers to objects)
- titleButtonsLeft = new TQString();
- titleButtonsRight = new TQString();
-
- colorActiveBorder = new TQColor();
- colorInActiveBorder = new TQColor();
- colorActiveButton = new TQColor();
- colorInActiveButton = new TQColor();
- colorActiveTitleBarText = new TQColor();
- colorInActiveTitleBarText = new TQColor();
- colorActiveTitleBar = new TQColor();
- colorInActiveTitleBar = new TQColor();
- colorActiveTitleTextShadow = new TQColor();
- colorInActiveTitleTextShadow = new TQColor();
-
- // Initialize
- readConfig();
- initTheme();
- validframe = isFrameValid();
- initialized = true;
-}
-
-
-ThemeHandler::~ThemeHandler()
-{
- if (initialized)
- freePixmaps();
-
- delete colorInActiveTitleTextShadow;
- delete colorActiveTitleTextShadow;
- delete colorInActiveBorder;
- delete colorActiveTitleBarText;
- delete colorInActiveTitleBarText;
- delete colorActiveTitleBar;
- delete colorInActiveTitleBar;
- delete colorActiveBorder;
- delete colorActiveButton;
- delete colorInActiveButton;
-
- delete titleButtonsRight;
- delete titleButtonsLeft;
-}
-
-
-KDecoration* ThemeHandler::createDecoration( KDecorationBridge* bridge )
-{
- return new IceWMClient( bridge, this );
-}
-
-
-// Converts KDE style button strings to icewm style button strings
-void ThemeHandler::convertButtons( TQString& s )
-{
- s.replace( TQRegExp("_"), ""); // Spacer (ignored)
- s.replace( TQRegExp("H"), ""); // Help (ignored)
- s.replace( TQRegExp("M"), "s"); // Sysmenu
- s.replace( TQRegExp("S"), "d"); // Sticky/OnAllDesktops
- s.replace( TQRegExp("I"), "i"); // Minimize
- s.replace( TQRegExp("A"), "m"); // Maximize
- s.replace( TQRegExp("X"), "x"); // Close
-}
-
-
-// Reverses all characters in a TQString
-TQString ThemeHandler::reverseString( TQString s )
-{
- if (s.length() <= 1)
- return s;
-
- TQString tmpStr;
- for(int i = s.length()-1; i >= 0; i--)
- {
- tmpStr += s[(unsigned int)i];
- }
-
- return tmpStr;
-}
-
-
-// This function reads the twinicewmrc config file
-void ThemeHandler::readConfig()
-{
- KConfig conf("twinicewmrc");
- conf.setGroup("General");
- themeName = conf.readEntry("CurrentTheme");
- themeTitleTextColors = conf.readBoolEntry("ThemeTitleTextColors", true);
- showMenuButtonIcon = conf.readBoolEntry("ShowMenuButtonIcon", false);
- titleBarOnTop = conf.readBoolEntry("TitleBarOnTop", true);
-
- customButtonPositions = KDecoration::options()->customButtonPositions();
- if (customButtonPositions)
- {
- *titleButtonsLeft = KDecoration::options()->titleButtonsLeft();
- *titleButtonsRight = KDecoration::options()->titleButtonsRight();
-
- // Convert KDE to icewm style buttons
- convertButtons( *titleButtonsLeft );
- convertButtons( *titleButtonsRight );
- }
-
- // Provide a default theme alias
- if (themeName == "default")
- themeName = "";
-}
-
-
-// This creates the dynamic pixmaps upon loading the style
-// into the pixmap buffers above, and configures the dimensioning stuff.
-void ThemeHandler::initTheme()
-{
- // Add a slash if required
- if ( !themeName.isEmpty() )
- themeName += "/";
-
- // We use kconfig to read icewm config files...
- // this is easy since icewm uses key=value pairs!
- KConfig config( locate("data", TQString("twin/icewm-themes/") +
- themeName + TQString("default.theme")) );
-
- // Load specifics, or use IceWM defaults instead.
- borderSizeX = config.readNumEntry("BorderSizeX", 6);
- borderSizeY = config.readNumEntry("BorderSizeY", 6);
- cornerSizeX = config.readNumEntry("CornerSizeX", 24);
- cornerSizeY = config.readNumEntry("CornerSizeY", 24);
- titleBarCentered = (bool) config.readNumEntry("TitleBarCentered", 0);
-
- // Check if readConfig() hasn't overridden this value...
- if (!showMenuButtonIcon)
- showMenuButtonIcon = (bool) config.readNumEntry("ShowMenuButtonIcon", 0);
- titleBarHeight = config.readNumEntry("TitleBarHeight", 20);
-
- if (!customButtonPositions)
- {
- // Read in the button configuration, stripping any quotes
- // Ignore on all desktops 'd' on the left buttons
- // (some themes look bad with it on by default)
- *titleButtonsLeft = config.readEntry("TitleButtonsLeft", "s");
- *titleButtonsLeft = titleButtonsLeft->replace( TQRegExp(TQString("\"")), "");
- *titleButtonsRight = config.readEntry("TitleButtonsRight", "xmir");
- *titleButtonsRight = titleButtonsRight->replace( TQRegExp(TQString("\"")), "");
-
- // I have no idea why the right side buttons in icewm are reversed
- *titleButtonsRight = reverseString( *titleButtonsRight );
- }
-
- // Read the default border and text colours from the config file
- // And use IceWM defaults if not found
- TQString s;
-
- s = config.readEntry("Look", "other");
- if (s=="motif") themeLook = MOTIF;
- else if (s=="warp3") themeLook = WARP3;
- else if (s=="warp4") themeLook = WARP4;
- else if (s=="win95") themeLook = WIN95;
- else if (s=="nice") themeLook = NICE;
- else themeLook = OTHER;
-
- s = config.readEntry("ColorActiveBorder", "#C0C0C0");
- *colorActiveBorder = decodeColor( s );
- s = config.readEntry("ColorNormalBorder", "#C0C0C0");
- *colorInActiveBorder = decodeColor( s );
- s = config.readEntry("ColorActiveButton", "#C0C0C0");
- *colorActiveButton = decodeColor( s );
- s = config.readEntry("ColorNormalButton", "#C0C0C0");
- *colorInActiveButton = decodeColor( s );
-
- // Use these as a last resort
- s = config.readEntry("ColorActiveTitleBar", "#0000A0");
- *colorActiveTitleBar = decodeColor( s );
- s = config.readEntry("ColorNormalTitleBar", "#808080");
- *colorInActiveTitleBar = decodeColor( s );
-
- // Read titlebar text colours
- s = config.readEntry("ColorActiveTitleBarText", "#FFFFFF");
- *colorActiveTitleBarText = decodeColor( s );
- s = config.readEntry("ColorNormalTitleBarText", "#000000");
- *colorInActiveTitleBarText = decodeColor( s );
-
- // Use title text shadows only with theme title text colors
- if ( themeTitleTextColors )
- {
- s = config.readEntry("ColorActiveTitleBarShadow");
- if (!s.isEmpty())
- {
- *colorActiveTitleTextShadow = decodeColor( s );
- useActiveShadow = true;
- } else
- useActiveShadow = false;
-
- s = config.readEntry("ColorNormalTitleBarShadow");
- if (!s.isEmpty())
- {
- *colorInActiveTitleTextShadow = decodeColor( s );
- useInActiveShadow = true;
- } else
- useInActiveShadow = false;
- } else
- {
- useActiveShadow = false;
- useInActiveShadow = false;
- }
-
- // Stretch pixmaps for speed, where required
- setPixmap( titleJ, "title", "J.xpm" );
- setPixmap( titleL, "title", "L.xpm" );
- setPixmap( titleS, "title", "S.xpm", true );
-
- setPixmap( titleP, "title", "P.xpm" );
- setPixmap( titleT, "title", "T.xpm", true );
- setPixmap( titleM, "title", "M.xpm" );
- setPixmap( titleB, "title", "B.xpm", true );
- setPixmap( titleR, "title", "R.xpm" );
- setPixmap( titleQ, "title", "Q.xpm" );
-
- setPixmapButton( closePix, "close", ".xpm" );
- setPixmapButton( depthPix, "depth", ".xpm" );
- setPixmapButton( maximizePix, "maximize", ".xpm" );
- setPixmapButton( minimizePix, "minimize", ".xpm" );
- setPixmapButton( restorePix, "restore", ".xpm" );
- setPixmapButton( hidePix, "hide", ".xpm" );
- setPixmapButton( rollupPix, "rollup", ".xpm" );
- setPixmapButton( rolldownPix, "rolldown", ".xpm" );
- setPixmapButton( menuButtonPix,"menuButton",".xpm" );
-
- // Top
- setPixmap( frameTL, "frame", "TL.xpm" );
- setPixmap( frameT, "frame", "T.xpm", true );
- setPixmap( frameTR, "frame", "TR.xpm" );
-
- // Sides
- setPixmap( frameL, "frame", "L.xpm", true,Qt::Vertical );
- setPixmap( frameR, "frame", "R.xpm", true,Qt::Vertical );
-
- // Bottom
- setPixmap( frameBL, "frame", "BL.xpm" );
- setPixmap( frameB, "frame", "B.xpm", true );
- setPixmap( frameBR, "frame", "BR.xpm" );
-
- // Make sure border sizes are at least reasonable...
- if (borderSizeX < 0)
- borderSizeX = 0;
- if (borderSizeY < 0)
- borderSizeY = 0;
- // ...and titleBarHeight as well
- if (titleBarHeight < 0)
- titleBarHeight = 0;
-
- // This is a work-around for some themes
- if (!titleT[Active])
- titleT[Active] = duplicateValidPixmap( Active );
-
- if (!titleB[Active])
- titleB[Active] = duplicateValidPixmap( Active );
-
-
- if (titleL[Active] && !titleL[InActive])
- titleL[InActive] = duplicateValidPixmap( InActive, titleL[Active]->width() );
-
- if (titleS[Active] && !titleS[InActive])
- titleS[InActive] = duplicateValidPixmap( InActive, titleS[Active]->width() );
-
- if (titleP[Active] && !titleP[InActive])
- titleP[InActive] = duplicateValidPixmap( InActive, titleP[Active]->width() );
-
- if (titleT[Active] && !titleT[InActive])
- titleT[InActive] = duplicateValidPixmap( InActive, titleT[Active]->width() );
-
- if (titleM[Active] && !titleM[InActive])
- titleM[InActive] = duplicateValidPixmap( InActive, titleM[Active]->width() );
-
- if (titleB[Active] && !titleB[InActive])
- titleB[InActive] = duplicateValidPixmap( InActive, titleB[Active]->width() );
-
- if (titleR[Active] && !titleR[InActive])
- titleR[InActive] = duplicateValidPixmap( InActive, titleR[Active]->width() );
-}
-
-
-TQPixmap* ThemeHandler::duplicateValidPixmap( bool act, int size )
-{
- TQPixmap* p1 = NULL;
- // Use the stretch or title pixmaps instead
- if ( titleS[act] )
- p1 = new TQPixmap( *titleS[act] );
- else if ( titleB[act] )
- p1 = new TQPixmap( *titleB[act] );
- else if ( titleT[act] )
- p1 = new TQPixmap( *titleT[act] );
-
- // Stretch if required
- if ( (size != -1) && p1 && (!p1->isNull()) )
- p1 = stretchPixmap( p1, true, size );
-
- return p1;
-}
-
-
-// Frees all memory used by pixmaps.
-void ThemeHandler::freePixmaps()
-{
- freePixmapGroup( frameTL );
- freePixmapGroup( frameT );
- freePixmapGroup( frameTR );
- freePixmapGroup( frameL );
- freePixmapGroup( frameR );
- freePixmapGroup( frameBL );
- freePixmapGroup( frameB );
- freePixmapGroup( frameBR );
-
- freePixmapGroup( closePix );
- freePixmapGroup( depthPix );
- freePixmapGroup( maximizePix );
- freePixmapGroup( minimizePix );
- freePixmapGroup( restorePix );
- freePixmapGroup( hidePix );
- freePixmapGroup( rollupPix );
- freePixmapGroup( rolldownPix );
- freePixmapGroup( menuButtonPix );
-
- freePixmapGroup( titleJ );
- freePixmapGroup( titleL );
- freePixmapGroup( titleS );
- freePixmapGroup( titleP );
- freePixmapGroup( titleT );
- freePixmapGroup( titleM );
- freePixmapGroup( titleB );
- freePixmapGroup( titleR );
- freePixmapGroup( titleQ );
-}
-
-
-// Frees a dynamic pixmap group from the heap.
-void ThemeHandler::freePixmapGroup( TQPixmap* p[] )
-{
- if (p)
- {
- if (p[Active]) delete p[Active];
- if (p[InActive]) delete p[InActive];
- p[Active] = NULL;
- p[InActive] = NULL;
- } else
- qWarning("twin-icewm: freePixmapGroup - invalid TQPixmap** 'p'\n");
-}
-
-
-// Converts icewm colors #C0C0C0 or rgb:C0/C0/C0 to TQColors
-TQColor ThemeHandler::decodeColor( TQString& s )
-{
- // Make rgb:C0/C0/C0, or #C0/C0/C0 -> C0C0C0
- s.replace( TQRegExp("r"), "");
- s.replace( TQRegExp("g"), "");
- s.replace( TQRegExp("b"), "");
- s.replace( TQRegExp("#"), "");
- s.replace( TQRegExp("/"), "");
- s.replace( TQRegExp(":"), "");
- s.replace( TQRegExp("\\"), "");
- s.replace( TQRegExp("\""), "");
-
- // Wierd error - return grey
- if (s.length() != 6)
- return TQColor( 0xC0, 0xC0, 0xC0 );
-
- // TQt makes this conversion very easy
- return TQColor( TQString("#") + s );
-}
-
-
-// Stretches tiny pixmaps vertically or horizontally, taking into account
-// repetition in patterns, so as not to make them mismatched
-TQPixmap* ThemeHandler::stretchPixmap( TQPixmap* src, bool stretchHoriz, int stretchSize )
-{
- if (!src) return NULL;
- if (src->isNull()) return NULL;
-
- int s_inc, size;
-
- // If its the right size already, just return
- if (stretchSize == -1)
- {
- if (stretchHoriz)
- s_inc = src->width();
- else
- s_inc = src->height();
-
- size = s_inc;
- if (size >= 100)
- return src;
-
- // Stretch an appropriate amount - taking care of pattern repetition
- while( size < 100 )
- size += s_inc;
- } else
- size = stretchSize;
-
- TQPixmap* p = new TQPixmap();
- if ( stretchHoriz )
- p->resize( size, src->height() );
- else
- p->resize( src->width(), size );
-
- TQPainter pnt( p );
- if ( stretchHoriz )
- pnt.drawTiledPixmap( 0, 0, size, src->height(), *src);
- else
- pnt.drawTiledPixmap( 0, 0, src->width(), size, *src);
- pnt.end();
-
- delete src;
- return p;
-}
-
-static void draw3DRect(TQPainter &pnt, TQColor &col, int x, int y, int w, int h, bool up) {
- TQColor light = col.light(135);
- TQColor dark = col.dark(140);
- pnt.setPen(up ? light : dark);
- pnt.drawLine(x, y, x+w, y);
- pnt.drawLine(x, y, x, y+h);
- pnt.setPen(up ? dark : light);
- pnt.drawLine(x, y+h, x+w, y+h);
- pnt.drawLine(x+w, y, x+w, y+h);
- pnt.setPen(col);
- pnt.drawPoint(x+w, y);
- pnt.drawPoint(x, y+h);
-}
-
-void ThemeHandler::setPixmapButton( TQPixmap* p[], TQString s1, TQString s2)
-{
- if ( p[Active] )
- qWarning("twin-icewm: setPixmap - should be null (1)\n");
- if ( p[InActive] )
- qWarning("twin-icewm: setPixmap - should be null (2)\n");
-
- TQString str = locate("appdata", TQString("icewm-themes/")
- + themeName + s1 + "A" + s2);
- if (str.isEmpty())
- str = locate("appdata", TQString("icewm-themes/")
- + themeName + s1 + s2);
-
- TQPixmap *qp = new TQPixmap(str);
- TQColor cActive = themeLook == WIN95 ? *colorActiveTitleBar : *colorActiveButton;
- TQColor cInActive = themeLook == WIN95 ? *colorInActiveTitleBar : *colorInActiveButton;
-
- if (!qp->isNull() && themeLook > 0) {
- int w = qp->width();
- if (themeLook > 0 && titleBarHeight > w) w = titleBarHeight;
- p[Active] = new TQPixmap(w, 2*titleBarHeight );
- p[Active] -> fill(cActive);
-
- TQPainter pnt( p[Active] );
-
- int offX = (w - qp->width())/2;
- int offY = (titleBarHeight - qp->height())/2;
- if (offY < 0) offY = 0;
-
- if (themeLook == WIN95) {
- draw3DRect(pnt, *colorActiveButton, offX-1, offY-1,
- qp->width()+1, qp->height()+1, true);
- draw3DRect(pnt, *colorActiveButton, offX-1, offY-1 + titleBarHeight,
- qp->width()+1, qp->height()+1, false);
- } else if (themeLook != WARP4) {
- draw3DRect(pnt, *colorActiveButton, 0, 0,
- w-1, titleBarHeight-1, true);
- draw3DRect(pnt, *colorActiveButton, 0, titleBarHeight,
- w-1, 2*titleBarHeight-1, false);
- }
-
- pnt.drawPixmap(offX, offY, *qp);
- if (qp->height() <= titleBarHeight) {
- pnt.drawPixmap(offX, titleBarHeight+offY, *qp);
- }
- pnt.end();
- delete qp;
- } else {
- p[Active] = qp;
- }
-
- str = locate("appdata", TQString("icewm-themes/")
- + themeName + s1 + "I" + s2);
- if (str.isEmpty())
- str = locate("appdata", TQString("icewm-themes/")
- + themeName + s1 + s2);
-
- qp = new TQPixmap(str);
- if (!qp->isNull() && themeLook > 0) {
- int w = qp->width();
- if (titleBarHeight > w) w = titleBarHeight;
- p[InActive] = new TQPixmap(w, 2*titleBarHeight );
- p[InActive] -> fill(cInActive);
-
- TQPainter pnt( p[InActive] );
-
- int offX = (w - qp->width())/2;
- int offY = (titleBarHeight - qp->height())/2;
- if (offY < 0) offY = 0;
-
- if (themeLook == WIN95) {
- draw3DRect(pnt, *colorInActiveButton, offX-1, offY-1,
- qp->width()+1, qp->height()+1, true);
- draw3DRect(pnt, *colorInActiveButton, offX-1, offY-1 + titleBarHeight,
- qp->width()+1, qp->height()+1, false);
- } else if (themeLook != WARP4) {
- draw3DRect(pnt, *colorInActiveButton, 0, 0,
- w-1, titleBarHeight-1, true);
- draw3DRect(pnt, *colorActiveButton, 0, titleBarHeight,
- w-1, 2*titleBarHeight-1, false);
- }
- pnt.drawPixmap(offX, offY, *qp);
- if (qp->height() <= titleBarHeight) {
- pnt.drawPixmap(offX, titleBarHeight+offY, *qp);
- }
- pnt.end();
- delete qp;
- } else {
- p[InActive] = qp;
- }
-}
-
-
-
-
-// Loads the specified Active/InActive files into the specific pixmaps, and
-// can perform horizontal / vertical stretching if required for speed.
-// Tries to implement some icewm specific pixmap handling for some dodgy themes
-void ThemeHandler::setPixmap( TQPixmap* p[], TQString s1, TQString s2,
- bool stretch, bool stretchHoriz )
-{
- if ( p[Active] )
- qWarning("twin-icewm: setPixmap - should be null (1)\n");
- if ( p[InActive] )
- qWarning("twin-icewm: setPixmap - should be null (2)\n");
-
- p[Active] = new TQPixmap( locate("data", TQString("twin/icewm-themes/")
- + themeName + s1 + "A" + s2) );
- p[InActive] = new TQPixmap( locate("data", TQString("twin/icewm-themes/")
- + themeName + s1 + "I" + s2) );
-
- // Stretch the pixmap if requested.
- if ( stretch )
- {
- if (p[Active])
- p[Active] = stretchPixmap( p[Active], stretchHoriz );
- if (p[InActive])
- p[InActive] = stretchPixmap( p[InActive], stretchHoriz );
- }
-
- if ( p[Active] && p[InActive] )
- {
- // Make sure active and inactive pixmaps are the same width for proper painting
- if (p[Active]->width() > p[InActive]->width())
- p[InActive] = stretchPixmap( p[InActive], true, p[Active]->width() );
- }
-
-}
-
-
-// returns true if there were enough pixmaps loaded to
-// draw the pixmap frame properly.
-bool ThemeHandler::isFrameValid()
-{
- return
- ( validPixmaps( frameTL ) &&
- validPixmaps( frameT ) &&
- validPixmaps( frameTR ) &&
- validPixmaps( frameL ) &&
- validPixmaps( frameR ) &&
- validPixmaps( frameBL ) &&
- validPixmaps( frameB ) &&
- validPixmaps( frameBR ) );
-}
-
-
-// Resets the theme, and re-clients all twin's wrapped windows.
-bool ThemeHandler::reset( unsigned long)
-{
- initialized = false;
- freePixmaps();
- readConfig();
- initTheme();
- validframe = isFrameValid();
- initialized = true;
-
- // recreate all clients
- return true;
-}
-
-bool ThemeHandler::supports( Ability ability )
-{
- switch( ability )
- {
- case AbilityAnnounceButtons:
- case AbilityButtonMenu:
- case AbilityButtonOnAllDesktops:
- case AbilityButtonMinimize:
- case AbilityButtonMaximize:
- case AbilityButtonClose:
- return true;
- default:
- return false;
- };
-}
-
-
-////////////////////////////////////////////////////////////////////////////////////////////
-// IceWM button class
-////////////////////////////////////////////////////////////////////////////////////////////
-
-IceWMButton::IceWMButton(IceWMClient *parent, const char *name, TQPixmap* (*p)[2],
- bool isToggle, const TQString& tip, const int realizeBtns )
- : TQButton(parent->widget(), name)
-{
- m_realizeButtons = realizeBtns;
- setTipText(tip);
- setCursor(ArrowCursor);
- // Eliminate any possible background flicker
- setBackgroundMode( TQWidget::NoBackground );
- client = parent;
- usePixmap( p );
- setFixedSize( tqsizeHint() );
- setToggleButton( isToggle );
-}
-
-
-void IceWMButton::setTipText(const TQString &tip) {
- if(KDecoration::options()->showTooltips()) {
- TQToolTip::remove(this );
- TQToolTip::add(this, tip );
- }
-}
-
-
-TQSize IceWMButton::tqsizeHint() const
-{
- // Check for invalid data
- if ( validPixmaps( (TQPixmap**) (*pix) ) ) // Cast to avoid dumb warning
- {
- TQPixmap* p = (*pix)[ client->isActive() ? Active : InActive ];
- return( TQSize(p->width(), titleBarHeight) );
- } else
- return( TQSize(0, 0) );
-}
-
-
-void IceWMButton::usePixmap( TQPixmap* (*p)[2] )
-{
- if (validPixmaps( *p )) {
- pix = p;
- setFixedSize( (*pix)[Active]->width(), titleBarHeight );
- tqrepaint( false );
- } else
- pix = NULL;
-}
-
-
-void IceWMButton::drawButton(TQPainter *pnt)
-{
- if ( pix && validPixmaps(*pix) )
- {
- TQPixmap* p = (*pix)[ client->isActive() ? Active : InActive ];
-
- if( p && (!p->isNull()) )
- {
- int width = p->width();
-
- // Only draw the lower pixmap 1/2 for down, and upper 1/2 for up state
- if( isDown() || isOn() )
- pnt->drawPixmap(0, 0, *p, 0, titleBarHeight, width, titleBarHeight);
- else
- pnt->drawPixmap(0, 0, *p, 0, 0, width, titleBarHeight);
- }
- } else
- qWarning("twin-icewm: Can't paint a null pixmap button");
-}
-
-
-void IceWMButton::turnOn( bool isOn )
-{
- if ( isToggleButton() )
- setOn( isOn );
-}
-
-
-void IceWMButton::mousePressEvent( TQMouseEvent* e )
-{
- last_button = e->button();
- TQMouseEvent me ( e->type(), e->pos(), e->globalPos(),
- (e->button()&m_realizeButtons)?Qt::LeftButton:Qt::NoButton, e->state() );
- TQButton::mousePressEvent( &me );
-}
-
-
-void IceWMButton::mouseReleaseEvent( TQMouseEvent* e )
-{
- last_button = e->button();
- TQMouseEvent me ( e->type(), e->pos(), e->globalPos(),
- (e->button()&m_realizeButtons)?Qt::LeftButton:Qt::NoButton, e->state() );
- TQButton::mouseReleaseEvent( &me );
-}
-
-
-
-////////////////////////////////////////////////////////////////////////////////////////////
-// IceWMClient class
-////////////////////////////////////////////////////////////////////////////////////////////
-
-IceWMClient::IceWMClient( KDecorationBridge* bridge, KDecorationFactory* factory )
- : KDecoration (bridge, factory),
- m_closing(false)
-{
-}
-
-
-IceWMClient::~IceWMClient()
-{
- // Free the menu pixmaps if previously allocated
- if ( menuButtonWithIconPix[Active] )
- delete menuButtonWithIconPix[Active];
- if ( menuButtonWithIconPix[InActive] )
- delete menuButtonWithIconPix[InActive];
-}
-
-
-void IceWMClient::init()
-{
- createMainWidget( WNoAutoErase | WStaticContents );
- widget()->installEventFilter( this );
-
- // Set button pointers to null so we can track things
- for(int i= IceWMClient::BtnSysMenu; i < IceWMClient::BtnCount; i++)
- button[i] = NULL;
-
- // Make sure we can track the menu pixmaps too.
- menuButtonWithIconPix[Active] = NULL;
- menuButtonWithIconPix[InActive] = NULL;
-
- // No flicker thanks
- widget()->setBackgroundMode( NoBackground );
-
- // Pack the windowWrapper() window within a grid tqlayout
- grid = new TQGridLayout(widget(), 0, 0, 0);
- grid->setResizeMode(TQLayout::FreeResize);
- grid->addRowSpacing(0, borderSizeY); // Top grab bar
-
- // Do something IceWM can't do :)
- if (titleBarOnTop) {
- if( isPreview())
- grid->addWidget( new TQLabel( i18n( "<center><b>IceWM preview</b></center>" ), widget() ), 2, 1);
- else
- grid->addItem( new TQSpacerItem( 0, 0 ), 2, 1);
- // no shade flicker
- grid->addItem( new TQSpacerItem( 0, 0, TQSizePolicy::Fixed, TQSizePolicy::Expanding ) );
- }
- else {
- // no shade flicker
- grid->addItem( new TQSpacerItem( 0, 0, TQSizePolicy::Fixed, TQSizePolicy::Expanding ) );
- if( isPreview())
- grid->addWidget( new TQLabel( i18n( "<center><b>IceWM preview</b></center>" ), widget() ), 1, 1);
- else
- grid->addItem( new TQSpacerItem( 0, 0 ), 1, 1);
- }
-
- grid->setRowStretch(1, 10);
- grid->setRowStretch(2, 10);
- grid->setColStretch(1, 10);
- grid->addRowSpacing(3, borderSizeY);
- grid->addColSpacing(0, borderSizeX);
- grid->addColSpacing(2, borderSizeX);
-
- // Pack the titlebar with spacers and buttons
- hb = new TQBoxLayout(0, TQBoxLayout::LeftToRight, 0, 0, 0);
- hb->setResizeMode( TQLayout::FreeResize );
-
- titleSpacerJ = addPixmapSpacer( titleJ );
-
- addClientButtons( *titleButtonsLeft );
- titleSpacerL = addPixmapSpacer( titleL );
-
- // Centre titlebar if required.
- TQSizePolicy::SizeType spTitleBar;
- spTitleBar = titleBarCentered ? TQSizePolicy::Expanding : TQSizePolicy::Maximum;
- titleSpacerS = addPixmapSpacer( titleS, spTitleBar, 1 );
- titleSpacerP = addPixmapSpacer( titleP );
-
- titlebar = new TQSpacerItem( titleTextWidth(caption()), titleBarHeight,
- TQSizePolicy::Preferred, TQSizePolicy::Fixed );
- hb->addItem(titlebar);
-
- titleSpacerM = addPixmapSpacer( titleM );
- titleSpacerB = addPixmapSpacer( titleB, TQSizePolicy::Expanding, 1 );
- titleSpacerR = addPixmapSpacer( titleR );
-
- addClientButtons( *titleButtonsRight );
-
- titleSpacerQ = addPixmapSpacer( titleQ );
-
- if (titleBarOnTop)
- grid->addLayout ( hb, 1, 1 );
- else
- grid->addLayout ( hb, 2, 1 );
-}
-
-
-// Adds the buttons to the hbox tqlayout as per the buttons specified
-// in the button string 's'
-void IceWMClient::addClientButtons( const TQString& s )
-{
- if (!s.isEmpty())
- for(unsigned int i = 0; i < s.length(); i++)
- {
- switch ( s[i].latin1() )
- {
- case 's':
- // Create the menu icons, and render with the current mini-icon
- // if explicitly requested by the theme.
- if ( (validPixmaps(menuButtonPix) || showMenuButtonIcon) && !button[BtnSysMenu])
- {
- if (showMenuButtonIcon) {
- renderMenuIcons();
- button[BtnSysMenu] = new IceWMButton(this, "menu",
- &menuButtonWithIconPix, false, i18n("Menu"), Qt::LeftButton|Qt::RightButton);
- }
- else
- button[BtnSysMenu] = new IceWMButton(this, "menu",
- &menuButtonPix, false, i18n("Menu"));
-
- connect( button[BtnSysMenu], TQT_SIGNAL(pressed()),
- this, TQT_SLOT(menuButtonPressed()));
- connect( button[BtnSysMenu], TQT_SIGNAL(released()),
- this, TQT_SLOT(menuButtonReleased()));
- hb->addWidget( button[BtnSysMenu] );
- }
- break;
-
- case 'x':
- if ( validPixmaps(closePix) && !button[BtnClose] && isCloseable())
- {
- button[BtnClose] = new IceWMButton(this, "close",
- &closePix, false, i18n("Close"));
- hb->addWidget( button[BtnClose] );
- connect( button[BtnClose], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(closeWindow()));
- }
- break;
-
- case 'm':
- if ( validPixmaps(maximizePix) && !button[BtnMaximize] && isMaximizable() )
- {
- button[BtnMaximize] = new IceWMButton(this, "maximize",
- &maximizePix, false, i18n("Maximize"), Qt::LeftButton|Qt::MidButton|Qt::RightButton);
- hb->addWidget( button[BtnMaximize] );
- connect( button[BtnMaximize], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(slotMaximize()));
- }
- break;
-
- case 'i':
- if ( validPixmaps(minimizePix) && !button[BtnMinimize] &&
- isMinimizable() )
- {
- button[BtnMinimize] = new IceWMButton(this, "minimize",
- &minimizePix, false, i18n("Minimize"));
- hb->addWidget( button[BtnMinimize] );
- connect( button[BtnMinimize], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(minimize()));
- }
- break;
-
- /* Not yet implemented - how's hide useful anyway?
- case 'h':
- if ( button[BtnHide] && !button[BtnHide] )
- hb->addWidget( button[BtnHide] );
- break; */
-
- case 'r':
- // NOTE: twin doesn't have toggleShade() in clients.h !
- if ( validPixmaps(rollupPix) && !button[BtnRollup] )
- {
- button[BtnRollup] = new IceWMButton(this, "shade",
- isSetShade() ? &rolldownPix : &rollupPix,
- false, i18n("Rollup"));
- hb->addWidget( button[BtnRollup] );
- connect( button[BtnRollup], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(toggleShade()));
- }
- break;
-
- case 'd':
- // Make depth == on all desktops
- if ( validPixmaps(depthPix) && !button[BtnDepth] )
- {
- button[BtnDepth] = new IceWMButton(this, "on_all_desktops",
- &depthPix, true, isOnAllDesktops()?i18n("Not on all desktops"):i18n("On all desktops"));
- button[BtnDepth]->turnOn( isOnAllDesktops() );
- hb->addWidget( button[BtnDepth] );
- connect( button[BtnDepth], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(toggleOnAllDesktops()));
- }
- break;
- }
- }
-}
-
-
-// Adds a pixmap to the titlebar tqlayout via the use of a nice TQSpacerItem
-TQSpacerItem* IceWMClient::addPixmapSpacer( TQPixmap* p[], TQSizePolicy::SizeType s, int hsize )
-{
- TQSpacerItem* sp;
-
- // Add a null spacer for zero image
- if ( p && p[Active] )
- {
- int w = (hsize == -1) ? p[Active]->width(): hsize;
- sp = new TQSpacerItem( w, titleBarHeight, s, TQSizePolicy::Fixed );
- }
- else
- sp = new TQSpacerItem(0, 0, TQSizePolicy::Maximum, TQSizePolicy::Fixed );
-
- hb->addItem( sp );
- return sp;
-}
-
-
-void IceWMClient::renderMenuIcons()
-{
- TQPixmap miniIcon( icon().pixmap( TQIconSet::Small, TQIconSet::Normal) );
-
- if (!miniIcon.isNull())
- for(int i = 0; i < 2; i++) {
- if ( menuButtonWithIconPix[i] )
- delete menuButtonWithIconPix[i];
-
- // Try to be more friendly to dodgy themes - icewm assumes a square menu button
- // but some pixmap themes don't provide a square menu button.
- int w = titleBarHeight;
- if (validPixmaps(menuButtonPix) && menuButtonPix[i]->width() > w)
- w = menuButtonPix[i]->width();
- menuButtonWithIconPix[i] = new TQPixmap(w, 2*titleBarHeight );
- if (themeLook != WIN95)
- menuButtonWithIconPix[i] -> fill((i==0) ? *colorInActiveButton : *colorActiveButton);
- else
- menuButtonWithIconPix[i] -> fill((i==0) ? *colorInActiveTitleBar : *colorActiveTitleBar);
- TQPainter pnt( menuButtonWithIconPix[i] );
-
- if (themeLook > 0 && themeLook != WIN95 && themeLook != WARP4) {
- draw3DRect(pnt, *colorActiveButton, 0, 0,
- w-1, titleBarHeight-1, true);
- draw3DRect(pnt, *colorActiveButton, 0, titleBarHeight,
- w-1, 2*titleBarHeight-1, false);
- }
- if (validPixmaps(menuButtonPix)) {
- pnt.drawPixmap(0, 0, *menuButtonPix[i]);
- }
- int offset = (titleBarHeight - miniIcon.width())/2;
- if (offset<0) offset = 0;
- // Paint the mini icon over the menu pixmap in the centre
- pnt.drawPixmap( offset, offset, miniIcon );
- pnt.drawPixmap( offset, titleBarHeight+offset, miniIcon );
- pnt.end();
- }
-
-}
-
-
-void IceWMClient::slotMaximize()
-{
- maximize(button[BtnMaximize]->last_button);
-}
-
-void IceWMClient::toggleShade()
-{
- setShade(!isSetShade());
-}
-
-int IceWMClient::titleTextWidth( const TQString& s )
-{
- // Obtains the actual width of the text, using the titlebar font
- TQSize size;
- TQFontMetrics fm( options()->font(true) );
- size = fm.size( 0, s );
- return size.width();
-}
-
-
-void IceWMClient::borders(int& left, int& right, int& top, int& bottom) const
-{
- left = borderSizeX;
- right = borderSizeX;
- if( titleBarOnTop ) {
- top = titleBarHeight + borderSizeY;
- bottom = borderSizeY;
- } else {
- top = borderSizeY;
- bottom = titleBarHeight + borderSizeY;
- }
-}
-
-
-void IceWMClient::resize( const TQSize& s )
-{
- widget()->resize( s );
-}
-
-
-TQSize IceWMClient::tqminimumSize() const
-{
- return widget()->tqminimumSize();
-}
-
-
-// Repaint nicely upon resize to minimise flicker.
-void IceWMClient::resizeEvent( TQResizeEvent* e )
-{
- calcHiddenButtons();
-
- if (widget()->isVisibleToTLW())
- {
- widget()->update(widget()->rect());
- int dx = 0;
- int dy = 0;
-
- if ( e->oldSize().width() != widget()->width() )
- dx = 32 + TQABS( e->oldSize().width() - width() );
-
- if ( e->oldSize().height() != height() )
- dy = 8 + TQABS( e->oldSize().height() - height() );
-
- if ( dy )
- widget()->update( 0, height() - dy + 1, width(), dy );
-
- if ( dx )
- {
- widget()->update( width() - dx + 1, 0, dx, height() );
- widget()->update( TQRect( TQPoint(4,4), titlebar->tqgeometry().bottomLeft() - TQPoint(1,0) ) );
- widget()->update( TQRect( titlebar->tqgeometry().topRight(), TQPoint( width() - 4, titlebar->tqgeometry().bottom() ) ) );
- widget()->tqrepaint(titlebar->tqgeometry(), false);
- }
- }
-}
-
-
-// IceWM Paint magic goes here.
-void IceWMClient::paintEvent( TQPaintEvent* )
-{
- TQColor colorTitleShadow;
- TQColor colorTitle;
- TQColor c1;
- int rx, rw;
-
- TQPainter p( widget() );
- int act = isActive() ? Active: InActive;
-
- // Determine titlebar shadow colors
- bool useShadow = isActive() ? useActiveShadow : useInActiveShadow;
- if ( useShadow )
- colorTitleShadow = isActive() ? *colorActiveTitleTextShadow : *colorInActiveTitleTextShadow;
-
- if ( themeTitleTextColors )
- colorTitle = isActive()? *colorActiveTitleBarText : *colorInActiveTitleBarText;
- else
- colorTitle = options()->color(ColorFont, isActive());
-
- // Obtain widget bounds.
- TQRect r;
- r = widget()->rect();
- int fillWidth = r.width() - 2*borderSizeX;
- int y = r.y();
- int x = r.x();
- int w = r.width();
- int h = r.height();
-
- // Do we have pixmaps for the frame?
- if (validframe)
- {
- // Top corner
- p.drawPixmap(0, 0, *frameTL[ act ], 0, 0, cornerSizeX, borderSizeY);
- p.drawPixmap(0, 0, *frameTL[ act ], 0, 0, borderSizeX, cornerSizeY);
-
- // Top right corner
- p.drawPixmap(w-cornerSizeX, 0, *frameTR[ act ],
- frameTR[act]->width()-cornerSizeX, 0, cornerSizeX, borderSizeY);
- p.drawPixmap(w-borderSizeX, 0, *frameTR[ act ],
- frameTR[act]->width()-borderSizeX, 0, borderSizeX, cornerSizeY);
-
- // Top bar
- p.drawTiledPixmap( cornerSizeX, 0, w-(2*cornerSizeX), borderSizeY, *frameT[ act ] );
-
- // Left bar
- p.drawTiledPixmap( 0, cornerSizeY, borderSizeX, h-(2*cornerSizeY), *frameL[ act ] );
-
- // Right bar
- p.drawTiledPixmap( w-borderSizeX, cornerSizeY, borderSizeX, h-(2*cornerSizeY),
- *frameR[ act ],frameR[act]->width()-borderSizeX );
-
- // Bottom left corner
- p.drawPixmap(0, h-borderSizeY, *frameBL[ act ],
- 0, frameBL[act]->height()-borderSizeY, cornerSizeX, borderSizeY);
- p.drawPixmap(0, h-cornerSizeY, *frameBL[ act ],
- 0, frameBL[act]->height()-cornerSizeY, borderSizeX, cornerSizeY);
-
- // Bottom right corner
- p.drawPixmap(w-cornerSizeX, h-borderSizeY, *frameBR[ act ],
- frameBR[act]->width()-cornerSizeX, frameBR[act]->height()-borderSizeY,
- cornerSizeX, borderSizeY);
-
- p.drawPixmap(w-borderSizeX, h-cornerSizeY, *frameBR[ act ],
- frameBR[act]->width()-borderSizeX, frameBR[act]->height()-cornerSizeY,
- borderSizeX, cornerSizeY);
-
- // Bottom bar
- p.drawTiledPixmap(cornerSizeX, h-borderSizeY, w-(2*cornerSizeX), borderSizeY,
- *frameB[ act ], 0, frameB[ act ]->height()-borderSizeY );
-
- // Ensure uncovered areas during shading are painted with something
- p.setPen( *colorInActiveBorder );
- if (titleBarOnTop)
- p.drawLine( x+borderSizeX, y+h-borderSizeY-1,
- x+w-borderSizeX-1, y+h-borderSizeY-1);
- else
- p.drawLine( x+borderSizeX, y+borderSizeY,
- x+w-borderSizeX-1, y+borderSizeY);
-
- } else
- {
- // Draw a stock IceWM frame instead of a pixmap frame
- c1 = isActive() ? *colorActiveBorder : *colorInActiveBorder;
-
- if (themeLook == WARP3 || themeLook == MOTIF) {
- draw3DRect(p, c1, x, y, w-1, h-1, true);
- p.setPen(c1);
- p.drawRect(x+1, y+1, w-2, h-2);
- } else {
- p.setPen( c1.light(135) );
- p.drawLine(0, 0, w-2, 0);
- p.drawLine(0, 0, 0, h-2);
-
- p.setPen(c1);
- p.drawLine(1, 1, w-3, 1);
- p.drawLine(1, 1, 1, h-3);
-
- p.setPen( c1.dark(140) );
- p.drawLine(1, h-2, w-2, h-2);
- p.drawLine(w-2, 1, w-2, h-2);
-
- p.setPen( TQt::black );
- p.drawLine(w-1, 0, w-1, h-1);
- p.drawLine(0, h-1, w-1, h-1);
- }
-
-
- // Fill frame border if required
- if (borderSizeX > 2)
- {
- // FillQt::Vertical sizes
- p.fillRect( x+2, y+2, borderSizeX-2, h-4, c1);
- p.fillRect( w-borderSizeX, y+2, borderSizeX-2, h-4, c1);
- }
-
- if (borderSizeY > 2)
- {
- // Fill horizontal frame parts
- p.fillRect( x+borderSizeX, y+2, fillWidth, borderSizeY-2, c1);
- p.fillRect( x+borderSizeX, h-borderSizeY, fillWidth, borderSizeY-2, c1);
- }
-
- if (themeLook == WARP3 || themeLook == MOTIF) {
- draw3DRect(p, c1, x+borderSizeX-1, y+borderSizeY-1,
- w+1-2*borderSizeX, h+1-2*borderSizeY, false);
- }
- if (themeLook == MOTIF && !isShade()) {
- int xext = titleBarHeight + borderSizeX - 1;
- int yext = titleBarHeight + borderSizeY - 1;
-
- int xext2 = w-xext-2;
- int yext2 = h-yext-2;
-
- int bX = w - borderSizeX-1;
- int bY = h - borderSizeY-1;
-
- p.setPen( c1.dark(140) );
- p.drawLine(xext, 0, xext, borderSizeY);
- p.drawLine(xext2, 0, xext2, borderSizeY);
- p.drawLine(xext, bY, xext, h-1);
- p.drawLine(xext2, bY, xext2, h-1);
-
- p.drawLine(0, yext, borderSizeX, yext);
- p.drawLine(0, yext2, borderSizeX, yext2);
- p.drawLine(bX, yext, w-1, yext);
- p.drawLine(bX, yext2, w-1, yext2);
-
- p.setPen( c1.light(135) );
-
- ++xext; ++yext; ++xext2; ++yext2;
-
- p.drawLine(xext, 0, xext, borderSizeY);
- p.drawLine(xext2, 0, xext2, borderSizeY);
- p.drawLine(xext, bY, xext, h-1);
- p.drawLine(xext2, bY, xext2, h-1);
-
- p.drawLine(0, yext, borderSizeX, yext);
- p.drawLine(0, yext2, borderSizeX, yext2);
- p.drawLine(bX, yext, w-1, yext);
- p.drawLine(bX, yext2, w-1, yext2);
-
-
- }
-
- // Ensure uncovered areas during shading are painted with something
- p.setPen( *colorInActiveBorder );
- if (titleBarOnTop)
- p.drawLine( x+borderSizeX, y+h-borderSizeY-1,
- x+w-borderSizeX-1, y+h-borderSizeY-1);
- else
- p.drawLine( x+borderSizeX, y+borderSizeY,
- x+w-borderSizeX-1, y+borderSizeY);
- }
-
- // Draw the title elements, if we need to draw a titlebar.
- if (titleBarHeight > 0)
- {
- TQPixmap* titleBuffer = new TQPixmap( width()-(2*borderSizeX), titleBarHeight );
- TQPainter p2( titleBuffer, this );
- titleBuffer->fill( act ? *colorActiveTitleBar : *colorInActiveTitleBar );
-
- r = titleSpacerJ->tqgeometry();
- if (!r.isEmpty() && titleJ[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleJ[ act ]);
-
- r = titleSpacerL->tqgeometry();
- if (!r.isEmpty() && titleL[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleL[ act ]);
-
- r = titleSpacerS->tqgeometry();
- if (!r.isEmpty() && titleS[ act ])
- p2.drawTiledPixmap( r.x()-borderSizeX, 0, r.width(), titleBarHeight, *titleS[ act ]);
-
- r = titleSpacerP->tqgeometry();
- if (!r.isEmpty() && titleP[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleP[ act ]);
-
- r = titlebar->tqgeometry();
- if (!r.isEmpty() && titleT[ act ] )
- p2.drawTiledPixmap( r.x()-borderSizeX, 0, r.width(), titleBarHeight, *titleT[ act ]);
-
- r = titleSpacerM->tqgeometry();
- if (!r.isEmpty() && titleM[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleM[ act ], 0, 0, r.width(), r.height());
-
- r = titleSpacerB->tqgeometry();
- if (!r.isEmpty() && titleB[ act ])
- p2.drawTiledPixmap( r.x()-borderSizeX, 0, r.width(), titleBarHeight, *titleB[ act ]);
-
- r = titleSpacerR->tqgeometry();
- if (!r.isEmpty() && titleR[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleR[ act ], 0, 0, r.width(), r.height());
-
- r = titleSpacerQ->tqgeometry();
- if (!r.isEmpty() && titleQ[ act ])
- p2.drawPixmap( r.x()-borderSizeX, 0, *titleQ[ act ], 0, 0, r.width(), r.height());
-
- p2.setFont( options()->font(true) );
-
- // Pre-compute as much as possible
- r = titlebar->tqgeometry();
- rx = r.x() - borderSizeX;
- rw = width()-(2*borderSizeX)-r.x();
-
- // Paint a title text shadow if requested
- if ( useShadow )
- {
- p2.setPen( colorTitleShadow );
- p2.drawText(rx+1, 1, rw, titleBarHeight, AlignLeft|AlignVCenter, caption());
- }
-
- // Draw the title text
- p2.setPen( colorTitle );
- p2.drawText(rx, 0, rw, titleBarHeight, AlignLeft|AlignVCenter, caption());
- p2.end();
-
- bitBlt( widget(), borderSizeX, hb->tqgeometry().y(), titleBuffer );
-
- delete titleBuffer;
- }
-}
-
-
-void IceWMClient::showEvent(TQShowEvent *ev)
-{
- calcHiddenButtons();
-
- titlebar->changeSize( titleTextWidth(caption()), titleBarHeight,
- TQSizePolicy::Preferred, TQSizePolicy::Fixed );
- grid->activate();
- widget()->show();
- IceWMClient::showEvent(ev);
-}
-
-
-void IceWMClient::mouseDoubleClickEvent( TQMouseEvent * e )
-{
- if( e->button() != Qt::LeftButton )
- return;
-
- TQRect r;
- if (titleBarOnTop)
- r.setRect( borderSizeX, borderSizeY, width()-(2*borderSizeX), titleBarHeight);
- else
- r.setRect( borderSizeX, height()-borderSizeY-titleBarHeight,
- width()-(2*borderSizeX), titleBarHeight);
-
- if (r.contains( e->pos() ) )
- titlebarDblClickOperation();
-
-}
-
-
-void IceWMClient::wheelEvent(TQWheelEvent *e)
-{
- if (isSetShade() || TQRect( 0, 0, width(), titleBarHeight ).contains( e->pos() ) )
- titlebarMouseWheelOperation( e->delta());
-}
-
-
-// Called via Client class when the miniIcon() changes
-void IceWMClient::iconChange()
-{
- if (validPixmaps(menuButtonPix) && showMenuButtonIcon)
- {
- if (button[BtnSysMenu])
- {
- renderMenuIcons();
- button[BtnSysMenu]->usePixmap( &menuButtonWithIconPix );
- if (button[BtnSysMenu]->isVisible())
- button[BtnSysMenu]->tqrepaint(false);
- }
- }
-}
-
-
-void IceWMClient::desktopChange()
-{
- if (button[BtnDepth])
- {
- button[BtnDepth]->turnOn( isOnAllDesktops() );
- button[BtnDepth]->tqrepaint(false);
- button[BtnDepth]->setTipText(isOnAllDesktops() ? i18n("Not on all desktops") : i18n("On all desktops"));
- }
-}
-
-
-// Please don't modify the following unless you want tqlayout problems
-void IceWMClient::captionChange()
-{
- TQRect r( 0, borderSizeY, geometry().width(), titleBarHeight);
-
- titlebar->changeSize( titleTextWidth( caption() ), titleBarHeight,
- TQSizePolicy::Preferred, TQSizePolicy::Fixed );
- titlebar->invalidate();
- grid->activate();
- widget()->tqrepaint( r, false );
-}
-
-
-void IceWMClient::maximizeChange()
-{
- // Change the button pixmap to restore if required
- if (button[BtnMaximize] && validPixmaps(restorePix))
- {
- button[BtnMaximize]->usePixmap( (maximizeMode()==MaximizeFull) ? &restorePix : &maximizePix );
- button[BtnMaximize]->setTipText( (maximizeMode()==MaximizeFull) ? i18n("Restore") : i18n("Maximize"));
- }
-}
-
-
-void IceWMClient::shadeChange()
-{
- // Change the button pixmap to rolldown if required
- if (button[BtnRollup] && validPixmaps(rolldownPix))
- {
- button[BtnRollup]->usePixmap( isSetShade() ? &rolldownPix : &rollupPix );
- button[BtnRollup]->setTipText( isSetShade() ? i18n("Rolldown") : i18n("Rollup"));
- }
-
-}
-
-
-void IceWMClient::activeChange()
-{
- widget()->tqrepaint(false);
-
- // Reset the button pixmaps.
- for(int i= IceWMClient::BtnSysMenu; i < IceWMClient::BtnCount; i++)
- if(button[i])
- button[i]->tqrepaint( false );
-}
-
-
-// This does the showing / hiding button magic
-// for variable positioned buttons.
-void IceWMClient::calcHiddenButtons()
-{
- const int minwidth = 220; // Minimum width where all buttons are shown
- const int btn_width = 20; // Average width
-
- // Show/Hide buttons in this order - OnAllDesktops, Maximize, Menu, Rollup, Minimize, Close.
- IceWMButton* btnArray[] = { button[BtnDepth], button[BtnMaximize], button[BtnSysMenu],
- button[BtnRollup], button[BtnMinimize], button[BtnClose] };
-
- int current_width = width();
- int count = 0;
- int i;
-
- // Find out how many buttons we have to hide.
- while (current_width < minwidth)
- {
- current_width += btn_width;
- count++;
- }
-
- // Bound the number of buttons to hide
- if (count > 6) count = 6;
-
- // Hide the required buttons...
- for(i = 0; i < count; i++)
- {
- if (btnArray[i] && btnArray[i]->isVisible() )
- btnArray[i]->hide();
- }
-
- // Show the rest of the buttons...
- for(i = count; i < 6; i++)
- {
- if (btnArray[i] && (!btnArray[i]->isVisible()) )
- btnArray[i]->show();
- }
-}
-
-
-// Mouse position code modified from that in workspace.cpp
-IceWMClient::Position IceWMClient::mousePosition( const TQPoint& p ) const
-{
- int rangeX = cornerSizeX;
- int rangeY = cornerSizeY;
- int borderX = borderSizeX;
- int borderY = borderSizeY;
-
- Position m = PositionCenter;
-
- if ((p.x() > borderX && p.x() < width() - borderX) &&
- ( p.y() > borderY && p.y() < height() - borderY))
- return PositionCenter;
-
- if ( p.y() <= rangeY && p.x() <= rangeX)
- m = PositionTopLeft;
- else if ( p.y() >= height()-rangeY && p.x() >= width()-rangeX)
- m = PositionBottomRight;
- else if ( p.y() >= height()-rangeX && p.x() <= rangeX)
- m = PositionBottomLeft;
- else if ( p.y() <= rangeY && p.x() >= width()-rangeX)
- m = PositionTopRight;
- else if ( p.y() <= borderY )
- m = PositionTop;
- else if ( p.y() >= height()-borderY )
- m = PositionBottom;
- else if ( p.x() <= borderX )
- m = PositionLeft;
- else if ( p.x() >= width()-borderX )
- m = PositionRight;
- else
- m = PositionCenter;
- return m;
-}
-
-
-void IceWMClient::menuButtonPressed()
-{
- static TQTime t;
- static IceWMClient* lastClient = NULL;
- bool dbl = ( lastClient == this && t.elapsed() <= TQApplication::doubleClickInterval());
- lastClient = this;
- t.start();
-
- if (dbl)
- {
- m_closing = true;
- return;
- }
-
- TQPoint menuPoint ( button[BtnSysMenu]->rect().bottomLeft() );
-
- // Move to right if menu on rhs, otherwise on left
- // and make this depend on windowWrapper(), not button.
-
- KDecorationFactory* f = factory();
- showWindowMenu( button[BtnSysMenu]->mapToGlobal(menuPoint) );
- if( !f->exists( this )) // 'this' was deleted
- return;
- button[BtnSysMenu]->setDown(false);
-}
-
-void IceWMClient::menuButtonReleased()
-{
- if (m_closing)
- closeWindow();
-}
-
-bool IceWMClient::eventFilter( TQObject* o, TQEvent* e )
-{
- if( TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget()))
- return false;
- switch( e->type())
- {
- case TQEvent::Resize:
- resizeEvent(TQT_TQRESIZEEVENT( e ) );
- return true;
- case TQEvent::Paint:
- paintEvent(TQT_TQPAINTEVENT( e ) );
- return true;
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent(TQT_TQMOUSEEVENT( e ) );
- return true;
- case TQEvent::MouseButtonPress:
- processMousePressEvent(TQT_TQMOUSEEVENT( e ) );
- return true;
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( e ));
- return true;
- default:
- break;
- }
- return false;
-}
-
-}
-
-extern "C"
-{
- KDE_EXPORT KDecorationFactory *create_factory()
- {
- IceWM::clientHandler = new IceWM::ThemeHandler;
- return IceWM::clientHandler;
- }
-}
-
-
-#include "icewm.moc"
-
-// vim: ts=4
diff --git a/kwin-styles/icewm/icewm.desktop b/kwin-styles/icewm/icewm.desktop
deleted file mode 100644
index eeffdcc0..00000000
--- a/kwin-styles/icewm/icewm.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Name=IceWM
-Name[cy]=RhewWM
-Name[hi]=आइस-डबल्यूएम
-Name[sv]=Ice-fönsterhanterare
-Name[ta]=பனிக்கட்டிWM
-Name[th]=ตัวจัดการหน้าต่าง IceWM
-Name[vi]=Nước đá WM
-Name[xh]=UmkhenkceWM
-Name[zu]=Iqhwa leWM
-X-KDE-Library=twin3_icewm
diff --git a/kwin-styles/icewm/icewm.h b/kwin-styles/icewm/icewm.h
deleted file mode 100644
index f343912c..00000000
--- a/kwin-styles/icewm/icewm.h
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- $Id$
-
- Gallium-IceWM themeable KWin client
-
- Copyright 2001
- Karol Szwed <gallium@kde.org>
- http://gallium.n3.net/
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-
- -----------------------------------------------------------------------------
- This client loads most icewm 1.0.X pixmap themes, without taking into account
- specific font settings for clients, or coloured mouse cursors. Titlebar
- fonts can be changed via the kde control center. Bi-colour mouse cursors
- may be added in future if requested by users, as well as theme font support.
- Any styles using inbuilt icewm titlebar drawing without using pixmaps (e.g.
- Warp4, win95 etc.) are not fully supported, and may cause drawing errors,
- as these themes use in-built icewm drawing mechanisms.
-
- When a pixmap theme is not present (or a corrupt one is present) then very
- plain title decorations are painted instead, so that users don't see
- non-painted window areas where possible ;)
-
- At a later date, frame shaping may be added if really requested, and an
- update to support the latest icewm 1.1.X theme format may be made.
-*/
-
-#ifndef __KDEGALLIUM_ICEWM_H
-#define __KDEGALLIUM_ICEWM_H
-
-#include <tqbutton.h>
-#include <tqlayout.h>
-#include <kpixmap.h>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-#include <tqbutton.h>
-class TQLabel;
-class TQSpacerItem;
-class TQBoxLayout;
-class TQGridLayout;
-
-namespace IceWM {
-
-class IceWMClient;
-
-// Pixmap group
-enum { InActive=0, Active };
-// Pixmap stretching mode
-enum { Vertical=0, Horizontal=1 };
-
-
-// Handles the resetClients() signal from the Options class,
-// and manages the dynamic pixmaps, configuration and theme changing
-class ThemeHandler: public KDecorationFactory
-{
- public:
- ThemeHandler();
- ~ThemeHandler();
-
- virtual KDecoration* createDecoration( KDecorationBridge* );
- virtual bool reset( unsigned long changed );
- virtual bool supports( Ability ability );
-
- private:
- bool initialized;
- TQString themeName;
-
- void readConfig();
- TQColor decodeColor( TQString& s );
- bool isFrameValid();
- void initTheme();
- void freePixmaps();
- void freePixmapGroup( TQPixmap* p[] );
- void setPixmap( TQPixmap* p[], TQString s1, TQString s2, bool
- stretch=false, bool stretchHoriz=true );
- void setPixmapButton( TQPixmap* p[], TQString s1, TQString s2);
- TQPixmap* stretchPixmap( TQPixmap* src, bool stretchHoriz=true,
- int stretchSize=-1);
- TQPixmap* duplicateValidPixmap( bool act, int size = -1 );
- void convertButtons( TQString& s );
- TQString reverseString( TQString s );
-};
-
-
-class IceWMButton : public TQButton
-{
- public:
- IceWMButton( IceWMClient *parent=0, const char *name=0,
- TQPixmap* (*p)[2]=0L, bool isToggle=false,
- const TQString& tip=NULL, const int realizeBtns = Qt::LeftButton );
- void setTipText(const TQString &tip);
- void usePixmap( TQPixmap* (*p)[2] );
- TQSize tqsizeHint() const;
- void turnOn( bool isOn );
- ButtonState last_button;
-
- protected:
- void mousePressEvent( TQMouseEvent* e );
- void mouseReleaseEvent( TQMouseEvent* e );
-
- void drawButton( TQPainter *p );
- void drawButtonLabel( TQPainter * ) {;}
-
- private:
- int m_realizeButtons;
- IceWMClient* client;
- TQPixmap* (*pix)[2]; // Points to active/inactive pixmap array
-};
-
-
-class IceWMClient : public KDecoration
-{
- Q_OBJECT
- TQ_OBJECT
- public:
- IceWMClient( KDecorationBridge* bridge, KDecorationFactory* factory );
- ~IceWMClient();
-
- virtual void init();
- virtual void resize(const TQSize&);
- virtual bool eventFilter( TQObject* o, TQEvent* e );
-
- protected:
- void resizeEvent( TQResizeEvent* );
- void paintEvent( TQPaintEvent* );
- void showEvent( TQShowEvent* );
- void mouseDoubleClickEvent( TQMouseEvent * );
- void wheelEvent( TQWheelEvent * );
- virtual void captionChange();
- virtual void maximizeChange();
- virtual void shadeChange();
- virtual void activeChange();
- // void shadeChange(bool); /* KWin Client class doesn't provide this yet */
- Position mousePosition( const TQPoint& ) const;
- void renderMenuIcons();
- void iconChange();
- virtual void desktopChange( );
- virtual void borders(int&, int&, int&, int&) const;
- virtual TQSize tqminimumSize() const;
-
- protected slots:
- void slotMaximize();
- void menuButtonPressed();
- void menuButtonReleased();
- void toggleShade();
-
- private:
- // These are all the icewm button types :)
- enum Buttons{ BtnSysMenu=0, BtnClose, BtnMaximize, BtnMinimize,
- BtnHide, BtnRollup, BtnDepth, BtnCount };
-
- TQString shortenCaption( const TQString* s );
- void calcHiddenButtons();
- int titleTextWidth( const TQString& s );
- void addClientButtons( const TQString& s );
- TQSpacerItem* addPixmapSpacer( TQPixmap* p[],
- TQSizePolicy::SizeType = TQSizePolicy::Maximum, int hsize = -1 );
-
- IceWMButton* button[ IceWMClient::BtnCount ];
- TQPixmap* menuButtonWithIconPix[2];
- TQSpacerItem* titleSpacerJ;
- TQSpacerItem* titleSpacerL;
- TQSpacerItem* titleSpacerS;
- TQSpacerItem* titleSpacerP;
- TQSpacerItem* titlebar;
- TQSpacerItem* titleSpacerM;
- TQSpacerItem* titleSpacerB;
- TQSpacerItem* titleSpacerR;
- TQSpacerItem* titleSpacerQ;
- TQBoxLayout* hb;
- TQGridLayout* grid;
- bool m_closing;
-};
-
-}
-
-#endif
-
-// vim: ts=4
diff --git a/kwin-styles/kde1/CMakeLists.txt b/kwin-styles/kde1/CMakeLists.txt
deleted file mode 100644
index 2cbae1eb..00000000
--- a/kwin-styles/kde1/CMakeLists.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES kde1.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_cde ##################################
-
-tde_add_kpart( twin3_kde1 AUTOMOC
- SOURCES kde1client.cpp
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/kde1/Makefile.am b/kwin-styles/kde1/Makefile.am
deleted file mode 100644
index 131b71a4..00000000
--- a/kwin-styles/kde1/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-
-INCLUDES = $(all_includes)
-
-kde_module_LTLIBRARIES = twin3_kde1.la
-
-twin3_kde1_la_SOURCES = kde1client.cpp
-twin3_kde1_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin3_kde1_la_LIBADD = -ltdecorations
-
-METASOURCES = AUTO
-noinst_HEADERS = kde1client.h
-
-lnkdir = $(kde_datadir)/twin/
-lnk_DATA = kde1.desktop
-EXTRA_DIST = $(lnk_DATA)
-
diff --git a/kwin-styles/kde1/kde1.desktop b/kwin-styles/kde1/kde1.desktop
deleted file mode 100644
index e0a1ffad..00000000
--- a/kwin-styles/kde1/kde1.desktop
+++ /dev/null
@@ -1,7 +0,0 @@
-[Desktop Entry]
-Name=KDE 1
-Name[fa]=KDE ۱
-Name[hi]=केडीई 1
-Name[ne]=केडीई १
-Name[th]=โปรแกรมจัดการหน้าต่าง KDE 1
-X-KDE-Library=twin3_kde1
diff --git a/kwin-styles/kde1/kde1client.cpp b/kwin-styles/kde1/kde1client.cpp
deleted file mode 100644
index c6a7db98..00000000
--- a/kwin-styles/kde1/kde1client.cpp
+++ /dev/null
@@ -1,809 +0,0 @@
-/*****************************************************************
-twin - the KDE window manager
-
-Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org>
-******************************************************************/
-#include "kde1client.h"
-#include <tqcursor.h>
-#include <tqlayout.h>
-#include <tqtoolbutton.h>
-#include <tqlabel.h>
-#include <tqdrawutil.h>
-#include <tqbitmap.h>
-#include <kdrawutil.h>
-#include <klocale.h>
-#include <kpixmap.h>
-#include <tqdatetime.h>
-#include <tqimage.h>
-#include <tqtooltip.h>
-
-#include "kde1client_bitmaps.h"
-
-// Default button tqlayout
-const char default_left[] = "MS";
-const char default_right[] = "H_IAX";
-
-namespace KDE1
-{
-
-TQPixmap* close_pix = 0;
-TQPixmap* maximize_pix = 0;
-TQPixmap* minimize_pix = 0;
-TQPixmap* normalize_pix = 0;
-TQPixmap* pinup_pix = 0;
-TQPixmap* pindown_pix = 0;
-TQPixmap* menu_pix = 0;
-TQPixmap* question_mark_pix = 0;
-
-TQPixmap* dis_close_pix = 0;
-TQPixmap* dis_maximize_pix = 0;
-TQPixmap* dis_minimize_pix = 0;
-TQPixmap* dis_normalize_pix = 0;
-TQPixmap* dis_pinup_pix = 0;
-TQPixmap* dis_pindown_pix = 0;
-TQPixmap* dis_menu_pix = 0;
-TQPixmap* dis_question_mark_pix = 0;
-
-TQPixmap* titleBuffer = 0;
-
-bool pixmaps_created = FALSE;
-
-inline const KDecorationOptions* options() { return KDecoration::options(); }
-
-void create_pixmaps()
-{
- if ( pixmaps_created )
- return;
- pixmaps_created = true;
- TQColorGroup aGrp = options()->tqcolorGroup(KDecorationOptions::ColorButtonBg, true);
- TQColorGroup iGrp = options()->tqcolorGroup(KDecorationOptions::ColorButtonBg, false);
-
- TQPainter aPainter, iPainter;
- close_pix = new TQPixmap(16, 16);
- dis_close_pix = new TQPixmap(16, 16);
- aPainter.begin(close_pix); iPainter.begin(dis_close_pix);
- kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, close_white_bits,
- NULL, NULL, close_dgray_bits, NULL, NULL);
- kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, close_white_bits,
- NULL, NULL, close_dgray_bits, NULL, NULL);
- aPainter.end(); iPainter.end();
- close_pix->setMask(TQBitmap(16, 16, close_mask_bits, true));
- dis_close_pix->setMask(*close_pix->mask());
-
- minimize_pix = new TQPixmap(16, 16);
- dis_minimize_pix = new TQPixmap(16, 16);
- aPainter.begin(minimize_pix); iPainter.begin(dis_minimize_pix);
- kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, iconify_white_bits,
- NULL, NULL, iconify_dgray_bits, NULL, NULL);
- kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, iconify_white_bits,
- NULL, NULL, iconify_dgray_bits, NULL, NULL);
- aPainter.end(); iPainter.end();
- minimize_pix->setMask(TQBitmap(16, 16, iconify_mask_bits, true));
- dis_minimize_pix->setMask(*minimize_pix->mask());
-
- maximize_pix = new TQPixmap(16, 16);
- dis_maximize_pix = new TQPixmap(16, 16);
- aPainter.begin(maximize_pix); iPainter.begin(dis_maximize_pix);
- kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, maximize_white_bits,
- NULL, NULL, maximize_dgray_bits, NULL, NULL);
- kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, maximize_white_bits,
- NULL, NULL, maximize_dgray_bits, NULL, NULL);
- aPainter.end(); iPainter.end();
- maximize_pix->setMask(TQBitmap(16, 16, maximize_mask_bits, true));
- dis_maximize_pix->setMask(*maximize_pix->mask());
-
- normalize_pix = new TQPixmap(16, 16);
- dis_normalize_pix = new TQPixmap(16, 16);
- aPainter.begin(normalize_pix); iPainter.begin(dis_normalize_pix);
- kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, maximizedown_white_bits,
- NULL, NULL, maximizedown_dgray_bits, NULL, NULL);
- kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, maximizedown_white_bits,
- NULL, NULL, maximizedown_dgray_bits, NULL, NULL);
- aPainter.end(); iPainter.end();
- normalize_pix->setMask(TQBitmap(16, 16, maximizedown_mask_bits, true));
- dis_normalize_pix->setMask(*normalize_pix->mask());
-
- menu_pix = new TQPixmap(16, 16);
- dis_menu_pix = new TQPixmap(16, 16);
- aPainter.begin(menu_pix); iPainter.begin(dis_menu_pix);
- kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, menu_white_bits,
- NULL, NULL, menu_dgray_bits, NULL, NULL);
- kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, menu_white_bits,
- NULL, NULL, menu_dgray_bits, NULL, NULL);
- aPainter.end(); iPainter.end();
- menu_pix->setMask(TQBitmap(16, 16, menu_mask_bits, true));
- dis_menu_pix->setMask(*menu_pix->mask());
-
- pinup_pix = new TQPixmap(16, 16);
- dis_pinup_pix = new TQPixmap(16, 16);
- aPainter.begin(pinup_pix); iPainter.begin(dis_pinup_pix);
- kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, pinup_white_bits,
- pinup_gray_bits, NULL, pinup_dgray_bits, NULL, NULL);
- kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, pinup_white_bits,
- pinup_gray_bits, NULL, pinup_dgray_bits, NULL, NULL);
- aPainter.end(); iPainter.end();
- pinup_pix->setMask(TQBitmap(16, 16, pinup_mask_bits, true));
- dis_pinup_pix->setMask(*pinup_pix->mask());
-
- pindown_pix = new TQPixmap(16, 16);
- dis_pindown_pix = new TQPixmap(16, 16);
- aPainter.begin(pindown_pix); iPainter.begin(dis_pindown_pix);
- kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, pindown_white_bits,
- pindown_gray_bits, NULL, pindown_dgray_bits, NULL, NULL);
- kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, pindown_white_bits,
- pindown_gray_bits, NULL, pindown_dgray_bits, NULL, NULL);
- aPainter.end(); iPainter.end();
- pindown_pix->setMask(TQBitmap(16, 16, pindown_mask_bits, true));
- dis_pindown_pix->setMask(*pindown_pix->mask());
-
- question_mark_pix = new TQPixmap(16, 16);
- dis_question_mark_pix = new TQPixmap(16, 16);
- aPainter.begin(question_mark_pix); iPainter.begin(dis_question_mark_pix);
- kColorBitmaps(&aPainter, aGrp, 0, 0, 16, 16, true, help_light_bits,
- NULL, NULL, help_dark_bits, NULL, NULL);
- kColorBitmaps(&iPainter, iGrp, 0, 0, 16, 16, true, help_light_bits,
- NULL, NULL, help_dark_bits, NULL, NULL);
- aPainter.end(); iPainter.end();
- question_mark_pix->setMask(TQBitmap(16, 16, help_mask_bits, true));
- dis_question_mark_pix->setMask(*question_mark_pix->mask());
-
- titleBuffer = new KPixmap;
-}
-
-void delete_pixmaps()
-{
- delete close_pix;
- delete maximize_pix;
- delete minimize_pix;
- delete normalize_pix;
- delete pinup_pix;
- delete pindown_pix;
- delete menu_pix;
- delete question_mark_pix;
- delete dis_close_pix;
- delete dis_maximize_pix;
- delete dis_minimize_pix;
- delete dis_normalize_pix;
- delete dis_pinup_pix;
- delete dis_pindown_pix;
- delete dis_menu_pix;
- delete dis_question_mark_pix;
- delete titleBuffer;
- pixmaps_created = false;
-}
-
-void drawGradient
-(
- TQPainter & p,
- const TQRect & t,
- const TQColor & c1,
- const TQColor & c2
-)
-{
- // Don't draw a million vertical lines if we don't need to.
-
- if (c1 == c2 || TQPixmap::defaultDepth() <= 8)
- {
- p.fillRect(t, c1);
- return;
- }
-
- // rikkus: Adapted from KPixmapEffect::gradient().
-
- int rca = c1.red();
- int gca = c1.green();
- int bca = c1.blue();
-
- int rDiff = c2.red() - rca;
- int gDiff = c2.green() - gca;
- int bDiff = c2.blue() - bca;
-
- int rl = rca << 16;
- int gl = gca << 16;
- int bl = bca << 16;
-
- int rcdelta = ((1 << 16) / t.width()) * rDiff;
- int gcdelta = ((1 << 16) / t.width()) * gDiff;
- int bcdelta = ((1 << 16) / t.width()) * bDiff;
-
- for (int x = 0; x < t.width(); x++)
- {
- rl += rcdelta;
- gl += gcdelta;
- bl += bcdelta;
-
- p.setPen(TQColor(rl >> 16, gl >> 16, bl >> 16));
-
- p.drawLine(t.x() + x, 0, t.x() + x, t.y() + t.height() - 1);
- }
-}
-
-
-void StdClient::reset( unsigned long )
-{
- if (button[ButtonMenu] && (icon().pixmap( TQIconSet::Small, TQIconSet::Normal ).isNull()))
- button[ButtonMenu]->setIconSet(isActive() ? *menu_pix : *dis_menu_pix);
- if (button[ButtonSticky])
- button[ButtonSticky]->setIconSet(isOnAllDesktops() ? isActive() ? *pindown_pix : *dis_pindown_pix :
- isActive() ? *pinup_pix : *dis_pinup_pix );
- if (button[ButtonMinimize])
- button[ButtonMinimize]->setIconSet(isActive() ? *minimize_pix : *dis_minimize_pix);
- if (button[ButtonMaximize])
- button[ButtonMaximize]->setIconSet(isActive() ? *maximize_pix : *dis_maximize_pix);
- if (button[ButtonClose])
- button[ButtonClose]->setIconSet(isActive() ? *close_pix : *dis_close_pix);
- if (button[ButtonHelp])
- button[ButtonHelp]->setIconSet(isActive() ? *question_mark_pix : *dis_question_mark_pix);
-
- widget()->setFont(options()->font(true));
-}
-
-
-StdClient::StdClient( KDecorationBridge* b, KDecorationFactory* f )
- : KDecoration( b, f )
-{
-}
-
-void StdClient::init()
-{
- createMainWidget();
- widget()->installEventFilter( this );
-
- widget()->setFont(options()->font(isActive() ));
-
- TQGridLayout* g = new TQGridLayout( widget(), 0, 0, 3, 2 );
- g->setRowStretch( 1, 10 );
- if( isPreview())
- g->addWidget( new TQLabel( i18n( "<center><b>KDE 1 preview</b></center>" ), widget()), 1, 1 );
- else
- g->addItem( new TQSpacerItem( 0, 0 ), 1, 1 ); //no widget in the middle
- g->addItem( new TQSpacerItem( 0, 0, TQSizePolicy::Fixed, TQSizePolicy::Expanding ) );
-
- g->addColSpacing(0, 1);
- g->addColSpacing(2, 1);
- g->addRowSpacing(2, 1);
-
- int fh = widget()->fontMetrics().lineSpacing();
- titlebar = new TQSpacerItem(10, fh, TQSizePolicy::Expanding,
- TQSizePolicy::Minimum );
-
- TQBoxLayout* hb = new TQBoxLayout(0, TQBoxLayout::LeftToRight, 0, 0, 0);
- g->addLayout( hb, 0, 1 );
-
- // setup titlebar buttons
- for (int n=0; n<ButtonTypeCount; n++) button[n] = 0;
- addButtons(hb, options()->customButtonPositions() ? options()->titleButtonsLeft() : TQString(default_left));
- hb->addItem(titlebar);
- addButtons(hb, options()->customButtonPositions() ? options()->titleButtonsRight() : TQString(default_right));
-
- for (int n=0; n<ButtonTypeCount; n++) {
- if ( !button[n] )
- continue;
- button[n]->setBackgroundMode( PaletteBackground );
- button[n]->setMouseTracking( FALSE );
- button[n]->setAutoRaise( TRUE );
- button[n]->setFocusPolicy( TQ_NoFocus );
- button[n]->setFixedSize( 20, 20 );
- }
-
-#if 0 // not sure what this is supposed to mean (and why)
- if ( isTransient() ) {
- // lighter decoration for transient windows
- button[1]->hide();
-// button[2]->hide();
- button[3]->hide();
- button[4]->hide();
- }
-#endif
-}
-
-void StdClient::addButtons(TQBoxLayout *hb, const TQString& s)
-{
- if (s.length() > 0) {
- for (unsigned n=0; n < s.length(); n++) {
- switch (s[n]) {
- case 'M': // Menu button
- if (!button[ButtonMenu]) {
- button[ButtonMenu] = new TQToolButton( widget(), 0 );
- TQToolTip::add( button[ButtonMenu], i18n("Menu") );
- button[ButtonMenu]->setCursor(ArrowCursor);
- if( icon().pixmap( TQIconSet::Small, TQIconSet::Normal ).isNull())
- button[ButtonMenu]->setIconSet(isActive() ? *menu_pix : *dis_menu_pix);
- else
- button[ButtonMenu]->setIconSet( icon().pixmap( TQIconSet::Small, TQIconSet::Normal ));
- connect( button[0], TQT_SIGNAL( pressed() ), this, TQT_SLOT( menuButtonPressed() ) );
- hb->addWidget(button[ButtonMenu]);
- }
- break;
-
- case 'S': // Sticky button
- if (!button[ButtonSticky]) {
- button[ButtonSticky] = new TQToolButton( widget(), 0 );
- button[ButtonSticky]->setIconSet( isOnAllDesktops()?*pindown_pix:*pinup_pix );
- TQToolTip::add( button[ButtonSticky], isOnAllDesktops()?i18n("Not On All Desktops"):i18n("On All Desktops") );
- button[ButtonSticky]->setCursor(ArrowCursor);
- button[ButtonSticky]->setIconSet(isOnAllDesktops() ? isActive() ? *pindown_pix : *dis_pindown_pix :
- isActive() ? *pinup_pix : *dis_pinup_pix );
- connect( button[ButtonSticky], TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( toggleOnAllDesktops() ) ) );
- hb->addWidget(button[ButtonSticky]);
- }
- break;
-
- case 'H': // Help button
- if ((!button[ButtonHelp]) && providesContextHelp()) {
- button[ButtonHelp] = new TQToolButton( widget(), 0 );
- TQToolTip::add( button[ButtonHelp], i18n("Help") );
- button[ButtonHelp]->setIconSet( isActive() ? *question_mark_pix : *dis_question_mark_pix);
- connect( button[ButtonHelp], TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( showContextHelp() ) ) );
- button[ButtonHelp]->setCursor(ArrowCursor);
- hb->addWidget(button[ButtonHelp]);
- }
- break;
-
- case 'I': // Minimize button
- if ((!button[ButtonMinimize]) && isMinimizable()) {
- button[ButtonMinimize] = new TQToolButton( widget(), 0 );
- TQToolTip::add( button[ButtonMinimize], i18n("Minimize") );
- button[ButtonMinimize]->setCursor(ArrowCursor);
- button[ButtonMinimize]->setIconSet(isActive() ? *minimize_pix : *dis_minimize_pix);
- connect( button[ButtonMinimize], TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( minimize() ) ) );
- hb->addWidget(button[ButtonMinimize]);
- }
- break;
-
- case 'A': // Maximize button
- if ((!button[ButtonMaximize]) && isMaximizable()) {
- const bool max = maximizeMode()!=MaximizeRestore;
- button[ButtonMaximize] = new ThreeButtonButton( widget(), 0 );
- TQToolTip::add( button[ButtonMaximize], max?i18n("Restore"):i18n("Maximize") );
- button[ButtonMaximize]->setCursor(ArrowCursor);
- button[ButtonMaximize]->setIconSet( max?(isActive() ? *normalize_pix : *dis_normalize_pix):(isActive() ? *maximize_pix : *dis_maximize_pix) );
- connect( button[ButtonMaximize], TQT_SIGNAL( clicked(ButtonState) ),
- this, ( TQT_SLOT( maxButtonClicked(ButtonState) ) ) );
- hb->addWidget(button[ButtonMaximize]);
- }
- break;
-
- case 'X': // Close button
- if ((!button[ButtonClose]) && isCloseable()) {
- button[ButtonClose] = new TQToolButton( widget(), 0 );
- TQToolTip::add( button[ButtonClose], i18n("Close") );
- button[ButtonClose]->setCursor(ArrowCursor);
- button[ButtonClose]->setIconSet(isActive() ? *close_pix : *dis_close_pix);
- connect( button[ButtonClose], TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( closeWindow() ) ) );
- hb->addWidget(button[ButtonClose]);
- }
- break;
-
- case '_': // Spacer item
- hb->addItem( new TQSpacerItem( 5, 0, TQSizePolicy::Fixed, TQSizePolicy::Expanding ) );
- }
- }
- }
-}
-
-void StdClient::activeChange()
-{
- bool on = isActive();
- if (button[ButtonMenu] && (icon().pixmap( TQIconSet::Small, TQIconSet::Normal ).isNull()))
- button[ButtonMenu]->setIconSet(on ? *menu_pix : *dis_menu_pix);
- if (button[ButtonSticky])
- button[ButtonSticky]->setIconSet(isOnAllDesktops() ? on ? *pindown_pix : *dis_pindown_pix :
- on ? *pinup_pix : *dis_pinup_pix );
- if (button[ButtonMinimize])
- button[ButtonMinimize]->setIconSet(on ? *minimize_pix : *dis_minimize_pix);
- if (button[ButtonMaximize])
- button[ButtonMaximize]->setIconSet(on ? *maximize_pix : *dis_maximize_pix);
- if (button[ButtonClose])
- button[ButtonClose]->setIconSet(on ? *close_pix : *dis_close_pix);
- if (button[ButtonHelp])
- button[ButtonHelp]->setIconSet(on ? *question_mark_pix : *dis_question_mark_pix);
- widget()->tqrepaint( titlebar->tqgeometry(), false );
-}
-
-
-StdClient::~StdClient()
-{
- for (int n=0; n<ButtonTypeCount; n++) {
- if (button[n]) delete button[n];
- }
-}
-
-
-void StdClient::resizeEvent( TQResizeEvent* )
-{
- TQRegion rr = widget()->rect();
- TQRect t = titlebar->tqgeometry();
-// t.setTop( 0 );
-// TQRegion r = rr.subtract( TQRect( t.x()+1, 0, t.width()-2, 1 ) );
-// setMask( r );
-
- if ( widget()->isVisibleToTLW() && !widget()->testWFlags( WStaticContents )) {
- // manual clearing without the titlebar (we selected WResizeNoErase )
- TQRect cr( 2, 2, width()-4, height()- 4 );
- widget()->erase( TQRegion( cr ).subtract( t ) );
- }
-}
-
-/*!\reimp
- */
-void StdClient::captionChange()
-{
- widget()->tqrepaint( titlebar->tqgeometry(), FALSE );
-}
-
-
-/*!\reimp
- */
-void StdClient::maximizeChange()
-{
- bool m = maximizeMode() == MaximizeFull;
- if (button[ButtonMaximize]) {
- button[ButtonMaximize]->setIconSet( m?*normalize_pix:*maximize_pix );
- TQToolTip::remove( button[ButtonMaximize] );
- TQToolTip::add( button[ButtonMaximize], m ? i18n("Restore") : i18n("Maximize") );
- }
-}
-
-
-/*!\reimp
- */
-void StdClient::desktopChange()
-{
- bool s = isOnAllDesktops();
- if (button[ButtonSticky]) {
- button[ButtonSticky]->setIconSet( s?*pindown_pix:*pinup_pix );
- TQToolTip::remove( button[ButtonSticky] );
- TQToolTip::add( button[ButtonSticky], s ? i18n("Not On All Desktops") : i18n("On All Desktops") );
- }
-}
-
-void StdClient::paintEvent( TQPaintEvent* )
-{
- TQPainter p( widget() );
- TQRect t = titlebar->tqgeometry();
- TQRegion r = widget()->rect();
- r = r.subtract( t );
- p.setClipRegion( r );
- qDrawWinPanel( &p, widget()->rect(), widget()->tqcolorGroup() );
-// t.setTop( 1 );
-// p.setClipRegion( t );
-// t.setTop( 0 );
-
- TQRect titleRect( 0, 0, t.width(), t.height() );
- titleBuffer->resize( titleRect.width(), titleRect.height() );
- TQPainter p2( titleBuffer );
-
- drawGradient(p2, titleRect, options()->color(KDecorationOptions::ColorTitleBar, isActive()),
- options()->color(KDecorationOptions::ColorTitleBlend, isActive()));
-// p.setPen( options()->color(KDecorationOptions::ColorTitleBar, isActive()).light() );
-// p.drawLine(t.left(), t.top()+1, t.right(), t.top()+1);
- if ( isActive() )
- qDrawShadePanel( &p2, 0, 0, titleRect.width(), titleRect.height(),
- widget()->tqcolorGroup(), true, 1 );
- titleRect.setLeft( 4 );
- titleRect.setWidth( titleRect.width() - 2 );
- p2.setPen(options()->color(KDecorationOptions::ColorFont, isActive()));
- p2.setFont(options()->font(isActive()));
- p2.drawText( titleRect, AlignLeft|AlignVCenter|SingleLine, caption() );
- p2.end();
- p.end();
- bitBlt( widget(), t.topLeft(), titleBuffer );
-}
-
-
-void StdClient::mouseDoubleClickEvent( TQMouseEvent * e )
-{
- if ( e->button() == Qt::LeftButton && titlebar->tqgeometry().contains( e->pos() ) )
- titlebarDblClickOperation();
-}
-
-
-void StdClient::wheelEvent( TQWheelEvent * e )
-{
- if (isSetShade() || TQRect( 0, 0, width(), titlebar->tqgeometry().height() ).contains( e->pos() ) )
- titlebarMouseWheelOperation( e->delta());
-}
-
-
-void StdClient::iconChange()
-{
- if (button[ButtonMenu]) {
- if ( icon().pixmap( TQIconSet::Small, TQIconSet::Normal ).isNull())
- button[ButtonMenu]->setIconSet(isActive() ? *menu_pix : *dis_menu_pix);
- else
- button[ButtonMenu]->setIconSet( icon().pixmap( TQIconSet::Small, TQIconSet::Normal ) );
- button[ButtonMenu]->tqrepaint( FALSE );
- }
-}
-
-
-/*!
- Indicates that the menu button has been clicked. One press shows
- the window operation menu, a double click closes the window.
- */
-void StdClient::menuButtonPressed()
-{
- TQRect menuRect = button[ButtonMenu]->rect();
- menuRect.addCoords(-1, 0, +1, +2);
- TQPoint menuTop = button[ButtonMenu]->mapToGlobal(menuRect.topLeft());
- TQPoint menuBottom = button[ButtonMenu]->mapToGlobal(menuRect.bottomRight());
- KDecorationFactory* f = factory(); // needs to be saved before
- showWindowMenu( TQRect(menuTop, menuBottom) );
- if( !f->exists( this )) // destroyed, return immediately
- return;
- button[ButtonMenu]->setDown(false);
-}
-
-
-void StdClient::maxButtonClicked( ButtonState button )
-{
- maximize( button );
-}
-
-bool StdClient::eventFilter( TQObject* o, TQEvent* e )
-{
- if ( TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget()) )
- return false;
-
- switch ( e->type() ) {
- case TQEvent::Resize:
- resizeEvent( TQT_TQRESIZEEVENT( e ) );
- return true;
-
- case TQEvent::Paint:
- paintEvent( TQT_TQPAINTEVENT( e ) );
- return true;
-
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent( TQT_TQMOUSEEVENT( e ) );
- return true;
-
- case TQEvent::MouseButtonPress:
- processMousePressEvent( TQT_TQMOUSEEVENT( e ) );
- return true;
-
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( e ));
- return true;
-
- default:
- return false;
- }
-}
-
-TQSize StdClient::tqminimumSize() const
-{
- return widget()->tqminimumSize().expandedTo( TQSize( 100, 50 ));
-}
-
-void StdClient::borders( int& left, int& right, int& top, int& bottom ) const
-{
- left = right = bottom = 6;
- top = 6 + widget()->fontMetrics().lineSpacing()+2;
-}
-
-void StdClient::resize( const TQSize& s )
-{
- widget()->resize( s );
-}
-
-StdToolClient::StdToolClient( KDecorationBridge* b, KDecorationFactory* f )
- : KDecoration( b, f )
-{
-}
-
-void StdToolClient::init()
-{
- createMainWidget();
- widget()->installEventFilter( this );
-
- widget()->setFont(options()->font(isActive(), true ));
-
- TQGridLayout* g = new TQGridLayout( widget(), 0, 0, 2 );
- g->setRowStretch( 1, 10 );
- if( isPreview())
- g->addWidget( new TQLabel( i18n( "<center><b>KDE 1 decoration</b></center>" ), widget()), 1, 1 );
- else
- g->addItem( new TQSpacerItem( 0, 0 ), 1, 1 ); //no widget in the middle
- g->addItem( new TQSpacerItem( 0, 0, TQSizePolicy::Fixed, TQSizePolicy::Expanding ) );
-
- g->addColSpacing(0, 1);
- g->addColSpacing(2, 1);
- g->addRowSpacing(2, 1);
-
- closeBtn = new TQToolButton( widget(), 0 );
- TQToolTip::add( closeBtn, i18n("Close") );
- connect( closeBtn, TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( closeWindow() ) ) );
- closeBtn->setFixedSize( 13, 13);
- reset( -1U );
-
- TQHBoxLayout* hb = new TQHBoxLayout;
- g->addLayout( hb, 0, 1 );
-
- int fh = widget()->fontMetrics().lineSpacing()+2;
-
- titlebar = new TQSpacerItem(10, fh, TQSizePolicy::Expanding,
- TQSizePolicy::Minimum );
- hb->addItem( titlebar );
- hb->addWidget( closeBtn );
-}
-
-StdToolClient::~StdToolClient()
-{
-}
-
-void StdToolClient::resizeEvent( TQResizeEvent* )
-{
-// TQRegion r = rect();
-// TQRect t = titlebar->tqgeometry();
-// t.setTop( 0 );
-// r = r.subtract( TQRect(0, 0, width(), 1) );
-// r = r.subtract (TQRect( 0, 0, 1, t.height() ) );
-// r = r.subtract (TQRect( width()-1, 0, 1, t.height() ) );
-// setMask( r );
-}
-
-void StdToolClient::paintEvent( TQPaintEvent* )
-{
- TQPainter p( widget() );
- TQRect t = titlebar->tqgeometry();
- TQRect r = widget()->rect();
- qDrawWinPanel( &p, r, widget()->tqcolorGroup() );
- r.setTop( t.bottom()+1 );
- qDrawWinPanel( &p, r, widget()->tqcolorGroup() );
- p.fillRect( TQRect( TQPoint(t.topLeft() ), TQPoint( width() - t.left(), t.bottom() ) ),
- options()->color(KDecorationOptions::ColorTitleBar, isActive()));
- p.setPen( options()->color(KDecorationOptions::ColorTitleBar, isActive()).light() );
- t.setLeft( t.left() + 4 );
- t.setRight( t.right() - 2 );
- p.setPen(options()->color(KDecorationOptions::ColorFont, isActive()));
- p.setFont(options()->font(isActive(), true));
- p.drawText( t, AlignLeft|AlignVCenter|SingleLine, caption() );
-}
-
-
-void StdToolClient::mouseDoubleClickEvent( TQMouseEvent * e )
-{
- if ( e->button() == Qt::LeftButton && titlebar->tqgeometry().contains( e->pos() ) )
- titlebarDblClickOperation();
-}
-
-void StdToolClient::wheelEvent( TQWheelEvent * e )
-{
- if (isSetShade() || TQRect( 0, 0, width(), titlebar->tqgeometry().height() ).contains( e->pos() ) )
- titlebarMouseWheelOperation( e->delta());
-}
-
-void StdToolClient::captionChange()
-{
- widget()->tqrepaint( titlebar->tqgeometry(), FALSE );
-}
-
-void StdToolClient::reset( unsigned long )
-{
- TQImage img = close_pix->convertToImage();
- img = img.smoothScale( 12, 12 );
- TQPixmap pm;
- pm.convertFromImage( img );
- closeBtn->setPixmap( pm );
- widget()->setFont(options()->font(isActive(), true ));
-}
-
-bool StdToolClient::eventFilter( TQObject* o, TQEvent* e )
-{
- if ( TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget()) )
- return false;
-
- switch ( e->type() ) {
- case TQEvent::Resize:
- resizeEvent( TQT_TQRESIZEEVENT( e ) );
- return true;
-
- case TQEvent::Paint:
- paintEvent( TQT_TQPAINTEVENT( e ) );
- return true;
-
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent( TQT_TQMOUSEEVENT( e ) );
- return true;
-
- case TQEvent::MouseButtonPress:
- processMousePressEvent( TQT_TQMOUSEEVENT( e ) );
- return true;
-
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( e ));
- return true;
-
- default:
- return false;
- }
-}
-
-TQSize StdToolClient::tqminimumSize() const
-{
- return widget()->tqminimumSize().expandedTo( TQSize( 100, 50 ));
-}
-
-void StdToolClient::borders( int& left, int& right, int& top, int& bottom ) const
-{
- left = right = bottom = 6;
- top = 6 + widget()->fontMetrics().lineSpacing();
-}
-
-void StdToolClient::resize( const TQSize& s )
-{
- widget()->resize( s );
-}
-
-StdFactory::StdFactory()
-{
- create_pixmaps();
-}
-
-StdFactory::~StdFactory()
-{
- delete_pixmaps();
-}
-
-const int SUPPORTED_WINDOW_TYPES_MASK = NET::NormalMask | NET::DesktopMask | NET::DockMask
- | NET::ToolbarMask | NET::MenuMask | NET::DialogMask | NET::OverrideMask | NET::TopMenuMask
- | NET::UtilityMask | NET::SplashMask;
-
-KDecoration* StdFactory::createDecoration( KDecorationBridge* b )
-{
- NET::WindowType type = windowType( SUPPORTED_WINDOW_TYPES_MASK, b );
- if( type == NET::Utility || type == NET::Menu || type == NET::Toolbar )
- return new StdToolClient( b, this );
- return new StdClient( b, this );
-}
-
-bool StdFactory::reset( unsigned long mask )
-{
- bool needHardReset = false;
-
- // doesn't obey the Border size setting
- if( mask & ( SettingFont | SettingButtons ))
- needHardReset = true;
-
- if( mask & ( SettingFont | SettingColors )) {
- KDE1::delete_pixmaps();
- KDE1::create_pixmaps();
- }
-
- if( !needHardReset )
- resetDecorations( mask );
- return needHardReset;
-}
-
-bool StdFactory::supports( Ability ability )
-{
- switch( ability )
- {
- case AbilityAnnounceButtons:
- case AbilityButtonMenu:
- case AbilityButtonOnAllDesktops:
- case AbilityButtonHelp:
- case AbilityButtonMinimize:
- case AbilityButtonMaximize:
- case AbilityButtonClose:
- case AbilityButtonSpacer:
- return true;
- default:
- return false;
- };
-}
-
-
-}
-
-extern "C"
-{
- KDE_EXPORT KDecorationFactory *create_factory()
- {
- return new KDE1::StdFactory();
- }
-}
-
-#include "kde1client.moc"
diff --git a/kwin-styles/kde1/kde1client.h b/kwin-styles/kde1/kde1client.h
deleted file mode 100644
index adedfaaf..00000000
--- a/kwin-styles/kde1/kde1client.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*****************************************************************
-twin - the KDE window manager
-
-Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org>
-******************************************************************/
-#ifndef STDCLIENT_H
-#define STDCLIENT_H
-#include <tqlayout.h>
-#include <tqvariant.h>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-#include <tqtoolbutton.h>
-class TQLabel;
-class TQSpacerItem;
-
-namespace KDE1 {
-
-enum ButtonType {
- ButtonMenu=0,
- ButtonSticky,
- ButtonMinimize,
- ButtonMaximize,
- ButtonClose,
- ButtonHelp,
- ButtonTypeCount
-};
-
-class StdClient : public KDecoration
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- StdClient( KDecorationBridge* b, KDecorationFactory* f );
- ~StdClient();
- void init();
- TQSize tqminimumSize() const;
- void borders( int& left, int& right, int& top, int& bottom ) const;
- void reset( unsigned long mask );
- void resize( const TQSize& s );
- void shadeChange() {};
- Position mousePosition( const TQPoint& p ) const { return KDecoration::mousePosition( p ); }
-protected:
- bool eventFilter( TQObject* o, TQEvent* e );
- void resizeEvent( TQResizeEvent* );
- void paintEvent( TQPaintEvent* );
-
- void mouseDoubleClickEvent( TQMouseEvent * );
- void wheelEvent( TQWheelEvent * );
- void captionChange();
- void iconChange();
- void maximizeChange();
- void desktopChange();
- void activeChange();
-
-private:
- void addButtons(TQBoxLayout* hb, const TQString& buttons);
-
-private slots:
- void menuButtonPressed();
- void maxButtonClicked( ButtonState );
-
-private:
- TQToolButton* button[ButtonTypeCount];
- TQSpacerItem* titlebar;
-};
-
-class StdToolClient : public KDecoration
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- StdToolClient( KDecorationBridge* b, KDecorationFactory* f );
- ~StdToolClient();
- void init();
- TQSize tqminimumSize() const;
- void borders( int& left, int& right, int& top, int& bottom ) const;
- void reset( unsigned long mask );
- void resize( const TQSize& s );
- void shadeChange() {};
- void activeChange() {};
- void iconChange() {};
- void maximizeChange() {};
- void desktopChange() {};
- Position mousePosition( const TQPoint& p ) const { return KDecoration::mousePosition( p ); }
-protected:
- bool eventFilter( TQObject* o, TQEvent* e );
- void resizeEvent( TQResizeEvent* );
- void paintEvent( TQPaintEvent* );
-
- void mouseDoubleClickEvent( TQMouseEvent * );
- void wheelEvent( TQWheelEvent * );
- void captionChange();
-
-private:
- TQToolButton* closeBtn;
- TQSpacerItem* titlebar;
-};
-
-
-
-/*
- Like TQToolButton, but provides a clicked(ButtonState) signals that
- has the last pressed mouse button as argument
- */
-class ThreeButtonButton: public TQToolButton
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- ThreeButtonButton ( TQWidget *parent = 0, const char* name = 0 )
- : TQToolButton( parent, name )
- {
- connect( this, TQT_SIGNAL( clicked() ), this, TQT_SLOT( handleClicked() ) );
- setCursor( arrowCursor );
- }
- ~ThreeButtonButton () {}
-
-signals:
- void clicked( ButtonState );
-
-protected:
- void mousePressEvent( TQMouseEvent* e )
- {
- last_button = e->button();
- TQMouseEvent me ( e->type(), e->pos(), e->globalPos(), Qt::LeftButton, e->state() );
- TQToolButton::mousePressEvent( &me );
- }
-
- void mouseReleaseEvent( TQMouseEvent* e )
- {
- TQMouseEvent me ( e->type(), e->pos(), e->globalPos(), Qt::LeftButton, e->state() );
- TQToolButton::mouseReleaseEvent( &me );
- }
-
-private slots:
- void handleClicked()
- {
- emit clicked( last_button );
- }
-
-private:
- ButtonState last_button;
-
-};
-
-class StdFactory : public KDecorationFactory
-{
-public:
- StdFactory();
- ~StdFactory();
- KDecoration* createDecoration( KDecorationBridge* b );
- bool reset( unsigned long mask );
- virtual bool supports( Ability ability );
-};
-
-}
-
-#endif
diff --git a/kwin-styles/kde1/kde1client_bitmaps.h b/kwin-styles/kde1/kde1client_bitmaps.h
deleted file mode 100644
index 8b1cb377..00000000
--- a/kwin-styles/kde1/kde1client_bitmaps.h
+++ /dev/null
@@ -1,149 +0,0 @@
-#ifndef __STDCLIENT_BITMAPS_H
-#define __STDCLIENT_BITMAPS_H
-
-/**
- * The standard client has the capability to color it's titlebar buttons
- * according to the new color scheme. In order to do this it needs a bitmap
- * for each shade which it draws into a pixmap with the appropriate color.
- * These are all the bitmaps.
- */
-
-static const unsigned char close_white_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, 0x04, 0x08, 0x08, 0x04, 0x10, 0x02,
- 0x20, 0x01, 0x40, 0x00, 0x40, 0x00, 0x20, 0x01, 0x10, 0x02, 0x08, 0x04,
- 0x04, 0x08, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char close_dgray_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x20, 0x18, 0x30, 0x30, 0x18, 0x60, 0x0c,
- 0xc0, 0x06, 0x80, 0x03, 0x80, 0x03, 0xc0, 0x06, 0x60, 0x0c, 0x30, 0x18,
- 0x18, 0x30, 0x08, 0x20, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char close_mask_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x0c, 0x30, 0x1c, 0x38, 0x38, 0x1c, 0x70, 0x0e,
- 0xe0, 0x07, 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07, 0x70, 0x0e, 0x38, 0x1c,
- 0x1c, 0x38, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char iconify_white_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x80, 0x03, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char iconify_dgray_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-
-static const unsigned char iconify_mask_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x80, 0x03, 0x80, 0x02, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char maximize_white_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x04, 0x00, 0x04, 0x08, 0x04, 0x08,
- 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0xf4, 0x0f,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char maximize_dgray_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x08, 0x10, 0x08, 0x10,
- 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10,
- 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char maximize_mask_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0xfc, 0x1f, 0x0c, 0x18, 0x0c, 0x18,
- 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0xfc, 0x1f,
- 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char maximizedown_white_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x08, 0x10,
- 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10,
- 0x08, 0x10, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char maximizedown_dgray_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x04, 0x00, 0x04, 0x08,
- 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08, 0x04, 0x08,
- 0xf4, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char maximizedown_mask_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0xfc, 0x1f, 0x0c, 0x18,
- 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18, 0x0c, 0x18,
- 0xfc, 0x1f, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char menu_white_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xfc, 0x3f, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char menu_dgray_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x20, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char menu_mask_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xfc, 0x3f, 0x04, 0x20, 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char pindown_white_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x1f, 0xa0, 0x03,
- 0xb0, 0x01, 0x30, 0x01, 0xf0, 0x00, 0x70, 0x00, 0x20, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char pindown_gray_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c,
- 0x00, 0x0e, 0x00, 0x06, 0x00, 0x00, 0x80, 0x07, 0xc0, 0x03, 0xe0, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char pindown_dgray_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x10, 0x70, 0x20, 0x50, 0x20,
- 0x48, 0x30, 0xc8, 0x38, 0x08, 0x1f, 0x08, 0x18, 0x10, 0x1c, 0x10, 0x0e,
- 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char pindown_mask_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x1f, 0xf0, 0x3f, 0xf0, 0x3f,
- 0xf8, 0x3f, 0xf8, 0x3f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf0, 0x1f, 0xf0, 0x0f,
- 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char pinup_white_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x11,
- 0x3f, 0x15, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char pinup_gray_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x80, 0x0a, 0xbf, 0x0a, 0x80, 0x15, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char pinup_dgray_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0x40, 0x31, 0x40, 0x2e,
- 0x40, 0x20, 0x40, 0x20, 0x7f, 0x2a, 0x40, 0x3f, 0xc0, 0x31, 0xc0, 0x20,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char pinup_mask_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x20, 0xc0, 0x31, 0xc0, 0x3f,
- 0xff, 0x3f, 0xff, 0x3f, 0xff, 0x3f, 0xc0, 0x3f, 0xc0, 0x31, 0xc0, 0x20,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char help_mask_bits[] = {
- 0x00,0x00,0x00,0x00,0xe0,0x03,0xf0,0x07,0x70,0x0e,0x60,0x0e,0x00,0x0f,0x80,
- 0x07,0xc0,0x03,0xc0,0x01,0x80,0x01,0xc0,0x00,0xc0,0x01,0x80,0x01,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x4c,0x0b,0x08,0x58,0x65,0x09,0x08,0x90,0x00,0x00,
- 0x00,0x09,0x04,0x00,0x00,0x72,0x6f,0x6f,0x74,0x00,0x24,0x31,0x24,0x47,0x6b,
- 0x65,0x44,0x78,0x63 };
-
-static const unsigned char help_dark_bits[] = {
- 0x00,0x00,0x00,0x00,0xe0,0x03,0x30,0x06,0x30,0x06,0x00,0x06,0x00,0x03,0x80,
- 0x01,0xc0,0x00,0xc0,0x00,0x00,0x00,0xc0,0x00,0xc0,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x65,0x64,0x28,0x29,0x00,0x00,0x00,0x00,0x90,0x00,0x00,
- 0x00,0x21,0x00,0x00,0x00,0x34,0xfe,0x12,0x2b,0x00,0x00,0xff,0xff,0x58,0xc0,
- 0x01,0x2b,0x45,0xfe };
-
-static const unsigned char help_light_bits[] = {
- 0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x01,0x40,0x08,0x60,0x08,0x00,0x0c,0x00,
- 0x06,0x00,0x03,0x00,0x01,0x80,0x01,0x00,0x00,0x00,0x01,0x80,0x01,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x4c,0x0b,0x08,0x58,0x65,0x09,0x08,0x90,0x00,0x00,
- 0x00,0x09,0x04,0x00,0x00,0x72,0x6f,0x6f,0x74,0x00,0x24,0x31,0x24,0x47,0x6b,
- 0x65,0x44,0x78,0x63 };
-
-#endif
-
diff --git a/kwin-styles/kstep/CMakeLists.txt b/kwin-styles/kstep/CMakeLists.txt
deleted file mode 100644
index 4d55aa77..00000000
--- a/kwin-styles/kstep/CMakeLists.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES kstep.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_kstep ###############################
-
-tde_add_kpart( twin3_kstep AUTOMOC
- SOURCES nextclient.cpp
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/kstep/Makefile.am b/kwin-styles/kstep/Makefile.am
deleted file mode 100644
index 3fff6355..00000000
--- a/kwin-styles/kstep/Makefile.am
+++ /dev/null
@@ -1,22 +0,0 @@
-
-INCLUDES = $(all_includes)
-
-kde_module_LTLIBRARIES = twin3_kstep.la
-
-twin3_kstep_la_SOURCES = nextclient.cpp
-twin3_kstep_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-#twin_kstep_la_LDFLAGS = $(all_libraries) -avoid-version -module $(KDE_RPATH) $(KDE_MT_LDFLAGS)
-twin3_kstep_la_LIBADD = $(LIB_TDEUI) -ltdecorations
-
-METASOURCES = AUTO
-noinst_HEADERS = nextclient.h
-
-lnkdir = $(kde_datadir)/twin/
-lnk_DATA = kstep.desktop
-
-EXTRA_DIST = $(lnk_DATA)
-
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/kstep/kstep.desktop b/kwin-styles/kstep/kstep.desktop
deleted file mode 100644
index 87b9aaae..00000000
--- a/kwin-styles/kstep/kstep.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Name=KStep
-Name[cy]=KCam
-Name[hi]=के-स्टेप
-Name[ne]=केडीई चरण
-Name[sv]=Kstep
-Name[ta]=Kஅடி
-Name[th]=ตัวจัดการหน้าต่างสเต็ป - K
-Name[ven]=Tshitepe tsha K
-Name[xh]=Inqwanqwa le K
-Name[zu]=Izinga le K
-X-KDE-Library=twin3_kstep
diff --git a/kwin-styles/kstep/nextclient.cpp b/kwin-styles/kstep/nextclient.cpp
deleted file mode 100644
index 08867a62..00000000
--- a/kwin-styles/kstep/nextclient.cpp
+++ /dev/null
@@ -1,987 +0,0 @@
-#include "nextclient.h"
-#include <tqdatetime.h>
-#include <tqdrawutil.h>
-#include <tqlayout.h>
-#include <tqpainter.h>
-#include <tqbitmap.h>
-#include <tqlabel.h>
-#include <tqtooltip.h>
-#include <kdebug.h>
-#include <klocale.h>
-#include <kpixmapeffect.h>
-
-namespace KStep {
-
-static const unsigned char close_bits[] = {
- 0x03, 0x03, 0x87, 0x03, 0xce, 0x01, 0xfc, 0x00, 0x78, 0x00, 0x78, 0x00,
- 0xfc, 0x00, 0xce, 0x01, 0x87, 0x03, 0x03, 0x03};
-
-static const unsigned char iconify_bits[] = {
- 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x03, 0xff, 0x03, 0xff, 0x03};
-
-static const unsigned char question_bits[] = {
- 0x00, 0x00, 0x78, 0x00, 0xcc, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00,
- 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00};
-
-static const unsigned char sticky_bits[] = {
- 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xfe, 0x01, 0xfe, 0x01,
- 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00};
-
-static const unsigned char unsticky_bits[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xfe, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-
-static const unsigned char maximize_bits[] = {
- 0x30, 0x00, 0x78, 0x00, 0xfc, 0x00, 0xfe, 0x01, 0x00, 0x00, 0xfe, 0x01,
- 0x02, 0x01, 0x84, 0x00, 0x48, 0x00, 0x30, 0x00 };
-
-static const unsigned char shade_bits[] = {
- 0xff,0x03,
- 0xff,0x03,
- 0x03,0x03,
- 0xff,0x03,
- 0xff,0x03,
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00
-};
-
-static const unsigned char unshade_bits[] = {
- 0xff,0x03,
- 0xff,0x03,
- 0x03,0x03,
- 0x03,0x03,
- 0x03,0x03,
- 0x03,0x03,
- 0x03,0x03,
- 0x03,0x03,
- 0xff,0x03,
- 0xff,0x03
-};
-
-static const unsigned char keep_above_bits[] = {
- 0x30,0x00,
- 0x78,0x00,
- 0xfc,0x00,
- 0x00,0x00,
- 0xff,0x03,
- 0xff,0x03,
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00
-};
-
-static const unsigned char from_above_bits[] = {
- 0xff,0x03,
- 0xff,0x03,
- 0x00,0x00,
- 0xfc,0x00,
- 0x78,0x00,
- 0x30,0x00,
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00
-};
-
-static const unsigned char keep_below_bits[] = {
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00,
- 0xff,0x03,
- 0xff,0x03,
- 0x00,0x00,
- 0xfc,0x00,
- 0x78,0x00,
- 0x30,0x00
-};
-
-static const unsigned char from_below_bits[] = {
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00,
- 0x00,0x00,
- 0x30,0x00,
- 0x78,0x00,
- 0xfc,0x00,
- 0x00,0x00,
- 0xff,0x03,
- 0xff,0x03
-};
-
-static const unsigned char resize_bits[] = {
- 0xff, 0x03,
- 0xff, 0x03,
- 0x33, 0x03,
- 0x33, 0x03,
- 0xf3, 0x03,
- 0xf3, 0x03,
- 0x03, 0x03,
- 0x03, 0x03,
- 0xff, 0x03,
- 0xff, 0x03
-};
-
-
-// If the maximize graphic above (which I did quickly in about a
-// minute, just so I could have something) doesn't please, maybe one
-// of the following would be better. IMO it doesn't matter, as long
-// as it's not offensive---people will get used to whatever you use.
-// True NeXT fans won't turn on the maximize button anyway.
-//
-// static const unsigned char maximize_bits[] = {
-// 0xcf, 0x03, 0x87, 0x03, 0xcf, 0x03, 0xfd, 0x02, 0x48, 0x00, 0x48, 0x00,
-// 0xfd, 0x02, 0xcf, 0x03, 0x87, 0x03, 0xcf, 0x03 };
-//
-// static const unsigned char maximize_bits[] = {
-// 0xcf, 0x03, 0x87, 0x03, 0x87, 0x03, 0x79, 0x02, 0x48, 0x00, 0x48, 0x00,
-// 0x79, 0x02, 0x87, 0x03, 0x87, 0x03, 0xcf, 0x03 };
-//
-// static const unsigned char maximize_bits[] = {
-// 0x87, 0x03, 0x03, 0x03, 0xfd, 0x02, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00,
-// 0x84, 0x00, 0xfd, 0x02, 0x03, 0x03, 0x87, 0x03 };
-//
-// static const unsigned char maximize_bits[] = {
-// 0x30, 0x00, 0x78, 0x00, 0xcc, 0x00, 0x86, 0x01, 0x33, 0x03, 0x79, 0x02,
-// 0xcd, 0x02, 0x87, 0x03, 0x03, 0x03, 0x01, 0x02 };
-//
-// static const unsigned char maximize_bits[] = {
-// 0x30, 0x00, 0x78, 0x00, 0x78, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xfe, 0x01,
-// 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03 };
-
-
-static KPixmap *aTitlePix;
-static KPixmap *iTitlePix;
-static KPixmap *aFramePix;
-static KPixmap *iFramePix;
-static KPixmap *aHandlePix;
-static KPixmap *iHandlePix;
-static KPixmap *aBtn;
-static KPixmap *aBtnDown;
-static KPixmap *iBtn;
-static KPixmap *iBtnDown;
-static TQColor *btnForeground;
-static bool pixmaps_created = false;
-
-static int titleHeight = 16;
-
-// Precomputed border sizes for accessibility
-// The sizes are applied for tiny -> normal -> large -> very large -> huge -> very huge -> oversized
-static const int borderSizes[] = { 4, 6, 9, 14, 21, 32, 48 };
-
-static int handleSize = 6; // the resize handle size in pixels
-
-static inline const KDecorationOptions* options()
-{
- return KDecoration::options();
-}
-
-static void create_pixmaps(NextClientFactory *f)
-{
- if(pixmaps_created)
- return;
- pixmaps_created = true;
-
- // find preferred border size
- int i = options()->preferredBorderSize(f);
- if (i >= 0 && i <= 6) handleSize = borderSizes[i];
-
- titleHeight = TQFontMetrics(options()->font(true)).height() + 4;
- if (titleHeight < handleSize) titleHeight = handleSize;
- titleHeight &= ~1; // Make title height even
- if (titleHeight < 16) titleHeight = 16;
-
- aTitlePix = new KPixmap();
- aTitlePix->resize(32, titleHeight - 2);
- KPixmapEffect::gradient(*aTitlePix,
- options()->color(KDecoration::ColorTitleBar, true),
- options()->color(KDecoration::ColorTitleBlend, true),
- KPixmapEffect::VerticalGradient);
- iTitlePix = new KPixmap();
- iTitlePix->resize(32, titleHeight - 2);
- KPixmapEffect::gradient(*iTitlePix,
- options()->color(KDecoration::ColorTitleBar, false),
- options()->color(KDecoration::ColorTitleBlend, false),
- KPixmapEffect::VerticalGradient);
- // Bottom frame gradient
- aFramePix = new KPixmap();
- aFramePix->resize(32, handleSize);
- KPixmapEffect::gradient(*aFramePix,
- options()->color(KDecoration::ColorFrame, true).light(150),
- options()->color(KDecoration::ColorFrame, true).dark(120),
- KPixmapEffect::VerticalGradient);
- iFramePix = new KPixmap();
- iFramePix->resize(32, handleSize);
- KPixmapEffect::gradient(*iFramePix,
- options()->color(KDecoration::ColorFrame, false).light(150),
- options()->color(KDecoration::ColorFrame, false).dark(120),
- KPixmapEffect::VerticalGradient);
-
- // Handle gradient
- aHandlePix = new KPixmap();
- aHandlePix->resize(32, handleSize);
- KPixmapEffect::gradient(*aHandlePix,
- options()->color(KDecoration::ColorHandle, true).light(150),
- options()->color(KDecoration::ColorHandle, true).dark(120),
- KPixmapEffect::VerticalGradient);
- iHandlePix = new KPixmap();
- iHandlePix->resize(32, handleSize);
- KPixmapEffect::gradient(*iHandlePix,
- options()->color(KDecoration::ColorHandle, false).light(150),
- options()->color(KDecoration::ColorHandle, false).dark(120),
- KPixmapEffect::VerticalGradient);
-
- int btnWidth = titleHeight;
- iBtn = new KPixmap;
- iBtn->resize(btnWidth, btnWidth);
- iBtnDown = new KPixmap;
- iBtnDown->resize(btnWidth, btnWidth);
- aBtn = new KPixmap;
- aBtn->resize(btnWidth, btnWidth);
- aBtnDown = new KPixmap;
- aBtnDown->resize(btnWidth, btnWidth);
- KPixmap internal;
- int internalHeight = btnWidth - 6;
- internal.resize(internalHeight, internalHeight);
-
- // inactive buttons
- TQColor c(options()->color(KDecoration::ColorButtonBg, false));
- KPixmapEffect::gradient(*iBtn, c.light(120), c.dark(120),
- KPixmapEffect::DiagonalGradient);
- KPixmapEffect::gradient(internal, c.dark(120), c.light(120),
- KPixmapEffect::DiagonalGradient);
- bitBlt(TQT_TQPAINTDEVICE(iBtn), 3, 3, TQT_TQPAINTDEVICE(&internal), 0, 0, internalHeight, internalHeight, TQt::CopyROP, true);
-
- KPixmapEffect::gradient(*iBtnDown, c.dark(120), c.light(120),
- KPixmapEffect::DiagonalGradient);
- KPixmapEffect::gradient(internal, c.light(120), c.dark(120),
- KPixmapEffect::DiagonalGradient);
- bitBlt(TQT_TQPAINTDEVICE(iBtnDown), 3, 3, TQT_TQPAINTDEVICE(&internal), 0, 0, internalHeight, internalHeight, TQt::CopyROP, true);
-
- // active buttons
- c = options()->color(KDecoration::ColorButtonBg, true);
- KPixmapEffect::gradient(*aBtn, c.light(120), c.dark(120),
- KPixmapEffect::DiagonalGradient);
- KPixmapEffect::gradient(internal, c.dark(120), c.light(120),
- KPixmapEffect::DiagonalGradient);
- bitBlt(TQT_TQPAINTDEVICE(aBtn), 3, 3, TQT_TQPAINTDEVICE(&internal), 0, 0, internalHeight, internalHeight, TQt::CopyROP, true);
-
- KPixmapEffect::gradient(*aBtnDown, c.dark(120), c.light(120),
- KPixmapEffect::DiagonalGradient);
- KPixmapEffect::gradient(internal, c.light(120), c.dark(120),
- KPixmapEffect::DiagonalGradient);
- bitBlt(TQT_TQPAINTDEVICE(aBtnDown), 3, 3, TQT_TQPAINTDEVICE(&internal), 0, 0, internalHeight, internalHeight, TQt::CopyROP, true);
-
- TQPainter p;
- p.begin(aBtn);
- p.setPen(TQt::black);
- p.drawRect(0, 0, btnWidth, btnWidth);
- p.end();
- p.begin(iBtn);
- p.setPen(TQt::black);
- p.drawRect(0, 0, btnWidth, btnWidth);
- p.end();
- p.begin(aBtnDown);
- p.setPen(TQt::black);
- p.drawRect(0, 0, btnWidth, btnWidth);
- p.end();
- p.begin(iBtnDown);
- p.setPen(TQt::black);
- p.drawRect(0, 0, btnWidth, btnWidth);
- p.end();
-
- if(tqGray(options()->color(KDecoration::ColorButtonBg, true).rgb()) > 128)
- btnForeground = new TQColor(TQt::black);
- else
- btnForeground = new TQColor(TQt::white);
-}
-
-static void delete_pixmaps()
-{
- delete aTitlePix;
- delete iTitlePix;
- delete aFramePix;
- delete iFramePix;
- delete aHandlePix;
- delete iHandlePix;
- delete aBtn;
- delete iBtn;
- delete aBtnDown;
- delete iBtnDown;
- delete btnForeground;
-
- pixmaps_created = false;
-}
-
-// =====================================
-
-NextButton::NextButton(NextClient *parent, const char *name,
- const unsigned char *bitmap, int bw, int bh,
- const TQString& tip, const int realizeBtns)
- : TQButton(parent->widget(), name),
- deco(NULL), client(parent), last_button(Qt::NoButton)
-{
- realizeButtons = realizeBtns;
-
- setBackgroundMode( NoBackground );
- resize(titleHeight, titleHeight);
- setFixedSize(titleHeight, titleHeight);
-
- if(bitmap)
- setBitmap(bitmap, bw, bh);
-
- TQToolTip::add(this, tip);
-}
-
-void NextButton::reset()
-{
- tqrepaint(false);
-}
-
-void NextButton::setBitmap(const unsigned char *bitmap, int w, int h)
-{
- deco = new TQBitmap(w, h, bitmap, true);
- deco->setMask(*deco);
- tqrepaint();
-}
-
-void NextButton::drawButton(TQPainter *p)
-{
- if(client->isActive())
- p->drawPixmap(0, 0, isDown() ? *aBtnDown : *aBtn);
- else
- p->drawPixmap(0, 0, isDown() ? *iBtnDown : *iBtn);
-
- // If we have a decoration, draw it; otherwise, we have the menu
- // button (remember, we set the bitmap to NULL).
- int offset;
- if (deco) {
- offset = (titleHeight - 10) / 2 + (isDown() ? 1 : 0);
- p->setPen(*btnForeground);
- p->drawPixmap(offset, offset, *deco);
- } else {
- offset = (titleHeight - 16) / 2;
- KPixmap btnpix = client->icon().pixmap(TQIconSet::Small,
- client->isActive() ? TQIconSet::Normal : TQIconSet::Disabled);
- p->drawPixmap( offset, offset, btnpix );
- }
-}
-
-void NextButton::mousePressEvent( TQMouseEvent* e )
-{
- last_button = e->button();
- TQMouseEvent me( e->type(), e->pos(), e->globalPos(),
- (e->button()&realizeButtons)?Qt::LeftButton:Qt::NoButton, e->state() );
- TQButton::mousePressEvent( &me );
-}
-
-void NextButton::mouseReleaseEvent( TQMouseEvent* e )
-{
- last_button = e->button();
- TQMouseEvent me( e->type(), e->pos(), e->globalPos(),
- (e->button()&realizeButtons)?Qt::LeftButton:Qt::NoButton, e->state() );
- TQButton::mouseReleaseEvent( &me );
-}
-
-// =====================================
-
-NextClient::NextClient(KDecorationBridge *b, KDecorationFactory *f)
- : KDecoration(b, f)
-{
-}
-
-void NextClient::init()
-{
- createMainWidget(WResizeNoErase | WStaticContents);
- widget()->installEventFilter(this);
-
- widget()->setBackgroundMode( NoBackground );
-
- TQVBoxLayout *mainLayout = new TQVBoxLayout(widget());
- TQBoxLayout *titleLayout = new TQBoxLayout(0, TQBoxLayout::LeftToRight, 0, 0, 0);
- TQHBoxLayout *windowLayout = new TQHBoxLayout();
- mainLayout->addLayout(titleLayout);
- mainLayout->addLayout(windowLayout, 1);
- mainLayout->addSpacing(mustDrawHandle() ? handleSize : 1);
-
- windowLayout->addSpacing(1);
- if (isPreview())
- windowLayout->addWidget(new TQLabel(i18n(
- "<center><b>KStep preview</b></center>"), widget()));
- else
- windowLayout->addItem(new TQSpacerItem( 0, 0 ));
-
- windowLayout->addSpacing(1);
-
- initializeButtonsAndTitlebar(titleLayout);
-}
-
-/**
- Preconditions:
- + button is an array of length MAX_NUM_BUTTONS
-
- Postconditions:
- + Title bar and buttons have been initialized and laid out
- + for all i in 0..(MAX_NUM_BUTTONS-1), button[i] points to
- either (1) a valid NextButton instance, if the corresponding
- button is selected in the current button scheme, or (2) null
- otherwise.
- */
-void NextClient::initializeButtonsAndTitlebar(TQBoxLayout* titleLayout)
-{
- // Null the buttons to begin with (they are not guaranteed to be null).
- for (int i=0; i<MAX_NUM_BUTTONS; i++) {
- button[i] = NULL;
- }
-
- // The default button positions for other styles do not match the
- // behavior of older versions of KStep, so we have to set these
- // manually when customButtonPositions isn't enabled.
- TQString left, right;
- if (options()->customButtonPositions()) {
- left = options()->titleButtonsLeft();
- right = options()->titleButtonsRight();
- } else {
- left = TQString("I");
- right = TQString("SX");
- }
-
- // Do actual creation and addition to titleLayout
- addButtons(titleLayout, left);
-
- titlebar = new TQSpacerItem(10, titleHeight, TQSizePolicy::Expanding,
- TQSizePolicy::Minimum );
- titleLayout->addItem(titlebar);
- addButtons(titleLayout, right);
-
- // Finally, activate all live buttons
- for ( int i = 0; i < MAX_NUM_BUTTONS; i++) {
- if (button[i]) {
- button[i]->setMouseTracking( TRUE );
- }
- }
-}
-
-/** Adds the buttons for one side of the title bar, based on the spec
- * string; see the KWinInternal::KDecoration class, methods
- * titleButtonsLeft and titleBUttonsRight. */
-void NextClient::addButtons(TQBoxLayout* titleLayout, const TQString& spec)
-{
- for (unsigned int i=0; i<spec.length(); i++) {
- switch (spec[i].latin1()) {
- case 'A':
- if (isMaximizable()) {
- button[MAXIMIZE_IDX] =
- new NextButton(this, "maximize", maximize_bits, 10, 10,
- i18n("Maximize"), Qt::LeftButton|Qt::MidButton|Qt::RightButton);
- titleLayout->addWidget( button[MAXIMIZE_IDX] );
- connect( button[MAXIMIZE_IDX], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(maximizeButtonClicked()) );
- }
- break;
-
- case 'H':
- if (providesContextHelp()) {
- button[HELP_IDX] = new NextButton(this,
- "help", question_bits, 10, 10, i18n("Help"));
- titleLayout->addWidget( button[HELP_IDX] );
- connect( button[HELP_IDX], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(showContextHelp()) );
- }
- break;
-
- case 'I':
- if (isMinimizable()) {
- button[ICONIFY_IDX] =
- new NextButton(this, "iconify", iconify_bits, 10, 10,
- i18n("Minimize"));
- titleLayout->addWidget( button[ICONIFY_IDX] );
- connect( button[ICONIFY_IDX], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(minimize()) );
- }
- break;
-
- case 'M':
- button[MENU_IDX] =
- new NextButton(this, "menu", NULL, 10, 10, i18n("Menu"), Qt::LeftButton|Qt::RightButton);
- titleLayout->addWidget( button[MENU_IDX] );
- // NOTE DIFFERENCE: capture pressed(), not clicked()
- connect( button[MENU_IDX], TQT_SIGNAL(pressed()),
- this, TQT_SLOT(menuButtonPressed()) );
- break;
-
- case 'L':
- button[SHADE_IDX] =
- new NextButton(this, "shade", NULL, 0, 0, i18n("Shade"));
- titleLayout->addWidget( button[SHADE_IDX] );
- connect( button[SHADE_IDX], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(shadeClicked()) );
- // NOTE DIFFERENCE: set the pixmap separately (2 states)
- shadeChange();
- break;
-
- case 'S':
- button[STICKY_IDX] =
- new NextButton(this, "sticky", NULL, 0, 0, i18n("On all desktops"));
- titleLayout->addWidget( button[STICKY_IDX] );
- connect( button[STICKY_IDX], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(toggleOnAllDesktops()) );
- // NOTE DIFFERENCE: set the pixmap separately (2 states)
- desktopChange();
- break;
-
- case 'F':
- button[ABOVE_IDX] = new NextButton(this, "above", NULL, 0, 0, "");
- titleLayout->addWidget( button[ABOVE_IDX] );
- connect( button[ABOVE_IDX], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(aboveClicked()) );
- connect(this, TQT_SIGNAL(keepAboveChanged(bool)),
- TQT_SLOT(keepAboveChange(bool)));
- keepAboveChange(keepAbove());
- break;
-
- case 'B':
- button[BELOW_IDX] = new NextButton(this, "below", NULL, 0, 0, "");
- titleLayout->addWidget( button[BELOW_IDX] );
- connect( button[BELOW_IDX], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(belowClicked()) );
- connect(this, TQT_SIGNAL(keepBelowChanged(bool)),
- TQT_SLOT(keepBelowChange(bool)));
- keepBelowChange(keepBelow());
- break;
-
- case 'X':
- if (isCloseable()) {
- button[CLOSE_IDX] =
- new NextButton(this, "close", close_bits, 10, 10,
- i18n("Close"));
- titleLayout->addWidget(button[CLOSE_IDX]);
- connect(button[CLOSE_IDX], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(closeWindow()));
- }
- break;
-
- case 'R':
- if (mustDrawHandle()) {
- button[RESIZE_IDX] =
- new NextButton(this, "resize", resize_bits, 10, 10,
- i18n("Resize"));
- titleLayout->addWidget(button[RESIZE_IDX]);
- // NOTE DIFFERENCE: capture pressed(), not clicked()
- connect(button[RESIZE_IDX], TQT_SIGNAL(pressed()),
- this, TQT_SLOT(resizePressed()));
- }
- break;
- case '_':
- // TODO: Add spacer handling
- break;
-
- default:
- kdDebug() << " Can't happen: unknown button code "
- << TQString(spec[i]);
- break;
- }
- }
-}
-
-bool NextClient::mustDrawHandle() const
-{
- bool drawSmallBorders = !options()->moveResizeMaximizedWindows();
- if (drawSmallBorders && (maximizeMode() & MaximizeVertical)) {
- return false;
- } else {
- return isResizable();
- }
-}
-
-void NextClient::iconChange()
-{
- if (button[MENU_IDX] && button[MENU_IDX]->isVisible())
- button[MENU_IDX]->tqrepaint(false);
-}
-
-void NextClient::menuButtonPressed()
-{
- // Probably don't need this null check, but we might as well.
- if (button[MENU_IDX]) {
- TQRect menuRect = button[MENU_IDX]->rect();
- TQPoint menuTop = button[MENU_IDX]->mapToGlobal(menuRect.topLeft());
- TQPoint menuBottom = button[MENU_IDX]->mapToGlobal(menuRect.bottomRight());
- menuTop += TQPoint(1, 1);
- menuBottom += TQPoint(1, 1);
- KDecorationFactory* f = factory();
- showWindowMenu(TQRect(menuTop, menuBottom));
- if( !f->exists( this )) // 'this' was deleted
- return;
- button[MENU_IDX]->setDown(false);
- }
-}
-
-// Copied, with minor edits, from KDEDefaultClient::slotMaximize()
-void NextClient::maximizeButtonClicked()
-{
- if (button[MAXIMIZE_IDX]) {
- maximize(button[MAXIMIZE_IDX]->lastButton());
- }
-}
-
-void NextClient::shadeClicked()
-{
- setShade(!isSetShade());
-}
-
-void NextClient::aboveClicked()
-{
- setKeepAbove(!keepAbove());
-}
-
-void NextClient::belowClicked()
-{
- setKeepBelow(!keepBelow());
- keepAboveChange(keepAbove());
- keepBelowChange(keepBelow());
-}
-
-void NextClient::resizePressed()
-{
- performWindowOperation(ResizeOp);
-}
-
-void NextClient::resizeEvent(TQResizeEvent *)
-{
- if (widget()->isVisible()) {
- // TODO ? update border area only?
- widget()->update();
-#if 0
- widget()->update(titlebar->tqgeometry());
- TQPainter p(widget());
- TQRect t = titlebar->tqgeometry();
- t.setTop( 0 );
- TQRegion r = widget()->rect();
- r = r.subtract( t );
- p.setClipRegion( r );
- p.eraseRect(widget()->rect());
-#endif
- }
-}
-
-void NextClient::captionChange()
-{
- widget()->tqrepaint(titlebar->tqgeometry(), false);
-}
-
-
-void NextClient::paintEvent( TQPaintEvent* )
-{
- TQPainter p(widget());
-
- // Draw black frame
- TQRect fr = widget()->rect();
- p.setPen(TQt::black);
- p.drawRect(fr);
-
- // Draw title bar
- TQRect t = titlebar->tqgeometry();
- t.setTop(1);
- p.drawTiledPixmap(t.x()+1, t.y()+1, t.width()-2, t.height()-2,
- isActive() ? *aTitlePix : *iTitlePix);
- qDrawShadePanel(&p, t.x(), t.y(), t.width(), t.height()-1,
- options()->tqcolorGroup(KDecoration::ColorTitleBar, isActive()));
- p.drawLine(t.x(), t.bottom(), t.right(), t.bottom());
-
-#if 0
- // Why setting up a clipping region if it is not used? (setClipping(false))
- TQRegion r = fr;
- r = r.subtract( t );
- p.setClipRegion( r );
- p.setClipping(false);
-#endif
-
- t.setTop( 1 );
- t.setHeight(t.height()-2);
- t.setLeft( t.left() + 4 );
- t.setRight( t.right() - 2 );
-
- p.setPen(options()->color(KDecoration::ColorFont, isActive()));
- p.setFont(options()->font(isActive()));
- p.drawText( t, AlignCenter | AlignVCenter, caption() );
-
- // Draw resize handle
- if (mustDrawHandle()) {
- int corner = 16 + 3*handleSize/2;
- qDrawShadePanel(&p,
- fr.x() + 1, fr.bottom() - handleSize, corner-1, handleSize,
- options()->tqcolorGroup(KDecoration::ColorHandle, isActive()),
- false);
- p.drawTiledPixmap(fr.x() + 2, fr.bottom() - handleSize + 1,
- corner - 3, handleSize - 2, isActive() ? *aHandlePix : *iHandlePix);
-
- qDrawShadePanel(&p,
- fr.x() + corner, fr.bottom() - handleSize,
- fr.width() - 2*corner, handleSize,
- options()->tqcolorGroup(KDecoration::ColorFrame, isActive()),
- false);
- p.drawTiledPixmap(fr.x() + corner + 1, fr.bottom() - handleSize + 1,
- fr.width() - 2*corner - 2, handleSize - 2,
- isActive() ? *aFramePix : *iFramePix);
-
- qDrawShadePanel(&p,
- fr.right() - corner + 1, fr.bottom() - handleSize, corner - 1, handleSize,
- options()->tqcolorGroup(KDecoration::ColorHandle, isActive()),
- false);
- p.drawTiledPixmap(fr.right() - corner + 2, fr.bottom() - handleSize + 1,
- corner - 3, handleSize - 2, isActive() ? *aHandlePix : *iHandlePix);
- }
-}
-
-void NextClient::mouseDoubleClickEvent( TQMouseEvent * e )
-{
- if (e->button() == Qt::LeftButton && titlebar->tqgeometry().contains( e->pos() ) )
- titlebarDblClickOperation();
-}
-
-void NextClient::wheelEvent( TQWheelEvent * e )
-{
- if (isSetShade() || TQRect( 0, 0, width(), titleHeight ).contains( e->pos() ) )
- titlebarMouseWheelOperation( e->delta());
-}
-
-void NextClient::showEvent(TQShowEvent *)
-{
- widget()->tqrepaint();
-}
-
-void NextClient::desktopChange()
-{
- bool on = isOnAllDesktops();
- if (NextButton * b = button[STICKY_IDX]) {
- b->setBitmap( on ? unsticky_bits : sticky_bits, 10, 10);
- TQToolTip::remove(b);
- TQToolTip::add(b, on ? i18n("Not on all desktops") : i18n("On all desktops"));
- }
-}
-
-void NextClient::maximizeChange()
-{
- if (button[MAXIMIZE_IDX]) {
- bool m = maximizeMode() == MaximizeFull;
- //button[MAXIMIZE_IDX]->setBitmap(m ? minmax_bits : maximize_bits);
- TQToolTip::remove(button[MAXIMIZE_IDX]);
- TQToolTip::add(button[MAXIMIZE_IDX],
- m ? i18n("Restore") : i18n("Maximize"));
- }
- //spacer->changeSize(10, mustDrawHandle() ? handleSize : 1,
- // TQSizePolicy::Expanding, TQSizePolicy::Minimum);
- //mainLayout->activate();
-}
-
-void NextClient::activeChange()
-{
- widget()->tqrepaint(false);
- slotReset();
-}
-
-void NextClient::slotReset()
-{
- for (int i=0; i<MAX_NUM_BUTTONS; i++) {
- if (button[i]) {
- button[i]->reset();
- }
- }
-}
-
-KDecoration::Position
-NextClient::mousePosition( const TQPoint& p ) const
-{
- Position m = PositionCenter;
-
- if (p.y() < (height() - handleSize))
- m = KDecoration::mousePosition(p);
-
- else {
- int corner = 16 + 3*handleSize/2;
- if (p.x() >= (width() - corner))
- m = PositionBottomRight;
- else if (p.x() <= corner)
- m = PositionBottomLeft;
- else
- m = PositionBottom;
- }
-
- return m;
-}
-
-void NextClient::borders(int &left, int &right, int &top, int &bottom) const
-{
- left = right = 1;
- top = titleHeight; // FRAME is this ok?
- bottom = mustDrawHandle() ? handleSize : 1;
-}
-
-void NextClient::shadeChange()
-{
- if (NextButton *b = button[SHADE_IDX]) {
- b->setBitmap(isSetShade() ? unshade_bits : shade_bits, 10, 10);
- TQToolTip::remove(b);
- TQToolTip::add(b, isSetShade() ? i18n("Unshade") : i18n("Shade"));
- }
-}
-
-void NextClient::keepAboveChange(bool above)
-{
- if (NextButton *b = button[ABOVE_IDX]) {
- b->setBitmap(above ? from_above_bits : keep_above_bits, 10, 10);
- TQToolTip::remove(b);
- TQToolTip::add(b, above ?
- i18n("Do not keep above others") : i18n("Keep above others"));
- b->tqrepaint(false);
- }
-}
-
-void NextClient::keepBelowChange(bool below)
-{
- if (NextButton *b = button[BELOW_IDX]) {
- b->setBitmap(below ? from_below_bits : keep_below_bits, 10, 10);
- TQToolTip::remove(b);
- TQToolTip::add(b, below ?
- i18n("Do not keep below others") : i18n("Keep below others"));
- b->tqrepaint(false);
- }
-}
-
-TQSize NextClient::tqminimumSize() const
-{
- return TQSize(titleHeight * 6 + 2, titleHeight + handleSize + 2);
-}
-
-void NextClient::resize(const TQSize& s)
-{
- widget()->resize(s);
-}
-
-void NextClient::reset(unsigned long)
-{
- for (int i = 0; i < MAX_NUM_BUTTONS; ++i) {
- if (button[i])
- button[i]->reset();
- }
- widget()->tqrepaint();
-}
-
-bool NextClient::eventFilter(TQObject *o, TQEvent *e)
-{
- if (TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget()))
- return false;
- switch (e->type()) {
- case TQEvent::Resize:
- resizeEvent(TQT_TQRESIZEEVENT( e ));
- return true;
- case TQEvent::Paint:
- paintEvent(TQT_TQPAINTEVENT( e ));
- return true;
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent(TQT_TQMOUSEEVENT( e ));
- return true;
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( e ));
- return true;
- case TQEvent::MouseButtonPress:
- processMousePressEvent(TQT_TQMOUSEEVENT( e ));
- return true;
- case TQEvent::Show:
- showEvent(TQT_TQSHOWEVENT( e ));
- return true;
- default:
- break;
- }
- return false;
-}
-
-bool NextClient::drawbound(const TQRect& geom, bool /* clear */)
-{
- TQPainter p(workspaceWidget());
- p.setPen(TQPen(TQt::white, 3));
- p.setRasterOp(TQt::XorROP);
- p.drawRect(geom);
- int leftMargin = geom.left() + 2;
- p.fillRect(leftMargin, geom.top() + titleHeight - 1,
- geom.width() - 4, 3, TQt::white);
- if (mustDrawHandle()) {
- p.fillRect(leftMargin, geom.bottom() - handleSize - 1,
- geom.width() - 4, 3, TQt::white);
- }
- return true;
-}
-
-// =====================================
-
-NextClientFactory::NextClientFactory()
-{
- create_pixmaps(this);
-}
-
-NextClientFactory::~NextClientFactory()
-{
- delete_pixmaps();
-}
-
-KDecoration *NextClientFactory::createDecoration(KDecorationBridge *b)
-{
- return new NextClient(b, this);
-}
-
-bool NextClientFactory::reset(unsigned long /*changed*/)
-{
- // TODO Do not recreate decorations if it is not needed. Look at
- // ModernSystem for how to do that
- delete_pixmaps();
- create_pixmaps(this);
- // For now just return true.
- return true;
-}
-
-bool NextClientFactory::supports( Ability ability )
-{
- switch( ability )
- {
- case AbilityAnnounceButtons:
- case AbilityButtonMenu:
- case AbilityButtonOnAllDesktops:
- case AbilityButtonHelp:
- case AbilityButtonMinimize:
- case AbilityButtonMaximize:
- case AbilityButtonClose:
- case AbilityButtonAboveOthers:
- case AbilityButtonBelowOthers:
- case AbilityButtonShade:
- case AbilityButtonResize:
- return true;
- default:
- return false;
- };
-}
-
-TQValueList< NextClientFactory::BorderSize >
-NextClientFactory::borderSizes() const
-{
- // the list must be sorted
- return TQValueList< BorderSize >() << BorderTiny << BorderNormal <<
- BorderLarge << BorderVeryLarge << BorderHuge <<
- BorderVeryHuge << BorderOversized;
-}
-
-} // KStep namespace
-
-extern "C" KDE_EXPORT KDecorationFactory* create_factory()
-{
- return new KStep::NextClientFactory();
-}
-
-#include "nextclient.moc"
-
-// vim: sw=4
diff --git a/kwin-styles/kstep/nextclient.h b/kwin-styles/kstep/nextclient.h
deleted file mode 100644
index b24da66d..00000000
--- a/kwin-styles/kstep/nextclient.h
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef __NEXTCLIENT_H
-#define __NEXTCLIENT_H
-
-#include <tqvariant.h>
-#include <tqbitmap.h>
-#include <kpixmap.h>
-#include <tqlayout.h>
-#include <tqbutton.h>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-
-class TQLabel;
-class TQSpacerItem;
-
-namespace KStep {
-
-class NextClient;
-
-class NextButton : public TQButton
-{
-public:
- NextButton(NextClient *parent=0, const char *name=0,
- const unsigned char *bitmap=NULL, int bw=0, int bh=0,
- const TQString& tip=NULL, const int realizeBtns = Qt::LeftButton);
- void setBitmap(const unsigned char *bitmap, int bw, int bh);
- void reset();
- ButtonState lastButton() { return last_button; }
-
-protected:
- void mousePressEvent( TQMouseEvent* e );
- void mouseReleaseEvent( TQMouseEvent* e );
- virtual void drawButton(TQPainter *p);
- void drawButtonLabel(TQPainter *){;}
-
- KPixmap aBackground, iBackground;
- TQBitmap* deco;
- NextClient *client;
- ButtonState last_button;
- int realizeButtons;
-};
-
-class NextClient : public KDecoration
-{
- Q_OBJECT
- TQ_OBJECT
-public:
- NextClient(KDecorationBridge *b, KDecorationFactory *f);
- ~NextClient() {;}
- void init();
- virtual bool drawbound(const TQRect& geom, bool clear);
-protected:
- bool eventFilter(TQObject *o, TQEvent *e);
- void resizeEvent( TQResizeEvent* );
- void paintEvent( TQPaintEvent* );
- void showEvent( TQShowEvent* );
-
- void mouseDoubleClickEvent( TQMouseEvent * );
- void wheelEvent( TQWheelEvent * );
- void captionChange();
- void desktopChange();
- void activeChange();
- void shadeChange();
- void iconChange();
- TQSize tqminimumSize() const;
- void resize(const TQSize &size);
- void borders(int &left, int &right, int &top, int &bottom) const;
- void reset(unsigned long changed);
- void calcHiddenButtons();
- void updateActiveBuffer();
-
- Position mousePosition(const TQPoint &) const;
- void maximizeChange();
-
-protected slots:
- void slotReset();
- void menuButtonPressed();
- void maximizeButtonClicked();
- void shadeClicked();
- void aboveClicked();
- void belowClicked();
- void resizePressed();
-
- void keepAboveChange(bool above);
- void keepBelowChange(bool below);
-
-private:
- void initializeButtonsAndTitlebar(TQBoxLayout* titleLayout);
- void addButtons(TQBoxLayout* titleLayout, const TQString& buttons);
- bool mustDrawHandle() const;
-
- TQSpacerItem* titlebar;
-
- // Helpful constants for buttons in array
- enum { CLOSE_IDX = 0,
- HELP_IDX,
- ICONIFY_IDX,
- MAXIMIZE_IDX,
- MENU_IDX,
- SHADE_IDX,
- ABOVE_IDX,
- BELOW_IDX,
- RESIZE_IDX,
- STICKY_IDX,
- MAX_NUM_BUTTONS = STICKY_IDX + 1 };
-
- // WARNING: button[i] may be null for any given i. Make sure you
- // always check for null before doing button[i]->foo().
- NextButton* button[MAX_NUM_BUTTONS];
-};
-
-class NextClientFactory: public TQObject, public KDecorationFactory
-{
-public:
- NextClientFactory();
- virtual ~NextClientFactory();
- virtual KDecoration *createDecoration(KDecorationBridge *);
- virtual bool reset(unsigned long changed);
- virtual bool supports( Ability ability );
-
- TQValueList< NextClientFactory::BorderSize > borderSizes() const;
-
-};
-
-}
-
-#endif
diff --git a/kwin-styles/openlook/CMakeLists.txt b/kwin-styles/openlook/CMakeLists.txt
deleted file mode 100644
index 061dd697..00000000
--- a/kwin-styles/openlook/CMakeLists.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES openlook.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_openlook ############################
-
-tde_add_kpart( twin3_openlook AUTOMOC
- SOURCES OpenLook.cpp
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/openlook/Makefile.am b/kwin-styles/openlook/Makefile.am
deleted file mode 100644
index 32b41684..00000000
--- a/kwin-styles/openlook/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-INCLUDES = $(all_includes)
-
-kde_module_LTLIBRARIES = twin3_openlook.la
-
-twin3_openlook_la_SOURCES = OpenLook.cpp
-twin3_openlook_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin3_openlook_la_LIBADD = -ltdecorations
-
-noinst_HEADERS = OpenLook.h
-METASOURCES = AUTO
-
-linkdir = $(kde_datadir)/twin/
-link_DATA = openlook.desktop
-
-EXTRA_DIST = $(link_DATA)
-
diff --git a/kwin-styles/openlook/OpenLook.cpp b/kwin-styles/openlook/OpenLook.cpp
deleted file mode 100644
index 46398e30..00000000
--- a/kwin-styles/openlook/OpenLook.cpp
+++ /dev/null
@@ -1,728 +0,0 @@
-/*
- 'OpenLook' twin client
-
- Porting to trinity.2 API
- Copyright 2003 Luciano Montanaro <mikelima@cirulla.net>
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to
- deal in the Software without restriction, including without limitation the
- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-#include "config.h"
-#include <unistd.h> // for usleep
-#include <math.h>
-
-#include <tqlayout.h>
-#include <tqpainter.h>
-#include <tqdrawutil.h>
-#include <tqtoolbutton.h>
-#include <tqimage.h>
-#include <tqlabel.h>
-#include <tqpixmap.h>
-
-#include <kapplication.h>
-#include <klocale.h>
-
-#include "OpenLook.h"
-
-extern "C" KDE_EXPORT KDecorationFactory* create_factory()
-{
- return new OpenLook::DecorationFactory();
-}
-
-namespace OpenLook {
-
-static uint openLookCornerSize = 11;
-static uint openLookMargin = 5;
-static const uint openLookTextVMargin = 1;
-static uint titleHeight;
-
-// ---------------------------------------
-
-DecorationFactory::DecorationFactory()
-{
-}
-
-DecorationFactory::~DecorationFactory()
-{
-}
-
-KDecoration *DecorationFactory::createDecoration(KDecorationBridge *b)
-{
- return new OpenLook(b, this);
-}
-
-bool DecorationFactory::reset(unsigned long /*changed*/)
-{
- // TODO Do not recreate decorations if it is not needed. Look at
- // ModernSystem for how to do that
- // For now just return true.
- return true;
-}
-
-bool DecorationFactory::supports( Ability ability )
-{
- switch( ability )
- {
- case AbilityAnnounceButtons:
- case AbilityButtonMinimize:
- return true;
- default:
- return false;
- };
-}
-
-TQValueList< DecorationFactory::BorderSize >
-DecorationFactory::borderSizes() const
-{
- // the list must be sorted
- return TQValueList< BorderSize >() << BorderNormal <<
- BorderLarge << BorderVeryLarge << BorderHuge <<
- BorderVeryHuge << BorderOversized;
-}
-
-// ---------------------------------------
-
-static inline const KDecorationOptions* options()
-{
- return KDecoration::options();
-}
-
-// ---------------------------------------
-
-OpenLook::OpenLook(KDecorationBridge *b, KDecorationFactory *f) :
- KDecoration(b, f),
- titleSpacer_ (0),
- mousePressPoint_(0, 0), // Anywhere outside button rect.
- buttonDown_ (false)
-{
-}
-
-void OpenLook::init()
-{
- static const int SUPPORTED_WINDOW_TYPES_MASK = NET::NormalMask |
- NET::DesktopMask | NET::DockMask | NET::ToolbarMask | NET::MenuMask |
- NET::DialogMask | NET::OverrideMask | NET::TopMenuMask |
- NET::UtilityMask | NET::SplashMask;
-
- createMainWidget(WStaticContents | WResizeNoErase | WRepaintNoErase);
- widget()->installEventFilter(this);
- widget()->setBackgroundMode(NoBackground);
- NET::WindowType type = windowType(SUPPORTED_WINDOW_TYPES_MASK);
- tool_ = (type == NET::Toolbar || type == NET::Utility || type == NET::Menu);
- TQFontMetrics fm(options()->font(isActive(), tool_));
-
- titleHeight = fm.height() + openLookTextVMargin * 2;
-
- switch(KDecoration::options()->preferredBorderSize(factory())) {
- case KDecoration::BorderLarge:
- openLookMargin = 9;
- break;
- case KDecoration::BorderVeryLarge:
- openLookMargin = 13;
- break;
- case KDecoration::BorderHuge:
- openLookMargin = 18;
- break;
- case KDecoration::BorderVeryHuge:
- openLookMargin = 27;
- break;
- case KDecoration::BorderOversized:
- openLookMargin = 40;
- break;
- case KDecoration::BorderNormal:
- default:
- openLookMargin = 5;
- }
- openLookCornerSize = 2*openLookMargin + 1;
- if (titleHeight <= openLookMargin)
- titleHeight = openLookMargin+1;
-
- doLayout();
-}
-
-OpenLook::~OpenLook()
-{
- // Empty.
-}
-
-bool OpenLook::eventFilter(TQObject *o, TQEvent *e)
-{
- if (TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget())) return false;
- switch (e->type()) {
- case TQEvent::Resize:
- resizeEvent(TQT_TQRESIZEEVENT(e));
- return true;
- case TQEvent::Paint:
- paintEvent(TQT_TQPAINTEVENT(e));
- return true;
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent(TQT_TQMOUSEEVENT(e));
- return true;
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( e ));
- return true;
- case TQEvent::MouseButtonPress:
- if (!isButtonPress(TQT_TQMOUSEEVENT(e))) {
- processMousePressEvent(TQT_TQMOUSEEVENT(e));
- }
- return true;
- case TQEvent::MouseButtonRelease:
- if (isButtonRelease(TQT_TQMOUSEEVENT(e))) {
- return true;
- } else {
- return false;
- }
- case TQEvent::Show:
- showEvent(TQT_TQSHOWEVENT(e));
- return true;
- default:
- break;
- }
- return false;
-}
-
- void
-OpenLook::borders(int &left, int &right, int &top, int &bottom) const
-{
- // FRAME XXX Check
- left = right = bottom = openLookMargin;
- top = titleHeight + openLookMargin;
-}
-
- void
-OpenLook::captionChange()
-{
- widget()->update(titleRect());
-}
-
- void
-OpenLook::shadeChange()
-{
-}
-
-TQSize OpenLook::tqminimumSize() const
-{
- int left, right, top, bottom;
- borders(left, right, top, bottom);
- return TQSize(left + right + 2 * titleHeight, top + bottom);
-}
-
- void
-OpenLook::resize(const TQSize& s)
-{
- widget()->resize(s);
- widget()->tqrepaint(); //there is some strange wrong tqrepaint of the frame without
-}
-
- void
-OpenLook::paintEvent(TQPaintEvent * pe)
-{
- TQRect tr(titleRect());
-
- TQPainter p(widget());
-
- TQRegion clipRegion(pe->region());
-
- p.setClipRegion(clipRegion);
-
- paintBorder(p);
-
- paintTopLeftRect(p);
- paintTopRightRect(p);
- paintBottomLeftRect(p);
- paintBottomRightRect(p);
-
- p.setClipRegion(clipRegion + buttonRect());
-
- TQBrush titleBackground(options()->color(KDecoration::ColorTitleBar, true));
-
- if (isActive())
- qDrawShadePanel(&p, tr, widget()->tqcolorGroup(), true, 1, &titleBackground);
- else
- p.fillRect(tr, widget()->tqcolorGroup().brush(TQColorGroup::Background));
-
- p.setClipRegion(clipRegion);
-
- paintButton(p);
-
- p.setFont(options()->font(isActive(), tool_));
-
- p.setPen(options()->color(KDecoration::ColorFont, isActive()));
-
- tr.setLeft(openLookCornerSize + 3 + buttonRect().width() + 2);
-
- p.drawText(tr, AlignCenter, caption());
-}
-
- void
-OpenLook::showEvent(TQShowEvent *)
-{
- widget()->tqrepaint();
-}
-
- void
-OpenLook::mouseDoubleClickEvent(TQMouseEvent * e)
-{
- if (e->button() == Qt::LeftButton && titleRect().contains(e->pos()))
- {
- titlebarDblClickOperation();
- }
-}
-
- void
-OpenLook::wheelEvent(TQWheelEvent *e)
-{
- if (isSetShade() || titleRect().contains(e->pos()))
- {
- titlebarMouseWheelOperation( e->delta());
- }
-}
-
- void
-OpenLook::resizeEvent(TQResizeEvent* e)
-{
- widget()->update();
-}
-
- void
-OpenLook::activeChange()
-{
- widget()->tqrepaint();
-}
-
- KDecoration::Position
-OpenLook::mousePosition(const TQPoint & p) const
-{
- if (topLeftRect().contains(p))
- return PositionTopLeft;
- else if (topRightRect().contains(p))
- return PositionTopRight;
- else if (bottomLeftRect().contains(p))
- return PositionBottomLeft;
- else if (bottomRightRect().contains(p))
- return PositionBottomRight;
- else
- return PositionCenter;
-}
-
- void
-OpenLook::iconChange()
-{
-}
-
- void
-OpenLook::desktopChange()
-{
-}
-
- void
-OpenLook::maximizeChange()
-{
- widget()->tqrepaint(false);
-}
-
- void
-OpenLook::doLayout()
-{
- TQVBoxLayout * tqlayout = new TQVBoxLayout(widget(), openLookMargin);
-
- titleSpacer_ =
- new TQSpacerItem
- (
- 0,
- titleHeight,
- TQSizePolicy::Expanding,
- TQSizePolicy::Fixed
- );
-
- tqlayout->addItem(titleSpacer_);
-
- tqlayout->addSpacing(2);
-
- TQBoxLayout * midLayout =
- new TQBoxLayout(tqlayout, TQBoxLayout::LeftToRight, 0, 0);
-
- if (isPreview()) {
- midLayout->addWidget(new TQLabel(
- i18n("<center><b>OpenLook preview</b></center>"),
- widget()),
- 1);
- } else {
- midLayout->addItem( new TQSpacerItem( 0, 0 ));
- }
-
-}
-
- bool
-OpenLook::animateMinimize(bool /*iconify*/)
-{
-#if 0
- TQRect icongeom(iconGeometry());
-
- if (!icongeom.isValid())
- return false;
-
- TQRect wingeom(tqgeometry());
-
- TQPainter p(workspaceWidget());
-
- p.setRasterOp(TQt::NotROP);
-
-#if 0
- if (iconify)
- p.setClipRegion(
- TQRegion(workspace()->desktopWidget()->rect()) - wingeom
- );
-#endif
-
- for (uint count = 0; count < 4; count++)
- {
- grabXServer();
-
- p.drawLine(wingeom.bottomRight(), icongeom.bottomRight());
- p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft());
- p.drawLine(wingeom.topLeft(), icongeom.topLeft());
- p.drawLine(wingeom.topRight(), icongeom.topRight());
-
- p.flush();
-
- kapp->syncX();
-
- usleep(10000);
-
- p.drawLine(wingeom.bottomRight(), icongeom.bottomRight());
- p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft());
- p.drawLine(wingeom.topLeft(), icongeom.topLeft());
- p.drawLine(wingeom.topRight(), icongeom.topRight());
-
- p.flush();
-
- kapp->syncX();
-
- usleep(10000);
-
- ungrabXServer();
- }
-#endif
- return true;
-}
-
- TQRect
-OpenLook::topLeftRect() const
-{
- return TQRect
- (
- 0,
- 0,
- openLookCornerSize,
- openLookCornerSize
- );
-}
-
- TQRect
-OpenLook::topRightRect() const
-{
- return TQRect
- (
- width() - openLookCornerSize,
- 0,
- openLookCornerSize,
- openLookCornerSize
- );
-}
-
- TQRect
-OpenLook::bottomLeftRect() const
-{
- return TQRect
- (
- 0,
- height() - openLookCornerSize,
- openLookCornerSize,
- openLookCornerSize
- );
-}
-
- TQRect
-OpenLook::bottomRightRect() const
-{
- return TQRect
- (
- width() - openLookCornerSize,
- height() - openLookCornerSize,
- openLookCornerSize,
- openLookCornerSize
- );
-}
-
- void
-OpenLook::paintTopLeftRect(TQPainter & p) const
-{
- TQColor handleColour(options()->color(KDecoration::ColorHandle, isActive()));
-
- TQRect r(topLeftRect());
-
- int x1(r.left());
- int y1(r.top());
- int x2(r.right());
- int y2(r.bottom());
-
- p.setPen(widget()->tqcolorGroup().light());
-
- p.drawLine(x1, y1, x2, y1);
- p.drawLine(x1, y1 + 1, x1, y2);
-
- p.fillRect(x1 + 1, y1 + 1, r.width()-2, openLookMargin-2, handleColour);
- p.fillRect(x1 + 1, y1 + 1, openLookMargin-2, r.height()-2, handleColour);
-
- p.setPen(widget()->tqcolorGroup().dark());
-
- p.drawLine(x2, y1 + 1, x2, y1 + openLookMargin-1);
-
- p.drawLine(x1 + openLookMargin-1, y1 + openLookMargin-1, x2 - 1, y1 + openLookMargin-1);
-
- p.drawLine(x1 + openLookMargin-1, y1 + openLookMargin, x1 + openLookMargin-1, y2 - 1);
-
- p.drawLine(x1 + 1, y2, x1 + openLookMargin-1, y2);
-}
-
- void
-OpenLook::paintTopRightRect(TQPainter & p) const
-{
- TQColor handleColour(options()->color(KDecoration::ColorHandle, isActive()));
-
- TQRect r(topRightRect());
-
- int x1(r.left());
- int y1(r.top());
- int x2(r.right());
- int y2(r.bottom());
-
- p.setPen(widget()->tqcolorGroup().light());
-
- p.drawLine(x1, y1, x2, y1);
- p.drawLine(x1, y1 + 1, x1, y1 + openLookMargin-1);
- p.drawLine(x2 - openLookMargin+1, y1 + openLookMargin, x2 - openLookMargin+1, y2);
-
- p.fillRect(x1 + 1, y1 + 1, r.width()-2, openLookMargin-2, handleColour);
- p.fillRect(x2 - openLookMargin + 2, y1 + 1, openLookMargin-2, r.height()-2, handleColour);
-
- p.setPen(widget()->tqcolorGroup().dark());
-
- p.drawLine(x1 + 1, y1 + openLookMargin-1, x2 - openLookMargin+1, y1 + openLookMargin-1);
- p.drawLine(x2, y1 + 1, x2, y2);
- p.drawLine(x2 - openLookMargin+1, y2, x2 - 1, y2);
-}
-
- void
-OpenLook::paintBottomLeftRect(TQPainter & p) const
-{
- TQColor handleColour(options()->color(KDecoration::ColorHandle, isActive()));
-
- TQRect r(bottomLeftRect());
-
- int x1(r.left());
- int y1(r.top());
- int x2(r.right());
- int y2(r.bottom());
-
- p.setPen(widget()->tqcolorGroup().light());
-
- p.drawLine(x1, y1, x1 + openLookMargin-1, y1);
- p.drawLine(x1, y1 + 1, x1, y2);
- p.drawLine(x1 + openLookMargin, y2 - openLookMargin+1, x2, y2 - openLookMargin+1);
-
- p.fillRect(x1 + 1, y2 - openLookMargin + 2, r.width()-2, openLookMargin-2, handleColour);
- p.fillRect(x1 + 1, y1 + 1, openLookMargin-2, r.height()-2, handleColour);
-
- p.setPen(widget()->tqcolorGroup().dark());
-
- p.drawLine(x1 + openLookMargin-1, y1 + 1, x1 + openLookMargin-1, y2 - openLookMargin);
- p.drawLine(x1 + 1, y2, x2, y2);
- p.drawLine(x2, y2 - openLookMargin+2, x2, y2 - 1);
-}
-
- void
-OpenLook::paintBottomRightRect(TQPainter & p) const
-{
- TQColor handleColour(options()->color(KDecoration::ColorHandle, isActive()));
-
- TQRect r(bottomRightRect());
-
- int x1(r.left());
- int y1(r.top());
- int x2(r.right());
- int y2(r.bottom());
-
- p.setPen(widget()->tqcolorGroup().light());
-
- p.drawLine(x1, y2 - openLookMargin+1, x1, y2);
- p.drawLine(x1 + 1, y2 - openLookMargin+1, x2 - openLookMargin+1, y2 - openLookMargin+1);
- p.drawLine(x2 - openLookMargin+1, y1 + 1, x2 - openLookMargin+1, y2 - openLookMargin);
- p.drawLine(x2 - openLookMargin+1, y1, x2, y1);
-
- p.fillRect(x1 + 1, y2 - openLookMargin + 2, r.width()-2, openLookMargin-2, handleColour);
- p.fillRect(x2 - openLookMargin + 2, y1 + 1, openLookMargin-2, r.height()-2, handleColour);
-
- p.setPen(widget()->tqcolorGroup().dark());
-
- p.drawLine(x1 + 1, y2, x2, y2);
- p.drawLine(x2, y1 + 1, x2, y2 - 1);
-}
-
- TQRect
-OpenLook::buttonRect() const
-{
- return TQRect
- (
- openLookCornerSize + 3,
- titleRect().top(),
- titleRect().height(),
- titleRect().height()
- );
-}
-
- void
-OpenLook::paintButton(TQPainter & p) const
-{
- TQRect r(buttonRect());
-
- p.fillRect
- (
- r.left() + 1,
- r.top() + 1,
- r.width() - 2,
- r.height() - 2,
- buttonDown_
- ? widget()->tqcolorGroup().dark()
- : options()->color(KDecoration::ColorButtonBg, isActive())
- );
-
- p.setPen(buttonDown_ ? widget()->tqcolorGroup().dark() : widget()->tqcolorGroup().light());
-
- p.drawLine(r.left() + 1, r.top(), r.right() - 1, r.top());
- p.drawLine(r.left(), r.top() + 1, r.left(), r.bottom() - 1);
-
- p.setPen(buttonDown_ ? widget()->tqcolorGroup().light() : widget()->tqcolorGroup().dark());
-
- p.drawLine(r.right(), r.top() + 1, r.right(), r.bottom() - 1);
- p.drawLine(r.left() + 1, r.bottom(), r.right() - 1, r.bottom());
-
- paintArrow(p);
-}
-
- void
-OpenLook::paintArrow(TQPainter & p) const
-{
- TQRect br(buttonRect());
-
- int x = br.left() + 5;
- int y = br.top() + 5;
- int w = br.width() - 10;
- int h = br.height() - 10;
-
- TQPointArray poly(3);
-
- p.setBrush(widget()->tqcolorGroup().mid());
-
- poly.setPoint(0, x, y);
- poly.setPoint(1, x + w - 1, y);
- poly.setPoint(2, x + (w / 2), y + h - 1);
-
- p.drawPolygon(poly);
-
- p.setPen(widget()->tqcolorGroup().dark());
-
- p.drawLine(x, y, x + w - 1, y);
-
- p.drawLine(x, y, x + (w / 2), y + h - 1);
-
- p.setPen(widget()->tqcolorGroup().light());
-
- p.drawLine(x + (w / 2), y + h - 1, x + w - 1, y);
-}
-
- void
-OpenLook::paintBorder(TQPainter & p) const
-{
- const uint cs(openLookCornerSize);
-
- uint x = widget()->rect().left();
- uint y = widget()->rect().top();
- uint w = widget()->rect().width();
- uint h = widget()->rect().height();
- uint r = widget()->rect().right();
- uint b = widget()->rect().bottom();
-
- p.fillRect(x + cs, y, w - cs - cs, 2, widget()->tqcolorGroup().shadow());
- p.fillRect(x + cs, b - 1, w - cs - cs, 2, widget()->tqcolorGroup().shadow());
- p.fillRect(x, y + cs, 2, h - cs - cs, widget()->tqcolorGroup().shadow());
- p.fillRect(r - 1, y + cs, 2, h - cs - cs, widget()->tqcolorGroup().shadow());
-
- TQColor frameColour(options()->color(KDecoration::ColorFrame, isActive()));
-
- p.fillRect(x + cs, y + 2, w - cs - cs, openLookMargin-2, frameColour);
- p.fillRect(x + cs, b - openLookMargin + 1, w - cs - cs, openLookMargin-2, frameColour);
- p.fillRect(x + 2, y + cs, openLookMargin-2, h - cs - cs, frameColour);
- p.fillRect(r - openLookMargin + 1, y + cs, openLookMargin-2, h - cs - cs, frameColour);
-
- p.fillRect
- (
- openLookMargin,
- titleRect().bottom() + 1,
- width() - 2 * openLookMargin,
- 2,
- widget()->tqcolorGroup().background()
- );
-}
-
- TQRect
-OpenLook::titleRect() const
-{
- return titleSpacer_->tqgeometry();
-}
-
- bool
-OpenLook::isButtonPress(TQMouseEvent * e)
-{
- mousePressPoint_ = e->pos();
-
- buttonDown_ = buttonRect().contains(mousePressPoint_);
-
- widget()->tqrepaint(buttonRect());
- return buttonDown_;
-}
-
- bool
-OpenLook::isButtonRelease(TQMouseEvent * e)
-{
- if (buttonDown_ && buttonRect().contains(e->pos()))
- {
- minimize();
- return true;
- }
- buttonDown_ = false;
- widget()->tqrepaint(buttonRect());
-
- return false;
-}
-
-}
-
-#include "OpenLook.moc"
-// vim:ts=2:sw=2:tw=78:set et:
diff --git a/kwin-styles/openlook/OpenLook.h b/kwin-styles/openlook/OpenLook.h
deleted file mode 100644
index 98db37af..00000000
--- a/kwin-styles/openlook/OpenLook.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- 'OpenLook' twin client
-
- Porting to trinity.2 API
- Copyright 2003 Luciano Montanaro <mikelima@cirulla.net>
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to
- deal in the Software without restriction, including without limitation the
- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-#ifndef KWIN_WEB_H
-#define KWIN_WEB_H
-
-#include <tqptrlist.h>
-#include <tqbutton.h>
-
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-
-class TQSpacerItem;
-
-namespace OpenLook
-{
- class OpenLookButton;
-
- class OpenLook : public KDecoration
- {
- Q_OBJECT
- TQ_OBJECT
- public:
-
- OpenLook(KDecorationBridge *b, KDecorationFactory *f);
- ~OpenLook();
- void init();
-
- protected:
- bool eventFilter(TQObject *o, TQEvent *e);
- void resizeEvent(TQResizeEvent *e);
- void paintEvent(TQPaintEvent *e);
- void showEvent(TQShowEvent *e);
-
- virtual void captionChange();
- void desktopChange();
- void activeChange();
- void shadeChange();
- void iconChange();
- void maximizeChange();
- void borders(int &left, int &right, int &top, int &bottom) const;
- TQSize tqminimumSize() const;
- void resize( const TQSize& );
- virtual void mouseDoubleClickEvent(TQMouseEvent *);
- virtual void wheelEvent(TQWheelEvent *e);
-
- virtual Position mousePosition(const TQPoint &) const;
- virtual bool animateMinimize(bool);
-
- private:
-
- void doLayout();
-
- TQRect titleRect() const;
-
- TQRect topLeftRect() const;
- TQRect topRightRect() const;
- TQRect bottomLeftRect() const;
- TQRect bottomRightRect() const;
-
- TQRect buttonRect() const;
-
- void paintBorder(TQPainter &) const;
-
- void paintTopLeftRect(TQPainter &) const;
- void paintTopRightRect(TQPainter &) const;
- void paintBottomLeftRect(TQPainter &) const;
- void paintBottomRightRect(TQPainter &) const;
-
- void paintButton(TQPainter &) const;
- void paintArrow(TQPainter &) const;
-
- bool isButtonPress(TQMouseEvent *);
- bool isButtonRelease(TQMouseEvent *);
-
- TQSpacerItem * titleSpacer_;
- TQPoint mousePressPoint_;
- bool tool_;
- bool buttonDown_;
- };
-
- class DecorationFactory: public TQObject, public KDecorationFactory
- {
- public:
- DecorationFactory();
- virtual ~DecorationFactory();
- virtual KDecoration *createDecoration(KDecorationBridge *);
- virtual bool reset(unsigned long changed);
- virtual bool supports( Ability ability );
- TQValueList< DecorationFactory::BorderSize > borderSizes() const;
- };
-}
-
-#endif
-// vim:ts=2:sw=2:tw=78:set et:
diff --git a/kwin-styles/openlook/openlook.desktop b/kwin-styles/openlook/openlook.desktop
deleted file mode 100644
index 0ed25dcb..00000000
--- a/kwin-styles/openlook/openlook.desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-[Desktop Entry]
-Name=OpenLook
-Name[af]=Openlook
-Name[cy]=GolwgAgored
-Name[fa]=نگاه‌باز
-Name[hi]=ओपन-लुक
-Name[lt]=Open išvaizda
-Name[lv]=AtvērtsSkats
-Name[ne]=ओपन लूक
-Name[ta]=திறந்தபார்வை
-Name[ven]=Vula wo sedza
-Name[vi]=Hình thức mở
-Name[zu]=Vula Ubone
-X-KDE-Library=twin3_openlook
diff --git a/kwin-styles/riscos/AboveButton.cpp b/kwin-styles/riscos/AboveButton.cpp
deleted file mode 100644
index 7b66e3ba..00000000
--- a/kwin-styles/riscos/AboveButton.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2004
- Carsten Clever <clushkou@gmx.net>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "AboveButton.h"
-
-namespace RiscOS
-{
-
-/* XPM */
-static const char * const above_xpm[] = {
-"12 12 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ",
-" ..... ",
-".+++++. ",
-".+++++. ",
-".+++++..... ",
-".+++++.++++.",
-".+++++.++++.",
-" .....+++++.",
-" .+++++.",
-" .+++++.",
-" ..... ",
-" "};
-
-AboveButton::AboveButton(TQWidget *parent)
- : Button(parent, i18n("Keep above others"))
-{
- setPixmap(TQPixmap((const char **)above_xpm));
-}
-
-void AboveButton::mouseReleaseEvent(TQMouseEvent *e)
-{
- Button::mouseReleaseEvent(e);
-
- if (!rect().contains(e->pos()))
- return;
-
- emit(above());
-}
-
-} // End namespace
-
-#include "AboveButton.moc"
diff --git a/kwin-styles/riscos/AboveButton.h b/kwin-styles/riscos/AboveButton.h
deleted file mode 100644
index 86fbb0a7..00000000
--- a/kwin-styles/riscos/AboveButton.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2004
- Carsten Clever <clushkou@gmx.net>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_ABOVE_BUTTON_H
-#define RISC_OS_ABOVE_BUTTON_H
-
-#include "Button.h"
-
-namespace RiscOS
-{
-
-class AboveButton : public Button
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
-
- AboveButton(TQWidget *parent);
-
- signals:
-
- void above();
-
- protected:
-
- void mouseReleaseEvent(TQMouseEvent*);
-};
-
-} // End namespace
-
-#endif
diff --git a/kwin-styles/riscos/Button.cpp b/kwin-styles/riscos/Button.cpp
deleted file mode 100644
index 7bf4f477..00000000
--- a/kwin-styles/riscos/Button.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include <tqtooltip.h>
-#include "Button.h"
-#include "Static.h"
-
-namespace RiscOS
-{
-
-Button::Button(TQWidget *parent, const TQString& tip,
- const ButtonState realizeButtons)
- : TQWidget(parent, "Button", 0),
- realizeButtons_(realizeButtons),
- lastButton_(Qt::NoButton),
- alignment_(Left),
- down_ (false),
- active_ (false)
-{
- TQToolTip::add(this, tip);
- setBackgroundColor(TQt::black);
-
- setFixedSize(Static::instance()->titleHeight() - 1,
- Static::instance()->titleHeight());
-}
-
-Button::~Button()
-{
- // Empty.
-}
-
-void Button::tqsetAlignment(Alignment a)
-{
- alignment_ = a;
- tqrepaint();
-}
-
-void Button::setActive(bool b)
-{
- active_ = b;
- tqrepaint();
-}
-
-Button::Alignment Button::tqalignment() const
-{
- return alignment_;
-}
-
-void Button::mousePressEvent(TQMouseEvent *e)
-{
- down_ = true;
- lastButton_ = e->button();
- tqrepaint();
-
- TQMouseEvent me(e->type(), e->pos(), e->globalPos(),
- (e->button()&realizeButtons_) ? Qt::LeftButton : Qt::NoButton,
- e->state());
- TQWidget::mousePressEvent(&me);
-}
-
-void Button::mouseReleaseEvent(TQMouseEvent *e)
-{
- down_ = false;
- lastButton_ = e->button();
- tqrepaint();
- TQMouseEvent me(e->type(), e->pos(), e->globalPos(),
- (e->button()&realizeButtons_) ? Qt::LeftButton : Qt::NoButton,
- e->state());
- TQWidget::mouseReleaseEvent(&me);
-}
-
-void Button::setPixmap(const TQPixmap &p)
-{
- if (TQPixmap::defaultDepth() <= 8)
- aPixmap_ = iPixmap_ = p;
- else
- {
- TQRgb light;
- TQRgb* data = NULL;
- TQRgb w = tqRgb(255, 255, 255);
-
- TQImage aTx(p.convertToImage());
- TQImage iTx(aTx.copy());
-
- const KDecorationOptions* options = KDecoration::options();
- light = options->color(KDecoration::ColorButtonBg, true).light(150).rgb();
-
- if (light == tqRgb(0, 0, 0))
- light = tqRgb(228, 228, 228);
-
- data = (TQRgb *)aTx.bits();
-
- for (int x = 0; x < 144; x++)
- if (data[x] == w)
- data[x] = light;
-
- light = options->color(KDecoration::ColorButtonBg, false).light(150).rgb();
-
- if (light == tqRgb(0, 0, 0))
- light = tqRgb(228, 228, 228);
-
- data = (TQRgb *)iTx.bits();
-
- for (int x = 0; x < 144; x++)
- if (data[x] == w)
- data[x] = light;
-
- aPixmap_.convertFromImage(aTx);
- iPixmap_.convertFromImage(iTx);
-
- if (0 != p.mask())
- {
- aPixmap_.setMask(*p.mask());
- iPixmap_.setMask(*p.mask());
- }
- }
- tqrepaint();
-}
-
-void Button::paintEvent(TQPaintEvent *)
-{
- bitBlt(this, alignment_ == Left ? 1 : 0, 0,
- &Static::instance()->buttonBase(active_, down_));
-
- int i = width() / 2 - 6;
-
- bitBlt(this, alignment_ == Left ? i + 1 : i,
- i + 1, active_ ? &aPixmap_ : &iPixmap_);
-}
-
-} // End namespace
-
-// vim:ts=2:sw=2:tw=78
-#include "Button.moc"
diff --git a/kwin-styles/riscos/Button.h b/kwin-styles/riscos/Button.h
deleted file mode 100644
index 0c7c66c5..00000000
--- a/kwin-styles/riscos/Button.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_BUTTON_H
-#define RISC_OS_BUTTON_H
-
-#include <tqpixmap.h>
-#include <tqwidget.h>
-#include <klocale.h>
-#include <kdecoration.h>
-
-namespace RiscOS
-{
-
-class Button : public TQWidget
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
-
- enum Type { Lower, Close, Iconify, Maximise, Sticky, Help };
-
- enum Alignment { Left, Right };
-
- Button(TQWidget *parent, const TQString &tip,
- const ButtonState realizeButton = Qt::LeftButton);
- virtual ~Button();
-
- void tqsetAlignment(Alignment);
-
- Alignment tqalignment() const;
-
- protected slots:
-
- void setActive(bool);
-
- protected:
-
- void paintEvent(TQPaintEvent *);
-
- void mousePressEvent(TQMouseEvent *);
- void mouseReleaseEvent(TQMouseEvent *);
- void mouseMoveEvent(TQMouseEvent *) { /* Empty. */ }
-
- void setPixmap(const TQPixmap &);
-
- ButtonState realizeButtons_;
- ButtonState lastButton_;
-
- private:
-
- Alignment alignment_;
- bool down_;
- bool active_;
- TQPixmap aPixmap_, iPixmap_;
-};
-
-} // End namespace
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/CMakeLists.txt b/kwin-styles/riscos/CMakeLists.txt
deleted file mode 100644
index 5b0e6d54..00000000
--- a/kwin-styles/riscos/CMakeLists.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_definitions(
- -DQT_PLUGIN
-)
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${CMAKE_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES riscos.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_riscos ###############################
-
-
-set( target twin3_riscos )
-
-set( ${target}_SRCS
- AboveButton.cpp Button.cpp
- CloseButton.cpp
- HelpButton.cpp
- IconifyButton.cpp
- LowerButton.cpp
- Manager.cpp
- MaximiseButton.cpp
- Static.cpp
- StickyButton.cpp
-)
-
-tde_add_kpart( ${target} AUTOMOC
- SOURCES ${${target}_SRCS}
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/riscos/CloseButton.cpp b/kwin-styles/riscos/CloseButton.cpp
deleted file mode 100644
index 1a4c06b5..00000000
--- a/kwin-styles/riscos/CloseButton.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "CloseButton.h"
-
-namespace RiscOS
-{
-
-/* XPM */
-static const char * const close_xpm[] = {
-"12 12 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" . . ",
-" .+. .+. ",
-".+++. .+++.",
-" .+++..+++. ",
-" .++++++. ",
-" .++++. ",
-" .++++. ",
-" .++++++. ",
-" .+++..+++. ",
-".+++. .+++.",
-" .+. .+. ",
-" . . "};
-
-CloseButton::CloseButton(TQWidget *parent)
- : Button(parent, i18n("Close"))
-{
- setPixmap(TQPixmap((const char **)close_xpm));
-}
-
-void CloseButton::mouseReleaseEvent(TQMouseEvent *e)
-{
- Button::mouseReleaseEvent(e);
-
- if (!rect().contains(e->pos()))
- return;
-
- emit(closeWindow());
-}
-
-} // End namespace;
-
-// vim:ts=2:sw=2:tw=78
-#include "CloseButton.moc"
diff --git a/kwin-styles/riscos/CloseButton.h b/kwin-styles/riscos/CloseButton.h
deleted file mode 100644
index 615ea2ed..00000000
--- a/kwin-styles/riscos/CloseButton.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_CLOSE_BUTTON_H
-#define RISC_OS_CLOSE_BUTTON_H
-
-#include "Button.h"
-
-namespace RiscOS
-{
-
-class CloseButton : public Button
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
-
- CloseButton(TQWidget *parent);
-
- signals:
-
- void closeWindow();
-
- protected:
-
- void mouseReleaseEvent(TQMouseEvent *);
-};
-
-} // End namespace;
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/HelpButton.cpp b/kwin-styles/riscos/HelpButton.cpp
deleted file mode 100644
index 936738eb..00000000
--- a/kwin-styles/riscos/HelpButton.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "HelpButton.h"
-
-namespace RiscOS
-{
-
-/* XPM */
-static const char * const help_xpm[] = {
-"12 12 3 1",
-" c None",
-". c #FFFFFF",
-"+ c #000000",
-" . ++++ . ",
-" .+....+. ",
-" +......+ ",
-"..+......+..",
-" +......+ ",
-" +......+ ",
-" .+....+. ",
-" . ++ + . ",
-" + ++ ",
-" ++ + ",
-" + ++ ",
-" ++ "};
-
-HelpButton::HelpButton(TQWidget *parent)
- : Button(parent, i18n("Help"))
-{
- setPixmap(TQPixmap((const char **)help_xpm));
-}
-
-void HelpButton::mouseReleaseEvent(TQMouseEvent *e)
-{
- Button::mouseReleaseEvent(e);
-
- if (!rect().contains(e->pos()))
- return;
-
- emit(help());
-}
-
-} // End namespace;
-
-// vim:ts=2:sw=2:tw=78
-#include "HelpButton.moc"
diff --git a/kwin-styles/riscos/HelpButton.h b/kwin-styles/riscos/HelpButton.h
deleted file mode 100644
index d57b91ce..00000000
--- a/kwin-styles/riscos/HelpButton.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_HELP_BUTTON_H
-#define RISC_OS_HELP_BUTTON_H
-
-#include "Button.h"
-
-namespace RiscOS
-{
-
-class HelpButton : public Button
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
-
- HelpButton(TQWidget *parent);
-
- signals:
-
- void help();
-
- protected:
-
- void mouseReleaseEvent(TQMouseEvent *);
-};
-
-} // End namespace;
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/IconifyButton.cpp b/kwin-styles/riscos/IconifyButton.cpp
deleted file mode 100644
index b5eef9e5..00000000
--- a/kwin-styles/riscos/IconifyButton.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "IconifyButton.h"
-
-namespace RiscOS
-{
-
-/* XPM */
-static const char * const iconify_xpm[] = {
-"12 12 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ",
-" ",
-" ",
-" ",
-" .......... ",
-".++++++++++.",
-".++++++++++.",
-" .......... ",
-" ",
-" ",
-" ",
-" "};
-
-IconifyButton::IconifyButton(TQWidget *parent)
- : Button(parent, i18n("Minimize"))
-{
- setPixmap(TQPixmap((const char **)iconify_xpm));
-}
-
-void IconifyButton::mouseReleaseEvent(TQMouseEvent *e)
-{
- Button::mouseReleaseEvent(e);
-
- if (!rect().contains(e->pos()))
- return;
-
- emit(iconify());
-}
-
-} // End namespace;
-
-// vim:ts=2:sw=2:tw=78
-#include "IconifyButton.moc"
diff --git a/kwin-styles/riscos/IconifyButton.h b/kwin-styles/riscos/IconifyButton.h
deleted file mode 100644
index 54e44aba..00000000
--- a/kwin-styles/riscos/IconifyButton.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_ICONIFY_BUTTON_H
-#define RISC_OS_ICONIFY_BUTTON_H
-
-#include "Button.h"
-
-namespace RiscOS
-{
-
-class IconifyButton : public Button
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
-
- IconifyButton(TQWidget *parent);
-
- signals:
-
- void iconify();
-
- protected:
-
- void mouseReleaseEvent(TQMouseEvent *);
-};
-
-} // End namespace;
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/LowerButton.cpp b/kwin-styles/riscos/LowerButton.cpp
deleted file mode 100644
index 7f03e41f..00000000
--- a/kwin-styles/riscos/LowerButton.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "LowerButton.h"
-
-namespace RiscOS
-{
-
-/* XPM */
-static const char * const lower_xpm[] = {
-"12 12 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ",
-" ..... ",
-".+++++. ",
-".+++++. ",
-".+++++..... ",
-".++++.+++++.",
-".++++.+++++.",
-" .....+++++.",
-" .+++++.",
-" .+++++.",
-" ..... ",
-" "};
-
-LowerButton::LowerButton(TQWidget *parent)
- : Button(parent, i18n("Keep below others"))
-{
- setPixmap(TQPixmap((const char **)lower_xpm));
-}
-
-void LowerButton::mouseReleaseEvent(TQMouseEvent *e)
-{
- Button::mouseReleaseEvent(e);
-
- if (!rect().contains(e->pos()))
- return;
-
- emit(lower());
-}
-
-} // End namespace;
-
-// vim:ts=2:sw=2:tw=78
-#include "LowerButton.moc"
diff --git a/kwin-styles/riscos/LowerButton.h b/kwin-styles/riscos/LowerButton.h
deleted file mode 100644
index 8616d688..00000000
--- a/kwin-styles/riscos/LowerButton.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_LOWER_BUTTON_H
-#define RISC_OS_LOWER_BUTTON_H
-
-#include "Button.h"
-
-namespace RiscOS
-{
-
-class LowerButton : public Button
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
-
- LowerButton(TQWidget *parent);
-
- signals:
-
- void lower();
-
- protected:
-
- void mouseReleaseEvent(TQMouseEvent *);
-};
-
-} // End namespace;
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/Makefile.am b/kwin-styles/riscos/Makefile.am
deleted file mode 100644
index 773c341b..00000000
--- a/kwin-styles/riscos/Makefile.am
+++ /dev/null
@@ -1,39 +0,0 @@
-AUTOMAKE_OPTIONS = foreign
-
-KDE_CXXFLAGS = -DQT_PLUGIN
-
-INCLUDES = $(all_includes)
-
-twindir = $(kde_datadir)/twin/
-twin_DATA = riscos.desktop
-
-noinst_HEADERS = AboveButton.h \
- Button.h \
- CloseButton.h \
- HelpButton.h \
- IconifyButton.h \
- LowerButton.h \
- Manager.h \
- MaximiseButton.h \
- Palette.h \
- Static.h \
- StickyButton.h
-
-kde_module_LTLIBRARIES = twin3_riscos.la
-twin3_riscos_la_SOURCES = AboveButton.cpp \
- Button.cpp \
- CloseButton.cpp \
- HelpButton.cpp \
- IconifyButton.cpp \
- LowerButton.cpp \
- Manager.cpp \
- MaximiseButton.cpp \
- Static.cpp \
- StickyButton.cpp
-
-twin3_riscos_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin3_riscos_la_LIBADD = $(LIB_TDEUI) -ltdecorations
-twin3_riscos_la_METASOURCES = AUTO
-
-EXTRA_DIST = $(twin_DATA)
-
diff --git a/kwin-styles/riscos/Manager.cpp b/kwin-styles/riscos/Manager.cpp
deleted file mode 100644
index 837bec9c..00000000
--- a/kwin-styles/riscos/Manager.cpp
+++ /dev/null
@@ -1,767 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include <unistd.h> // for usleep
-#include <config.h> // for usleep on non-linux platforms
-#include <math.h> // for sin and cos
-
-#include <tqapplication.h>
-#include <tqimage.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqpainter.h>
-
-#include <netwm.h>
-
-#include "Manager.h"
-#include "Static.h"
-#include "AboveButton.h"
-#include "CloseButton.h"
-#include "HelpButton.h"
-#include "IconifyButton.h"
-#include "LowerButton.h"
-#include "MaximiseButton.h"
-#include "StickyButton.h"
-
-extern "C"
-{
- KDE_EXPORT KDecorationFactory* create_factory()
- {
- return new RiscOS::Factory();
- }
-}
-
-
-namespace RiscOS
-{
-
-Manager::Manager(KDecorationBridge *bridge,
- KDecorationFactory *factory)
- : KDecoration(bridge, factory),
- topLayout_ (NULL),
- titleLayout_ (NULL),
- titleSpacer_ (NULL)
-{
-}
-
-Manager::~Manager()
-{
-}
-
-void Manager::init()
-{
- createMainWidget(WNoAutoErase);
-
- widget()->installEventFilter(this);
- widget()->setBackgroundMode(NoBackground);
-
- leftButtonList_.setAutoDelete(true);
- rightButtonList_.setAutoDelete(true);
-
- resetLayout();
-}
-
-bool Manager::eventFilter(TQObject *o, TQEvent *e)
-{
- if (TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget())) return false;
- switch (e->type())
- {
- case TQEvent::Resize:
- resizeEvent(TQT_TQRESIZEEVENT(e));
- return true;
- case TQEvent::Paint:
- paintEvent(TQT_TQPAINTEVENT(e));
- return true;
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent(TQT_TQMOUSEEVENT(e));
- return true;
- case TQEvent::MouseButtonPress:
- processMousePressEvent(TQT_TQMOUSEEVENT(e));
- return true;
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( e ));
- return true;
- case TQEvent::MouseButtonRelease:
- return false;
- case TQEvent::Show:
- return false;
- case TQEvent::MouseMove:
- return false;
- case TQEvent::Enter:
- return false;
- case TQEvent::Leave:
- return false;
- case TQEvent::Move:
- return false;
- default:
- return false;
- }
-}
-
-void Manager::reset(unsigned long /*changed*/)
-{
- resetLayout();
-}
-
-void Manager::borders(int &left, int &right, int &top, int &bottom) const
-{
- left = right = 1;
- top = Static::instance()->titleHeight();
- bottom = isResizable() ? Static::instance()->resizeHeight() : 1;
-}
-
-void Manager::resize(const TQSize &s)
-{
- widget()->resize(s);
-}
-
-TQSize Manager::tqminimumSize() const
-{
- return widget()->tqminimumSize();
-}
-
-void Manager::activeChange()
-{
- updateTitleBuffer();
- widget()->tqrepaint();
- emit(activeChanged(isActive()));
-}
-
-void Manager::captionChange()
-{
- updateTitleBuffer();
- widget()->tqrepaint();
-}
-
-void Manager::iconChange()
-{
-}
-
-void Manager::maximizeChange()
-{
- emit(maximizeChanged(maximizeMode() == MaximizeFull));
-}
-
-void Manager::desktopChange()
-{
-}
-
-void Manager::shadeChange()
-{
-}
-
-void Manager::paintEvent(TQPaintEvent *e)
-{
- TQPainter p(widget());
-
- TQRect r(e->rect());
-
- bool intersectsLeft = r.intersects(TQRect(0, 0, 1, height()));
-
- bool intersectsRight =
- r.intersects(TQRect(width() - 1, 0, width(), height()));
-
- if (intersectsLeft || intersectsRight)
- {
- p.setPen(TQt::black);
-
- if (intersectsLeft)
- p.drawLine(0, r.top(), 0, r.bottom());
-
- if (intersectsRight)
- p.drawLine(width() - 1, r.top(), width() - 1, r.bottom());
- }
-
- Static * s = Static::instance();
-
- bool active = isActive();
-
- // Title bar.
-
- TQRect tr = titleSpacer_->tqgeometry();
- bitBlt(widget(), tr.topLeft(), &titleBuf_);
-
- // Resize bar.
-
- if (isResizable())
- {
- int rbt = height() - Static::instance()->resizeHeight(); // Resize bar top
-
- bitBlt(widget(), 0, rbt, &(s->resize(active)));
- bitBlt(widget(), 30, rbt, &(s->resizeMidLeft(active)));
-
- p.drawTiledPixmap(32, rbt, width() - 34,
- Static::instance()->resizeHeight(),
- s->resizeMidMid(active));
-
- bitBlt(widget(), width() - 32, rbt, &(s->resizeMidRight(active)));
- bitBlt(widget(), width() - 30, rbt, &(s->resize(active)));
- }
- else
- p.drawLine(1, height() - 1, width() - 2, height() - 1);
-}
-
-void Manager::resizeEvent(TQResizeEvent*)
-{
- updateButtonVisibility();
- updateTitleBuffer();
- widget()->tqrepaint();
-}
-
-void Manager::updateButtonVisibility()
-{
-#if 0
- enum SizeProblem = { None, Small, Medium, Big };
- SizeProblem sizeProblem = None;
-
- if (width() < 80) sizeProblem = Big;
- else if (width() < 100) sizeProblem = Medium;
- else if (width() < 180) sizeProblem = Small;
-
- switch (sizeProblem) {
-
- case Small:
- above_ ->hide();
- lower_ ->hide();
- sticky_ ->hide();
- help_ ->hide();
- iconify_ ->show();
- maximise_ ->hide();
- close_ ->show();
- break;
-
- case Medium:
- above_ ->hide();
- lower_ ->hide();
- sticky_ ->hide();
- help_ ->hide();
- iconify_ ->hide();
- maximise_ ->hide();
- close_ ->show();
- break;
-
- case Big:
- above_ ->hide();
- lower_ ->hide();
- sticky_ ->hide();
- help_ ->hide();
- iconify_ ->hide();
- maximise_ ->hide();
- close_ ->hide();
- break;
-
- case None:
- default:
- above_ ->show();
- lower_ ->show();
- sticky_ ->show();
- if (providesContextHelp())
- help_->show();
- iconify_ ->show();
- maximise_ ->show();
- close_ ->show();
- break;
- }
-
- tqlayout()->activate();
-#endif
-}
-
-void Manager::updateTitleBuffer()
-{
- bool active = isActive();
-
- Static * s = Static::instance();
-
- TQRect tr = titleSpacer_->tqgeometry();
-
- if (tr.width() == 0 || tr.height() == 0)
- titleBuf_.resize(8, 8);
- else
- titleBuf_.resize(tr.size());
-
- TQPainter p(&titleBuf_);
-
- p.drawPixmap(0, 0, s->titleTextLeft(active));
-
- p.drawTiledPixmap(3, 0, tr.width() - 6, Static::instance()->titleHeight(),
- s->titleTextMid(active));
-
- p.setPen(options()->color(KDecorationOptions::ColorFont, active));
-
- p.setFont(options()->font(active));
-
- p.drawText(4, 2, tr.width() - 8, Static::instance()->titleHeight() - 4,
- AlignCenter, caption());
-
- p.drawPixmap(tr.width() - 3, 0, s->titleTextRight(active));
-}
-
-KDecoration::Position Manager::mousePosition(const TQPoint& p) const
-{
- Position m = PositionCenter;
-
- // Look out for off-by-one errors here.
-
- if (isResizable())
- {
- if (p.y() > (height() - (Static::instance()->resizeHeight() + 1)))
- {
- // Keep order !
-
- if (p.x() >= (width() - 30))
- m = PositionBottomRight;
- else if (p.x() <= 30)
- m = PositionBottomLeft;
- else
- m = PositionBottom;
- }
- else
- {
- m = PositionCenter;
- // Client::mousePosition(p);
- }
- }
- else
- {
- m = PositionCenter;
- // Client::mousePosition(p);
- }
-
- return m;
-}
-
-void Manager::mouseDoubleClickEvent(TQMouseEvent *e)
-{
- if (e->button() == Qt::LeftButton && titleSpacer_->tqgeometry().contains(e->pos()))
- titlebarDblClickOperation();
-}
-
-void Manager::wheelEvent(TQWheelEvent *e)
-{
- if (isSetShade() || titleLayout_->tqgeometry().contains(e->pos()) )
- titlebarMouseWheelOperation( e->delta());
-}
-
-void Manager::paletteChange(const TQPalette &)
-{
- resetLayout();
-}
-
-void Manager::stickyChange(bool b)
-{
- emit(stickyChanged(b));
-}
-
-void Manager::slotToggleSticky()
-{
- toggleOnAllDesktops();
- emit(stickyChanged(isOnAllDesktops()));
-}
-
-void Manager::slotAbove()
-{
- setKeepAbove(!keepAbove());
-}
-
-void Manager::slotLower()
-{
- setKeepBelow(!keepBelow());
-}
-
-void Manager::slotMaximizeClicked(ButtonState state)
-{
-#if KDE_IS_VERSION(3, 3, 0)
- maximize(state);
-#else
- switch (state)
- {
- case RightButton:
- maximize(maximizeMode() ^ MaximizeHorizontal);
- break;
-
- case MidButton:
- maximize(maximizeMode() ^ MaximizeVertical);
- break;
-
- case LeftButton:
- default:
- maximize(maximizeMode() == MaximizeFull ? MaximizeRestore
- : MaximizeFull);
- break;
- }
-#endif
- emit(maximizeChanged(maximizeMode() == MaximizeFull));
-}
-
-bool Manager::animateMinimize(bool iconify)
-{
- int style = Static::instance()->animationStyle();
-
- switch (style)
- {
- case 1:
- {
- // Double twisting double back, with pike ;)
-
- if (!iconify) // No animation for restore.
- return true;
-
- // Go away quick.
- helperShowHide(false);
- tqApp->syncX();
-
- TQRect r = iconGeometry();
-
- if (!r.isValid())
- return true;
-
- // Algorithm taken from Window Maker (http://www.windowmaker.org)
-
- int sx = geometry().x();
- int sy = geometry().y();
- int sw = width();
- int sh = height();
- int dx = r.x();
- int dy = r.y();
- int dw = r.width();
- int dh = r.height();
-
- double steps = 12;
-
- double xstep = double((dx-sx)/steps);
- double ystep = double((dy-sy)/steps);
- double wstep = double((dw-sw)/steps);
- double hstep = double((dh-sh)/steps);
-
- double cx = sx;
- double cy = sy;
- double cw = sw;
- double ch = sh;
-
- double finalAngle = 3.14159265358979323846;
-
- double delta = finalAngle / steps;
-
- TQPainter p(workspaceWidget());
- p.setRasterOp(TQt::NotROP);
-
- for (double angle = 0; ; angle += delta)
- {
- if (angle > finalAngle)
- angle = finalAngle;
-
- double dx = (cw / 10) - ((cw / 5) * sin(angle));
- double dch = (ch / 2) * cos(angle);
- double midy = cy + (ch / 2);
-
- TQPoint p1(int(cx + dx), int(midy - dch));
- TQPoint p2(int(cx + cw - dx), p1.y());
- TQPoint p3(int(cx + dw + dx), int(midy + dch));
- TQPoint p4(int(cx - dx), p3.y());
-
- grabXServer();
-
- p.drawLine(p1, p2);
- p.drawLine(p2, p3);
- p.drawLine(p3, p4);
- p.drawLine(p4, p1);
-
- p.flush();
-
- usleep(500);
-
- p.drawLine(p1, p2);
- p.drawLine(p2, p3);
- p.drawLine(p3, p4);
- p.drawLine(p4, p1);
-
- ungrabXServer();
-
- cx += xstep;
- cy += ystep;
- cw += wstep;
- ch += hstep;
-
- if (angle >= finalAngle)
- break;
- }
- }
- break;
-
- case 2:
- {
- // KVirc style ? Maybe. For qwertz.
-
- if (!iconify) // No animation for restore.
- return true;
-
- // Go away quick.
- helperShowHide(false);
- tqApp->syncX();
-
- int stepCount = 12;
-
- TQRect r(geometry());
-
- int dx = r.width() / (stepCount * 2);
- int dy = r.height() / (stepCount * 2);
-
- TQPainter p(workspaceWidget());
- p.setRasterOp(TQt::NotROP);
-
- for (int step = 0; step < stepCount; step++)
- {
- r.moveBy(dx, dy);
- r.setWidth(r.width() - 2 * dx);
- r.setHeight(r.height() - 2 * dy);
-
- grabXServer();
-
- p.drawRect(r);
- p.flush();
- usleep(200);
- p.drawRect(r);
-
- ungrabXServer();
- }
- }
- break;
-
-
- default:
- {
- TQRect icongeom = iconGeometry();
-
- if (!icongeom.isValid())
- return true;
-
- TQRect wingeom = geometry();
-
- TQPainter p(workspaceWidget());
-
- p.setRasterOp(TQt::NotROP);
-#if 0
- if (iconify)
- p.setClipRegion(TQRegion(workspaceWidget()->rect()) - wingeom);
-#endif
- grabXServer();
-
- p.drawLine(wingeom.bottomRight(), icongeom.bottomRight());
- p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft());
- p.drawLine(wingeom.topLeft(), icongeom.topLeft());
- p.drawLine(wingeom.topRight(), icongeom.topRight());
-
- p.flush();
-
- tqApp->syncX();
-
- usleep(30000);
-
- p.drawLine(wingeom.bottomRight(), icongeom.bottomRight());
- p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft());
- p.drawLine(wingeom.topLeft(), icongeom.topLeft());
- p.drawLine(wingeom.topRight(), icongeom.topRight());
-
- ungrabXServer();
- }
- break;
- }
- return true;
-}
-
-void Manager::createTitle()
-{
- leftButtonList_.clear();
- rightButtonList_.clear();
-
- TQString buttons;
-
- if (options()->customButtonPositions())
- buttons = options()->titleButtonsLeft() + "|" +
- options()->titleButtonsRight();
- else
- buttons = "XSH|IA";
-
- TQPtrList<Button> *buttonList = &leftButtonList_;
-
- for (unsigned int i = 0; i < buttons.length(); ++i)
- {
- Button * tb = NULL;
-
- switch (buttons[i].latin1())
- {
- case 'S': // Sticky
- tb = new StickyButton(widget());
- connect(this, TQT_SIGNAL(stickyChanged(bool)),
- tb, TQT_SLOT(setOn(bool)));
- connect(tb, TQT_SIGNAL(toggleSticky()), this, TQT_SLOT(slotToggleSticky()));
- emit(stickyChanged(isOnAllDesktops()));
- break;
-
- case 'H': // Help
- if (providesContextHelp())
- {
- tb = new HelpButton(widget());
- connect(tb, TQT_SIGNAL(help()), this, TQT_SLOT(showContextHelp()));
- }
- break;
-
- case 'I': // Minimize
- if (isMinimizable())
- {
- tb = new IconifyButton(widget());
- connect(tb, TQT_SIGNAL(iconify()), this, TQT_SLOT(minimize()));
- }
- break;
-
- case 'A': // Maximize
- if (isMaximizable())
- {
- tb = new MaximiseButton(widget());
- connect(tb, TQT_SIGNAL(maximizeClicked(ButtonState)),
- this, TQT_SLOT(slotMaximizeClicked(ButtonState)));
- connect(this, TQT_SIGNAL(maximizeChanged(bool)),
- tb, TQT_SLOT(setOn(bool)));
- emit(maximizeChanged(maximizeMode() == MaximizeFull));
- }
- break;
-
- case 'F': // Above
- tb = new AboveButton(widget());
- connect(tb, TQT_SIGNAL(above()), this, TQT_SLOT(slotAbove()));
- break;
-
- case 'B': // Lower
- tb = new LowerButton(widget());
- connect(tb, TQT_SIGNAL(lower()), this, TQT_SLOT(slotLower()));
- break;
-
- case 'X': // Close
- if (isCloseable())
- {
- tb = new CloseButton(widget());
- connect(tb, TQT_SIGNAL(closeWindow()), this, TQT_SLOT(closeWindow()));
- }
- break;
-
- case '|':
- buttonList = &rightButtonList_;
- break;
- }
-
- if (tb != NULL)
- {
- connect(this, TQT_SIGNAL(activeChanged(bool)), tb, TQT_SLOT(setActive(bool)));
- buttonList->append(tb);
- }
- }
-
- for (TQPtrListIterator<Button> it(leftButtonList_); it.current(); ++it)
- {
- it.current()->tqsetAlignment(Button::Left);
- titleLayout_->addWidget(it.current());
- }
-
- titleSpacer_ = new TQSpacerItem(0, Static::instance()->titleHeight(),
- TQSizePolicy::Expanding, TQSizePolicy::Fixed);
-
- titleLayout_->addItem(titleSpacer_);
-
- for (TQPtrListIterator<Button> it(rightButtonList_); it.current(); ++it)
- {
- it.current()->tqsetAlignment(Button::Right);
- titleLayout_->addWidget(it.current());
- }
-}
-
-void Manager::resetLayout()
-{
- delete topLayout_;
- topLayout_ = new TQVBoxLayout(widget(), 0, 0);
- topLayout_->setResizeMode(TQLayout::FreeResize);
-
- titleLayout_ = new TQBoxLayout(topLayout_, TQBoxLayout::LeftToRight, 0, 0);
- titleLayout_->setResizeMode(TQLayout::FreeResize);
-
- createTitle();
-
- TQBoxLayout *midLayout = new TQBoxLayout(topLayout_, TQBoxLayout::LeftToRight,
- 0, 0);
- midLayout->setResizeMode(TQLayout::FreeResize);
- midLayout->addSpacing(1);
- if (isPreview())
- midLayout->addWidget(
- new TQLabel(i18n("<center><b>RiscOS preview</b></center>"), widget()));
- midLayout->addSpacing(1);
-
- if (isResizable())
- topLayout_->addSpacing(Static::instance()->resizeHeight());
- else
- topLayout_->addSpacing(1);
-}
-
-// --------------------
-
-Factory::Factory()
-{
- (void) RiscOS::Static::instance();
-}
-
-Factory::~Factory()
-{
- delete RiscOS::Static::instance();
-}
-
-bool Factory::reset(unsigned long /*changed*/)
-{
- RiscOS::Static::instance()->reset();
- return true;
-}
-
-bool Factory::supports( Ability ability )
-{
- switch( ability )
- {
- case AbilityAnnounceButtons:
- case AbilityButtonOnAllDesktops:
- case AbilityButtonHelp:
- case AbilityButtonMinimize:
- case AbilityButtonMaximize:
- case AbilityButtonClose:
- case AbilityButtonAboveOthers:
- case AbilityButtonBelowOthers:
- return true;
- default:
- return false;
- };
-}
-
-KDecoration* Factory::createDecoration(KDecorationBridge *bridge)
-{
- return new Manager(bridge, this);
-}
-
-} // End namespace
-
-// vim:ts=2:sw=2:tw=78
-#include "Manager.moc"
diff --git a/kwin-styles/riscos/Manager.h b/kwin-styles/riscos/Manager.h
deleted file mode 100644
index 5668a7fc..00000000
--- a/kwin-styles/riscos/Manager.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_MANAGER_H
-#define RISC_OS_MANAGER_H
-
-#include <tqdict.h>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-
-class TQSpacerItem;
-class TQVBoxLayout;
-class TQBoxLayout;
-
-namespace RiscOS
-{
-
-class LowerButton;
-class CloseButton;
-class IconifyButton;
-class MaximiseButton;
-class StickyButton;
-class HelpButton;
-class Button;
-
-class Manager : public KDecoration
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
-
- Manager(KDecorationBridge*, KDecorationFactory*);
- ~Manager();
- void init();
- bool eventFilter(TQObject*, TQEvent*);
- void reset(unsigned long changed);
- void borders(int&, int&, int&, int&) const;
- void resize(const TQSize&);
- TQSize tqminimumSize() const;
- void activeChange();
- void captionChange();
- void iconChange();
- void maximizeChange();
- void desktopChange();
- void shadeChange();
-
- signals:
-
- void maximizeChanged(bool);
- void stickyChanged(bool);
- void activeChanged(bool);
-
- public slots:
-
- void slotAbove();
- void slotLower();
- void slotMaximizeClicked(ButtonState);
- void slotToggleSticky();
-
- protected:
-
- KDecoration::Position mousePosition(const TQPoint &) const;
- void paletteChange(const TQPalette &);
- void activeChange(bool);
- void stickyChange(bool);
- void paintEvent(TQPaintEvent *);
- void resizeEvent(TQResizeEvent *);
- void mouseDoubleClickEvent(TQMouseEvent *);
- void wheelEvent(TQWheelEvent *e);
- bool animateMinimize(bool);
- void updateButtonVisibility();
- void updateTitleBuffer();
-
- void createTitle();
- void resetLayout();
-
- private:
-
- TQVBoxLayout *topLayout_;
- TQBoxLayout *titleLayout_;
- TQSpacerItem *titleSpacer_;
-
- TQPixmap titleBuf_;
- TQPtrList<Button> leftButtonList_;
- TQPtrList<Button> rightButtonList_;
-};
-
-class Factory : public TQObject, public KDecorationFactory
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
- Factory();
- ~Factory();
- virtual bool reset(unsigned long changed);
- virtual KDecoration* createDecoration(KDecorationBridge*);
- virtual bool supports( Ability ability );
-};
-
-} // End namespace
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/MaximiseButton.cpp b/kwin-styles/riscos/MaximiseButton.cpp
deleted file mode 100644
index dcc1b52a..00000000
--- a/kwin-styles/riscos/MaximiseButton.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "MaximiseButton.h"
-
-#include <tqtooltip.h>
-
-namespace RiscOS
-{
-
-/* XPM */
-static const char * const maximise_xpm[] = {
-"12 12 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ",
-" ........ ",
-" .++++++++. ",
-" .++++++++. ",
-" .++++++++. ",
-" .++++++++. ",
-" .++++++++. ",
-" .++++++++. ",
-" .++++++++. ",
-" .++++++++. ",
-" ........ ",
-" "};
-
-/* XPM */
-static const char * const unmaximise_xpm[] = {
-"12 12 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ",
-" ",
-" ...... ",
-" .++++++. ",
-" .++++++. ",
-" .++++++. ",
-" .++++++. ",
-" .++++++. ",
-" .++++++. ",
-" ...... ",
-" ",
-" "};
-
-MaximiseButton::MaximiseButton(TQWidget * parent)
- : Button(parent, i18n("Maximize"),
- (ButtonState)(Qt::LeftButton|Qt::MidButton|Qt::RightButton)),
- on_(false)
-{
- setPixmap(TQPixmap((const char **)maximise_xpm));
-}
-
-void MaximiseButton::setOn(bool on)
-{
- on_ = on;
- setPixmap(on_ ? TQPixmap((const char **)unmaximise_xpm)
- : TQPixmap((const char **)maximise_xpm));
- tqrepaint();
- TQToolTip::remove(this);
- TQToolTip::add(this, on_ ? i18n("Restore") : i18n("Maximize"));
-}
-
-void MaximiseButton::mouseReleaseEvent(TQMouseEvent *e)
-{
- Button::mouseReleaseEvent(e);
-
- if (!rect().contains(e->pos()))
- return;
- emit(maximizeClicked(lastButton_));
-}
-
-} // End namespace
-
-// vim:ts=2:sw=2:tw=78
-#include "MaximiseButton.moc"
diff --git a/kwin-styles/riscos/MaximiseButton.h b/kwin-styles/riscos/MaximiseButton.h
deleted file mode 100644
index 770c9370..00000000
--- a/kwin-styles/riscos/MaximiseButton.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_MAXIMISE_BUTTON_H
-#define RISC_OS_MAXIMISE_BUTTON_H
-
-#include "Button.h"
-
-namespace RiscOS
-{
-
-class MaximiseButton : public Button
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
-
- MaximiseButton(TQWidget *parent);
-
- public slots:
-
- void setOn(bool);
-
- signals:
-
- void maximizeClicked(ButtonState);
-
- protected:
-
- void mouseReleaseEvent(TQMouseEvent *);
-
- private:
-
- bool on_;
-};
-
-} // End namespace
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/Palette.h b/kwin-styles/riscos/Palette.h
deleted file mode 100644
index 3fb71ab0..00000000
--- a/kwin-styles/riscos/Palette.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_PALETTE_H
-#define RISC_OS_PALETTE_H
-
-#include <tqmemarray.h>
-#include <tqglobal.h>
-
-namespace RiscOS
-{
-
-class Palette
-{
- public:
-
- Palette()
- {
- data_.resize(8);
-
- data_[0] = 0xFFFFFFFF;
- data_[1] = 0xFFDCDCDC;
- data_[2] = 0xFFC3C3C3;
- data_[3] = 0xFFA0A0A0;
- data_[4] = 0xFF808080;
- data_[5] = 0xFF585858;
- data_[6] = 0xFF303030;
- data_[7] = 0xFF000000;
- }
-
- TQRgb& operator [] (int idx)
- {
- return data_[idx];
- }
-
- TQRgb operator [] (int idx) const
- {
- return data_[idx];
- }
-
- private:
-
- TQMemArray<TQRgb> data_;
-};
-
-} // End namespace
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/README b/kwin-styles/riscos/README
deleted file mode 100644
index 39d1d959..00000000
--- a/kwin-styles/riscos/README
+++ /dev/null
@@ -1,90 +0,0 @@
-This theme emulates the look and feel of the RISC OS 'window manager'.
-Actually, RISC OS doesn't have a window manager in the same way X
-does, but if you imagine it does, this is an emulation of that ;)
-
-The look is obviously quite different, but coming anywhere close to
-the unique look of RISC OS would be quite blatantly obvious, so to
-avoid copyright issues, the look of this theme is unique. You may
-consider it to be RISC OS grown up ;)
-
-Functions that will be implemented but are currently missing:
- Transparent resize.
- Shading.
- Backward-resize.
- NOTE: Backward-resize is an interesting feature and quite useful.
- If you resize a window such that you hit the screen edge
- in the process, the window resizes 'backwards' (i.e.
- moves in the opposite direction to your drag and at the
- same time continues increasing in size). So instead
- of having to let go of the resize handle, move the window
- and resize again, it just does what you want it to do.
-
-Button functions: (Missing functionality is marked with TODO)
-
-Button One:
-
- Left button: TODO
- Lower window and drop focus. This is currently unimplemented
- in twin itself.
-
-Button Two:
-
- Left button: Close window.
-
- Right button: TODO, if I can be bothered.
- Close window.
- If window is filer window, open another filer window
- in parent dir.
- If window is document window, open a filer window in
- dir containing document.
- If you hold Shift, the window doesn't close.
- NOTE:
- This requires app support.
- If I were to implement this, I would do it in konqy
- and probably not bother for other apps.
-
-Titlebar:
-
- Left button: Raise, focus and move window
-
- Middle button: Move window
-
- Right button: Menu
- Note: Buttons are this way around for compatibility with
- other twin themes.
-
-Button Three:
-
- Left button: Iconify window.
-
-Button Four:
-
- Left button: Maximise or restore window plus raise and focus.
-
- Middle button: Maximise vertically or restore window plus raise and focus.
-
- Right button: Maximise or restore window.
-
-Resize bar left/right:
-
- Left button: Move that corner (resizes window) and raise
-
- Other buttons: Same without raising
-
-Resize bar centre:
-
- Left button: Move that edge (resizes window) and raise
-
- Other buttons: Same without raising
-
-The lower bar is used for resizing. It works in the NeXT style.
-This doesn't exist on RISC OS. In RISC OS, there is a 'resize handle'
-in the lower right corner of the window (actually inside the window).
-
-To emulate this would mean covering part of the window with the decorations,
-which is not acceptable. RISC OS gets away with it by making sure that
-there is a vertical scrollbar visible at all times, which is just stupid.
-It's also an impossibility with X11, as the window manager does not know
-anything about scrollbars - they belong to the application, so don't ask
-me to implement it.
-
diff --git a/kwin-styles/riscos/Static.cpp b/kwin-styles/riscos/Static.cpp
deleted file mode 100644
index 7aac6f5a..00000000
--- a/kwin-styles/riscos/Static.cpp
+++ /dev/null
@@ -1,540 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-// for enable-final
-#ifdef Bool
-#undef Bool
-#endif
-
-#include <tqimage.h>
-#include <tqpixmap.h>
-#include <tqpainter.h>
-#include <tqptrlist.h>
-
-#include <kdecoration.h>
-
-// #include <ksimpleconfig.h>
-
-#include "Static.h"
-
-namespace RiscOS
-{
-
-/* XPM */
-static const char * const texture_xpm[] = {
-"64 12 3 1",
-" c None",
-"a c #000000",
-"b c #FFFFFF",
-" b b b b b b b a b ",
-" b aa b aaa aaa b a b aab bb a ",
-" b b a b b b b aa b b aa ",
-" b b b a a b b b b aa ab ab ",
-" b b b b b b b ba ",
-" aaa aaa aa b b b b b b ",
-" b b bb a b aa b a a aaa a b ",
-" b b b b b a b b b b b",
-" b b b b a a b b aa b baa ",
-" a b a bb aa bb aa aaa b aa a ",
-" a a aab b b aa aab a b ",
-" b a b b aaa a b bb b b b b"};
-
-Static* Static::instance_ = NULL;
-
-Static::Static()
-{
- instance_ = this;
- _init();
-}
-
-Static::~Static()
-{
- instance_ = NULL;
-}
-
-const TQPixmap& Static::titleTextLeft(bool active) const
-{
- return active ? aTitleTextLeft_ : iTitleTextLeft_;
-}
-
-const TQPixmap& Static::titleTextRight(bool active) const
-{
- return active ? aTitleTextRight_ : iTitleTextRight_;
-}
-
-const TQPixmap& Static::resizeMidLeft(bool active) const
-{
- return active ? aResizeMidLeft_ : iResizeMidLeft_;
-}
-
-const TQPixmap& Static::resizeMidRight(bool active) const
-{
- return active ? aResizeMidRight_ : iResizeMidRight_;
-}
-
-const TQPixmap& Static::titleTextMid(bool active) const
-{
- return active ? aTitleTextMid_ : iTitleTextMid_;
-}
-
-const TQPixmap& Static::resizeMidMid(bool active) const
-{
- return active ? aResizeMid_ : iResizeMid_;
-}
-
-const TQPixmap& Static::resize(bool active) const
-{
- return active ? aResize_ : iResize_;
-}
-
-int Static::animationStyle() const
-{
- return animationStyle_;
-}
-
-int Static::titleHeight() const
-{
- return titleHeight_;
-}
-
-int Static::resizeHeight() const
-{
- return resizeHeight_;
-}
-
-void Static::_drawBorder(TQPixmap &pix, int w, int h)
-{
- // 0111111113
- // 1122222235
- // 12 46
- // 12 46
- // 12 46
- // 1344444476
- // 3566666667
-
- painter_.begin(&pix);
- painter_.translate(transx, transy);
-
- TQColor c0 = down_ ? palette_[7] : palette_[0];
- TQColor c1 = down_ ? palette_[6] : palette_[1];
- TQColor c2 = down_ ? palette_[5] : palette_[2];
- TQColor c3 = down_ ? palette_[4] : palette_[3];
- TQColor c4 = down_ ? palette_[3] : palette_[4];
- TQColor c5 = down_ ? palette_[2] : palette_[5];
- TQColor c6 = down_ ? palette_[2] : palette_[6];
- TQColor c7 = down_ ? palette_[1] : palette_[7];
-
- painter_.setPen(c0);
- painter_.drawPoint(0, 0);
-
- painter_.setPen(c1);
- painter_.drawPoint(1, 1);
- painter_.drawLine(1, 0, w - 1, 0);
- painter_.drawLine(0, 1, 0, h - 1);
-
- painter_.setPen(c2);
- painter_.drawLine(2, 1, w - 2, 1);
- painter_.drawLine(1, 2, 1, h - 2);
-
- painter_.setPen(c3);
- painter_.drawPoint(0, h);
- painter_.drawPoint(1, h - 1);
- painter_.drawPoint(w, 0);
- painter_.drawPoint(w - 1, 1);
- painter_.fillRect(2, 2, w - 2, h - 2, c3);
-
- painter_.setPen(c4);
- painter_.drawLine(2, h - 1, w - 2, h - 1);
- painter_.drawLine(w - 1, 2, w - 1, h - 2);
-
- painter_.setPen(c5);
- painter_.drawPoint(w, 1);
- painter_.drawPoint(1, h);
-
- painter_.setPen(c6);
- painter_.drawLine(w, 2, w, h - 1);
- painter_.drawLine(2, h, w - 1, h);
-
- painter_.setPen(c7);
- painter_.drawPoint(w - 1, h - 1);
- painter_.drawPoint(w, h);
-
- painter_.end();
-
- painter_.resetXForm();
-}
-
-void setPalette(Palette &pal, TQColor c)
-{
- pal[3] = c.rgb();
-
- int h, s, v;
- c.hsv(&h, &s, &v);
-
- if (v < 72)
- c.setHsv(h, s, 72);
-
- pal[0] = c.light(200).rgb();
- pal[1] = c.light(166).rgb();
- pal[2] = c.light(125).rgb();
- pal[4] = c.dark(133).rgb();
- pal[5] = c.dark(166).rgb();
- pal[6] = c.dark(200).rgb();
- pal[7] = c.dark(300).rgb();
-}
-
-void Static::_init()
-{
- hicolour_ = TQPixmap::defaultDepth() > 8;
- animationStyle_ = 0;
- updatePixmaps();
-}
-
-void Static::reset()
-{
- updatePixmaps();
-// Workspace::self()->slotResetAllClientsDelayed();
-}
-
-void Static::updatePixmaps()
-{
- _initSizes();
-
- _resizeAllPixmaps();
-
- _blankAllPixmaps();
-
- if (hicolour_)
- {
- _initPalettes();
- _initTextures();
- }
-
- _drawTitleTextAreaSides();
-
- _drawResizeCentralAreaSides();
-
- _drawTitleTextAreaBackground();
-
- _drawResizeCentralAreaBackground();
-
- _drawResizeHandles();
-
- _drawButtonBackgrounds();
-}
-
-void Static::_createTexture(TQPixmap &px, int t, bool active)
-{
- const TQImage texture(TQPixmap((const char **)texture_xpm).convertToImage());
- const TQRgb w(tqRgb(255, 255, 255));
- const TQRgb b(tqRgb(0, 0, 0));
-
- TQColor c(KDecoration::options()->color(KDecoration::ColorType(t), active));
-
- TQRgb mid (c.rgb());
- TQRgb light (c.light(110).rgb());
- TQRgb dark (c.dark(110).rgb());
-
- TQRgb* data(reinterpret_cast<TQRgb *>(const_cast<TQImage&>(texture).bits()));
-
- for (int x = 0; x < 64*12; x++)
- if (data[x] == w)
- data[x] = light;
- else if (data[x] == b)
- data[x] = dark;
- else
- data[x] = mid;
-
- px.convertFromImage(texture);
-}
-
-const TQPixmap& Static::buttonBase(bool active, bool down) const
-{
- if (active)
- return down ? aButtonDown_ : aButtonUp_;
- else
- return down ? iButtonDown_ : iButtonUp_;
-}
-
-void Static::_initSizes()
-{
- TQFont f(KDecoration::options()->font(true)); // XXX false doesn't work right at the moment
-
- TQFontMetrics fm(f);
-
- int h = fm.height();
-
- titleHeight_ = h + 6;
-
- if (titleHeight_ < 20)
- titleHeight_ = 20;
-
- buttonSize_ = titleHeight_ - 1;
-
- resizeHeight_ = 10;
-}
-
-void Static::_resizeAllPixmaps()
-{
- aResize_ .resize(30, resizeHeight_);
- iResize_ .resize(30, resizeHeight_);
- aTitleTextLeft_ .resize( 3, titleHeight_);
- aTitleTextRight_.resize( 3, titleHeight_);
- iTitleTextLeft_ .resize( 3, titleHeight_);
- iTitleTextRight_.resize( 3, titleHeight_);
- aTitleTextMid_ .resize(64, titleHeight_);
- iTitleTextMid_ .resize(64, titleHeight_);
- aResizeMidLeft_ .resize( 3, resizeHeight_);
- aResizeMidRight_.resize( 3, resizeHeight_);
- iResizeMidLeft_ .resize( 3, resizeHeight_);
- iResizeMidRight_.resize( 3, resizeHeight_);
- aResizeMid_ .resize(64, resizeHeight_);
- iResizeMid_ .resize(64, resizeHeight_);
-
- aButtonUp_ .resize(buttonSize_, buttonSize_);
- iButtonUp_ .resize(buttonSize_, buttonSize_);
- aButtonDown_ .resize(buttonSize_, buttonSize_);
- iButtonDown_ .resize(buttonSize_, buttonSize_);
-}
-
-void Static::_blankAllPixmaps()
-{
- aResize_ .fill(TQt::black);
- iResize_ .fill(TQt::black);
- aTitleTextLeft_ .fill(TQt::black);
- aTitleTextRight_.fill(TQt::black);
- iTitleTextLeft_ .fill(TQt::black);
- iTitleTextRight_.fill(TQt::black);
- aTitleTextMid_ .fill(TQt::black);
- iTitleTextMid_ .fill(TQt::black);
- aResizeMidLeft_ .fill(TQt::black);
- aResizeMidRight_.fill(TQt::black);
- iResizeMidLeft_ .fill(TQt::black);
- iResizeMidRight_.fill(TQt::black);
- aResizeMid_ .fill(TQt::black);
- iResizeMid_ .fill(TQt::black);
- aButtonUp_ .fill(TQt::black);
- iButtonUp_ .fill(TQt::black);
- aButtonDown_ .fill(TQt::black);
- iButtonDown_ .fill(TQt::black);
-}
-
-void Static::_initPalettes()
-{
- const KDecorationOptions* options = KDecoration::options();
- setPalette(aButPal_, options->color(KDecoration::ColorButtonBg, true));
- setPalette(iButPal_, options->color(KDecoration::ColorButtonBg, false));
-
- setPalette(aTitlePal_, options->color(KDecoration::ColorTitleBar, true));
- setPalette(iTitlePal_, options->color(KDecoration::ColorTitleBar, false));
-
- setPalette(aResizePal_, options->color(KDecoration::ColorTitleBar, true));
- setPalette(iResizePal_, options->color(KDecoration::ColorTitleBar, false));
-}
-
-void Static::_initTextures()
-{
- _createTexture(aTexture_, KDecoration::ColorTitleBar, true);
- _createTexture(iTexture_, KDecoration::ColorTitleBar, false);
- _createTexture(abTexture_, KDecoration::ColorButtonBg, true);
- _createTexture(ibTexture_, KDecoration::ColorButtonBg, false);
-}
-
-void Static::_drawTitleTextAreaSides()
-{
- TQPixmap temp(4, titleHeight_);
- temp.fill(TQt::black);
-
- transx = transy = 0.0;
-
- palette_ = aTitlePal_;
- down_ = false;
-
- _drawBorder(temp, 4, titleHeight_ - 2);
-
- painter_.begin(&aTitleTextLeft_);
- painter_.tqdrawPixmap(1, 1, temp, 0, 1);
- painter_.end();
-
- painter_.begin(&aTitleTextRight_);
- painter_.tqdrawPixmap(0, 1, temp, 2, 1);
- painter_.end();
-
- palette_ = iTitlePal_;
- _drawBorder(temp, 4, titleHeight_ - 2);
-
- painter_.begin(&iTitleTextLeft_);
- painter_.tqdrawPixmap(1, 1, temp, 0, 1);
- painter_.end();
-
- painter_.begin(&iTitleTextRight_);
- painter_.tqdrawPixmap(0, 1, temp, 2, 1);
- painter_.end();
-}
-
-void Static::_drawResizeCentralAreaSides()
-{
- TQPixmap temp(4, resizeHeight_);
- temp.fill(TQt::black);
-
- transy = 1.0;
-
- palette_ = aResizePal_;
-
- _drawBorder(temp, 4, resizeHeight_ - 3);
-
- painter_.begin(&aResizeMidLeft_);
- painter_.tqdrawPixmap(0, 1, temp, 0, 1);
- painter_.end();
-
- painter_.begin(&aResizeMidRight_);
- painter_.tqdrawPixmap(0, 1, temp, 2, 1);
- painter_.end();
-
- palette_ = iResizePal_;
- _drawBorder(temp, 4, resizeHeight_ - 3);
-
- painter_.begin(&iResizeMidLeft_);
- painter_.tqdrawPixmap(0, 1, temp, 0, 1);
- painter_.end();
-
- painter_.begin(&iResizeMidRight_);
- painter_.tqdrawPixmap(0, 1, temp, 2, 1);
- painter_.end();
-}
-
-void Static::_drawTitleTextAreaBackground()
-{
- TQPixmap temp(70, titleHeight_);
- temp.fill(TQt::black);
-
- transx = transy = 0.0;
-
- palette_ = aTitlePal_;
- _drawBorder(temp, 70, titleHeight_ - 3);
-
- painter_.begin(&aTitleTextMid_);
- painter_.tqdrawPixmap(0, 1, temp, 2, 0);
- if (hicolour_)
- painter_.drawTiledPixmap(0, 4, 64, titleHeight_ - 8, aTexture_);
- painter_.end();
-
- palette_ = iTitlePal_;
- _drawBorder(temp, 70, titleHeight_ - 3);
-
- painter_.begin(&iTitleTextMid_);
- painter_.tqdrawPixmap(0, 1, temp, 2, 0);
- if (hicolour_)
- painter_.drawTiledPixmap(0, 4, 64, titleHeight_ - 8, iTexture_);
- painter_.end();
-}
-
-void Static::_drawResizeCentralAreaBackground()
-{
- TQPixmap temp(70, titleHeight_);
- temp.fill(TQt::black);
-
- transy = 1.0;
-
- palette_ = aResizePal_;
- _drawBorder(temp, 70, resizeHeight_ - 3);
-
- painter_.begin(&aResizeMid_);
- painter_.tqdrawPixmap(0, 0, temp, 2, 0);
- if (hicolour_)
- painter_.drawTiledPixmap(0, 4, 64, resizeHeight_ - 8, aTexture_);
- painter_.end();
-
- palette_ = iResizePal_;
- _drawBorder(temp, 70, 7);
-
- painter_.begin(&iResizeMid_);
- painter_.tqdrawPixmap(0, 0, temp, 2, 0);
- if (hicolour_)
- painter_.drawTiledPixmap(0, 4, 64, resizeHeight_ - 8, iTexture_);
- painter_.end();
-}
-
-void Static::_drawResizeHandles()
-{
- transx = transy = 1.0;
-
- down_ = false;
-
- palette_ = aResizePal_;
- _drawBorder(aResize_, 28, resizeHeight_ - 3);
-
- if (hicolour_)
- {
- painter_.begin(&aResize_);
- painter_.drawTiledPixmap(4, 4, 20, resizeHeight_ - 8, aTexture_);
- painter_.end();
- }
-
- palette_ = iResizePal_;
- _drawBorder(iResize_, 28, resizeHeight_ - 3);
-
- if (hicolour_)
- {
- painter_.begin(&iResize_);
- painter_.drawTiledPixmap(4, 4, 20, resizeHeight_ - 8, iTexture_);
- painter_.end();
- }
-}
-
-void Static::_drawButtonBackgrounds()
-{
- buttonSize_ -= 2;
-
- down_ = false;
- transx = 0.0;
- transy = 1.0;
- palette_ = aButPal_;
- _drawBorder(aButtonUp_, buttonSize_, buttonSize_);
- down_ = true;
- _drawBorder(aButtonDown_, buttonSize_, buttonSize_);
-
- palette_ = iButPal_;
- _drawBorder(iButtonDown_, buttonSize_, buttonSize_);
- down_ = false;
- _drawBorder(iButtonUp_, buttonSize_, buttonSize_);
-
- painter_.begin(&aButtonUp_);
-
- if (hicolour_)
- painter_.drawTiledPixmap(2, 4, buttonSize_ - 4, buttonSize_ - 5,
- abTexture_);
-
- painter_.end();
-
- painter_.begin(&iButtonUp_);
- if (hicolour_)
- painter_.drawTiledPixmap(2, 4, buttonSize_ - 4, buttonSize_ - 5,
- ibTexture_);
-
- painter_.end();
-}
-
-} // End namespace
-
-// vim:ts=2:sw=2:tw=78
-
diff --git a/kwin-styles/riscos/Static.h b/kwin-styles/riscos/Static.h
deleted file mode 100644
index 0a5b4cdb..00000000
--- a/kwin-styles/riscos/Static.h
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_STATIC_H
-#define RISC_OS_STATIC_H
-
-#include <tqimage.h>
-#include <tqpixmap.h>
-#include <tqpainter.h>
-#include <tqstringlist.h>
-
-#include "Palette.h"
-
-namespace RiscOS
-{
-
-enum SymbolType { Lower, Close, Iconify, Max, Unmax };
-
-class Static
-{
- public:
-
- Static();
-
- ~Static();
-
- static Static* instance()
- {
- if (instance_ == 0)
- new Static;
-
- return instance_;
- }
-
- void reset();
- void updatePixmaps();
-
- const TQPixmap& titleTextLeft(bool active) const;
- const TQPixmap& titleTextRight(bool active) const;
- const TQPixmap& resizeMidLeft(bool active) const;
- const TQPixmap& resizeMidRight(bool active) const;
- const TQPixmap& titleTextMid(bool active) const;
- const TQPixmap& resizeMidMid(bool active) const;
- const TQPixmap& buttonBase(bool active, bool down) const;
- const TQPixmap& resize(bool active) const;
-
- int animationStyle() const;
- int titleHeight() const;
- int resizeHeight() const;
-
- private:
-
- void _init();
-
- void _drawBorder(TQPixmap&, int, int);
- void _createTexture(TQPixmap&, int, bool);
-
- void _initSizes();
-
- void _resizeAllPixmaps();
- void _blankAllPixmaps();
-
- void _initPalettes();
- void _initTextures();
-
- void _drawTitleTextAreaSides();
- void _drawResizeCentralAreaSides();
- void _drawTitleTextAreaBackground();
- void _drawResizeCentralAreaBackground();
- void _drawResizeHandles();
- void _drawButtonBackgrounds();
-
- static Static *instance_;
-
- Palette
- aTitlePal_,
- iTitlePal_,
- aResizePal_,
- iResizePal_,
- aButPal_,
- iButPal_;
-
- TQPixmap
- aButtonUp_, iButtonUp_,
- aButtonDown_, iButtonDown_,
- aResize_, iResize_,
- aResizeDown_, iResizeDown_,
- aTitleTextLeft_, iTitleTextLeft_,
- aTitleTextRight_, iTitleTextRight_,
- aTitleTextMid_, iTitleTextMid_,
- aResizeMidLeft_, iResizeMidLeft_,
- aResizeMidRight_, iResizeMidRight_,
- aResizeMid_, iResizeMid_;
-
- TQPixmap aTexture_, iTexture_, abTexture_, ibTexture_;
-
- TQPainter painter_;
- bool down_;
- Palette palette_;
- double transx, transy;
-
- int animationStyle_;
-
- int titleHeight_;
- int buttonSize_;
- int resizeHeight_;
-
- bool hicolour_;
-};
-
-} // End namespace
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/StickyButton.cpp b/kwin-styles/riscos/StickyButton.cpp
deleted file mode 100644
index 2229f915..00000000
--- a/kwin-styles/riscos/StickyButton.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "StickyButton.h"
-
-#include <tqtooltip.h>
-
-namespace RiscOS
-{
-
-/* XPM */
-static const char * const unsticky_xpm[] = {
-"12 12 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" ... ",
-" .+++. ",
-" .+++. ",
-" .+++. ",
-" .+++. ",
-" .+++++. ",
-" .+++++++. ",
-".+++++++++. ",
-".....+..... ",
-" .+. ",
-" .+. ",
-" . "};
-
-/* XPM */
-static const char * const sticky_xpm[] = {
-"12 12 3 1",
-" c None",
-". c #000000",
-"+ c #FFFFFF",
-" . ",
-" .+. ",
-" .+++. ",
-" .+++++.",
-" ....+++++. ",
-" .++++++. ",
-" .++++. ",
-" .+++. ",
-" .+..+. ",
-" .+. .. ",
-".+. . ",
-".. "};
-
-
-StickyButton::StickyButton(TQWidget *parent)
- : Button(parent, i18n("On all desktops")), on_(false)
-{
- setPixmap(TQPixmap((const char **)sticky_xpm));
-}
-
-void StickyButton::setOn(bool on)
-{
- on_ = on;
- setPixmap(on_ ? TQPixmap((const char **)unsticky_xpm) :
- TQPixmap((const char **)sticky_xpm));
- tqrepaint();
- TQToolTip::remove(this);
- TQToolTip::add(this, on_ ? i18n("Not on all desktops")
- : i18n("On all desktops"));
-}
-
-void StickyButton::mouseReleaseEvent(TQMouseEvent *e)
-{
- Button::mouseReleaseEvent(e);
-
- if (!rect().contains(e->pos()))
- return;
-
- emit(toggleSticky());
-}
-
-} // End namespace
-
-// vim:ts=2:sw=2:tw=78
-#include "StickyButton.moc"
diff --git a/kwin-styles/riscos/StickyButton.h b/kwin-styles/riscos/StickyButton.h
deleted file mode 100644
index 26c0428e..00000000
--- a/kwin-styles/riscos/StickyButton.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- RISC OS KWin client
-
- Copyright 2000
- Rik Hemsley <rik@kde.org>
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef RISC_OS_STICKY_BUTTON_H
-#define RISC_OS_STICKY_BUTTON_H
-
-#include "Button.h"
-
-namespace RiscOS
-{
-
-class StickyButton : public Button
-{
- Q_OBJECT
- TQ_OBJECT
-
- public:
-
- StickyButton(TQWidget *parent);
-
- public slots:
-
- void setOn(bool);
-
- signals:
-
- void toggleSticky();
-
- protected:
-
- void mouseReleaseEvent(TQMouseEvent *);
-
- private:
-
- bool on_;
-};
-
-} // End namespace
-
-#endif
-
-// vim:ts=2:sw=2:tw=78
diff --git a/kwin-styles/riscos/riscos.desktop b/kwin-styles/riscos/riscos.desktop
deleted file mode 100644
index b58aefda..00000000
--- a/kwin-styles/riscos/riscos.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Name=RISC OS
-Name[cs]=Risc OS
-Name[cy]= RISC OS
-Name[hi]=रिस्क ओएस
-Name[ta]=RISC இ.த
-Name[th]=ระบบปฏิบัติการบนชิพ RISC
-Name[uk]=RISC ОС
-Name[xh]=i RISC OS
-Name[zu]=IRISC OS
-X-KDE-Library=twin3_riscos
diff --git a/kwin-styles/smooth-blend/AUTHORS b/kwin-styles/smooth-blend/AUTHORS
deleted file mode 100644
index c96228bb..00000000
--- a/kwin-styles/smooth-blend/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Ryan Nickell p0z3r@users.sourceforge.net
diff --git a/kwin-styles/smooth-blend/CMakeLists.txt b/kwin-styles/smooth-blend/CMakeLists.txt
deleted file mode 100644
index bfd4d79f..00000000
--- a/kwin-styles/smooth-blend/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_subdirectory( client ) \ No newline at end of file
diff --git a/kwin-styles/smooth-blend/COPYING b/kwin-styles/smooth-blend/COPYING
deleted file mode 100644
index e065ffa0..00000000
--- a/kwin-styles/smooth-blend/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/kwin-styles/smooth-blend/CREDITS b/kwin-styles/smooth-blend/CREDITS
deleted file mode 100644
index a4481ec9..00000000
--- a/kwin-styles/smooth-blend/CREDITS
+++ /dev/null
@@ -1,5 +0,0 @@
-Justin Berstler aka spasemunkie on kdelook.org - spasemunkie at gmail.com : for his buttons!
-Rick aka bitwit on kdelook.org - bitwit at digilanti.org : for his twin_template
-David Johnson - david at usermode.org : for his example twin tutorial
-Thomas Lübking aka thomas12777 on kdelook.org - baghira-style at gmx.net : for answering questions on getting pixmap buttons into code
-Scott Grayban aka sgrayban on kdelook.org : for testing and hosting the files to be downloaded
diff --git a/kwin-styles/smooth-blend/ChangeLog b/kwin-styles/smooth-blend/ChangeLog
deleted file mode 100644
index 7b8fbcf2..00000000
--- a/kwin-styles/smooth-blend/ChangeLog
+++ /dev/null
@@ -1,22 +0,0 @@
-03.16.2005: (1.0 release)
------------
-Double click actions to maximize now show corresponding buttons
-when maximized.
-Windows that open maximized show the correct button and restoring
-changes the button to the restore button as one would expect.
-Removal of the title bar separator line, to complete the feel of
-a "smooth blend".
-
-02.28.2005: (beta2)
------------
-Added kcontrol config option to remove titlebar separator line.
-Application icons now resize to match the size of the buttons
-instead of being a fixed size 16x16 icon.
-Added button animations for mouse hover; configurable in kcontrol
-to either Intensify or Fade.
-Fixed some title bar drawing that wasn't correctly sectioned off.
-
-
-02.22.2005: (beta1)
------------
-smoothblend-beta1 released.
diff --git a/kwin-styles/smooth-blend/INSTALL b/kwin-styles/smooth-blend/INSTALL
deleted file mode 100644
index 02a4a074..00000000
--- a/kwin-styles/smooth-blend/INSTALL
+++ /dev/null
@@ -1,167 +0,0 @@
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes a while. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Type `make install' to install the programs and any data files and
- documentation.
-
- 4. You can remove the program binaries and object files from the
- source code directory by typing `make clean'.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory. After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
- CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
- If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
- Use and save the results of the tests in FILE instead of
- `./config.cache'. Set FILE to `/dev/null' to disable caching, for
- debugging `configure'.
-
-`--help'
- Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made.
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
-
diff --git a/kwin-styles/smooth-blend/Makefile.am b/kwin-styles/smooth-blend/Makefile.am
deleted file mode 100644
index 44ac1828..00000000
--- a/kwin-styles/smooth-blend/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = client
diff --git a/kwin-styles/smooth-blend/NEWS b/kwin-styles/smooth-blend/NEWS
deleted file mode 100644
index e69de29b..00000000
--- a/kwin-styles/smooth-blend/NEWS
+++ /dev/null
diff --git a/kwin-styles/smooth-blend/README b/kwin-styles/smooth-blend/README
deleted file mode 100644
index 836fbe5d..00000000
--- a/kwin-styles/smooth-blend/README
+++ /dev/null
@@ -1,15 +0,0 @@
-Smooth Blend - a smooth blending of the window background color into the titlebar.
-
-This is my first attempt at a KDE window decoration.
-Any comments would be much appreciated and can be sent
-to me directly at p0z3r@users.sourceforge.net.
-
-Limitations:
-The Frame Width can not be smaller than 2 pixels because it will lose the top gradient.
-The buttonsize can not be larger than the Title Height - Frame Width.
-
-Known Problems:
-The Shade button doesn't work correctly although the code is there for it.
-The Resize button is also afflicted with the same problem.
-Support for the Shade button and Resize buttons may or may not be supported depending
-upon what I find through the kde mailing lists and other documentation.
diff --git a/kwin-styles/smooth-blend/TODO b/kwin-styles/smooth-blend/TODO
deleted file mode 100644
index 6a7bd0a8..00000000
--- a/kwin-styles/smooth-blend/TODO
+++ /dev/null
@@ -1,4 +0,0 @@
-TODO
-----
-Code cleanup and separation of different classes into individual files.
-Use pixmaps instead of images for reducing the drawing impact.
diff --git a/kwin-styles/smooth-blend/client/CMakeLists.txt b/kwin-styles/smooth-blend/client/CMakeLists.txt
deleted file mode 100644
index d59126f9..00000000
--- a/kwin-styles/smooth-blend/client/CMakeLists.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_subdirectory( config )
-
-add_definitions(
- -DQT_PLUGIN
-)
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES smoothblend.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_smoothblend ##########################
-
-tde_add_kpart( twin3_smoothblend AUTOMOC
- SOURCES smoothblend.cc
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/smooth-blend/client/Makefile.am b/kwin-styles/smooth-blend/client/Makefile.am
deleted file mode 100644
index 056765d6..00000000
--- a/kwin-styles/smooth-blend/client/Makefile.am
+++ /dev/null
@@ -1,20 +0,0 @@
-AUTOMAKE_OPTIONS = foreign
-
-SUBDIRS = config
-
-KDE_CXXFLAGS = -DQT_PLUGIN
-
-INCLUDES = $(all_includes) -I$(kde_includes)/twin
-
-twindir = $(kde_datadir)/twin/
-twin_DATA = smoothblend.desktop
-
-noinst_HEADERS = smoothblend.h buttons.h
-
-kde_module_LTLIBRARIES = twin3_smoothblend.la
-twin3_smoothblend_la_SOURCES = smoothblend.cc
-twin3_smoothblend_la_LIBADD = -ltdecorations
-twin3_smoothblend_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -ltdecore -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin3_smoothblend_la_METASOURCES = AUTO
-
-DISTCLEANFILES = $(twin3_smoothblend_la_METASOURCES)
diff --git a/kwin-styles/smooth-blend/client/buttons.h b/kwin-styles/smooth-blend/client/buttons.h
deleted file mode 100644
index 3d777144..00000000
--- a/kwin-styles/smooth-blend/client/buttons.h
+++ /dev/null
@@ -1,1798 +0,0 @@
-/****************************************************************************
-** Image collection for project 'smoothblend'.
-**
-** Generated from reading image files:
-** circle.png
-** close.png
-** help.png
-** keep_above_lit.png
-** keep_above.png
-** keep_below_lit.png
-** keep_below.png
-** maximize.png
-** minimize.png
-** restore.png
-** shade.png
-** splat.png
-** titlealpha.png
-** window_background.png
-** window_foreground.png
-**
-** Created: Sun Jul 31 20:04:32 2005
-** by: The User Interface Compiler ($Id$)
-**
-** WARNING! All changes made in this file will be lost!
-****************************************************************************/
-
-#include <tqimage.h>
-#include <tqdict.h>
-#include <tqmime.h>
-#include <tqdragobject.h>
-
-// circle.png
-static const unsigned char image_0_data[] = {
- 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x99,0x09,0x4c,0x55,0x47,0x14,0x86,
- 0x51,0x2b,0xee,0x28,0x04,0x23,0x31,0x06,0x6d,0x50,0xa3,0x46,0x8d,0x4b,
- 0x24,0xae,0x18,0x8c,0xbb,0x56,0x50,0xc1,0x14,0x63,0xb0,0xda,0x52,0x53,
- 0x44,0xb1,0xb1,0x35,0x8a,0x8a,0x58,0x82,0x1b,0x45,0x52,0xb0,0x01,0xa9,
- 0xb5,0xa4,0x56,0xa0,0xa5,0x54,0x6d,0xc3,0x52,0x89,0xb1,0xd8,0xb2,0xd3,
- 0x57,0x40,0x2b,0xc8,0x8e,0xc8,0x0e,0x56,0x11,0x78,0x50,0x1e,0x6f,0xfa,
- 0x9f,0xf1,0xde,0x97,0x7b,0xe1,0xdd,0xc7,0x43,0x8b,0x30,0xc9,0x17,0x75,
- 0xee,0x3d,0x73,0xfe,0x99,0x3b,0xe7,0x9c,0x99,0xa7,0x89,0x49,0xb7,0x66,
- 0x03,0x3e,0x04,0x61,0x20,0x13,0x3c,0xe8,0x63,0xee,0x83,0x78,0x10,0x00,
- 0x76,0x81,0xb7,0xba,0x4b,0xd2,0x35,0x2b,0x10,0x0a,0x3a,0x00,0x13,0x31,
- 0x33,0x33,0xeb,0xe8,0x4b,0xc6,0x8c,0x19,0x23,0xf3,0x07,0xea,0xc1,0x01,
- 0x60,0xda,0x45,0x9f,0xf5,0xa0,0x41,0x83,0x1a,0xe9,0x1d,0x4b,0x4b,0xcb,
- 0x8e,0xa0,0xa0,0xa0,0xca,0xb4,0xb4,0xb4,0xe2,0x8e,0x8e,0x8e,0xbf,0x19,
- 0x63,0x7d,0x8e,0x5a,0xad,0x7e,0x78,0xfb,0xf6,0xed,0x52,0x1f,0x1f,0x9f,
- 0x1a,0x53,0x53,0xd3,0x4e,0x41,0xeb,0xef,0x92,0x35,0x35,0x87,0xbe,0x47,
- 0xd4,0x7f,0xfc,0xf8,0xf1,0x5a,0x8d,0x46,0xf3,0x46,0x74,0x29,0xd1,0xd4,
- 0xd4,0x94,0x67,0x67,0x67,0xf7,0x42,0xd0,0x19,0x26,0x68,0xfc,0x9c,0xfe,
- 0xbd,0x6f,0xdf,0xbe,0x86,0xfe,0xd4,0x26,0xe5,0xf9,0xf3,0xe7,0x79,0x33,
- 0x67,0xce,0x54,0x0b,0x3a,0xed,0x40,0x2e,0xad,0x6f,0x4b,0x4b,0xcb,0xc3,
- 0xfe,0xd6,0x26,0x25,0x22,0x22,0xe2,0xb1,0xa0,0xd1,0x17,0x68,0x17,0x2f,
- 0x5e,0xdc,0xdc,0xdf,0x9a,0xba,0x52,0x5f,0x5f,0x9f,0x3f,0x78,0xf0,0x60,
- 0x2d,0xf4,0xfd,0x46,0x5a,0x9d,0x9c,0x9c,0xfe,0x41,0xff,0xfd,0x81,0x06,
- 0x62,0x5e,0x23,0xe4,0x26,0xb6,0x6d,0xdb,0xb6,0x46,0xad,0x56,0xab,0x7a,
- 0x55,0x10,0xff,0xaa,0x8a,0x8a,0x8a,0xdc,0xc4,0xc4,0xc4,0x47,0x91,0x91,
- 0x91,0x45,0xc9,0xc9,0xc9,0x79,0x75,0x75,0x75,0x39,0xaf,0x33,0x26,0x31,
- 0x7a,0xf4,0xe8,0x0e,0x51,0xe3,0xd6,0xad,0x5b,0xeb,0xd1,0x97,0xd1,0x5b,
- 0x62,0x63,0x63,0xf3,0xf0,0x0d,0xea,0x47,0x8e,0x1c,0xa9,0xe9,0x92,0xe3,
- 0x38,0xd3,0xa6,0x4d,0x6b,0x39,0x76,0xec,0x58,0x45,0x71,0x71,0x71,0xf6,
- 0xab,0x8c,0x2f,0xd5,0xe8,0xe8,0xe8,0x58,0x87,0xb5,0x4d,0x31,0x96,0x9c,
- 0x9c,0x1c,0xd5,0x8a,0x15,0x2b,0x9e,0x8a,0x5a,0x86,0x0d,0x1b,0x46,0xfb,
- 0x85,0x1d,0x3e,0x7c,0x98,0x9d,0x3d,0x7b,0x96,0xb9,0xbb,0xbb,0x33,0x07,
- 0x07,0x07,0x86,0xfd,0xc4,0x9f,0x23,0x26,0xb5,0x5e,0x5e,0x5e,0x65,0xcd,
- 0xcd,0xcd,0x69,0xbd,0xf1,0x23,0xd5,0x88,0xf1,0x6a,0xd0,0x77,0xcf,0x18,
- 0x10,0x6f,0x0f,0x46,0x8d,0x1a,0xc5,0xd7,0x6d,0xee,0xdc,0xb9,0x2c,0x21,
- 0x21,0x81,0x61,0xce,0x4c,0x5f,0xc3,0x1e,0x60,0xe1,0xe1,0xe1,0xcc,0xc2,
- 0xc2,0x82,0x6b,0x9d,0x3d,0x7b,0x76,0x53,0x69,0x69,0x69,0x9a,0xb1,0xbe,
- 0xa0,0xf1,0x5f,0x51,0xe3,0x96,0x2d,0x5b,0xaa,0xd0,0x77,0xa7,0x27,0xae,
- 0x5e,0xbd,0x9a,0x4b,0xb1,0x86,0x75,0x61,0xd7,0xaf,0x5f,0xd7,0xab,0x4b,
- 0x5f,0xc3,0xfa,0xb1,0x0d,0x1b,0x36,0x70,0x9d,0x13,0x26,0x4c,0x50,0xd7,
- 0xd6,0xd6,0x26,0x19,0xe3,0x0f,0x6b,0xa1,0xd3,0xb8,0x79,0xf3,0xe6,0x4a,
- 0xf4,0xfd,0x6a,0x08,0xd4,0xc6,0xe4,0xe1,0xc3,0x87,0x6b,0x48,0x1f,0xfe,
- 0x6e,0xb4,0x3e,0x69,0xf3,0xf0,0xf0,0xe0,0x3a,0x91,0x9f,0x9f,0xa1,0xfe,
- 0x25,0xf6,0xe4,0x53,0xaa,0x71,0xd3,0xa6,0x4d,0x15,0xe8,0x8b,0x55,0xa2,
- 0xb3,0xb3,0x33,0x76,0xfa,0xf4,0xe9,0xcf,0x50,0x33,0xd9,0xcd,0x9b,0x37,
- 0xbb,0xf9,0xbe,0x7b,0xf7,0x2e,0x73,0x73,0x73,0x63,0xf3,0xe6,0xcd,0x63,
- 0xe6,0xe6,0xe6,0x6c,0xd5,0xaa,0x55,0xec,0xc4,0x89,0x13,0xac,0xb2,0xb2,
- 0x52,0xf6,0x1e,0xed,0x09,0xda,0xa7,0xe4,0xf3,0xc8,0x91,0x23,0x0f,0x0d,
- 0xf9,0x24,0xa4,0x1a,0x37,0x6e,0xdc,0xf8,0x18,0x7d,0xb7,0x94,0xc0,0x19,
- 0x83,0xce,0x68,0xcc,0xd9,0xd9,0x59,0xe6,0xb3,0xb5,0xb5,0x95,0xed,0xdf,
- 0xbf,0x9f,0x91,0x76,0x7a,0x4e,0x7f,0x4e,0x9e,0x3c,0xb9,0x49,0x8c,0xa5,
- 0xb1,0x63,0xc7,0xb2,0x98,0x98,0x18,0x99,0x4d,0x43,0x43,0x03,0xef,0xa7,
- 0xbd,0x86,0xfc,0x14,0x67,0xc8,0x2f,0x34,0xb6,0x8b,0x1a,0xb1,0x57,0xca,
- 0x31,0xc7,0x18,0x25,0xe6,0xcc,0x99,0x53,0x4f,0xfe,0x0b,0x0a,0x0a,0x64,
- 0xfe,0x76,0xee,0xdc,0x29,0xee,0xb1,0x96,0xa8,0xa8,0xa8,0x7b,0x38,0x8f,
- 0xf0,0xf7,0xdb,0xdb,0xdb,0x7f,0xf2,0xf3,0xf3,0xcb,0xc2,0xbe,0xe0,0xb1,
- 0x15,0x1d,0x1d,0x2d,0xb3,0xf3,0xf5,0xf5,0xe5,0x76,0xde,0xde,0xde,0x2a,
- 0x43,0x7e,0xa5,0x1a,0xd7,0xaf,0x5f,0x5f,0x0a,0xd3,0x28,0x7d,0x94,0x97,
- 0x97,0xdf,0xa0,0x38,0x41,0xbd,0x94,0xf9,0x41,0x6e,0xe4,0x7e,0xb0,0x07,
- 0x1a,0xa1,0xed,0x7b,0x7d,0xb6,0xc8,0xe5,0x71,0x43,0x87,0x0e,0xed,0xa4,
- 0xb8,0xc6,0x9a,0xe9,0x6c,0x4b,0x4a,0x4a,0xb8,0xed,0xa2,0x45,0x8b,0xaa,
- 0x94,0xfc,0x12,0xc8,0xbb,0x3a,0x8d,0x6b,0xd7,0xae,0x2d,0x46,0xdf,0x77,
- 0xfa,0x08,0x09,0x09,0xe1,0xf5,0xf2,0xf4,0xe9,0xd3,0x32,0x8d,0xcb,0x96,
- 0x2d,0xa3,0xfc,0xa7,0x45,0xae,0xbc,0xa1,0x64,0x4b,0x1c,0x3c,0x78,0x50,
- 0x45,0xf6,0xe7,0xce,0x9d,0x93,0xd9,0xcf,0x98,0x31,0x83,0xf2,0xaa,0xc6,
- 0x90,0xad,0x54,0xe3,0x9a,0x35,0x6b,0x8a,0xd0,0x17,0xae,0x8f,0xa3,0x47,
- 0x8f,0xa6,0xd2,0x3b,0xd7,0xae,0x5d,0xd3,0x8d,0x8f,0x75,0x63,0xb0,0x67,
- 0xd6,0xd6,0xd6,0x4f,0x95,0xec,0x44,0xb2,0xb3,0xb3,0x7f,0x24,0xfb,0xed,
- 0xdb,0xb7,0xcb,0x34,0x22,0x06,0xf8,0x5a,0x56,0x55,0x55,0x45,0x28,0xd9,
- 0xc2,0x47,0x9b,0xa8,0x71,0xf5,0xea,0xd5,0x05,0xf8,0xfe,0x57,0xf4,0xb1,
- 0x67,0xcf,0x9e,0x3f,0xe9,0x1d,0xca,0xd5,0x62,0x43,0x6d,0xe3,0xe3,0xa3,
- 0xd6,0x14,0x2b,0xd9,0x49,0xa1,0x7d,0x89,0x7c,0x23,0xd3,0xb8,0x7b,0xf7,
- 0x6e,0x3e,0x46,0x4a,0x4a,0x4a,0xb4,0x92,0x9d,0x54,0x23,0x72,0x45,0x3e,
- 0xcc,0x42,0xf4,0x71,0xe8,0xd0,0xa1,0x3f,0xe8,0x1d,0xc4,0x84,0x6e,0x7c,
- 0xe4,0x36,0x86,0x7d,0xc6,0x6c,0x6c,0x6c,0x6a,0x95,0xec,0x44,0x0a,0x0b,
- 0x0b,0xc3,0x85,0xb8,0x94,0x69,0x14,0x73,0x10,0xe6,0x1b,0xae,0x64,0x3b,
- 0x62,0xc4,0x08,0x9d,0x46,0x7b,0x7b,0xfb,0x3c,0xf4,0x05,0xeb,0xe3,0xfc,
- 0xf9,0xf3,0x74,0x67,0x63,0xfe,0xfe,0xfe,0x32,0x1f,0xf3,0xe7,0xcf,0x27,
- 0x9d,0x9a,0x9a,0x9a,0x9a,0xcb,0x4a,0xb6,0xc4,0xa9,0x53,0xa7,0x12,0xc9,
- 0xfe,0xe4,0xc9,0x93,0x32,0xfb,0x05,0x0b,0x16,0xb0,0x21,0x43,0x86,0x74,
- 0x62,0xdf,0x5c,0x52,0xb2,0x95,0x6a,0x5c,0xb9,0x72,0x25,0x9d,0x2b,0x03,
- 0xf5,0xa1,0x52,0xa9,0xae,0xd0,0x3b,0xeb,0xd6,0xad,0x93,0xf9,0x08,0x0e,
- 0x0e,0xe6,0xeb,0xb0,0x70,0xe1,0xc2,0x62,0x25,0x5b,0xe4,0xaa,0xcb,0xc8,
- 0x83,0x6a,0xaa,0x4d,0x45,0x45,0x45,0x3a,0x5b,0x8a,0x71,0xe8,0x63,0x53,
- 0xa7,0x4e,0xad,0x52,0xb2,0x25,0xa0,0x51,0x2d,0x6a,0xc4,0x1d,0xe7,0x01,
- 0xfa,0xfc,0x95,0x98,0x34,0x69,0x52,0x1d,0x8d,0x89,0xb3,0xb1,0xce,0x0f,
- 0x6a,0x0f,0xcd,0x8d,0xeb,0x9c,0x35,0x6b,0x56,0x19,0x62,0x23,0x54,0x6a,
- 0x13,0x1a,0x1a,0xfa,0xc3,0xb8,0x71,0xe3,0x78,0x3e,0x0f,0x08,0x08,0x90,
- 0xcd,0x0f,0xcf,0xb8,0xdd,0xde,0xbd,0x7b,0x93,0x0c,0xf9,0x95,0x6a,0x5c,
- 0xbe,0x7c,0x79,0x2e,0xfa,0xce,0x28,0x81,0xfb,0x18,0xff,0x5e,0x9e,0x9e,
- 0x9e,0x32,0x5f,0xd5,0xd5,0xd5,0xbc,0xfe,0x89,0x75,0x65,0xfc,0xf8,0xf1,
- 0x8d,0x38,0x0b,0x15,0x62,0x3e,0x3c,0x77,0xd3,0xbc,0x68,0x8f,0xd0,0x7c,
- 0xc4,0x46,0x7b,0x19,0xf9,0x80,0x7f,0x67,0xe4,0xad,0x60,0x43,0x7e,0x71,
- 0x3e,0xd0,0x69,0x44,0xae,0xcb,0x41,0xdf,0x67,0x4a,0xe0,0x9e,0xe6,0x87,
- 0x3c,0xfc,0x8c,0xbe,0x59,0x7e,0x7e,0x3e,0xeb,0xda,0x2e,0x5c,0xb8,0x40,
- 0x7b,0x9a,0xc7,0x11,0x8d,0x87,0x7a,0xc8,0x5c,0x5c,0x5c,0x58,0x56,0x56,
- 0x56,0xb7,0x77,0x91,0xcb,0x98,0x50,0x7f,0x53,0x0d,0xf9,0x24,0xa4,0x1a,
- 0x97,0x2e,0x5d,0xfa,0x17,0xfa,0xbc,0x0d,0x81,0xef,0xf3,0x0d,0xea,0xa1,
- 0xd6,0xd2,0xd2,0x92,0x3d,0x79,0xf2,0xa4,0x9b,0x6f,0xb1,0x61,0x3e,0x8a,
- 0xcf,0xe8,0x3c,0x42,0xfe,0x70,0x4f,0x79,0x51,0x56,0x56,0x76,0xa6,0x27,
- 0x9f,0xd0,0xd8,0x2a,0x6a,0x44,0x9d,0x53,0xa1,0xcf,0xab,0x27,0xb0,0x36,
- 0x09,0xf4,0xfe,0xc4,0x89,0x13,0x59,0x66,0x66,0xa6,0xa2,0x16,0x7d,0x8d,
- 0xd6,0x9a,0xce,0xe5,0xa8,0x2d,0xed,0x71,0x71,0x71,0x81,0xc6,0xf8,0x93,
- 0x6a,0xb4,0xb5,0xb5,0xa5,0x8f,0xf2,0xa9,0x31,0xb8,0xba,0xba,0xfe,0x4c,
- 0xeb,0x49,0xdf,0x15,0x75,0x4e,0x16,0x47,0xfa,0x5a,0x46,0x46,0x06,0x5b,
- 0xb2,0x64,0x09,0x5f,0x3f,0xc4,0x78,0x13,0xce,0xc6,0x5f,0x18,0xeb,0x0b,
- 0xf3,0xd1,0x69,0x44,0x6d,0xcf,0x40,0xdf,0xc7,0xc6,0x82,0x3b,0xcb,0x65,
- 0x61,0x8e,0x7c,0x6d,0x50,0xa7,0xf8,0x59,0x86,0xea,0x65,0x7c,0x7c,0x3c,
- 0x0b,0x0b,0x0b,0xe3,0xe7,0x47,0xaa,0x2d,0x62,0x3c,0x41,0x67,0x6a,0x7a,
- 0x7a,0xba,0x4f,0x6f,0xfc,0x48,0x35,0x22,0xc7,0xa5,0xa3,0xef,0x40,0x6f,
- 0x40,0x7c,0x7a,0xe2,0xae,0xf6,0x8b,0x95,0x95,0x55,0x85,0xbe,0x3b,0xa1,
- 0xa0,0xbf,0x93,0xc6,0xbe,0x78,0xf1,0x62,0x50,0x6f,0xc7,0x27,0xa0,0xb1,
- 0x45,0xd4,0x88,0x9c,0x4f,0x31,0xf6,0xd1,0xab,0x92,0x94,0x94,0xe4,0x85,
- 0xf3,0x62,0x10,0xf6,0x41,0x24,0xee,0x46,0xb7,0x90,0xab,0xbe,0x45,0xce,
- 0x09,0xc4,0x39,0xd2,0xfd,0x75,0xc6,0x95,0x6a,0x44,0x8e,0xa3,0xbb,0xa2,
- 0xdb,0x40,0x03,0xb9,0x4e,0xa7,0x11,0x67,0x83,0x6c,0xf4,0xbd,0x37,0x90,
- 0x68,0x6c,0x6c,0xfc,0x00,0x7b,0x85,0x6a,0x41,0x1a,0x28,0x41,0x8c,0xb6,
- 0x60,0x7f,0xb9,0xe2,0xd9,0xae,0x81,0x02,0xce,0xd4,0x67,0x84,0x7d,0x1d,
- 0x08,0xf8,0x99,0x61,0xc7,0x8e,0x1d,0x5f,0xe1,0xd9,0xbb,0x03,0x01,0xec,
- 0x63,0x17,0x9c,0x11,0xee,0x0b,0x1a,0xdf,0x01,0x6f,0x03,0xba,0x97,0x6a,
- 0x90,0x2f,0x28,0x37,0x38,0xf5,0x27,0x38,0xab,0x39,0x23,0x86,0xe3,0x04,
- 0x7d,0x74,0x07,0x10,0x7f,0x6f,0xb6,0x07,0x74,0x97,0x65,0x53,0xa6,0x4c,
- 0x49,0x45,0x4d,0xf8,0x04,0xef,0x3a,0xc2,0xc6,0xe1,0x4d,0xd1,0xd6,0xd6,
- 0xe6,0xe8,0xe1,0xe1,0xe1,0x8b,0x3c,0x5f,0x2d,0xe8,0x2b,0x00,0x16,0x26,
- 0xf2,0x66,0x2b,0xc6,0x90,0x80,0xd6,0xcc,0xcc,0xac,0x1c,0xf7,0xd2,0x9c,
- 0x3e,0x26,0x17,0x67,0xb0,0x3a,0x89,0x5f,0xfa,0xcd,0xfe,0x6b,0x93,0x97,
- 0xff,0xcf,0xa1,0xd4,0xde,0x07,0x5f,0x82,0x0c,0xd0,0xae,0x94,0x9f,0xff,
- 0x67,0xaa,0xc0,0x1d,0x93,0x97,0xbf,0xcd,0x5b,0x76,0x15,0xf4,0x1f,0x5e,
- 0xdb,0x58,0x54
-};
-
-// close.png
-static const unsigned char image_1_data[] = {
- 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x6b,0x4c,0x14,0x57,0x14,0xc7,
- 0x51,0x09,0xf8,0xc4,0x67,0x51,0x8b,0x60,0xd0,0xc4,0x0f,0x46,0xa2,0xe2,
- 0x5b,0x8c,0xaf,0x88,0x6f,0x03,0x1f,0x68,0x2c,0x49,0x51,0x2c,0x42,0x42,
- 0x02,0x18,0x24,0x88,0xa9,0x48,0x52,0x2a,0xa8,0x10,0x4b,0xb0,0xb6,0xb5,
- 0x49,0xdb,0x14,0x53,0x28,0x6b,0x40,0x62,0x08,0x5a,0x1f,0x60,0xd2,0x92,
- 0x15,0x57,0x58,0x1f,0x6b,0x17,0x90,0xa7,0x02,0x45,0x8b,0x08,0x08,0x08,
- 0xfb,0xbc,0xfd,0x9f,0xc9,0x0c,0x9d,0x0e,0x33,0xbb,0x53,0x13,0x8a,0x37,
- 0xf9,0x7f,0xd8,0xbb,0x73,0xee,0xf9,0xcd,0x7d,0x9c,0x73,0xee,0xb8,0xb8,
- 0x0c,0x6b,0xbe,0x50,0x24,0xf4,0x1d,0xa4,0x83,0x9e,0x8c,0xb0,0x0c,0xd0,
- 0xaf,0xd0,0x97,0x50,0x18,0xe4,0x3a,0x1c,0x69,0xa8,0x79,0x42,0x17,0x20,
- 0x33,0xc4,0x04,0x79,0x78,0x78,0x58,0x46,0x5a,0x62,0x7f,0x50,0x27,0x14,
- 0x0f,0xb9,0x4b,0xf8,0xbc,0xc6,0x8c,0x19,0xd3,0x41,0xcf,0xcc,0x9c,0x39,
- 0xd3,0x92,0x9d,0x9d,0xdd,0x76,0xf7,0xee,0xdd,0x06,0x8b,0xc5,0x62,0x64,
- 0x8c,0xfd,0x31,0xd2,0x1a,0x18,0x18,0x30,0xde,0xbe,0x7d,0xbb,0x29,0x35,
- 0x35,0xf5,0x85,0xbb,0xbb,0xbb,0x8d,0x67,0xad,0x80,0xdc,0x78,0x3e,0x0f,
- 0xf0,0xd1,0x9c,0xb3,0xe3,0xc7,0x8f,0xbf,0x04,0xd7,0x88,0x33,0x39,0x52,
- 0x5f,0x5f,0x9f,0x71,0xeb,0xd6,0xad,0xbd,0x3c,0x67,0x0e,0xcf,0x98,0x46,
- 0xbf,0xc3,0xc3,0xc3,0x3b,0x47,0x93,0x4d,0xc2,0x59,0xed,0xe7,0xe7,0xf7,
- 0x96,0xe7,0x0c,0xa4,0x73,0xe1,0xea,0xea,0x6a,0xef,0xe9,0xe9,0xa9,0x1e,
- 0x6d,0x36,0xb1,0xae,0x5c,0xb9,0xf2,0x8c,0x67,0xcc,0x80,0x6c,0xcb,0x97,
- 0x2f,0x7f,0x3b,0xda,0x4c,0x52,0xd1,0x9c,0x8d,0x1b,0x37,0xce,0xce,0xef,
- 0x4b,0xb6,0x6f,0xdf,0xbe,0x6e,0xf4,0x1b,0xe4,0x64,0xb3,0xd9,0x0c,0x67,
- 0xce,0x9c,0x69,0x0b,0x0a,0x0a,0xea,0xda,0xbc,0x79,0xf3,0x9b,0x93,0x27,
- 0x4f,0xb6,0xdf,0xba,0x75,0xab,0x41,0xe9,0x79,0x25,0x99,0xcd,0xe6,0x27,
- 0x79,0x79,0x79,0xcd,0xc1,0xc1,0xc1,0x5d,0x7b,0xf7,0xee,0xed,0x0e,0x0d,
- 0x0d,0x7d,0x5d,0x57,0x57,0x57,0xe3,0xc8,0x86,0xce,0x2f,0xf8,0x9e,0x12,
- 0xe3,0x9e,0x3d,0x7b,0x5e,0xdb,0xed,0x76,0xbd,0x54,0x26,0x93,0xe9,0xc1,
- 0xd2,0xa5,0x4b,0xfb,0x24,0xb1,0x81,0xd3,0xae,0x5d,0xbb,0xba,0xda,0xdb,
- 0xdb,0x1f,0xcb,0xd9,0x49,0x75,0xf3,0xe6,0xcd,0x5a,0x4f,0x4f,0x4f,0xb3,
- 0x74,0x0c,0x9c,0x55,0x96,0x9c,0x9c,0xdc,0xaa,0x64,0x07,0x46,0xb3,0xc0,
- 0xb8,0x7b,0xf7,0xee,0x4e,0xf4,0xe9,0xa4,0x82,0xfd,0x73,0xfa,0x7f,0xe3,
- 0xc6,0x8d,0x4c,0xa7,0xd3,0xb1,0x8e,0x8e,0x0e,0x96,0x9f,0x9f,0xcf,0xd6,
- 0xaf,0x5f,0xcf,0xf9,0x98,0x38,0x71,0xa2,0x0d,0x73,0x6a,0x94,0xb3,0x15,
- 0x74,0xf6,0xec,0xd9,0xa6,0xb1,0x63,0xc7,0x72,0x3c,0x51,0x51,0x51,0xcc,
- 0x68,0x34,0xb2,0xd6,0xd6,0x56,0xa6,0xd5,0x6a,0xd9,0xbc,0x79,0xf3,0x18,
- 0xad,0x67,0x45,0x45,0x85,0x41,0xce,0x76,0xc6,0x8c,0x19,0x62,0xc6,0x0e,
- 0xcc,0xad,0x56,0x2a,0x1f,0x1f,0x9f,0x01,0x70,0x30,0xec,0x0d,0x26,0x6e,
- 0x56,0xab,0x95,0xa5,0xa5,0xa5,0x31,0x9c,0x35,0xe2,0xb4,0x5e,0xbf,0x7e,
- 0xdd,0x20,0x67,0x9f,0x94,0x94,0xc4,0xed,0xfb,0x39,0x73,0xe6,0xb0,0xfb,
- 0xf7,0xef,0x33,0x69,0x2b,0x28,0x28,0x60,0x7c,0x4c,0xf9,0x53,0xce,0x1e,
- 0x8c,0x26,0x81,0x71,0xe7,0xce,0x9d,0x7f,0xa1,0xef,0x37,0xa9,0x66,0xcd,
- 0x9a,0x65,0x5a,0xb0,0x60,0xc1,0xb0,0xb1,0x85,0x76,0xf9,0xf2,0x65,0x31,
- 0xe7,0x43,0xb1,0x6d,0x62,0x62,0x62,0x13,0x8d,0xed,0xed,0xed,0xcd,0xea,
- 0xeb,0xeb,0x65,0xed,0xab,0xab,0xab,0x39,0xc6,0x90,0x90,0x90,0x76,0x39,
- 0xff,0x62,0xc6,0x1d,0x3b,0x76,0xbc,0x40,0x5f,0xa9,0x54,0x18,0xbf,0x7f,
- 0xd2,0xa4,0x49,0xac,0xbf,0xbf,0x5f,0x15,0x67,0x49,0x49,0x49,0x25,0xd9,
- 0x25,0x24,0x24,0xd4,0xd3,0xb8,0xb4,0x96,0x4a,0x7c,0xd4,0xae,0x5d,0xbb,
- 0xc6,0x31,0x1e,0x38,0x70,0xe0,0xb9,0x9c,0xff,0xe9,0xd3,0xa7,0x0f,0x0a,
- 0x8c,0xdb,0xb7,0x6f,0xa7,0xf7,0xb8,0x21,0x55,0x64,0x64,0x64,0x23,0xfd,
- 0x9f,0x93,0x93,0xa3,0xe8,0x47,0xcc,0x49,0x79,0x2c,0x3a,0x3a,0xba,0x41,
- 0x0d,0x1f,0xb5,0xfd,0xfb,0xf7,0x73,0x8c,0xc5,0xc5,0xc5,0xf7,0xe4,0xfc,
- 0x8b,0x19,0x03,0x03,0x03,0x69,0x3f,0x94,0x48,0xa5,0xd7,0xeb,0xef,0xd0,
- 0x9e,0xc6,0x9a,0xb3,0x96,0x96,0x16,0x55,0x9c,0x6a,0xf9,0x0a,0x0b,0x0b,
- 0xb9,0x67,0xe7,0xcf,0x9f,0xdf,0x8b,0xf8,0x36,0xcc,0x37,0x49,0xcc,0xb8,
- 0x6d,0xdb,0xb6,0x56,0xf4,0x5d,0x95,0xd3,0x89,0x13,0x27,0x1e,0xd3,0x33,
- 0xcb,0x96,0x2d,0x63,0xc8,0x51,0x4e,0x39,0x7d,0x7d,0x7d,0x9d,0xf2,0xd5,
- 0xd6,0xd6,0x52,0x3d,0x45,0xf3,0x6e,0x2d,0x2f,0x2f,0x2f,0x53,0xf2,0x3d,
- 0x6d,0xda,0xb4,0x01,0x81,0x11,0x39,0xbc,0x05,0x67,0xbd,0x50,0x49,0xf4,
- 0x3f,0x3d,0xb7,0x76,0xed,0x5a,0xd6,0xdd,0xdd,0xed,0xd0,0xff,0xe0,0xe0,
- 0xa0,0xc3,0xff,0x2b,0x2b,0x2b,0x19,0xe6,0x87,0x8b,0x45,0x17,0x2f,0x5e,
- 0xd4,0x3a,0xf2,0x2b,0x66,0xdc,0xb2,0x65,0xcb,0x33,0x98,0xe7,0x2b,0x09,
- 0x39,0x42,0x83,0xb9,0x6e,0x16,0x38,0xa5,0xb1,0x48,0x6d,0xab,0xaa,0xaa,
- 0xe2,0xf8,0x10,0x2f,0xed,0xe9,0xe9,0xe9,0xf7,0x1c,0xf9,0x24,0x89,0x19,
- 0x91,0xe3,0x9a,0xd1,0xf7,0xb3,0x23,0x81,0x33,0x17,0xf3,0xd9,0xf4,0xae,
- 0x9c,0x62,0xbe,0x53,0xa7,0x4e,0x69,0x9d,0xf9,0x23,0x4d,0x9d,0x3a,0xf5,
- 0xad,0xc0,0xb8,0x69,0xd3,0xa6,0x46,0xf4,0xfd,0xe4,0x4c,0xe0,0xcc,0xc1,
- 0x9c,0x37,0xfc,0x57,0x4e,0x31,0x1f,0xea,0xd8,0x72,0x35,0xbe,0x48,0x62,
- 0x46,0xe4,0xba,0x06,0xac,0xff,0xf7,0x6a,0x04,0xce,0x1f,0xe6,0xce,0x9d,
- 0xdb,0xcd,0xc7,0x5e,0xa7,0x7c,0xc8,0xf9,0x6c,0xf2,0xe4,0xc9,0xdc,0x19,
- 0x46,0x1d,0xf1,0x48,0xad,0x1f,0x12,0xce,0xd5,0x10,0xe3,0x86,0x0d,0x1b,
- 0xea,0x30,0xdc,0xb7,0x6a,0x84,0x9c,0x5b,0xa1,0x36,0xbe,0x08,0x4d,0xa3,
- 0xd1,0x70,0x71,0x69,0xc2,0x84,0x09,0x66,0x9c,0xfd,0x22,0xb5,0xbe,0xc0,
- 0xd8,0x2f,0x30,0x06,0x04,0x04,0x3c,0x45,0xdf,0x57,0xce,0x74,0xf8,0xf0,
- 0x61,0xed,0x7f,0xe5,0x93,0x72,0x8e,0x1f,0x3f,0xde,0x8c,0xba,0xa4,0x40,
- 0x8d,0x3f,0x31,0x23,0xea,0x98,0x5a,0xf4,0x65,0x39,0x52,0x44,0x44,0x44,
- 0xf9,0xbb,0xf2,0xc9,0x71,0xa2,0x96,0xd4,0x38,0xf3,0x39,0x65,0xca,0x94,
- 0x3e,0x81,0x71,0xdd,0xba,0x75,0x74,0x4f,0xc8,0x54,0xd2,0xd1,0xa3,0x47,
- 0x6f,0xf0,0x7c,0xf6,0x77,0xe5,0x93,0x72,0xba,0xb9,0xb9,0x59,0x8a,0x8a,
- 0x8a,0x2e,0x39,0xf2,0x2b,0x66,0x5c,0xb3,0x66,0x0d,0xd5,0xe7,0xe9,0x72,
- 0xca,0xca,0xca,0xd2,0x50,0xbc,0xf5,0xf2,0xf2,0x62,0x8d,0x8d,0x8d,0x0e,
- 0xfd,0x23,0x77,0x52,0xed,0xeb,0xf4,0xbc,0x83,0x8d,0xe3,0xc4,0x5a,0xf6,
- 0xa1,0x9e,0xcc,0x56,0xf2,0x2d,0x66,0x5c,0xbd,0x7a,0xf5,0x13,0xf4,0xa5,
- 0x4a,0x85,0xda,0xe9,0x1c,0xd6,0xc5,0x84,0x9c,0xc5,0xc5,0x0f,0x47,0x4d,
- 0x88,0x2f,0x6a,0xe3,0x12,0x6a,0x5f,0xee,0xd9,0xc5,0x8b,0x17,0xd7,0xcb,
- 0xf9,0x26,0x21,0x1e,0xf4,0x0a,0x8c,0x2b,0x57,0xae,0xa4,0x1a,0x35,0x45,
- 0xaa,0xb0,0xb0,0x30,0x6e,0x8d,0x71,0x9f,0x51,0xc3,0x67,0xa7,0xf9,0x5e,
- 0xb4,0x68,0x91,0xaa,0xf8,0x89,0xd8,0x42,0xeb,0xc7,0x71,0xa2,0xa6,0xbb,
- 0x20,0xe7,0x5f,0xcc,0xb8,0x62,0xc5,0x8a,0x47,0xe8,0xfb,0x4c,0x2a,0xac,
- 0x6f,0x1b,0xad,0x09,0xdd,0x11,0x54,0xf0,0xd9,0xe3,0xe3,0xe3,0x0b,0x90,
- 0xaf,0x93,0x57,0xad,0x5a,0xf5,0x50,0x0d,0x67,0x6e,0x6e,0x2e,0xc7,0x88,
- 0x7b,0x58,0x99,0x9c,0x7f,0xd4,0xae,0x43,0x8c,0xb8,0xbb,0x52,0x0d,0x9d,
- 0x28,0x15,0xde,0xe3,0xcd,0xc2,0x85,0x0b,0x55,0xf1,0xc5,0xc5,0xc5,0x69,
- 0x04,0x3b,0x70,0x26,0xe1,0xbd,0xf5,0xce,0x38,0x6b,0x6a,0x6a,0x18,0x7f,
- 0x66,0x75,0x72,0xfe,0xc1,0xf8,0x46,0x60,0x44,0xdd,0xa5,0x47,0x5f,0xbc,
- 0x54,0xc8,0x45,0x9d,0x10,0xb3,0x58,0x2c,0xc3,0xc6,0x37,0x18,0x0c,0x43,
- 0x7c,0x31,0x31,0x31,0x79,0x52,0x5b,0x70,0x26,0xf8,0xfb,0xfb,0x57,0xf1,
- 0x73,0xc0,0x5e,0xbd,0x7a,0x35,0x6c,0x8c,0xd2,0xd2,0x52,0xc6,0xe7,0xb9,
- 0xdf,0xe5,0xfc,0x8b,0x19,0x71,0x3f,0xa5,0x03,0x11,0x2b,0x15,0x6a,0x8d,
- 0x32,0xfa,0xff,0xe0,0xc1,0x83,0x0c,0x39,0x90,0x1b,0x97,0x6a,0xb3,0x94,
- 0x94,0x14,0xae,0xb6,0x22,0xbe,0xd8,0xd8,0xd8,0x4b,0x72,0xb6,0x24,0xd8,
- 0xc4,0x2d,0x59,0xb2,0xe4,0x01,0x7f,0x87,0x64,0xe7,0xcf,0x9f,0x1f,0xaa,
- 0xdd,0xba,0xba,0xba,0x18,0xde,0x81,0x63,0xcc,0xc8,0xc8,0xb8,0x20,0x67,
- 0x0f,0x9b,0x1e,0x81,0xd1,0xcf,0xcf,0x8f,0x2e,0x6d,0xd1,0x52,0x35,0x37,
- 0x37,0xd3,0xbb,0xd0,0x73,0x14,0x77,0x19,0xf2,0xb4,0xf8,0x9b,0x5f,0x27,
- 0xea,0xbf,0x0c,0x39,0x3b,0xa9,0x70,0xf6,0x7e,0xc1,0xbe,0xe6,0xbe,0xe1,
- 0x51,0x8c,0xa0,0xba,0x5e,0xa8,0xd9,0x71,0xae,0xf5,0x4a,0x76,0x62,0x46,
- 0xbc,0x2b,0xed,0x87,0x48,0x39,0xe1,0x8e,0x10,0x83,0xf3,0x77,0x07,0xe3,
- 0xb6,0xa2,0x9e,0x7b,0x89,0x73,0x54,0x7f,0xe8,0xd0,0xa1,0x1c,0xf0,0xc7,
- 0x2a,0xd9,0xc8,0xa9,0xac,0xac,0x2c,0x09,0x77,0xe4,0xab,0xb8,0xd7,0xb7,
- 0x61,0x8f,0xb4,0xe3,0x3e,0xdb,0x84,0xdc,0xff,0x23,0xf6,0x51,0x94,0x92,
- 0x8d,0x98,0x11,0x77,0x0a,0x8a,0xe1,0xe1,0xef,0x93,0x7a,0x7b,0x7b,0x23,
- 0x70,0x97,0xa2,0x6f,0x00,0x14,0x23,0x8c,0x98,0xf7,0x41,0xec,0x33,0xfa,
- 0xef,0x93,0xf7,0x45,0x99,0x99,0x99,0xa9,0xfc,0xbe,0xfa,0x06,0xfa,0x9a,
- 0x8f,0x51,0x54,0x57,0x7e,0xfc,0x3e,0xc8,0x6a,0xb5,0x86,0x62,0x6d,0x1f,
- 0xf0,0x8c,0x1f,0x41,0xde,0x50,0x27,0xce,0xa8,0xed,0xd8,0xb1,0x63,0x5f,
- 0xe0,0x99,0x90,0xd1,0x14,0xee,0xb1,0x21,0xc8,0xcd,0xc5,0x3c,0x5f,0xa5,
- 0xcb,0x3f,0xdf,0x9b,0x03,0x20,0xba,0xcb,0x32,0x1f,0x1f,0x1f,0xdd,0xe9,
- 0xd3,0xa7,0x13,0xf1,0x2e,0xc1,0xb0,0x09,0xfa,0xbf,0x84,0x7a,0x3d,0xf8,
- 0xc8,0x91,0x23,0x9f,0xa3,0x8e,0x68,0xe3,0xf9,0xe8,0xfb,0xc3,0x07,0x2e,
- 0xff,0x6e,0xfe,0xfc,0xfe,0x14,0xe2,0x8b,0x1d,0xf1,0xe5,0xf9,0xec,0xd9,
- 0xb3,0x1f,0x8d,0xb0,0x1e,0xe3,0xfc,0xbe,0x14,0xf9,0xa5,0x6f,0xf6,0xf4,
- 0x1d,0xfc,0x43,0x17,0xe5,0xf6,0x29,0xbf,0x47,0xef,0x41,0x26,0x91,0xed,
- 0x48,0xea,0x05,0x44,0xf9,0xe2,0x9c,0xcc,0xdc,0xb9,0xfc,0x0d,0x45,0xac,
- 0x59,0xc3
-};
-
-// help.png
-static const unsigned char image_2_data[] = {
- 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x79,0x4c,0x54,0x57,0x14,0xc6,
- 0x87,0x45,0x45,0x21,0x4a,0x88,0x62,0x70,0xa9,0x31,0x11,0x81,0x49,0xf9,
- 0x03,0x35,0x51,0x13,0xa8,0x46,0x0c,0x51,0x5c,0x80,0x88,0x0a,0x14,0x65,
- 0x73,0x90,0x56,0x6b,0x42,0x6b,0x95,0x42,0x5a,0x1a,0xda,0x50,0x81,0xa6,
- 0x18,0xa0,0x6c,0x51,0x94,0x68,0x59,0x9a,0x94,0x06,0x2d,0x20,0x18,0x62,
- 0xa1,0x4a,0x0c,0x1d,0xb0,0xa0,0xa3,0x50,0x36,0xab,0x23,0x3b,0x8a,0xd0,
- 0x11,0xcb,0x00,0xb7,0xdf,0x7d,0x1d,0xc8,0xcc,0xe5,0xbd,0x99,0x37,0x29,
- 0x88,0x37,0xf9,0x65,0xc8,0xe1,0xcd,0x39,0xdf,0x9c,0x77,0xee,0xb9,0xe7,
- 0x3d,0x89,0x64,0xda,0x32,0x03,0xfe,0x20,0x11,0xfc,0x02,0xee,0x83,0x07,
- 0xb3,0x8c,0x1c,0x5c,0x04,0x9f,0x80,0x77,0xa7,0x4b,0xd2,0xd1,0x16,0x06,
- 0x9e,0x01,0x32,0x89,0xa5,0xa5,0xe5,0xd8,0xe2,0xc5,0x8b,0xd5,0xb3,0x89,
- 0x99,0x99,0xd9,0x84,0x56,0xcc,0x71,0x90,0x0b,0xde,0x61,0xf4,0x99,0x82,
- 0x32,0x7a,0x8d,0xb9,0xb9,0xf9,0x44,0x4c,0x4c,0x4c,0x4f,0x59,0x59,0x59,
- 0x47,0x67,0x67,0x67,0x13,0x21,0x44,0x31,0xdb,0x8c,0x8d,0x8d,0x29,0xe4,
- 0x72,0x79,0x6b,0x7a,0x7a,0xfa,0x33,0x3b,0x3b,0xbb,0x51,0xaa,0xc3,0xc4,
- 0xc4,0x64,0x18,0x9f,0x0e,0x5a,0x1a,0xcf,0x51,0xfb,0xa6,0x4d,0x9b,0x54,
- 0x83,0x83,0x83,0x8f,0xde,0x84,0x2e,0x21,0x26,0x26,0x26,0x14,0x71,0x71,
- 0x71,0xdd,0xd0,0x48,0x75,0x3e,0x85,0x2e,0x3b,0xe0,0x48,0xf5,0xad,0x59,
- 0xb3,0xe6,0x9f,0xee,0xee,0xee,0x37,0x92,0x37,0x31,0x44,0x45,0x45,0xf5,
- 0x68,0xee,0x7d,0x0e,0x88,0xa4,0x7f,0xa7,0xa5,0xa5,0x3d,0x9b,0x6b,0x5d,
- 0xec,0xfd,0xb7,0xb6,0xb6,0x56,0x23,0x97,0x4a,0xe8,0xfb,0x99,0x6a,0x6c,
- 0x6e,0x6e,0xfe,0x73,0xae,0x75,0xb1,0xec,0xda,0xb5,0xeb,0xa5,0x26,0x97,
- 0x55,0xf4,0x13,0xba,0xef,0xc3,0xae,0x43,0x76,0x76,0xf6,0xd3,0xe5,0xcb,
- 0x97,0x8f,0xd2,0x7d,0x34,0x53,0x2c,0x5c,0xb8,0x70,0x7c,0xc3,0x86,0x0d,
- 0xaa,0xa3,0x47,0x8f,0x0e,0xa4,0xa4,0xa4,0x28,0xd5,0x6a,0xf5,0xb4,0xb8,
- 0x93,0xc8,0x64,0xb2,0x7e,0x46,0x63,0x3d,0xea,0x55,0x07,0xa9,0x54,0xaa,
- 0x32,0x35,0x35,0x25,0x9b,0x37,0x6f,0x9e,0x31,0xb0,0x2f,0xe9,0x5e,0x98,
- 0xea,0x6d,0x4b,0x97,0x2e,0x1d,0xbd,0x71,0xe3,0x46,0x33,0x1b,0x9b,0x12,
- 0x16,0x16,0xd6,0xc3,0x68,0xac,0x85,0x5d,0x07,0x07,0x07,0x07,0x95,0x95,
- 0x95,0x15,0x99,0xe9,0x85,0x58,0xa4,0xb6,0xb6,0x96,0xc4,0xc7,0xc7,0x13,
- 0xf4,0x46,0xb2,0x72,0xe5,0xca,0xd7,0xc8,0xe7,0xb4,0xf8,0xa1,0xa1,0xa1,
- 0xdd,0x8c,0xc6,0x1a,0x7c,0x5d,0x07,0x68,0xfc,0x7b,0x36,0x34,0x6a,0xaf,
- 0xc0,0xc0,0x40,0x2e,0x9f,0x55,0x55,0x55,0x0d,0x6c,0xfc,0x90,0x90,0x90,
- 0x4e,0x6d,0x8d,0xe3,0xe3,0xe3,0xd5,0xb0,0xeb,0xb0,0x7e,0xfd,0xfa,0x59,
- 0xd7,0x78,0xfa,0xf4,0x69,0x4e,0x63,0x45,0x45,0xc5,0x3d,0x36,0x7e,0x70,
- 0x70,0xb0,0x92,0xd1,0x58,0x09,0xbb,0x0e,0xce,0xce,0xce,0x83,0xf4,0x7f,
- 0x8b,0x16,0x2d,0x32,0x1a,0xfa,0xdb,0x4e,0x9d,0x3a,0x25,0x5a,0x23,0x6a,
- 0x52,0xce,0xc6,0xc7,0xbe,0x7a,0xc2,0xdc,0xeb,0x72,0xd8,0x75,0xb8,0x76,
- 0xed,0x5a,0xed,0xd6,0xad,0x5b,0xfb,0x90,0xcf,0x97,0xc6,0x02,0x8d,0x6a,
- 0xea,0x17,0xe7,0x82,0x28,0x8d,0x38,0x7b,0xef,0xb2,0xf1,0x8f,0x1c,0x39,
- 0xf2,0x98,0xc9,0x63,0x09,0xec,0x33,0xc6,0xce,0x9d,0x3b,0xb9,0x5a,0x52,
- 0x2a,0x95,0xa2,0x34,0x96,0x96,0x96,0xde,0x61,0x7d,0xa0,0x56,0xdb,0x99,
- 0x3c,0x16,0xc3,0x3e,0x63,0xb8,0xbb,0xbb,0x2b,0x8d,0xd1,0x58,0x52,0x52,
- 0x52,0xcd,0xfa,0x08,0x08,0x08,0x68,0xd3,0xd6,0x88,0xbd,0x5f,0x84,0xfd,
- 0xfe,0x93,0x21,0xca,0xcb,0xcb,0x2b,0xcf,0x9e,0x3d,0xdb,0xb0,0x67,0xcf,
- 0x9e,0x8e,0xb5,0x6b,0xd7,0x0e,0xae,0x58,0xb1,0x62,0x98,0x0f,0x0b,0x0b,
- 0x0b,0xee,0x5e,0xf7,0xf4,0xf4,0x88,0xd2,0x78,0xfd,0xfa,0xf5,0x5b,0x6c,
- 0x2c,0x7f,0x7f,0xff,0x16,0x26,0x8f,0x85,0xf8,0x4a,0x81,0x3e,0xb0,0xcf,
- 0x14,0xda,0xb3,0xe5,0xfc,0xf9,0xf3,0x89,0xad,0xad,0x2d,0x2f,0x98,0xb1,
- 0x48,0x74,0x74,0xb4,0x5e,0x7d,0xda,0x1a,0x51,0xfb,0x37,0xd9,0x78,0x87,
- 0x0f,0x1f,0x6e,0x66,0x34,0xfe,0x00,0xfb,0x55,0x21,0x12,0x13,0x13,0x6f,
- 0x6b,0xe6,0x23,0x92,0x99,0x99,0x49,0x1a,0x1b,0x1b,0x69,0x0d,0x1b,0xd4,
- 0x60,0x68,0xed,0xd8,0xb1,0x83,0xfe,0xd6,0x71,0xd4,0xc4,0x8f,0x6c,0xcc,
- 0x43,0x87,0x0e,0x3d,0x62,0x34,0xe6,0xc2,0x7e,0x59,0x08,0x9c,0xb1,0xdc,
- 0x7c,0xde,0xda,0xda,0x6a,0x30,0x2e,0xd5,0x3e,0x32,0x32,0xc2,0xcb,0x8b,
- 0x17,0x2f,0x68,0x2f,0x24,0x49,0x49,0x49,0x64,0xe3,0xc6,0x8d,0x5c,0x0e,
- 0x71,0x56,0xf4,0xf2,0xc5,0xf4,0xf5,0xf5,0x55,0x30,0xf5,0x78,0x11,0x35,
- 0x70,0x81,0x8f,0x57,0xaf,0x5e,0xe5,0xcc,0x9b,0x37,0x6f,0xcc,0xc9,0xc9,
- 0xc9,0xa0,0xbe,0xd8,0xd8,0x58,0x42,0xcf,0x78,0xed,0x9a,0xd0,0xc7,0xb6,
- 0x6d,0xdb,0x5a,0x1f,0x3e,0x7c,0x98,0xc7,0x17,0xf7,0xc0,0x81,0x03,0xf7,
- 0x99,0x3c,0x66,0x22,0x44,0x06,0x1f,0xe8,0x71,0xf4,0x79,0x88,0x78,0x7a,
- 0x7a,0x1a,0xd4,0x88,0x99,0x8f,0xde,0x3b,0x35,0xfa,0xff,0x53,0x3e,0x5c,
- 0x5c,0x5c,0xfe,0xc2,0x5e,0xa8,0x4b,0x48,0x48,0xa8,0xa8,0xaf,0xaf,0xbf,
- 0x2a,0x14,0x93,0xe2,0xe3,0xe3,0xd3,0xc0,0x68,0x4c,0x83,0x3d,0x95,0x0f,
- 0x68,0xcc,0x12,0xab,0x71,0xc9,0x92,0x25,0x64,0xd5,0xaa,0x55,0xfd,0x42,
- 0xbe,0x8c,0xc1,0xdb,0xdb,0xfb,0x1e,0xa3,0xf1,0x3c,0xec,0xc9,0x7c,0x74,
- 0x75,0x75,0x7d,0x4f,0xaf,0xa1,0xf5,0xd3,0xd4,0xd4,0xa4,0x17,0x7a,0x06,
- 0x62,0x8e,0xe9,0x13,0xf2,0x65,0x0c,0xfb,0xf7,0xef,0xaf,0x67,0x34,0x7e,
- 0x0b,0x7b,0x12,0x1f,0x43,0x43,0x43,0xdf,0xa1,0x1e,0xd5,0x62,0x6b,0x0c,
- 0x75,0xfb,0x58,0xc8,0x97,0x31,0xec,0xdb,0xb7,0x4f,0xce,0x68,0xfc,0x06,
- 0xf6,0x78,0x21,0x2e,0x5d,0xba,0x74,0x05,0x7d,0xe2,0xde,0x96,0x2d,0x5b,
- 0x14,0xeb,0xd6,0xad,0x7b,0x82,0x1e,0x38,0x80,0xf9,0xf4,0xf9,0xb2,0x65,
- 0xcb,0x9e,0xaf,0x5e,0xbd,0xba,0xdb,0xd1,0xd1,0xb1,0x63,0xfb,0xf6,0xed,
- 0x7f,0xe0,0x7c,0xa9,0xc7,0x9c,0x95,0xa1,0xcf,0x97,0x58,0x70,0x4e,0xd4,
- 0x32,0x1a,0xbf,0x82,0x3d,0x4e,0x08,0xec,0xb3,0x38,0xd4,0xc7,0x6d,0xec,
- 0xd9,0x09,0xa1,0xfc,0xe1,0x6c,0x79,0x9d,0x93,0x93,0x73,0x59,0x9f,0x1f,
- 0x63,0xd8,0xbd,0x7b,0xf7,0x5d,0xa6,0xf7,0xc4,0xc2,0xfe,0x85,0x10,0x7b,
- 0xf7,0xee,0xfd,0x8d,0x5e,0x87,0xe7,0x1b,0x92,0x95,0x95,0x45,0x6a,0x6a,
- 0x6a,0x48,0x7b,0x7b,0x3b,0x69,0x6b,0x6b,0x23,0x85,0x85,0x85,0xe4,0xd8,
- 0xb1,0x63,0xf4,0xfd,0x01,0xa1,0x35,0x81,0x19,0x26,0x55,0x9f,0x2f,0xb1,
- 0xe0,0x99,0xab,0x86,0xc9,0x63,0x0c,0xec,0xd1,0x7c,0x60,0xcf,0x7c,0x89,
- 0x99,0x7e,0x0c,0xf7,0x94,0xa0,0x36,0x89,0xd0,0xca,0xcd,0xcd,0xe5,0xf2,
- 0xe9,0xea,0xea,0xfa,0xbb,0x90,0x2f,0x63,0xf0,0xf0,0xf0,0xb8,0xcd,0xe4,
- 0xf1,0x0c,0xec,0x9f,0xf2,0x91,0x91,0x91,0x91,0x4e,0xaf,0x89,0x8c,0x8c,
- 0x14,0xd4,0x47,0x17,0x3d,0x5f,0xe8,0x7c,0x8b,0x5a,0xed,0x12,0xf2,0x65,
- 0x0c,0x98,0xef,0xaa,0x19,0x8d,0x1f,0xc3,0x1e,0xc9,0x47,0x71,0x71,0x31,
- 0xf7,0xae,0xe5,0xe0,0xc1,0x83,0x7a,0x35,0xf6,0xf6,0xf6,0x72,0xcf,0x7c,
- 0x98,0x87,0x5a,0x84,0x7c,0x19,0x03,0xf6,0xe8,0xaf,0x8c,0x46,0x3a,0xd8,
- 0x7f,0x24,0x04,0x7a,0xf3,0x00,0x8d,0x9f,0x9a,0x9a,0x4a,0xb0,0x7f,0xa6,
- 0xe9,0x53,0xa9,0x54,0xdc,0x7c,0x40,0x7d,0xf9,0xf9,0xf9,0x15,0xe9,0xf3,
- 0x25,0x16,0xf4,0x89,0x5b,0x8c,0xc6,0x0f,0x61,0xff,0x40,0x88,0xfc,0xfc,
- 0xfc,0xaf,0x17,0x2c,0x58,0x30,0x42,0xaf,0x45,0x8f,0x26,0x5e,0x5e,0x5e,
- 0xe4,0xf8,0xf1,0xe3,0x24,0x3c,0x3c,0x9c,0x60,0xde,0x98,0x7a,0x66,0x46,
- 0x5f,0x7a,0x00,0xbd,0x27,0xf4,0xf9,0x12,0x0b,0xce,0xf2,0x4a,0x46,0x63,
- 0x38,0xec,0x32,0x7d,0x54,0x57,0x57,0x9f,0x41,0x7f,0x96,0xe3,0x3c,0x1e,
- 0x61,0xfb,0x8e,0x8d,0x8d,0x4d,0x57,0x50,0x50,0xd0,0x95,0xe1,0xe1,0xe1,
- 0x08,0x43,0x7e,0xc4,0xe2,0xe6,0xe6,0x76,0x53,0xe3,0x9f,0x7b,0xef,0x58,
- 0x57,0x57,0x47,0xf3,0x1b,0x2c,0x96,0xa2,0xa2,0xa2,0xa8,0xbc,0xbc,0xbc,
- 0x98,0x82,0x82,0x82,0x68,0xfc,0xbe,0x10,0x63,0xbe,0x2b,0x16,0xcc,0x20,
- 0x77,0x34,0x1a,0x3f,0xa7,0x9f,0x27,0x4f,0x9e,0x4c,0x81,0x3d,0xf0,0x6d,
- 0x02,0x67,0x7f,0x1f,0xb4,0x0d,0x00,0x57,0xaa,0x11,0xfd,0xa2,0x05,0xbd,
- 0xef,0x7d,0xfc,0xcf,0xef,0x6d,0x20,0x22,0x22,0xe2,0xbc,0x26,0x87,0x45,
- 0x92,0xff,0x16,0xf7,0x7e,0x4f,0x2a,0x95,0xde,0x1a,0x1d,0x1d,0xa5,0x0d,
- 0xc6,0x77,0x2e,0xc1,0x8c,0xfe,0x19,0xce,0x5c,0xfa,0xce,0x59,0x05,0xa4,
- 0x1a,0x8d,0x96,0x80,0x9b,0xd5,0xd0,0x83,0xfb,0x64,0x32,0xd9,0x39,0xcc,
- 0xf5,0x3e,0xb8,0xde,0xeb,0x4d,0x81,0xfe,0xef,0x95,0x9c,0x9c,0x1c,0x69,
- 0x6f,0x6f,0x4f,0x7b,0x22,0x9d,0x09,0xe8,0xbb,0x7b,0x2f,0x89,0xee,0xb2,
- 0x01,0xa9,0x60,0x6a,0x06,0xc3,0x8c,0xd0,0x8f,0xf3,0xb9,0x11,0x34,0xcc,
- 0x26,0x98,0x9d,0x14,0x1a,0x5d,0x93,0x7d,0x82,0x3e,0x0f,0xbe,0x27,0x11,
- 0x5e,0xd6,0x20,0x01,0x54,0x00,0xa5,0x44,0x22,0x6e,0x66,0xfc,0x9f,0xd0,
- 0xfb,0x5a,0x07,0xae,0x80,0x13,0xc0,0x44,0x5b,0xd0,0xbf,0x6f,0xf5,0xde,
- 0xd4
-};
-
-// keep_above_lit.png
-static const unsigned char image_3_data[] = {
- 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x98,0x79,0x4c,0x15,0x57,0x14,0xc6,
- 0x11,0x31,0xa2,0x28,0xae,0xb8,0xc7,0xdd,0x58,0x97,0x18,0xe3,0x82,0x1a,
- 0x71,0x89,0x26,0xfd,0x83,0x54,0x6b,0x5d,0x08,0x1a,0xb4,0xb8,0xa0,0x52,
- 0x45,0x2c,0x2e,0x68,0x5d,0x2a,0xc6,0x82,0x40,0x28,0x34,0x48,0x31,0x96,
- 0x96,0x1a,0xaa,0x88,0xd5,0x82,0x28,0x60,0x01,0x2b,0x8b,0x20,0x8b,0xec,
- 0xfb,0xe2,0x82,0x28,0x22,0xa4,0x96,0x36,0x61,0x7f,0xbc,0xe9,0x77,0xa6,
- 0x33,0xe9,0xf5,0xf0,0xa0,0x56,0xfa,0x8a,0x37,0xf9,0x85,0x97,0xf9,0x66,
- 0xe6,0x7c,0x33,0x73,0xef,0x39,0xe7,0x62,0x60,0xd0,0x6e,0xf4,0x00,0x1b,
- 0x80,0x2b,0x08,0x05,0xb9,0x20,0x5f,0xcf,0x64,0x82,0x8b,0xe0,0x08,0x30,
- 0x6f,0x6f,0xa9,0x9d,0xbf,0xf5,0xa0,0x0c,0x48,0x2a,0x7d,0xfa,0xf4,0x69,
- 0x33,0x35,0x35,0x6d,0xd5,0x27,0x46,0x46,0x46,0x5a,0x31,0x26,0x08,0x03,
- 0xd3,0x3a,0xf0,0x49,0xcf,0x23,0x19,0x1a,0x1a,0x6a,0x9d,0x9c,0x9c,0x6a,
- 0xc2,0xc3,0xc3,0x9f,0x54,0x54,0x54,0x94,0x48,0x92,0x54,0xa0,0x6f,0x34,
- 0x1a,0x4d,0x41,0x4e,0x4e,0x4e,0xf9,0x85,0x0b,0x17,0x9e,0x8d,0x1f,0x3f,
- 0xbe,0x99,0x7c,0xf4,0xe8,0xd1,0xa3,0x05,0x7f,0x17,0x32,0x8f,0x0e,0xa4,
- 0x4d,0x99,0x32,0xa5,0xb1,0xa6,0xa6,0xa6,0xf8,0xff,0xf0,0xd6,0x19,0x5e,
- 0x5e,0x5e,0x55,0x3d,0x7b,0xf6,0xd4,0xc2,0x6b,0x1d,0x7c,0xbd,0xa7,0x78,
- 0x34,0x03,0x6d,0x83,0x07,0x0f,0x6e,0x2d,0x29,0x29,0x29,0xed,0x6e,0x8f,
- 0x2a,0x7e,0x7e,0x7e,0xcf,0x95,0x39,0x10,0xad,0xf8,0xa4,0x35,0x23,0x39,
- 0x3b,0x3b,0xbf,0xec,0x6e,0x6f,0x9c,0xa9,0x53,0xa7,0x36,0xe2,0x9d,0x36,
- 0xc1,0x9f,0x31,0xf0,0x25,0x9f,0xd1,0xd1,0xd1,0x8f,0xbb,0xdb,0x17,0x67,
- 0xfb,0xf6,0xed,0xbf,0x2a,0xef,0x74,0x29,0xb8,0x4c,0xbf,0xcb,0xcb,0xcb,
- 0x69,0x5e,0xe6,0xe9,0xa2,0xb5,0xb5,0x35,0xcf,0xd2,0xd2,0xb2,0x6e,0xf4,
- 0xe8,0xd1,0xcd,0xbd,0x7a,0xf5,0xd2,0xd2,0xfa,0xec,0x0a,0xfd,0xfb,0xf7,
- 0xd7,0x4c,0x9f,0x3e,0xbd,0x01,0xeb,0xa6,0xb2,0xa3,0x98,0xc4,0xa9,0x53,
- 0xa7,0x5e,0x28,0x3e,0xd7,0xa8,0x3e,0xcb,0xca,0xca,0xf2,0xb5,0x5a,0x6d,
- 0x26,0x27,0x26,0x26,0xa6,0xa4,0x77,0xef,0xde,0x6d,0x6a,0xce,0xc0,0x6f,
- 0x69,0xd8,0xb0,0x61,0x5d,0x42,0xcc,0x41,0xd3,0xa6,0x4d,0xab,0xc7,0x7a,
- 0x6f,0x17,0x97,0x38,0x79,0xf2,0xe4,0x33,0xee,0xb3,0xb4,0xb4,0x34,0x1b,
- 0x5a,0x9a,0xc8,0x8b,0x17,0x2f,0x32,0xe9,0xfd,0x91,0xbe,0x62,0xc5,0x0a,
- 0xe9,0xc1,0x83,0x07,0x12,0x8e,0x4b,0x5d,0x1d,0xf0,0x25,0x45,0x46,0x46,
- 0x4a,0x63,0xc6,0x8c,0x91,0xbd,0xce,0x9f,0x3f,0xff,0x0f,0x1e,0x9b,0x38,
- 0x71,0xe2,0xc4,0x53,0x1d,0x3e,0x33,0x70,0x8b,0x64,0x11,0x6b,0x6b,0xeb,
- 0x6a,0xd2,0x56,0xaf,0x5e,0xdd,0x65,0x6f,0xba,0x46,0x55,0x55,0x95,0x84,
- 0x3c,0x43,0xb9,0x52,0xaa,0xae,0xae,0x4e,0xe3,0xf1,0x8f,0x1f,0x3f,0xfe,
- 0x84,0xfb,0x44,0x4e,0x4a,0x85,0x96,0x20,0x82,0x9c,0xdb,0x40,0xda,0xfd,
- 0xfb,0xf7,0xf5,0xe2,0x93,0xc6,0xae,0x5d,0xbb,0xe4,0x77,0x8a,0x6f,0x5c,
- 0xce,0xe3,0x1f,0x3b,0x76,0xec,0x21,0xf7,0x59,0x5c,0x5c,0x9c,0x04,0xed,
- 0x8e,0xc8,0xd0,0xa1,0x43,0x29,0x27,0x48,0xb5,0xb5,0xb5,0x7a,0xf3,0xe9,
- 0xe9,0xe9,0x29,0xfb,0xdc,0xba,0x75,0x6b,0x05,0x8f,0x7f,0xf4,0xe8,0xd1,
- 0x32,0x1d,0x3e,0xe3,0xa1,0xfd,0x2c,0xa2,0xfa,0x7c,0xf9,0xf2,0xa5,0xde,
- 0x7c,0xba,0xbb,0xbb,0xcb,0x3e,0xb7,0x6d,0xdb,0xf6,0x88,0xc7,0x3f,0x72,
- 0xe4,0x48,0x31,0xf7,0x59,0x54,0x54,0xf4,0x0b,0xb4,0x08,0x11,0xf8,0x6c,
- 0x24,0x0d,0xeb,0x49,0x6f,0x3e,0xcf,0x9e,0x3d,0xab,0xfa,0x7c,0xc8,0xe3,
- 0x1f,0x3e,0x7c,0xb8,0x90,0xfb,0x2c,0x2c,0x2c,0x8c,0x86,0x76,0x43,0x04,
- 0x3e,0xe5,0xf9,0x39,0x61,0xc2,0x04,0xaa,0xfd,0x7a,0x61,0xc8,0x90,0x21,
- 0xaa,0xcf,0x52,0x1e,0xff,0xd0,0xa1,0x43,0xf9,0xdc,0x67,0x41,0x41,0x41,
- 0x24,0x72,0xc1,0x75,0x11,0xd4,0xad,0x57,0xa4,0x0d,0x18,0x30,0xa0,0x69,
- 0xd0,0xa0,0x41,0x7a,0xa1,0x6f,0xdf,0xbe,0xad,0xca,0x3a,0xca,0xe2,0xf1,
- 0x0f,0x1c,0x38,0x90,0xab,0xc3,0x67,0x38,0x9e,0xe1,0x8a,0xc8,0xd2,0xa5,
- 0x4b,0x9f,0x2a,0xb5,0x2a,0x8c,0x6b,0x1d,0x51,0x5f,0x5f,0x7f,0xb5,0xa9,
- 0xa9,0x29,0xe4,0x4d,0xcf,0x47,0x5f,0x91,0x41,0x31,0x7c,0x7c,0x7c,0x92,
- 0xb8,0x86,0xfe,0x32,0x8b,0xfb,0xcc,0xcf,0xcf,0x0f,0x85,0xf6,0x83,0xc8,
- 0x92,0x25,0x4b,0x2a,0x94,0x5a,0x75,0x9d,0x6b,0xba,0xf0,0xf5,0xf5,0x8d,
- 0x47,0xbd,0xd2,0xa0,0xb7,0x6e,0x09,0x0a,0x0a,0x8a,0x7d,0x93,0x6b,0xf0,
- 0x6d,0xd3,0x29,0x86,0xb7,0xb7,0x77,0x22,0xd7,0xf6,0xef,0xdf,0x9f,0xc1,
- 0x7d,0xe6,0xe5,0xe5,0xfd,0x08,0xed,0x7b,0x11,0x0b,0x0b,0x8b,0x27,0x4a,
- 0x0d,0x08,0xe1,0x1a,0x27,0x22,0x22,0xe2,0x26,0xf5,0xd8,0xa8,0xdd,0xd4,
- 0x6b,0x53,0x7d,0x6d,0x45,0xef,0xdb,0xee,0x9e,0x9c,0x83,0x07,0x0f,0xa6,
- 0x52,0x0c,0xf4,0x9c,0x71,0x5c,0x73,0x74,0x74,0x4c,0xe7,0x3e,0x71,0xcf,
- 0x60,0xcc,0x89,0x00,0x91,0xc5,0x8b,0x17,0x3f,0x52,0x6a,0xc0,0x25,0xae,
- 0x89,0xb4,0xb5,0xb5,0x05,0x8c,0x1b,0x37,0x4e,0xee,0x6d,0xd0,0x0f,0x48,
- 0x81,0x81,0x81,0xf2,0xda,0xa0,0xeb,0x3b,0xbb,0x8e,0xc0,0xb7,0x4d,0xa6,
- 0x73,0x91,0x47,0xef,0x70,0xcd,0xc1,0xc1,0x21,0x85,0xfb,0xcc,0xce,0xce,
- 0x0e,0xc2,0x33,0xf8,0x8b,0x2c,0x5a,0xb4,0xe8,0xa1,0xe2,0xf3,0x22,0xd7,
- 0x44,0xdc,0xdc,0xdc,0x62,0xe8,0xbc,0x8d,0x1b,0x37,0xca,0xb9,0x86,0x7a,
- 0x80,0xd9,0xb3,0x67,0xcb,0xf5,0x30,0x36,0x36,0x36,0xa4,0xb3,0x6b,0xf1,
- 0x6d,0xef,0xd1,0xb5,0xc8,0xa3,0xd1,0x5c,0xdb,0xb3,0x67,0x4f,0xb2,0x0e,
- 0x9f,0x81,0xd0,0x7c,0x45,0x16,0x2e,0x5c,0x58,0xa6,0xd4,0x80,0x6f,0xb9,
- 0xa6,0xd2,0xd2,0xd2,0x72,0x6e,0xe4,0xc8,0x91,0xaf,0xd0,0xaf,0xd1,0xfc,
- 0x90,0xd4,0x11,0x1a,0x1a,0x2a,0xbf,0x53,0xac,0xc5,0xe2,0x8e,0xae,0x25,
- 0xf0,0x6d,0xe3,0xe9,0x3c,0xe4,0xd1,0x28,0xae,0xd9,0xdb,0xdb,0xdf,0xe3,
- 0x3e,0xb3,0xb2,0xb2,0x02,0xa0,0x79,0x8b,0x2c,0x58,0xb0,0xa0,0x54,0xa9,
- 0x01,0x17,0xb8,0xa6,0x82,0xf5,0x1a,0xa3,0xd4,0x3d,0x49,0x1c,0x98,0x0b,
- 0xd2,0x8c,0x19,0x33,0xe4,0x7d,0x61,0x6a,0x6a,0xea,0x77,0x1d,0x5d,0x8f,
- 0x6f,0x7b,0x97,0xae,0x77,0x75,0x75,0x8d,0xe0,0xda,0xee,0xdd,0xbb,0xe3,
- 0xb9,0xcf,0x8c,0x8c,0x8c,0xf3,0xd0,0x3c,0x45,0xcc,0xcd,0xcd,0x4b,0x94,
- 0x1a,0xf0,0x35,0xd7,0x88,0xcb,0x97,0x2f,0x5f,0x42,0xdf,0xa7,0xe9,0xd7,
- 0xaf,0x9f,0x84,0xbd,0xa9,0xc4,0x47,0x70,0x70,0xb0,0xfc,0x4e,0xd1,0xbf,
- 0xd5,0xa0,0x47,0xf0,0xd1,0x75,0x0f,0x7c,0xdb,0x3b,0x74,0xce,0x99,0x33,
- 0x67,0xc2,0xb9,0xb6,0x73,0xe7,0xce,0xbb,0xdc,0x27,0x7a,0xcb,0x73,0xd0,
- 0x5c,0x45,0xe6,0xcd,0x9b,0x57,0xa4,0xe4,0xd6,0xaf,0xb8,0x96,0x90,0x90,
- 0xe0,0x0f,0x7f,0x0d,0xd8,0x17,0x4a,0x58,0xeb,0xed,0x3c,0xaa,0x03,0xb1,
- 0x64,0xaf,0xb8,0x57,0x31,0xde,0xb1,0x1b,0xbf,0x0f,0xbe,0x2d,0xed,0xd3,
- 0xa4,0xd3,0xa7,0x4f,0x87,0x72,0x6d,0xc7,0x8e,0x1d,0xb1,0xdc,0x67,0x7a,
- 0x7a,0x3a,0x3d,0xef,0x69,0x91,0xb9,0x73,0xe7,0x16,0x2a,0x39,0xeb,0x4b,
- 0xf1,0x78,0x5d,0x5d,0x9d,0xab,0x99,0x99,0x99,0xbc,0xbe,0xfd,0xfd,0xfd,
- 0x3b,0xf4,0x48,0xa3,0xb9,0xb9,0x59,0x42,0x1e,0x96,0xbd,0x6e,0xde,0xbc,
- 0xf9,0x0e,0x8f,0x81,0xbe,0xee,0x36,0x69,0xd8,0x63,0x5c,0xe3,0x1a,0x6a,
- 0x69,0x34,0xf7,0x89,0x39,0xe4,0x05,0xed,0xa4,0xc8,0x9c,0x39,0x73,0xe4,
- 0xfa,0x9a,0x9b,0x9b,0xeb,0x21,0x1e,0x5f,0xb6,0x6c,0x99,0x9c,0xd7,0xf6,
- 0xee,0xdd,0xdb,0xa9,0x47,0x75,0xa0,0x46,0x49,0x58,0x6b,0x5a,0xbc,0x7b,
- 0x4d,0x58,0x58,0x98,0x9f,0x78,0x2f,0x3b,0x3b,0xbb,0x08,0xa5,0x6e,0x86,
- 0xf0,0xf8,0xb6,0xb6,0xb6,0xb7,0xb9,0xcf,0x94,0x94,0x14,0x77,0x68,0x9f,
- 0x89,0x20,0xb7,0xe4,0x29,0xb9,0xd5,0x4d,0x3d,0x56,0x59,0x59,0xe9,0xa2,
- 0xf6,0x26,0xf4,0xae,0x68,0x50,0x1e,0xa2,0x9e,0x0a,0x39,0x43,0xde,0x4f,
- 0x24,0x27,0x27,0x4b,0x38,0xef,0xb5,0x3d,0x4a,0x78,0x78,0xb8,0xfa,0xfd,
- 0x73,0xc4,0x18,0xd8,0x53,0xde,0xa4,0xe3,0xe8,0xdd,0x83,0x79,0xfc,0x2d,
- 0x5b,0xb6,0x44,0x72,0x9f,0xb8,0xf7,0x17,0xd0,0x0e,0x89,0xe0,0x9e,0xf4,
- 0xff,0x29,0x29,0x2a,0x2a,0xca,0x43,0x3d,0x86,0x35,0x75,0x0a,0x6b,0x58,
- 0xde,0xd7,0x0d,0x1c,0x38,0x50,0x6b,0x62,0x62,0xf2,0xda,0xbe,0x4c,0x84,
- 0xf2,0xe7,0xc4,0x89,0x13,0xe5,0x75,0x3f,0x73,0xe6,0x4c,0xf9,0xd8,0xe4,
- 0xc9,0x93,0x4b,0xc5,0x18,0xeb,0xd6,0xad,0x93,0xdf,0x99,0x8b,0x8b,0x4b,
- 0x20,0x8f,0x6f,0x63,0x63,0x73,0x93,0xfb,0x4c,0x4a,0x4a,0x72,0x81,0xf6,
- 0xa9,0x08,0x9e,0xe7,0x27,0xd2,0x36,0x6c,0xd8,0x70,0x4b,0x3c,0xee,0xe1,
- 0xe1,0x71,0x7e,0xec,0xd8,0xb1,0x8f,0xb0,0x77,0xac,0x1a,0x31,0x62,0xc4,
- 0xb3,0x51,0xa3,0x46,0x3d,0x85,0x8f,0x1c,0xd4,0xd9,0xa4,0xb5,0x6b,0xd7,
- 0x46,0xae,0x5c,0xb9,0xf2,0xee,0xac,0x59,0xb3,0xb2,0xb1,0xce,0x9f,0xa0,
- 0x8e,0xd6,0x19,0x1b,0x1b,0xd3,0x7a,0xd3,0x60,0x2f,0x54,0x8b,0xba,0xef,
- 0xa5,0xde,0x07,0xfb,0x6d,0x27,0xba,0x5e,0xc9,0x37,0x9f,0xf3,0xf8,0x9b,
- 0x36,0x6d,0xba,0xc1,0x7d,0x26,0x26,0x26,0xd2,0x9c,0x70,0x10,0x49,0x4b,
- 0x4b,0x3b,0x8e,0xbc,0xd3,0x8c,0xf7,0xa2,0x5d,0xb5,0x6a,0x55,0x64,0x63,
- 0x63,0xa3,0x23,0x3f,0xe7,0x6d,0x41,0x0f,0x76,0x18,0x7b,0x62,0xb9,0x6f,
- 0xa3,0xbf,0xba,0xce,0xc1,0x3e,0x32,0x94,0xfb,0x8c,0x8f,0x8f,0xa7,0x39,
- 0x61,0xcf,0x41,0xbf,0xe5,0x45,0x5e,0xe9,0x1c,0xd4,0x9c,0x96,0x49,0x93,
- 0x26,0x15,0xa0,0xbf,0xcd,0xeb,0x0a,0xe8,0xbf,0x9f,0xab,0x73,0x07,0xdf,
- 0xa4,0x12,0xfb,0x1a,0x47,0x5d,0xb1,0xad,0xac,0xac,0xae,0x71,0x9f,0x71,
- 0x71,0x71,0xce,0xd0,0xec,0x74,0x81,0xbe,0x6e,0x1f,0xe6,0x6a,0x22,0xfa,
- 0x5a,0xda,0x27,0xf3,0xff,0x55,0xfe,0x6b,0xf0,0x7d,0xda,0x30,0x27,0xca,
- 0x2c,0x2d,0x2d,0x6f,0xa0,0x57,0xdd,0xd5,0x51,0x5c,0xcc,0xdd,0xab,0x82,
- 0xcf,0x6f,0xe8,0x77,0x40,0x40,0x00,0xcd,0x0f,0xdb,0x7f,0x02,0xb9,0x73,
- 0x07,0xea,0xf8,0x27,0x6f,0x0b,0x9e,0xd9,0xfe,0x4d,0xe2,0x10,0xcb,0x97,
- 0x2f,0xbf,0xa5,0xf8,0x7c,0x1f,0x6c,0xa5,0xdf,0x6b,0xd6,0xac,0xa1,0x7e,
- 0xc9,0xe6,0x5d,0x02,0x6b,0x8c,0xfa,0x0b,0x0d,0x18,0x00,0xc6,0x93,0x4f,
- 0x53,0x53,0xd3,0x2a,0xd4,0xe8,0x8f,0xa1,0x5b,0xbf,0x0b,0xf8,0xf9,0xf9,
- 0x1d,0xc5,0xfc,0x20,0x8f,0x69,0x06,0x7f,0x8f,0x73,0xe4,0x15,0xb9,0x26,
- 0xb3,0xa1,0xa1,0xc1,0x0a,0xe7,0xad,0xef,0x4e,0x90,0xbb,0x1c,0xb1,0x76,
- 0xeb,0xe1,0x89,0xf6,0x78,0x16,0x82,0x4f,0x23,0x83,0xbf,0xfe,0x6f,0x4b,
- 0xfb,0x85,0xdf,0xd1,0xef,0x7a,0xa3,0xd6,0x7d,0x84,0x6b,0x3e,0xfc,0x3f,
- 0x41,0xaf,0xb0,0x0f,0x79,0x37,0x52,0x79,0x8f,0x34,0x2f,0xed,0x0d,0xda,
- 0x0f,0x13,0x70,0x06,0x34,0xaa,0xeb,0x12,0x9e,0x7f,0x1b,0x3e,0x7c,0x78,
- 0x2e,0xc8,0xd1,0x27,0xc8,0x4d,0xf9,0x94,0x03,0x84,0x9c,0x50,0x09,0x3e,
- 0xd0,0xe1,0x51,0x1c,0xfd,0x14,0xbf,0x54,0x5b,0x1f,0xff,0x17,0x79,0xe8,
- 0x0d,0xa0,0xf7,0x97,0x03,0xae,0x00,0x27,0x60,0xc8,0x4d,0xfd,0x09,0xc2,
- 0x58,0x25,0x81
-};
-
-// keep_above.png
-static const unsigned char image_4_data[] = {
- 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x99,0x6b,0x4c,0x54,0x47,0x14,0xc7,
- 0x57,0xf1,0x81,0xe2,0x03,0x71,0xf1,0x85,0x8a,0xf8,0x16,0xc5,0xf7,0x03,
- 0xe5,0x83,0xb1,0xfa,0xc5,0x17,0x35,0xda,0x0f,0x0d,0x41,0xd3,0x10,0x5a,
- 0x62,0x93,0x26,0x6d,0x08,0x58,0x8c,0xb5,0xd4,0x3e,0x68,0x81,0x60,0xb4,
- 0xa8,0x24,0x85,0x56,0xa2,0xb5,0x08,0x02,0xb1,0x46,0x2d,0x52,0x8b,0x0a,
- 0xc5,0xb4,0xe9,0x23,0xed,0xea,0x56,0x40,0x40,0x11,0x76,0x81,0x5d,0x40,
- 0x14,0x5c,0xd8,0x95,0xbd,0xfd,0x9f,0x75,0x86,0x4e,0x67,0xef,0x22,0xa5,
- 0xae,0x78,0x93,0x5f,0x80,0x73,0xee,0xcc,0xfc,0x77,0xe6,0x9c,0x33,0x33,
- 0x8b,0x46,0xe3,0xf4,0xf8,0x81,0x48,0x70,0x04,0xfc,0x04,0x6e,0x3c,0x07,
- 0x0a,0xc1,0x61,0x10,0x01,0x7c,0x9d,0x25,0x75,0x3f,0xde,0xe0,0x33,0x60,
- 0x01,0x0a,0x67,0xd4,0xa8,0x51,0x36,0x77,0x23,0x8e,0x07,0x1e,0x80,0x7d,
- 0xc0,0x4b,0xd2,0xe7,0x33,0x60,0xc0,0x80,0xbb,0x4c,0xd3,0xe3,0xe4,0xe4,
- 0x64,0x43,0x71,0x71,0x71,0xa5,0xd5,0x6a,0xd5,0x2b,0x8a,0x72,0xd3,0xdd,
- 0x74,0x76,0x76,0xea,0x8b,0x8a,0x8a,0xaa,0x12,0x12,0x12,0x8c,0xc3,0x87,
- 0x0f,0x7f,0xcc,0xb4,0xde,0x14,0x74,0x7a,0x82,0x52,0xb2,0x87,0x87,0x87,
- 0x37,0x3f,0x2f,0x5d,0xae,0xb0,0x58,0x2c,0xfa,0xd0,0xd0,0xd0,0xfb,0x4c,
- 0xe7,0x39,0xe0,0x01,0xde,0xa6,0xbf,0xb7,0x6e,0xdd,0xda,0x6a,0xb7,0xdb,
- 0xfb,0x4d,0x9b,0x08,0xcd,0x53,0x48,0x48,0x48,0x1b,0xd3,0x19,0x06,0x2e,
- 0xd0,0xef,0x55,0x55,0x55,0x65,0xfd,0xad,0x4d,0xa4,0xa4,0xa4,0xa4,0x92,
- 0x69,0xfc,0x8a,0x72,0xc4,0xdf,0xdf,0xbf,0xb3,0xbf,0x35,0xc9,0xd8,0x6c,
- 0xb6,0x9b,0x23,0x47,0x8e,0xa4,0xd8,0x74,0x68,0x5d,0xb3,0x66,0xcd,0x43,
- 0xd8,0x75,0xae,0x30,0x1a,0x8d,0xfa,0x15,0x2b,0x56,0xb4,0xf9,0xf8,0xf8,
- 0xd8,0x06,0x0d,0x1a,0x64,0xff,0x3f,0x0c,0x1e,0x3c,0xd8,0xae,0xd5,0x6a,
- 0x6d,0x34,0x66,0x4b,0x4b,0x8b,0xbe,0xa7,0x71,0x67,0xcd,0x9a,0x65,0x41,
- 0x2e,0x3b,0x62,0x73,0xf5,0xea,0xd5,0x0f,0x10,0x8b,0xbf,0xa9,0xb1,0x73,
- 0xe7,0x4e,0x93,0x58,0x1b,0x46,0x8f,0x1e,0xad,0x8c,0x1b,0x37,0xae,0xcf,
- 0x8c,0x18,0x31,0x42,0xac,0x33,0x4a,0x4c,0x4c,0x8c,0xc1,0xd5,0xd8,0xa2,
- 0xc6,0xe0,0xe0,0x60,0xca,0x97,0x9f,0x65,0x92,0x92,0x92,0xaa,0xf1,0x8e,
- 0xe2,0xe5,0xe5,0xa5,0x64,0x66,0x66,0x2a,0x98,0x4f,0xe5,0x59,0x3c,0x3a,
- 0x9d,0x4e,0x89,0x8b,0x8b,0x53,0x30,0xa7,0x0a,0xf5,0x7f,0xfa,0xf4,0xe9,
- 0x32,0xb5,0xf1,0x67,0xce,0x9c,0xf9,0x88,0x6b,0x5c,0xb5,0x6a,0xd5,0x7d,
- 0x34,0x2d,0x95,0x41,0x3c,0xd8,0xa8,0x8f,0xab,0x57,0xaf,0x3e,0x13,0x6d,
- 0xf2,0x73,0xf4,0xe8,0x51,0xc7,0x5c,0xfa,0xf9,0xf9,0x59,0xd4,0xc6,0x87,
- 0xc6,0x76,0xae,0x71,0xe5,0xca,0x95,0x2d,0xb0,0x5d,0x13,0x69,0x6b,0x6b,
- 0x2b,0x21,0x7d,0x73,0xe7,0xce,0x75,0x8b,0x3e,0x7a,0x50,0x63,0x14,0xd4,
- 0x6c,0xc5,0xc3,0xc3,0xc3,0x2e,0x8f,0x4f,0xcc,0x98,0x31,0xa3,0x8d,0x6b,
- 0x44,0x3e,0x34,0xc3,0xf6,0x83,0x48,0x79,0x79,0xf9,0x8f,0xe4,0xdb,0xb2,
- 0x65,0x8b,0xdb,0x34,0xd2,0x33,0x7f,0xfe,0x7c,0xc7,0x7a,0xe3,0xb9,0x2c,
- 0x33,0x7d,0xfa,0xf4,0x6e,0x8d,0xcb,0x97,0x2f,0x6f,0x82,0xad,0x40,0xa4,
- 0xa2,0xa2,0xe2,0x0a,0xf9,0x36,0x6f,0xde,0xec,0x56,0x8d,0xf3,0xe6,0xcd,
- 0xe3,0x1a,0x0b,0x64,0x02,0x02,0x02,0x1e,0x72,0x8d,0xcb,0x96,0x2d,0x33,
- 0xc3,0x76,0x5e,0x04,0x35,0xfd,0x7b,0xf2,0x6d,0xdc,0xb8,0xd1,0xad,0x1a,
- 0xe7,0xcc,0x99,0xc3,0x35,0x9e,0x97,0x81,0xc6,0x07,0x82,0x46,0x13,0x6c,
- 0x67,0x45,0xaa,0xab,0xab,0xbf,0x23,0x1f,0xc5,0x0b,0x6a,0x80,0xdb,0xe0,
- 0xb9,0x2d,0x8f,0x4f,0x4c,0x9b,0x36,0xad,0x5b,0xe3,0x92,0x25,0x4b,0x1a,
- 0x90,0xeb,0xb9,0x22,0x26,0x93,0xe9,0x2c,0xf9,0xd0,0x47,0xd7,0x98,0x31,
- 0x63,0x3a,0xdc,0x05,0xd5,0x75,0xca,0x19,0x79,0x7c,0x02,0xfb,0x5f,0x2b,
- 0xd7,0xb8,0x78,0xf1,0xe2,0x7a,0xe8,0xce,0x12,0x31,0x9b,0xcd,0x67,0x58,
- 0x3e,0x19,0x64,0x5f,0x4f,0x60,0xef,0x38,0xd3,0xd5,0xd5,0xd5,0xeb,0xf7,
- 0x91,0xbb,0xcd,0x43,0x87,0x0e,0xb5,0xa9,0xf9,0xa0,0xf1,0x3e,0xd7,0xb8,
- 0x68,0xd1,0x22,0x2a,0xce,0x27,0x45,0xa0,0x31,0x8b,0xe5,0x53,0x9d,0xec,
- 0x53,0xa3,0xbd,0xbd,0xfd,0x54,0x58,0x58,0x18,0x9d,0xf9,0x94,0xa9,0x53,
- 0xa7,0xb6,0x54,0x56,0x56,0x9e,0xe9,0x4d,0x3b,0xe4,0x6e,0x13,0xd3,0xe8,
- 0xe4,0xa3,0x7e,0xb8,0xc6,0x85,0x0b,0x17,0xd2,0x5c,0x1d,0x17,0x81,0xc6,
- 0xaf,0x59,0xac,0xd6,0xca,0x3e,0x35,0x76,0xec,0xd8,0xa1,0x67,0x67,0x64,
- 0x0b,0x9b,0xff,0x7b,0xbd,0x69,0x87,0xbc,0xe0,0x1a,0x9d,0x7c,0x53,0xa6,
- 0x4c,0xe9,0xd6,0x18,0x14,0x14,0x54,0x87,0xf5,0x4f,0x17,0x69,0x6c,0x6c,
- 0xcc,0x64,0xb1,0x7a,0x4f,0xf6,0xc9,0x5c,0xba,0x74,0x29,0x0f,0x7d,0xd9,
- 0xc7,0x8f,0x1f,0xdf,0x8a,0xb5,0x3e,0x8e,0x7a,0x62,0xa4,0xb6,0x69,0x69,
- 0x69,0x05,0x4f,0x6b,0x8b,0xbc,0x30,0x93,0x46,0x35,0x1f,0x34,0x36,0x73,
- 0x8d,0x0b,0x16,0x2c,0xa0,0xb9,0x3a,0x26,0x02,0x8d,0xe9,0x2c,0x56,0xef,
- 0xca,0x3e,0x19,0xc4,0x4a,0x0d,0xbd,0x9b,0x9e,0x9e,0x7e,0x8e,0xfe,0xc6,
- 0xb9,0xdf,0x11,0x27,0x88,0xb5,0x86,0xa7,0xb5,0x45,0xcc,0x99,0xd8,0x3c,
- 0x3a,0xf9,0x26,0x4f,0x9e,0xdc,0xc4,0x35,0xa2,0xd6,0xd3,0xba,0x7c,0x2e,
- 0x02,0x8d,0x69,0x2c,0x56,0xef,0xc8,0x3e,0x91,0xac,0xac,0x2c,0x47,0x6e,
- 0x61,0xee,0x6a,0x45,0x3b,0xe2,0xb8,0x8a,0xec,0x19,0x19,0x19,0xf9,0x3d,
- 0xb5,0x87,0xc6,0xc6,0x21,0x43,0x86,0x58,0xd5,0x7c,0xd8,0xc7,0xcd,0x5c,
- 0x63,0x60,0x60,0x60,0x0d,0x6c,0x07,0x45,0xa0,0x31,0x95,0xc5,0x6a,0xb5,
- 0xec,0xe3,0x20,0x7f,0x0f,0x62,0xdf,0x37,0xd0,0x7b,0x27,0x4e,0x9c,0xc8,
- 0x16,0x7d,0xd9,0xd9,0xd9,0xdf,0x90,0x7d,0xf6,0xec,0xd9,0xb5,0xae,0xda,
- 0x13,0xc8,0x8b,0x06,0xa6,0xd1,0xc9,0x27,0x6a,0xc4,0x1c,0xd0,0x7a,0x26,
- 0x89,0x34,0x34,0x34,0x1c,0x62,0xb1,0x5a,0x25,0xfb,0x38,0x9b,0x36,0x6d,
- 0xfa,0x95,0xc5,0xc3,0x6d,0x35,0x3f,0x62,0xa8,0x9a,0xfc,0xbb,0x76,0xed,
- 0x2a,0x76,0xd5,0x07,0x62,0x8e,0x6b,0x74,0xf2,0x4d,0x9a,0x34,0xc9,0xc4,
- 0x35,0xe2,0x6c,0x43,0x73,0xf5,0x89,0x48,0x7d,0x7d,0x7d,0x32,0x8b,0xd5,
- 0x4a,0xd9,0x47,0x44,0x45,0x45,0xd1,0xbd,0x5d,0x99,0x30,0x61,0x82,0xa9,
- 0xa6,0xa6,0x26,0x45,0xed,0x1d,0xbd,0x5e,0x7f,0xc8,0xdb,0xdb,0x9b,0xea,
- 0xb0,0x3d,0x31,0x31,0x31,0x47,0xed,0x1d,0xc4,0x5c,0x3d,0xd3,0xe8,0xe4,
- 0x9b,0x38,0x71,0x62,0x23,0xc6,0x68,0xa1,0x71,0xb0,0x67,0xd2,0x5c,0x1d,
- 0x10,0xc1,0x79,0xf6,0x53,0x16,0xab,0xb7,0x65,0x5f,0x6a,0x6a,0xea,0x49,
- 0xf2,0xe1,0x7c,0xf9,0xf0,0xfa,0xf5,0xeb,0x87,0x65,0xbf,0x48,0x4e,0x4e,
- 0xce,0x17,0xd8,0xab,0xac,0xd8,0x4b,0xba,0x90,0x4b,0xa9,0xb2,0x1f,0x1a,
- 0x8d,0x4c,0xa3,0x53,0x5b,0x7c,0xfe,0x06,0xae,0x11,0x31,0x43,0x73,0xb5,
- 0x5f,0x04,0x1a,0x3f,0x62,0xb1,0x5a,0x2e,0xda,0x51,0x9b,0x13,0x70,0x2e,
- 0x6f,0x1b,0x38,0x70,0x60,0x17,0x62,0xee,0x98,0xdc,0x4e,0x8d,0xd8,0xd8,
- 0xd8,0x5c,0xea,0x0b,0xb5,0xf0,0x2e,0xee,0xfb,0xef,0x8b,0x3e,0xc4,0x9c,
- 0x01,0x9f,0xa1,0x53,0xad,0x9d,0xa8,0x11,0x7b,0x3b,0xcd,0xd5,0x5e,0x11,
- 0x83,0xc1,0x10,0xcf,0x62,0xb5,0x4c,0xb4,0x47,0x46,0x46,0x7e,0x4b,0xf6,
- 0xed,0xdb,0xb7,0x5f,0xe6,0x36,0x8c,0xbb,0xaf,0xb8,0xb8,0x38,0x09,0xf7,
- 0x89,0x63,0xb8,0x5f,0x1c,0xcf,0xcb,0xcb,0x3b,0x8c,0xcf,0xf2,0xa1,0xd8,
- 0x8e,0xfa,0xa1,0x76,0x29,0x29,0x29,0x5f,0x8a,0x76,0xc4,0x5c,0x1d,0xd3,
- 0xb8,0x57,0x06,0xf5,0xb6,0x9e,0x6b,0x44,0x6e,0x56,0xc0,0x16,0x23,0x82,
- 0x5a,0x1c,0xc7,0xf6,0xb5,0x3b,0xa2,0x1d,0x77,0x30,0x87,0x46,0xac,0x9d,
- 0x0d,0x75,0xcd,0x42,0xfd,0x4b,0xdf,0xd7,0x74,0x43,0x71,0x88,0xbb,0xa4,
- 0x19,0x63,0x19,0x70,0xd7,0xa2,0xef,0x71,0x94,0xe8,0xe8,0xe8,0x53,0x62,
- 0x7f,0x38,0x57,0x98,0x87,0x0d,0x1b,0xd6,0x2e,0x8f,0x4f,0xe0,0x8e,0x66,
- 0xe4,0x1a,0x51,0x6b,0x69,0x3d,0xdf,0x91,0xc1,0x5c,0xd7,0x62,0x9c,0x2e,
- 0xdc,0xc7,0x0f,0x70,0x1b,0xce,0x43,0xb1,0xc8,0xe7,0x42,0xf2,0xa1,0x0f,
- 0x03,0xfd,0x44,0xfb,0xb2,0xa5,0x4b,0x97,0xfe,0xb2,0x7e,0xfd,0xfa,0x2b,
- 0x98,0xdf,0x0b,0x21,0x21,0x21,0xa5,0x88,0x71,0x3d,0xf9,0xa1,0xad,0x15,
- 0xf1,0x66,0xc1,0xe7,0x79,0xb4,0x61,0xc3,0x86,0xa2,0x8e,0x8e,0x8e,0x68,
- 0xde,0x57,0x6e,0x6e,0x6e,0x22,0x8b,0xb5,0xbf,0xd4,0xc6,0xa7,0xf6,0x5c,
- 0x23,0xf6,0x75,0x5a,0xcf,0xb7,0x64,0x22,0x22,0x22,0x1c,0xfb,0xc5,0xd8,
- 0xb1,0x63,0x8d,0x85,0x85,0x85,0x1f,0xa8,0xbd,0xd3,0x57,0xf2,0xf3,0xf3,
- 0x3f,0xc6,0xde,0xde,0x44,0xfd,0x27,0x24,0x24,0x1c,0x51,0x7b,0xc7,0xd7,
- 0xd7,0xb7,0x5b,0x23,0x62,0xf9,0x16,0x6c,0xbb,0xd5,0xc0,0x7e,0x51,0xca,
- 0xd7,0x0e,0x7d,0x9a,0x11,0xbb,0x37,0x80,0xae,0xaf,0x20,0xae,0x6e,0xd0,
- 0xbc,0xf2,0x3e,0x43,0x43,0x43,0xcf,0xba,0x1a,0x5b,0xab,0xd5,0xd6,0x71,
- 0x8d,0xd8,0xd7,0x69,0xae,0x5f,0x77,0x05,0xf2,0x77,0x3f,0xfa,0xfe,0x13,
- 0x71,0xd3,0xea,0x2a,0xf6,0xfe,0x0b,0xa8,0x0b,0x2d,0x88,0x85,0xdf,0x2f,
- 0x5e,0xbc,0xb8,0xb7,0xa7,0x71,0xb1,0x7e,0xb5,0x4c,0xe3,0x63,0xe8,0xa5,
- 0xbd,0xf0,0xb5,0xde,0x80,0x7a,0x1d,0x85,0x3b,0xe3,0x9b,0x7d,0xa5,0xae,
- 0xae,0xee,0x8d,0xde,0x8e,0xe5,0xe9,0xe9,0x49,0x79,0x46,0x3a,0xaf,0x51,
- 0xfe,0xe9,0x74,0xba,0x28,0xd8,0xc3,0x5f,0x14,0x50,0xfb,0x63,0xd8,0xbc,
- 0xe7,0x00,0x47,0x1d,0x5c,0xbb,0x76,0x6d,0x2e,0x7c,0xaf,0xbe,0x28,0x60,
- 0x7f,0x2e,0x61,0x1a,0x77,0x03,0x2d,0x9b,0x4f,0x3b,0xce,0xfa,0xb4,0x57,
- 0xbd,0xd2,0xdf,0xac,0x5b,0xb7,0x2e,0x8b,0xe9,0xbb,0xa5,0xf9,0xe7,0xfb,
- 0xe6,0x20,0xcd,0x93,0xef,0xca,0x15,0xc4,0x66,0x59,0x7c,0x7c,0xfc,0xbb,
- 0x36,0x9b,0x6d,0x1b,0xde,0x7f,0xf9,0x79,0x61,0xb5,0x5a,0xb7,0xed,0xd9,
- 0xb3,0xe7,0x3d,0x9c,0x41,0xee,0x30,0x7d,0xb4,0x0f,0xfa,0x6b,0xfe,0xfd,
- 0x04,0x82,0x02,0x21,0xff,0xec,0xa8,0xbf,0xb5,0xd8,0x23,0xfe,0x70,0x37,
- 0xc8,0x73,0xa3,0x38,0x2e,0xa0,0x73,0x73,0x80,0xc6,0xf5,0xf3,0x12,0xa0,
- 0xf3,0x2d,0x7d,0xdf,0xd3,0xf1,0x2c,0x6a,0x4d,0x2f,0x78,0x44,0xb9,0xab,
- 0x79,0xf2,0x3f,0x9a,0x60,0x59,0xd0,0xdf,0x12,0xee,0x16,0x45
-};
-
-// keep_below_lit.png
-static const unsigned char image_5_data[] = {
- 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x79,0x4c,0x54,0x57,0x14,0xc6,
- 0xc1,0x05,0x51,0x5c,0x41,0x05,0x94,0x62,0xdc,0x77,0x5c,0xc0,0x7d,0x01,
- 0x97,0x3f,0x30,0xc6,0x96,0xc4,0xaa,0x98,0x34,0x15,0x1b,0x68,0xda,0x26,
- 0x35,0x69,0x4c,0x0d,0x45,0x5b,0x1b,0x44,0x25,0xb4,0x0d,0x18,0x0b,0x88,
- 0x69,0x6d,0x69,0xdd,0xab,0x2d,0x26,0x4a,0x34,0xed,0x34,0x20,0x55,0x42,
- 0x01,0xed,0x80,0x33,0x30,0x2c,0xca,0x32,0x3a,0x53,0x06,0x65,0x44,0x66,
- 0x86,0x6d,0xe6,0xf6,0x3b,0xcf,0xf7,0xcc,0xf3,0xf2,0x06,0x0d,0x74,0x94,
- 0x97,0xfc,0x32,0x70,0xcf,0xbd,0xf7,0x7c,0x73,0xef,0xb9,0xe7,0x9e,0x37,
- 0x6e,0x6e,0x5d,0x1e,0x6f,0xb0,0x13,0xa4,0x80,0x6b,0xe0,0xce,0x2b,0xa0,
- 0x00,0xa4,0x83,0x68,0x10,0xd8,0x55,0xd2,0xb3,0xc7,0x13,0xec,0x01,0x4d,
- 0x80,0x49,0x0c,0x1f,0x3e,0xbc,0xc3,0xd5,0xc8,0xfd,0x81,0x36,0x90,0x0c,
- 0x7c,0x14,0xf4,0xdd,0xa2,0x3e,0x83,0x07,0x0f,0xb6,0x27,0x24,0x24,0x18,
- 0x54,0x2a,0xd5,0x5d,0x9b,0xcd,0xa6,0x65,0x8c,0x69,0x5c,0x4d,0x7b,0x7b,
- 0xbb,0xf6,0xc6,0x8d,0x1b,0xd5,0xc9,0xc9,0xc9,0x0f,0x46,0x8d,0x1a,0x25,
- 0x68,0x76,0x77,0x77,0x37,0xe0,0xd3,0x57,0xd4,0xe7,0x0e,0xce,0x53,0x7b,
- 0x78,0x78,0x78,0xb3,0xc5,0x62,0x79,0x25,0xba,0x9c,0xd1,0xd1,0xd1,0xa1,
- 0x8d,0x8e,0x8e,0x7e,0x28,0xae,0x29,0xad,0x9b,0x17,0x78,0x93,0xfe,0x0f,
- 0x0e,0x0e,0xb6,0x58,0xad,0xd6,0xd7,0xaa,0x4f,0xce,0xb6,0x6d,0xdb,0xa4,
- 0x98,0xdb,0x07,0x8e,0xd2,0xdf,0x57,0xaf,0x5e,0xbd,0xf7,0xba,0x75,0xc9,
- 0x69,0x68,0x68,0x28,0xc7,0x7e,0x3b,0xa0,0x2d,0x17,0xa8,0x07,0x0d,0x1a,
- 0x64,0xef,0x4b,0x6b,0x28,0x31,0x73,0xe6,0x4c,0x1b,0xf4,0x51,0x7c,0xea,
- 0x03,0x02,0x02,0xda,0xd0,0x56,0xea,0x0c,0xb3,0xd9,0xac,0x59,0xb9,0x72,
- 0xe5,0x93,0x31,0x63,0xc6,0x74,0x0c,0x1c,0x38,0xd0,0x31,0x60,0xc0,0x80,
- 0x5e,0x41,0xe7,0x22,0x24,0x24,0xa4,0x45,0xaf,0xd7,0x6b,0xbb,0xf3,0xbb,
- 0x7e,0xfd,0xfa,0xc7,0xe2,0x7e,0xeb,0xc7,0x8f,0x1f,0xdf,0xe6,0x70,0x38,
- 0x6e,0x29,0xb1,0x77,0xef,0x5e,0x3d,0xd6,0xfc,0x59,0x6e,0x18,0x3a,0x74,
- 0x28,0x1b,0x3b,0x76,0x6c,0x8f,0x19,0x31,0x62,0x84,0x3c,0xcf,0x30,0xc4,
- 0x9d,0xc9,0x99,0xef,0x75,0xeb,0xd6,0x99,0x25,0x8d,0xe3,0xc6,0x8d,0x6b,
- 0x45,0xdb,0xdf,0x3c,0x59,0x59,0x59,0x14,0x13,0x0c,0x6b,0xc7,0x62,0x63,
- 0x63,0x59,0x69,0x29,0x7d,0xbd,0xde,0x3f,0x46,0xa3,0x91,0x65,0x66,0x66,
- 0x32,0x2f,0x2f,0x2f,0xca,0x31,0x0c,0xb9,0xae,0x56,0xc9,0xff,0xda,0xb5,
- 0x6b,0x9b,0xe4,0x1a,0x31,0xf4,0x26,0xcf,0x84,0x09,0x13,0xac,0xd4,0x27,
- 0x35,0x35,0xf5,0x7f,0xd1,0xc6,0x3f,0xb9,0xb9,0xb9,0x82,0x46,0x68,0xed,
- 0x54,0xf2,0xbf,0x66,0xcd,0x9a,0x87,0x32,0x8d,0x36,0xb4,0x5d,0xe7,0xc1,
- 0xfa,0xd9,0x87,0x0c,0x19,0xc2,0x90,0x63,0x5d,0xa2,0x91,0x1e,0x9c,0x0b,
- 0x41,0xa7,0xc9,0x64,0xba,0xc9,0xfb,0x0f,0x0b,0x0b,0x6b,0x94,0x34,0xfa,
- 0xfb,0xfb,0x93,0x46,0x15,0x4f,0xbf,0x7e,0xfd,0xd8,0xac,0x59,0xb3,0x5c,
- 0xa6,0x8f,0x9e,0x4d,0x9b,0x36,0x09,0x71,0x59,0x54,0x54,0x94,0xcf,0xfb,
- 0x0f,0x0d,0x0d,0x35,0xc9,0x34,0x5a,0xd1,0x76,0x8d,0x87,0x34,0xce,0x98,
- 0x31,0xc3,0xa5,0x1a,0x37,0x6e,0xdc,0x28,0x68,0x2c,0x2e,0x2e,0xce,0xe3,
- 0xfd,0xaf,0x5e,0xbd,0xba,0x41,0xd2,0xe8,0xe7,0xe7,0x47,0x1a,0xaf,0xf0,
- 0x40,0xa3,0x63,0xda,0xb4,0x69,0x2e,0xd5,0xb8,0x61,0xc3,0x06,0x41,0xe3,
- 0xed,0xdb,0xb7,0x73,0x78,0xff,0xab,0x56,0xad,0x32,0xca,0x34,0x5a,0xd0,
- 0x76,0x89,0x87,0x34,0xd2,0x99,0x9e,0x3a,0x75,0xaa,0xcb,0xa0,0x78,0x27,
- 0x1d,0x6a,0xb5,0xfa,0x77,0xde,0x3f,0x72,0xb2,0x41,0xd2,0xe8,0xeb,0xeb,
- 0xdb,0x82,0xb3,0x7e,0x91,0xc7,0xc3,0xc3,0xa3,0xb3,0x7f,0xff,0xfe,0x94,
- 0x73,0x5b,0x5d,0x05,0x7c,0xd8,0x49,0x47,0x55,0x55,0xd5,0x15,0xde,0xff,
- 0x8a,0x15,0x2b,0x1e,0x48,0x1a,0x91,0x5b,0x5b,0xa0,0xfb,0x2c,0x0f,0xf2,
- 0x6d,0x2b,0xce,0x7c,0xb3,0x92,0xad,0xad,0xad,0xed,0x1c,0xee,0xcf,0xf3,
- 0xa8,0x53,0xce,0x29,0xd9,0x25,0x2a,0x2a,0x2a,0x2e,0x15,0x16,0x16,0x5e,
- 0xce,0xcf,0xcf,0xcf,0x56,0xb2,0x23,0xe6,0xea,0x49,0x47,0x75,0x75,0x75,
- 0x16,0x6f,0x5b,0xb6,0x6c,0x99,0x5e,0xa6,0xf1,0x09,0xda,0x4e,0xf2,0x40,
- 0xa3,0x0d,0x1a,0x1f,0xcb,0xdb,0xa0,0xed,0x54,0x44,0x44,0x84,0x8e,0xd6,
- 0x57,0xba,0x2b,0x50,0x73,0xb6,0xe3,0xdc,0x35,0x23,0x07,0x34,0xe0,0xbb,
- 0xd7,0x4d,0x9f,0x3e,0xdd,0xe4,0xed,0xed,0x6d,0x91,0xdf,0x4f,0x04,0xf9,
- 0xd1,0xe9,0x74,0x17,0xe5,0xf3,0x21,0xe6,0x6a,0xc5,0x75,0xbc,0xc0,0xfb,
- 0x5f,0xba,0x74,0x69,0xbd,0xa4,0x11,0xf7,0x30,0x69,0xfc,0x91,0x07,0x35,
- 0xb2,0x0d,0xbe,0x1f,0xcb,0xdb,0x0e,0x1f,0x3e,0x7c,0x9d,0xc6,0x4d,0x9c,
- 0x38,0x91,0xe1,0x1e,0x60,0xc8,0x0f,0x6c,0xce,0x9c,0x39,0x0c,0x73,0x30,
- 0x49,0x13,0x7d,0x06,0x06,0x06,0x32,0xe8,0x65,0x5b,0xb7,0x6e,0x65,0x51,
- 0x51,0x51,0x0c,0xf7,0x9a,0x60,0xdb,0xb1,0x63,0x87,0x5a,0x3e,0x1f,0x62,
- 0xae,0x86,0xda,0x2b,0x2b,0x2b,0xcf,0xf1,0xfe,0x97,0x2c,0x59,0x52,0x27,
- 0xd3,0xd8,0x8c,0xfd,0xff,0x8e,0x07,0x1a,0xad,0xd0,0x68,0x96,0xb7,0x9d,
- 0x39,0x73,0xe6,0x32,0x8d,0xc3,0xdc,0xcc,0x6e,0xb7,0x77,0x39,0xa7,0x74,
- 0xcf,0x29,0x3d,0x9b,0x37,0x6f,0x16,0x34,0x26,0x26,0x26,0xfe,0x29,0x9f,
- 0x6f,0xf9,0xf2,0xe5,0xf7,0xa8,0x1d,0x31,0x71,0x8a,0xf7,0xbf,0x78,0xf1,
- 0xe2,0x5a,0x49,0xe3,0xe8,0xd1,0xa3,0x29,0xe6,0xd2,0x79,0x86,0x0d,0x1b,
- 0x66,0xc5,0x99,0x6f,0x92,0xb7,0x41,0x57,0x3a,0xea,0x61,0xe1,0xbb,0xc7,
- 0xc7,0xc7,0x2b,0xea,0xe1,0x9f,0x13,0x27,0x4e,0x08,0xfa,0x10,0x03,0x06,
- 0xdc,0x59,0xc7,0xe4,0xf3,0x21,0xe6,0xaa,0x45,0x8d,0x99,0xbc,0xff,0x45,
- 0x8b,0x16,0xdd,0x93,0x69,0xa4,0xfd,0x3c,0xca,0x43,0x1a,0x71,0xe6,0x9b,
- 0xf8,0xf6,0xc6,0xc6,0xc6,0x63,0x88,0xb7,0x27,0xb4,0xa7,0x58,0xd7,0x6e,
- 0xf5,0xe1,0xac,0x30,0xd4,0xa7,0x0c,0xe7,0xb7,0xa3,0xa0,0xa0,0xe0,0x27,
- 0x7e,0x2e,0xc4,0x5c,0x15,0xe9,0x40,0x9c,0x7e,0xcf,0xdb,0x50,0xbf,0xdd,
- 0x95,0x34,0xfa,0xf8,0xf8,0x90,0xc6,0x64,0x1e,0x68,0xb4,0x40,0xe3,0x23,
- 0x25,0x5b,0x76,0x76,0xf6,0xcf,0x9e,0x9e,0x9e,0xed,0xe4,0x3f,0x2f,0x2f,
- 0x4f,0x51,0x1f,0xea,0x43,0x86,0x58,0x61,0x94,0x67,0xd3,0xd2,0xd2,0x7e,
- 0x53,0x9a,0x07,0xfb,0x59,0x41,0x3a,0xca,0xcb,0xcb,0x33,0x78,0x1b,0xf6,
- 0xab,0x5a,0xa6,0xd1,0x8c,0xb6,0xaf,0x78,0x50,0x2b,0x5a,0x70,0x16,0x1f,
- 0x29,0xd9,0x08,0xd4,0x43,0xbf,0xe0,0x7c,0xdb,0x11,0xcf,0x0e,0xe4,0xa1,
- 0x2e,0x1a,0xa5,0xbb,0x38,0x26,0x26,0x26,0xc7,0xd9,0x1c,0xd8,0x4f,0x1d,
- 0xf5,0x29,0x2b,0x2b,0x4b,0xe3,0x6d,0x0b,0x17,0x2e,0xac,0x94,0x34,0x62,
- 0xdf,0x68,0x3f,0x0f,0xf1,0x90,0x46,0xf8,0x7f,0xa8,0x64,0x93,0xd8,0xb2,
- 0x65,0xcb,0x5f,0x34,0xcf,0xc1,0x83,0x07,0x9f,0xd3,0x87,0x7b,0x43,0x38,
- 0xdf,0x93,0x26,0x4d,0xd2,0x77,0x37,0x1e,0xfb,0x59,0x46,0xe3,0xb5,0x5a,
- 0xed,0x11,0xde,0x36,0x7f,0xfe,0xfc,0x0a,0x4e,0x63,0x3c,0x0f,0x34,0xb6,
- 0x40,0x63,0xa3,0x92,0x4d,0xa2,0xae,0xae,0x2e,0x09,0xf9,0xd1,0x86,0x3b,
- 0xc3,0x81,0x77,0x8a,0x67,0x1a,0xb7,0x6f,0xdf,0x2e,0xac,0x61,0x52,0x52,
- 0xd2,0xd9,0xee,0xc6,0x63,0x3f,0xb5,0xd4,0x4f,0xa3,0xd1,0x7c,0xc3,0xdb,
- 0xe6,0xcd,0x9b,0xa7,0x93,0x34,0x62,0x7e,0xda,0xcf,0x2f,0x78,0x50,0x7b,
- 0xb6,0xe0,0x3c,0x35,0x2a,0xd9,0xe4,0x44,0x46,0x46,0xfe,0x41,0x73,0xc5,
- 0xc5,0xc5,0x09,0xfa,0xe0,0x4f,0x58,0x43,0xe4,0x04,0x63,0x67,0x67,0xe7,
- 0xfe,0xee,0xc6,0x2e,0x58,0xb0,0x40,0x43,0x63,0x51,0xe3,0x27,0xf1,0xb6,
- 0xa0,0xa0,0xa0,0x32,0x4e,0x63,0x1c,0x8f,0xa8,0xd1,0xa4,0x64,0x93,0x63,
- 0x30,0x18,0xbe,0x44,0x5f,0x0b,0xde,0xa7,0x58,0x49,0x49,0x09,0x43,0xfd,
- 0x2c,0xac,0xe1,0x81,0x03,0x07,0x4e,0xbe,0x68,0x2c,0xf6,0xb3,0x94,0xfa,
- 0x62,0xdc,0x21,0xde,0x36,0x77,0xee,0x5c,0xad,0xa4,0x71,0xe4,0xc8,0x91,
- 0x14,0x73,0x9f,0xf2,0x20,0x87,0x37,0xa1,0x2e,0x69,0x51,0xb2,0xf1,0x40,
- 0xcf,0x0f,0xd2,0x1d,0x43,0x9f,0x93,0x27,0x4f,0xae,0x7a,0x99,0x71,0xa8,
- 0x7d,0x84,0x98,0xab,0xa9,0xa9,0xf9,0x9c,0xb7,0xcd,0x9e,0x3d,0x5b,0xc3,
- 0x69,0xfc,0x84,0x07,0xdf,0x43,0x4d,0x7d,0x8e,0x1f,0x3f,0x7e,0x44,0xc9,
- 0xce,0x83,0x3b,0x24,0x03,0x79,0xc0,0x88,0xb9,0x4b,0x10,0xa7,0x9f,0xbd,
- 0xa8,0x3f,0x72,0x53,0x2c,0x6a,0xbf,0x56,0x9c,0x87,0x06,0x25,0x3b,0xee,
- 0xff,0x52,0x49,0x23,0x6a,0x07,0x8a,0xb9,0x8f,0x79,0x52,0x52,0x52,0x8e,
- 0xc0,0xee,0xc0,0xd9,0x31,0x63,0x9d,0xd2,0x95,0xfa,0xf4,0x94,0x9c,0x9c,
- 0x9c,0xfd,0xf8,0x3e,0x42,0x5d,0x83,0x78,0xfe,0x55,0xa9,0x0f,0xde,0x75,
- 0x4a,0x38,0x8d,0x1f,0x2a,0x81,0x9a,0xe0,0x82,0x54,0xb7,0xe0,0xae,0xb0,
- 0x4d,0x99,0x32,0xe5,0x0e,0xf6,0xa7,0xb4,0x37,0xc0,0x1f,0xbd,0xa7,0x08,
- 0x75,0x13,0xea,0x91,0x22,0x67,0xbe,0x71,0x77,0xaa,0x25,0x8d,0x88,0x3b,
- 0x3a,0x17,0x31,0xce,0x50,0xa9,0x54,0xb1,0x78,0xaf,0xb9,0x85,0xf5,0x7c,
- 0x24,0xaf,0xb5,0x7a,0x0a,0x72,0x55,0x33,0xf2,0xe6,0x1d,0xec,0x4d,0x72,
- 0x77,0x7e,0xf1,0x9e,0xf2,0x8f,0x38,0x46,0x87,0x98,0xb0,0xe2,0xae,0xdf,
- 0x89,0xf6,0xa8,0x17,0x81,0x33,0xfc,0x3e,0xee,0xff,0x8f,0x7a,0x4a,0x6d,
- 0x6d,0xed,0x07,0x2f,0xe3,0x87,0x40,0xed,0x5a,0x29,0xae,0xb7,0x70,0x1e,
- 0x33,0x32,0x32,0xf6,0xa1,0xfd,0x9d,0xbe,0xc2,0xfd,0xfb,0xf7,0xdf,0xc3,
- 0x3d,0x4f,0xbf,0x47,0x15,0x83,0x77,0xc5,0x5c,0x51,0x08,0x5b,0x64,0x5f,
- 0x21,0x3c,0x3c,0xfc,0xb4,0xb8,0xcf,0x5f,0xbb,0x3d,0xfd,0x9d,0x59,0x38,
- 0x3f,0xa8,0x9b,0xe9,0x7c,0xbd,0xfd,0xba,0xd9,0xb5,0x6b,0x57,0xa2,0xb8,
- 0xc7,0xff,0x02,0x3f,0xb7,0xa7,0x8f,0x3f,0x10,0xde,0x1d,0x70,0x7e,0xea,
- 0x77,0xef,0xde,0xbd,0x1f,0xef,0x2d,0x11,0xe8,0xff,0xd6,0xab,0x02,0xef,
- 0x6e,0x11,0x09,0x09,0x09,0x7b,0x02,0x02,0x02,0x8a,0xc5,0xf5,0xa3,0xdf,
- 0x9a,0x42,0xdc,0x9e,0x7f,0xde,0x00,0xa7,0xa5,0x9c,0x40,0xe0,0x8e,0x31,
- 0xa2,0x7e,0x54,0xbb,0x1a,0xd4,0xa9,0xf5,0x72,0xbf,0xa0,0x08,0x04,0xb9,
- 0x39,0x7f,0x82,0x01,0xe5,0xee,0x1c,0x71,0xad,0x7b,0x9d,0x6b,0x5e,0x82,
- 0x56,0x90,0x0f,0xbe,0x05,0x51,0xbc,0xa0,0xff,0x00,0xbc,0x45,0x33,0x49
-};
-
-// keep_below.png
-static const unsigned char image_6_data[] = {
- 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x99,0x09,0x4c,0x94,0x47,0x14,0xc7,
- 0x11,0x0f,0x3c,0x22,0xde,0xe2,0x81,0x07,0xb1,0x1a,0xf1,0x46,0x25,0x31,
- 0x6a,0x34,0x31,0xda,0x18,0xa3,0x62,0x0d,0xa1,0x78,0x21,0x31,0x80,0x82,
- 0x80,0x10,0x0b,0x12,0x49,0x94,0x6a,0xe5,0x56,0x42,0x01,0x29,0x02,0x1e,
- 0xad,0x56,0x4b,0x0a,0x96,0xa2,0x80,0xd6,0x03,0xa1,0x55,0x39,0x5c,0x15,
- 0xe4,0x58,0xce,0xe5,0x5c,0x0e,0x2b,0x28,0x16,0x58,0x60,0xf7,0xeb,0xff,
- 0x6d,0xbf,0x35,0xe3,0xb8,0xa8,0x91,0xae,0xfa,0x25,0xbf,0x00,0xef,0xcd,
- 0x7c,0xf3,0xdf,0x99,0x37,0x6f,0xde,0x2c,0x7a,0x7a,0x6f,0x3c,0x0b,0x81,
- 0x27,0x38,0x03,0x1e,0x80,0x27,0x3a,0x26,0x17,0x24,0x02,0x7f,0xf0,0x35,
- 0xd0,0x7f,0x53,0xd2,0xab,0xe7,0x0b,0x10,0x07,0x54,0x40,0x20,0xfa,0xf5,
- 0xeb,0xa7,0x32,0x34,0x34,0xec,0xd2,0x25,0x83,0x07,0x0f,0xee,0xd6,0x8c,
- 0x27,0x52,0x01,0xb6,0x6a,0xd1,0x6a,0xd6,0xa7,0x4f,0x9f,0x76,0x6a,0x33,
- 0x69,0xd2,0x24,0x45,0x54,0x54,0x54,0x8d,0x44,0x22,0x29,0xed,0xee,0xee,
- 0xce,0x17,0x04,0x41,0xe7,0x54,0x55,0x55,0x49,0xaf,0x5c,0xb9,0x22,0xf3,
- 0xf0,0xf0,0x68,0xec,0xdb,0xb7,0xaf,0x66,0x8e,0xe2,0x18,0x7d,0x26,0xd0,
- 0xd7,0xa4,0xaf,0xaf,0xaf,0x0a,0x08,0x08,0x90,0x7f,0x0c,0x4d,0x6f,0xe3,
- 0xe9,0xd3,0xa7,0x45,0xb3,0x67,0xcf,0x6e,0x13,0x75,0x7a,0x89,0x1a,0x2f,
- 0xd3,0xdf,0x9f,0x83,0x3e,0x0d,0x32,0x99,0x4c,0x6a,0x64,0x64,0xd4,0x29,
- 0xc6,0x9d,0x31,0xe6,0xf0,0x39,0xad,0xef,0xa7,0xd6,0xc5,0x73,0xf4,0xe8,
- 0xd1,0x7a,0x71,0x2e,0x6d,0xe9,0xa7,0xb5,0xb5,0x75,0xf3,0xa7,0xd6,0xc4,
- 0x73,0xef,0xde,0xbd,0x32,0x51,0xe3,0x69,0xfa,0x89,0x58,0x6d,0x80,0x3d,
- 0xaf,0x27,0x52,0x52,0x52,0xca,0xe7,0xcc,0x99,0xd3,0x36,0x74,0xe8,0xd0,
- 0x6e,0xda,0xeb,0xbd,0xa1,0x7f,0xff,0xfe,0xaa,0x09,0x13,0x26,0x74,0xae,
- 0x5d,0xbb,0xf6,0x79,0x57,0x57,0x57,0x8f,0x63,0x36,0x34,0x34,0x14,0x88,
- 0x1a,0x29,0x2f,0x09,0xfb,0xf7,0xef,0xaf,0x53,0xa9,0x54,0x12,0x1e,0xa5,
- 0x52,0x29,0x81,0xb6,0x7f,0xd8,0xdc,0x30,0x76,0xec,0xd8,0x5e,0x61,0x60,
- 0x60,0xf0,0xea,0x5d,0x03,0x06,0x0c,0x50,0x25,0x27,0x27,0x17,0x6b,0x1b,
- 0xbb,0xbe,0xbe,0xfe,0x31,0xab,0xd1,0xdd,0xdd,0xbd,0x06,0xf6,0x2c,0x9e,
- 0x65,0xcb,0x96,0xb5,0x90,0xdf,0xd8,0xd8,0x58,0xc0,0xbb,0x04,0xe4,0x22,
- 0xa1,0xb7,0x0f,0xde,0x2b,0xe4,0xe4,0xe4,0x08,0xab,0x56,0xad,0x7a,0x95,
- 0x83,0x91,0x7b,0x24,0xfc,0xd8,0xd0,0x28,0xe1,0x34,0x56,0xa1,0xfb,0x5d,
- 0x96,0x96,0x96,0x96,0x4c,0xec,0x27,0x61,0xe4,0xc8,0x91,0x42,0x5d,0x5d,
- 0x5d,0xaf,0xb5,0x69,0x7b,0x2c,0x2c,0x2c,0xd4,0x3a,0x37,0x6d,0xda,0xd4,
- 0xc8,0x8f,0x0f,0x8d,0x59,0xac,0x46,0x37,0x37,0x37,0x19,0xec,0xe9,0x2c,
- 0xfe,0xfe,0xfe,0x25,0xe4,0x73,0x70,0x70,0xd0,0x89,0x3e,0x7a,0xb0,0x2f,
- 0x04,0x71,0x9d,0xda,0xf8,0xf1,0xe5,0x72,0xf9,0x5d,0x56,0xa3,0xab,0xab,
- 0x6b,0x39,0xec,0x37,0x59,0x9c,0x9c,0x9c,0xe8,0x4c,0x12,0x02,0x03,0x03,
- 0x75,0xa6,0xb1,0xa9,0xa9,0x49,0xad,0x71,0xc4,0x88,0x11,0x0a,0x7e,0x7c,
- 0x68,0x4c,0x67,0x35,0xba,0xb8,0xb8,0x94,0xc2,0x7e,0x8d,0xc5,0xd1,0xd1,
- 0xb1,0x54,0xcc,0xed,0x3a,0xd3,0xd8,0xd8,0xd8,0xc8,0x6a,0x7c,0x6d,0x7c,
- 0xc4,0xd7,0x2d,0x56,0xe3,0xde,0xbd,0x7b,0x8b,0x61,0xbf,0xca,0x82,0x79,
- 0x2c,0x26,0x9f,0x9f,0x9f,0x9f,0xce,0x34,0x22,0xe6,0xd4,0x1a,0x11,0xf3,
- 0x1d,0xfc,0xf8,0xd0,0x78,0x9d,0xd5,0x08,0x3d,0x45,0xb0,0x27,0xb2,0x90,
- 0x8d,0x7c,0xa3,0x46,0x8d,0x12,0xa6,0x4f,0x9f,0xae,0x13,0x4c,0x4c,0x4c,
- 0x34,0xf3,0xd8,0xc1,0x8f,0x0f,0x8d,0x29,0xac,0xc6,0x3d,0x7b,0xf6,0xe4,
- 0x63,0xbf,0xc7,0xb3,0x60,0x8d,0xb3,0xc9,0x37,0x68,0xd0,0xa0,0x2e,0x7a,
- 0x87,0x2e,0x18,0x3e,0x7c,0x78,0x07,0x8d,0x01,0xad,0x2d,0xfc,0xf8,0x35,
- 0x35,0x35,0x49,0xac,0xc6,0xdd,0xbb,0x77,0x53,0x6e,0xbf,0xc4,0x12,0x1b,
- 0x1b,0x7b,0x87,0x7c,0xce,0xce,0xce,0x8f,0x79,0x1f,0xf1,0xf2,0xe5,0xcb,
- 0xb8,0xf6,0xf6,0xf6,0x38,0xe4,0xf9,0x37,0x7c,0x1a,0x50,0xc3,0xfc,0x9a,
- 0x97,0x97,0xf7,0x3b,0xf6,0x6f,0x72,0x45,0x45,0xc5,0x65,0x6d,0x7e,0x1a,
- 0xc3,0xdc,0xdc,0xbc,0x8e,0xf7,0x41,0x63,0x02,0xab,0xd1,0xde,0xde,0x9e,
- 0x74,0x9c,0x67,0x89,0x8e,0x8e,0xbe,0x2d,0xc6,0xea,0x43,0xd6,0x9e,0x98,
- 0x98,0x98,0x8a,0x39,0xd0,0xd4,0x4e,0x02,0xe5,0xd0,0x61,0xc3,0x86,0xb5,
- 0x4f,0x99,0x32,0xa5,0x79,0xc1,0x82,0x05,0xf2,0xa5,0x4b,0x97,0x56,0xd1,
- 0xef,0x43,0x86,0x0c,0x51,0x70,0xb5,0xab,0xb0,0x7a,0xf5,0xea,0x72,0xf6,
- 0x5d,0xd8,0xd7,0xbf,0x90,0x7d,0xf1,0xe2,0xc5,0xb5,0xfc,0xf8,0xd0,0x18,
- 0xc7,0x6a,0xb4,0xb3,0xb3,0x23,0x1d,0x67,0x59,0x4e,0x9d,0x3a,0x75,0x83,
- 0x7c,0xd8,0xdf,0x0f,0x58,0xfb,0xfc,0xf9,0xf3,0xeb,0xc8,0x3e,0x73,0xe6,
- 0xcc,0x86,0xb9,0x73,0xe7,0xca,0x67,0xcd,0x9a,0x55,0x3f,0x6e,0xdc,0xb8,
- 0x17,0x03,0x07,0x0e,0xec,0xd4,0x68,0x41,0x9d,0xaa,0x9c,0x38,0x71,0x62,
- 0x8b,0x99,0x99,0x59,0xed,0x8a,0x15,0x2b,0x2a,0xd6,0xaf,0x5f,0x2f,0xc5,
- 0xe7,0x50,0x7f,0xae,0xec,0xec,0xec,0x78,0xcd,0xbb,0xa0,0xf1,0x02,0xd9,
- 0x16,0x2d,0x5a,0x54,0xc3,0x8f,0x5f,0x5d,0x5d,0x7d,0x91,0xd5,0xb8,0x6b,
- 0xd7,0xae,0x07,0x88,0x81,0x18,0x96,0xc8,0xc8,0xc8,0x6b,0x62,0x1c,0x64,
- 0xb3,0xf6,0x35,0x6b,0xd6,0x48,0xc9,0xee,0xe3,0xe3,0x73,0x87,0xef,0x83,
- 0xb3,0x32,0xa6,0xa4,0xa4,0xe4,0x02,0x6f,0xcf,0xcd,0xcd,0xbd,0x88,0xb8,
- 0x56,0xd0,0xe7,0x68,0x6d,0x6d,0x3d,0xa3,0xb1,0xa3,0x6e,0x38,0x47,0xef,
- 0x5a,0xb8,0x70,0x61,0x35,0xdf,0xa7,0xb2,0xb2,0xf2,0x27,0x56,0xa3,0xad,
- 0xad,0x6d,0x16,0xb4,0x47,0xb2,0x9c,0x3c,0x79,0xf2,0xaa,0x18,0x07,0xf7,
- 0x59,0x7b,0x56,0x56,0xd6,0x05,0x8c,0xa5,0xc0,0x39,0xab,0x4c,0x4b,0x4b,
- 0xbb,0xc4,0xf7,0xe3,0xe9,0xec,0xec,0xfc,0x61,0xc6,0x8c,0x19,0x72,0x7a,
- 0x97,0x97,0x97,0xd7,0x1d,0xd6,0x87,0xfc,0x18,0x43,0x76,0xcc,0x77,0x25,
- 0xdf,0x0f,0x67,0xf8,0x69,0x56,0xe3,0xce,0x9d,0x3b,0x49,0x47,0x18,0x4b,
- 0x44,0x44,0x44,0x92,0x18,0x07,0x77,0x79,0x5f,0x70,0x70,0x70,0x32,0xf9,
- 0x46,0x8f,0x1e,0xfd,0xbc,0xb8,0xb8,0x38,0x96,0xf7,0xb3,0x6c,0xd8,0xb0,
- 0xe1,0x11,0xb5,0x45,0xac,0xca,0x78,0x1f,0xe6,0x31,0xaa,0x27,0x1f,0xe6,
- 0x31,0x9a,0xd5,0xb8,0x63,0xc7,0x0e,0xd2,0x11,0xc2,0x12,0x16,0x16,0xf6,
- 0x9b,0x18,0x07,0x7f,0xf2,0x3e,0x62,0xeb,0xd6,0xad,0xf7,0xc5,0xbc,0x21,
- 0x7f,0xf6,0xec,0x59,0x98,0xb6,0x36,0x98,0x37,0x75,0x1e,0x1e,0x3f,0x7e,
- 0xfc,0xdf,0xc8,0x77,0x11,0xbc,0x1f,0x1a,0x23,0xc8,0x8f,0x18,0xaf,0xe0,
- 0x7d,0xb8,0x2f,0x44,0xb2,0x1a,0xb7,0x6d,0xdb,0x46,0x3a,0x82,0x58,0x42,
- 0x43,0x43,0xe3,0xc5,0x38,0x48,0xe7,0x7d,0x04,0x72,0x4e,0xd0,0xf2,0xe5,
- 0xcb,0xf3,0xa9,0x0d,0xea,0x55,0x09,0xef,0x47,0x5c,0x86,0x23,0x1e,0xba,
- 0x71,0x37,0x6d,0xcf,0xc8,0xc8,0x88,0xd1,0xf6,0x0e,0x9c,0x33,0xa1,0xd4,
- 0x7f,0xde,0xbc,0x79,0xe5,0xbc,0x0f,0xb9,0x2a,0x8c,0xd5,0xb8,0x65,0xcb,
- 0x16,0xd2,0xe1,0xcb,0x72,0xe2,0xc4,0x09,0x75,0x5e,0xb0,0xb1,0xb1,0xb9,
- 0xcd,0xfb,0x34,0x20,0xfe,0x03,0xb0,0x5f,0x5f,0x60,0x1f,0x77,0x67,0x66,
- 0x66,0x46,0xb0,0x3e,0xec,0xe5,0x4c,0xb1,0xa6,0x4a,0xee,0xa9,0x3f,0xea,
- 0x86,0x60,0x6a,0x83,0x3a,0xba,0x94,0xf7,0x95,0x97,0x97,0x87,0xb0,0x1a,
- 0x71,0x9f,0x49,0x83,0xfd,0x08,0xcb,0xf1,0xe3,0xc7,0xd5,0x7b,0x7f,0xfb,
- 0xf6,0xed,0x37,0x79,0x1f,0x8b,0xa7,0xa7,0xa7,0xfa,0x1d,0x2b,0x57,0xae,
- 0x94,0x68,0x6c,0xa5,0xa5,0xa5,0x41,0xa8,0xb1,0x15,0xb8,0xe3,0xbf,0xc0,
- 0x73,0xac,0xa7,0xbe,0x58,0x7f,0xfa,0x6e,0x42,0xc0,0x5d,0xb5,0x84,0xf7,
- 0x41,0x63,0x10,0xab,0xd1,0xca,0xca,0xea,0x16,0xec,0x87,0x58,0x82,0x82,
- 0x82,0xce,0x93,0x0f,0x71,0xf7,0x07,0xef,0x63,0xe9,0xe8,0xe8,0xf0,0x19,
- 0x33,0x66,0x4c,0x13,0x72,0xb9,0x0a,0xf7,0x1e,0x8a,0xcb,0x43,0x1b,0x37,
- 0x6e,0x4c,0x17,0xe3,0x24,0xf5,0x6d,0x7d,0xa1,0xf1,0x18,0xb5,0x43,0x8e,
- 0x2d,0xe6,0x7d,0x65,0x65,0x65,0x7e,0xac,0x46,0x4b,0x4b,0xcb,0x1b,0xb0,
- 0x1f,0x64,0xc1,0x79,0x7d,0x4e,0x8c,0x83,0x6b,0xbc,0x8f,0xe7,0xc8,0x91,
- 0x23,0xea,0xcf,0x33,0x75,0xea,0x54,0x59,0x6a,0x6a,0x6a,0x08,0xad,0x3d,
- 0xce,0x99,0x56,0xec,0x09,0x9f,0xb7,0xf5,0xab,0xad,0xad,0xfd,0x96,0xfa,
- 0x99,0x9a,0x9a,0x4a,0x79,0x1f,0xd6,0xe2,0x28,0xab,0x71,0xf3,0xe6,0xcd,
- 0xa4,0xc3,0x83,0x25,0x24,0x24,0x44,0x9d,0x17,0xd6,0xad,0x5b,0x77,0x8b,
- 0xf7,0x69,0x03,0xe7,0x4e,0x21,0x7b,0xee,0x79,0x7b,0x7b,0xff,0xf8,0xae,
- 0x3e,0x88,0xe1,0xef,0xc4,0x78,0x7c,0xc2,0xfb,0x90,0xd3,0x0e,0xb3,0x1a,
- 0x71,0x9f,0x48,0x81,0xdd,0x9d,0x05,0x73,0x7d,0x10,0xeb,0xa7,0x44,0x0e,
- 0xac,0xc7,0x7a,0xee,0xe7,0xfd,0x3c,0x58,0xb7,0x03,0x38,0x1b,0x1f,0xe1,
- 0xee,0x57,0x87,0x33,0x28,0xe6,0x5d,0xed,0x09,0xe4,0xe5,0x78,0x71,0x1d,
- 0xaf,0xf0,0x3e,0xa9,0x54,0xea,0xcd,0x6a,0x44,0xfc,0x50,0x5d,0xe9,0xc2,
- 0x83,0xdc,0x9a,0x43,0x7e,0xd4,0x7a,0xf9,0x45,0x45,0x45,0x07,0xb4,0xb5,
- 0xf9,0x10,0x14,0x0a,0x85,0x2b,0xe6,0x25,0x89,0xe6,0x00,0xf9,0xa9,0x13,
- 0xe7,0xd5,0x61,0xbe,0x0d,0x8d,0xc7,0x6a,0x44,0x9e,0x48,0x82,0xdd,0x91,
- 0xa7,0xb9,0xb9,0xd9,0x05,0xf9,0x57,0x26,0xd6,0x37,0x4a,0xd4,0xbb,0x72,
- 0xe8,0xcd,0xeb,0x0d,0xd3,0xa6,0x4d,0xcb,0x87,0x2e,0x75,0x4d,0x44,0xfa,
- 0x7c,0x7d,0x7d,0xbf,0xd7,0x36,0x76,0x61,0x61,0xe1,0x37,0xac,0x46,0xc4,
- 0x1c,0xd5,0xbe,0xf6,0xda,0xc0,0x79,0xeb,0x80,0xf3,0xf0,0xec,0xe4,0xc9,
- 0x93,0xa5,0xa4,0x93,0xaf,0xb7,0x3e,0x04,0xd4,0xb6,0x0d,0x38,0xa3,0xff,
- 0x2a,0x28,0x28,0x70,0xeb,0x69,0xdc,0xfc,0xfc,0x7c,0x37,0x56,0xe3,0x92,
- 0x25,0x4b,0x28,0xbf,0xd8,0xbe,0x0f,0x38,0x3f,0x1c,0x11,0xcf,0x4e,0x1f,
- 0x0a,0xce,0x4d,0xbb,0xf7,0x19,0x27,0x21,0x21,0xc1,0x4b,0xd4,0xf8,0x33,
- 0xe8,0xc0,0x1a,0x52,0xdd,0xb1,0xfd,0x73,0x02,0xe7,0x73,0x8c,0xa8,0xd1,
- 0x19,0xd0,0x1d,0x51,0x85,0x7b,0x34,0xe5,0x4e,0xeb,0xcf,0x01,0x9c,0xe3,
- 0x3b,0x50,0xeb,0x57,0x89,0x1a,0x4d,0x81,0x39,0xa0,0x7a,0xb0,0x3d,0x2a,
- 0x2a,0x8a,0x72,0x8c,0xe5,0xa7,0x04,0x79,0xce,0x0a,0xfb,0xea,0xbe,0xa8,
- 0x8f,0xfe,0x6f,0xa0,0x79,0x6c,0x34,0x7b,0x17,0xe7,0xd2,0xf5,0xf0,0xf0,
- 0xf0,0x7d,0x68,0x6f,0xf1,0x31,0x69,0x6b,0x6b,0xfb,0x0a,0xf5,0x4b,0x30,
- 0xea,0xe7,0x67,0xa2,0xbe,0x0c,0x60,0xa0,0xf7,0xfa,0xf3,0xa5,0xde,0x7f,
- 0xdf,0xe9,0x6b,0xee,0x52,0x4a,0x9c,0xc3,0x4f,0x8c,0x8c,0x8c,0x1e,0xeb,
- 0x98,0x5c,0x03,0x03,0x03,0x8d,0x2e,0x82,0xf2,0x52,0x20,0x30,0xd4,0xd3,
- 0xfe,0xd0,0xff,0x1b,0xf6,0x89,0x7b,0xe9,0x21,0xe8,0xfa,0x3f,0x72,0xcd,
- 0x7b,0x50,0x09,0x52,0x81,0xaf,0x36,0x6d,0xff,0x02,0x1b,0x15,0xfd,0xbb
-};
-
-// maximize.png
-static const unsigned char image_7_data[] = {
- 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x99,0x7b,0x2c,0x64,0x57,0x1c,0xc7,
- 0xbd,0x0d,0x4d,0xf8,0x83,0xec,0x56,0x42,0xb2,0x7f,0x14,0xf1,0xb7,0x84,
- 0x15,0x99,0x0d,0x09,0xa5,0x95,0xd5,0x6d,0x42,0x23,0x22,0xed,0x24,0xd2,
- 0x04,0x29,0xeb,0x55,0x15,0xef,0xd7,0xaa,0xdd,0x7a,0x84,0x7a,0xac,0x32,
- 0x35,0x63,0xad,0xf7,0x60,0xbc,0x16,0xeb,0x51,0xb2,0x6b,0xcb,0x5a,0x16,
- 0xab,0xb6,0x96,0xb4,0xdb,0xe9,0x23,0xdd,0x86,0x8a,0x46,0x83,0xce,0xce,
- 0xed,0xf7,0x4c,0x46,0x7b,0x7a,0x66,0xd6,0x1f,0xe5,0x5e,0x4e,0xf2,0x49,
- 0x46,0x7e,0x67,0xe6,0xfb,0xb9,0x77,0xee,0xef,0xb8,0xe7,0x8e,0x91,0x91,
- 0xde,0x30,0x06,0xef,0x82,0x3c,0xd0,0x01,0x16,0xc1,0x13,0x9e,0x59,0x00,
- 0xb7,0x41,0x06,0x78,0x5b,0x5f,0x49,0x6f,0xbc,0xa9,0xf3,0xe2,0x0e,0x11,
- 0x89,0x44,0x2f,0x6d,0x6c,0x6c,0xfe,0xe2,0x13,0x0b,0x0b,0x8b,0x97,0x74,
- 0x26,0x98,0x00,0xee,0xaf,0x70,0x24,0xc7,0xc2,0x19,0x1b,0x1b,0x73,0x57,
- 0xae,0x5c,0xd9,0x96,0xcb,0xe5,0xaa,0xf5,0xf5,0xf5,0x35,0x8e,0xe3,0x56,
- 0xf8,0x46,0xa3,0xd1,0xac,0x60,0x3c,0x93,0x4a,0xa5,0xaa,0x4b,0x97,0x2e,
- 0xfd,0x41,0xf9,0x86,0x31,0x8e,0xef,0x01,0x0d,0x8e,0x4d,0x3d,0x3d,0x3d,
- 0xbd,0x21,0x84,0xdb,0x51,0xf4,0xf6,0xf6,0x7e,0x4f,0xce,0x31,0xce,0xd9,
- 0x1e,0xbc,0x2e,0xea,0x1c,0xcd,0xf0,0xf7,0x8e,0xb5,0xb5,0xb5,0x7a,0x66,
- 0x66,0xe6,0xd4,0x1d,0x0f,0xe9,0xe8,0xe8,0x78,0x6e,0x62,0x62,0xa2,0x81,
- 0xdf,0x92,0xce,0x53,0x4c,0xce,0xb1,0x44,0x22,0xd9,0x3c,0x6d,0x37,0x16,
- 0xb1,0x58,0x7c,0x78,0x0d,0xbc,0x0e,0xd2,0xc9,0x6b,0x99,0x4c,0xa6,0x3a,
- 0x6d,0x2f,0x96,0xb4,0xb4,0xb4,0x5f,0x75,0x9e,0xe4,0xba,0x2c,0x25,0xaf,
- 0x27,0x27,0x27,0xd7,0x51,0x5b,0x7e,0x15,0xa3,0xa3,0xa3,0x1b,0x61,0x61,
- 0x61,0x5b,0x4e,0x4e,0x4e,0xfb,0x0e,0x0e,0x0e,0x07,0xc7,0xc1,0xcd,0xcd,
- 0xed,0xcf,0x88,0x88,0x88,0x4d,0xf4,0xce,0xb7,0x47,0x65,0xd6,0xd6,0xd6,
- 0xaa,0x74,0x9e,0x51,0x87,0x9e,0x13,0x13,0x13,0x4f,0xd1,0x77,0xf3,0x2c,
- 0x6a,0xb5,0x7a,0xde,0xdb,0xdb,0x7b,0x07,0xd7,0x0a,0x47,0xf0,0xf5,0xf5,
- 0xe5,0x02,0x03,0x03,0x8f,0x85,0xab,0xab,0xab,0x76,0x5d,0x21,0x9f,0x17,
- 0x1e,0x1e,0xfe,0x9b,0xa1,0x5c,0x42,0x4d,0x4d,0xcd,0x77,0xac,0xe7,0xf8,
- 0xf8,0x38,0x59,0x1f,0x66,0x59,0xdc,0xdd,0xdd,0x77,0x48,0x3d,0x21,0x21,
- 0x81,0xdb,0xdb,0xdb,0xe3,0x4e,0x6a,0x6c,0x6f,0x6f,0x73,0xa1,0xa1,0xa1,
- 0x5a,0xdf,0xe8,0xe8,0xe8,0x9f,0x0d,0x65,0x57,0x57,0x57,0x6f,0x18,0xf0,
- 0x5c,0xc2,0xdb,0xa7,0x69,0xe6,0x31,0xc8,0xe7,0x64,0x65,0x65,0x9d,0x98,
- 0x1f,0x3d,0xe0,0xc2,0xf9,0xf9,0xf9,0x71,0x96,0x96,0x96,0xe4,0xf5,0x7f,
- 0xb2,0x09,0x55,0x55,0x55,0x6b,0xac,0xe7,0xd8,0xd8,0xd8,0x02,0x6a,0x53,
- 0x34,0x51,0x51,0x51,0x3f,0x90,0x9a,0x4a,0xa5,0xe2,0xc5,0x93,0x8c,0xfe,
- 0xfe,0x7e,0xed,0x9a,0x3e,0x30,0x30,0xb0,0xc8,0xe6,0x57,0x56,0x56,0x3e,
- 0x65,0x3d,0xd1,0x27,0x0f,0x51,0x1b,0xa3,0x09,0x0e,0x0e,0xfe,0xc5,0xdc,
- 0xdc,0x9c,0x37,0x47,0x32,0x56,0x57,0x57,0xb5,0x9e,0x25,0x25,0x25,0xdf,
- 0xb0,0xf9,0x15,0x15,0x15,0x4f,0x58,0xcf,0x91,0x91,0x91,0xaf,0x51,0x1b,
- 0xa6,0x81,0xe7,0x8f,0x66,0x66,0x66,0xbc,0x7a,0xa2,0xe7,0x0f,0x3d,0x97,
- 0xd9,0xfc,0xf2,0xf2,0xf2,0x25,0xd6,0x73,0x78,0x78,0xf8,0x1e,0x6a,0x03,
- 0x34,0xf0,0x54,0x99,0x9a,0x9a,0xf2,0xea,0xb9,0xbc,0xbc,0x7c,0xe8,0xf9,
- 0x98,0xcd,0x2f,0x2b,0x2b,0x5b,0x60,0x3d,0x87,0x86,0x86,0x26,0x51,0x53,
- 0xd2,0x5c,0xbe,0x7c,0xf9,0x39,0xe9,0x23,0xac,0x9b,0xbc,0x41,0xd6,0x29,
- 0x9d,0xe7,0x23,0x36,0xbf,0xb4,0xb4,0xf4,0x11,0xeb,0x39,0x38,0x38,0x38,
- 0x8e,0x9e,0x53,0xd0,0xe0,0xff,0xc1,0x63,0x72,0x3e,0x83,0x82,0x82,0x78,
- 0xc3,0xc7,0xc7,0x47,0xbb,0x36,0x29,0x95,0xca,0xaf,0xd8,0xfc,0xe2,0xe2,
- 0xe2,0x59,0x03,0x9e,0x23,0x38,0x86,0x56,0x9a,0xbc,0xbc,0xbc,0x59,0xdc,
- 0xb7,0x68,0xf8,0xfc,0xde,0xd7,0xd6,0xd6,0xb4,0xe7,0x13,0x7d,0x7f,0x97,
- 0xcd,0xbf,0x71,0xe3,0xc6,0x03,0xd6,0x13,0xf3,0xee,0xa0,0xd6,0x44,0x93,
- 0x9b,0x9b,0xfb,0x40,0x28,0xcf,0xbe,0xbe,0xbe,0x21,0x36,0xff,0xfa,0xf5,
- 0xeb,0xf7,0x58,0x4f,0xcc,0xeb,0x47,0x4d,0x46,0x93,0x9d,0x9d,0x7d,0x5f,
- 0x28,0x4f,0x7c,0xef,0x7a,0xf9,0x45,0x45,0x45,0x53,0xac,0x27,0xe6,0x29,
- 0x71,0x4d,0xd4,0xd3,0x64,0x66,0x66,0x4e,0x09,0xe5,0xd9,0xdd,0xdd,0xad,
- 0x97,0x5f,0x58,0x58,0x38,0xc1,0x7a,0xf6,0xf4,0xf4,0x28,0xf0,0xb6,0x1a,
- 0x9a,0xf4,0xf4,0xf4,0x09,0xa1,0x3c,0xbb,0xba,0xba,0xf4,0xf2,0x0b,0x0a,
- 0x0a,0x46,0x59,0x4f,0x1c,0x4f,0x3b,0x6a,0x9f,0xd3,0xa0,0xdf,0xc7,0x84,
- 0xf2,0xec,0xec,0xec,0xd4,0xcb,0x47,0x1f,0x0f,0xb3,0x9e,0x0a,0x85,0xa2,
- 0x19,0xb5,0x32,0x9a,0xd4,0xd4,0xd4,0x11,0xa1,0x3c,0xb1,0xcf,0x68,0x61,
- 0xf3,0x73,0x72,0x72,0xee,0xb0,0x9e,0x38,0x9e,0x5b,0xa8,0x7d,0x46,0x93,
- 0x92,0x92,0x32,0x24,0x94,0x67,0x5b,0x5b,0x5b,0x13,0x9b,0x8f,0x3e,0xee,
- 0x67,0x3d,0x31,0xaf,0x01,0xb5,0x42,0x9a,0xe4,0xe4,0xe4,0x01,0xa1,0x3c,
- 0x5b,0x5a,0x5a,0x64,0x6c,0x7e,0x46,0x46,0x86,0x92,0xf5,0x6c,0x6d,0x6d,
- 0xad,0x47,0x2d,0x8f,0x26,0x31,0x31,0xb1,0x57,0x28,0xcf,0xe6,0xe6,0x66,
- 0x29,0x9b,0x8f,0xfe,0xe8,0x62,0x3d,0x31,0xaf,0x16,0xb5,0x2c,0x9a,0xf8,
- 0xf8,0xf8,0x1e,0xa1,0x3c,0x9b,0x9a,0x9a,0xbe,0x60,0xf3,0xd1,0x1f,0x9d,
- 0xac,0x27,0xe6,0x55,0xa3,0x96,0x46,0x13,0x17,0x17,0xa7,0x10,0xca,0xb3,
- 0xb1,0xb1,0xb1,0x86,0xcd,0x47,0x7f,0xb4,0xb1,0x9e,0x72,0xb9,0xbc,0x02,
- 0xb5,0x8f,0x69,0x92,0x92,0x92,0x9a,0xc9,0x5e,0x6b,0x7f,0x7f,0x9f,0x37,
- 0xcf,0xb9,0xb9,0x39,0xad,0x67,0x7b,0x7b,0x7b,0x19,0x9b,0x8f,0xfe,0x68,
- 0x66,0x3d,0x1b,0x1a,0x1a,0xc8,0xbc,0x04,0x1a,0xdc,0x3b,0x5f,0xd3,0xad,
- 0xc1,0xbc,0x79,0xe6,0xe7,0xe7,0x93,0xfd,0xd1,0xc1,0xee,0xee,0x6e,0x32,
- 0x9b,0x8f,0x71,0x8b,0xf5,0x94,0x4a,0xa5,0xc5,0xa8,0xc5,0xb2,0x60,0x0f,
- 0xbb,0x6a,0x6d,0x6d,0xad,0x99,0x9a,0x9a,0x3a,0x71,0x47,0xec,0x27,0xc9,
- 0xde,0x58,0x13,0x10,0x10,0x70,0xd7,0x50,0xf6,0xd5,0xab,0x57,0xe5,0xac,
- 0x67,0x5d,0x5d,0x5d,0x11,0x6a,0xd1,0x2c,0x5b,0x5b,0x5b,0xb1,0x17,0x2e,
- 0x5c,0x58,0x27,0x73,0xbc,0xbc,0xbc,0x5e,0xc6,0xc4,0xc4,0x70,0x58,0xd7,
- 0x8e,0x45,0x64,0x64,0x24,0xe7,0xe2,0xe2,0xa2,0x26,0x9f,0xe9,0xe9,0xe9,
- 0x79,0x5f,0xad,0x56,0xc7,0x18,0xca,0x8e,0x8d,0x8d,0xfd,0x92,0xf5,0xbc,
- 0x79,0xf3,0xe6,0x35,0xd4,0x3e,0x7c,0x15,0x12,0x89,0xa4,0x11,0x9e,0xe3,
- 0xe7,0xcf,0x9f,0x7f,0x61,0x67,0x67,0xb7,0xf9,0x7f,0xb1,0xb7,0xb7,0xdf,
- 0x74,0x74,0x74,0x5c,0xf7,0xf6,0xf6,0x1e,0xc3,0x7e,0xf2,0xd3,0xa3,0x32,
- 0x71,0x4e,0xea,0x29,0x4f,0xf2,0xdc,0x98,0xc3,0x3d,0x47,0x29,0x6a,0x92,
- 0xb3,0x44,0x48,0x48,0xc8,0x6d,0x9d,0xe7,0xfb,0xe0,0x2d,0xf2,0x5a,0x2c,
- 0x16,0xf7,0xa1,0x16,0x71,0x96,0x70,0x76,0x76,0x7e,0xa8,0xf3,0x7c,0x03,
- 0xbc,0x06,0x0e,0xac,0xac,0xac,0xb6,0xe6,0xe7,0xe7,0xc9,0xf9,0x0e,0x3b,
- 0x0b,0xe0,0xbe,0x24,0x1e,0x7b,0x33,0xf2,0x9c,0xf6,0x27,0xa3,0x7f,0x87,
- 0xf6,0x99,0xb7,0xad,0xad,0xad,0x6a,0x71,0x71,0xf1,0x03,0xcc,0x0b,0x39,
- 0x4d,0xb0,0x57,0x8b,0x12,0x89,0x44,0xbf,0xc3,0x89,0x3c,0xa7,0x0d,0xa6,
- 0x3c,0xc9,0x6f,0x1c,0xda,0x6b,0xc1,0xdc,0xdc,0x7c,0xd7,0xdf,0xdf,0xbf,
- 0x41,0x26,0x93,0x91,0x1e,0x7c,0x47,0x48,0xea,0xeb,0xeb,0x3f,0xf2,0xf0,
- 0xf0,0x50,0x60,0xad,0x3a,0xd0,0x7d,0xdf,0xb9,0x46,0xfa,0x83,0xb8,0x46,
- 0x83,0x7f,0x9e,0xe3,0x63,0xbf,0xaa,0x3e,0x77,0xee,0xdc,0x32,0x7a,0x7c,
- 0x91,0x4f,0x48,0x06,0xb2,0xe8,0xdf,0x3c,0x5e,0x80,0x70,0x03,0x8e,0xf4,
- 0x10,0x81,0x1c,0xd0,0x0b,0x9e,0xe9,0xce,0x3d,0xc7,0x33,0xc4,0x71,0x05,
- 0x90,0xfb,0x8e,0x4f,0x80,0x19,0x2b,0xf5,0x37,0x31,0x12,0xfd,0x45
-};
-
-// minimize.png
-static const unsigned char image_8_data[] = {
- 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x99,0x6b,0x48,0x5b,0x67,0x18,0xc7,
- 0xe3,0x25,0xd3,0xa9,0x28,0xec,0x83,0x37,0x10,0x11,0xc9,0x27,0x15,0xe6,
- 0x05,0x3f,0x08,0xfa,0x45,0x14,0x41,0x71,0x4c,0xc5,0xe5,0xc3,0x06,0x1b,
- 0xe2,0xc2,0x82,0x73,0x88,0x6e,0x5a,0x75,0x5e,0x9a,0x60,0xd4,0x7a,0x99,
- 0x8e,0x20,0x95,0xc0,0x0c,0xcd,0x24,0x8b,0x76,0xa6,0xce,0x4b,0xaa,0x8d,
- 0x51,0x51,0x43,0x2a,0xd5,0x45,0xd3,0x6e,0xb3,0x71,0x32,0x5b,0xdd,0xd8,
- 0x84,0x52,0x5c,0xa4,0x12,0x93,0xb3,0xe7,0x8d,0xe7,0x94,0xec,0x59,0xec,
- 0x87,0xc5,0xd4,0xf7,0x85,0x1f,0x1c,0xfc,0x27,0x3e,0xbf,0xf7,0xf5,0x9c,
- 0xf7,0xe2,0xe1,0xf1,0x3c,0xb6,0x6c,0xa0,0x09,0x50,0x01,0x9b,0x80,0xc5,
- 0xc7,0x98,0x81,0x71,0x40,0x02,0x94,0x00,0x7e,0x9e,0xb5,0x5e,0xb6,0xb7,
- 0x81,0xbb,0x00,0xc3,0xc1,0xe7,0xf3,0x1d,0xe1,0xe1,0xe1,0x76,0x5f,0x12,
- 0x1c,0x1c,0xec,0x70,0xaf,0xc9,0xba,0x17,0x5e,0xe0,0x48,0xfa,0xe1,0x24,
- 0x9f,0x13,0x08,0x04,0x2f,0x14,0x0a,0xc5,0x93,0xed,0xed,0xed,0xc7,0x4e,
- 0xa7,0xf3,0x21,0xc3,0x30,0x3e,0x67,0x77,0x77,0x77,0x47,0xa9,0x54,0x3e,
- 0x29,0x2b,0x2b,0x7b,0xe6,0xe7,0xe7,0xc7,0xf9,0x4a,0x91,0x63,0x1a,0x64,
- 0x36,0x32,0x76,0x83,0x83,0x83,0x07,0xaf,0xc3,0xeb,0x55,0x1c,0x1e,0x1e,
- 0xfe,0x1c,0x17,0x17,0xf7,0x82,0x75,0xfd,0xc0,0xcd,0xf3,0x3e,0x78,0x3a,
- 0x55,0x2a,0xd5,0xfe,0x55,0x3b,0x72,0x6c,0x6c,0x6c,0x58,0xc3,0xc2,0xc2,
- 0xce,0xc8,0xf8,0x81,0xdf,0x1b,0xc0,0x5b,0x80,0x23,0x33,0x33,0xd3,0x76,
- 0xd5,0x6e,0x18,0x91,0x48,0x74,0xc4,0x8e,0x69,0x1e,0x50,0x4c,0xae,0x6b,
- 0x6b,0x6b,0xff,0xbc,0x6a,0x2f,0x8c,0x5a,0xad,0xde,0x67,0x3d,0xaf,0x03,
- 0x1f,0x91,0xeb,0x81,0x81,0x81,0xa7,0x90,0x6d,0xd3,0x84,0xc9,0x64,0x7a,
- 0xcc,0x7a,0xca,0x39,0xcf,0xfe,0xfe,0xfe,0xdf,0xe0,0xd9,0xde,0xa0,0x09,
- 0xa3,0xd1,0xf8,0x13,0xf6,0xec,0xeb,0xeb,0xfb,0x15,0xb2,0xfb,0x34,0x01,
- 0x9e,0x16,0xec,0xd9,0xdb,0xdb,0x6b,0x85,0xb1,0x5e,0xa3,0x09,0xf0,0xfc,
- 0x11,0x7b,0xf6,0xf4,0xf4,0xfc,0x02,0xd9,0x32,0x4d,0xac,0xad,0xad,0x3d,
- 0xc0,0x9e,0xdd,0xdd,0xdd,0x8f,0x20,0xd3,0xd3,0xc4,0xca,0xca,0x8a,0x09,
- 0x7b,0x76,0x75,0x75,0x59,0x20,0xbb,0x4b,0x13,0xe0,0xb9,0x86,0x3d,0x65,
- 0x32,0x99,0x19,0xb2,0x69,0x9a,0x58,0x86,0x86,0x3d,0x3b,0x3a,0x3a,0x36,
- 0x21,0xbb,0x43,0x13,0x4b,0x4b,0x4b,0x06,0xec,0x29,0x95,0x4a,0x1f,0xc0,
- 0x5c,0x70,0x9b,0x26,0x16,0x17,0x17,0xef,0x61,0x4f,0x89,0x44,0x62,0x82,
- 0x3e,0xa8,0x69,0xc2,0x60,0x30,0xe8,0xb0,0x67,0x7b,0x7b,0xbb,0x11,0x32,
- 0x15,0x4d,0x2c,0x2c,0x2c,0x4c,0x61,0xcf,0xd6,0xd6,0xd6,0x55,0xc8,0x46,
- 0x68,0x42,0xaf,0xd7,0xdf,0xc1,0x9e,0x2d,0x2d,0x2d,0xcb,0x70,0x4f,0x28,
- 0x68,0x62,0x7e,0x7e,0xfe,0x7b,0xec,0xd9,0xdc,0xdc,0x6c,0x80,0x3e,0x0c,
- 0xd1,0xc4,0xdc,0xdc,0x9c,0x06,0x7b,0x36,0x36,0x36,0x92,0x35,0xe0,0x6b,
- 0x9a,0xd0,0xe9,0x74,0xa3,0xd8,0xb3,0xa1,0xa1,0x61,0x0e,0xb2,0x7e,0x9a,
- 0x98,0x9d,0x9d,0xbd,0x85,0x3d,0xeb,0xeb,0xeb,0x75,0x90,0xdd,0xb8,0x88,
- 0x99,0x99,0x99,0x91,0xf2,0xf2,0x72,0x63,0x42,0x42,0xc2,0x61,0x6c,0x6c,
- 0xec,0x5f,0xde,0x10,0x1f,0x1f,0xff,0x7b,0x7e,0x7e,0xfe,0xa6,0x5c,0x2e,
- 0x1f,0x7b,0x55,0xcd,0xe9,0xe9,0xe9,0x11,0xec,0x59,0x57,0x57,0x47,0xd6,
- 0xaa,0x0e,0x4f,0xc0,0x59,0x75,0x95,0x9c,0xf3,0xd8,0xef,0x30,0x11,0x11,
- 0x11,0x5e,0xc1,0xfd,0x1e,0x42,0x4e,0x4e,0x8e,0xf9,0xe0,0xe0,0xa0,0xd7,
- 0x53,0xdd,0xa9,0xa9,0x29,0x05,0xf6,0x84,0xf3,0xd1,0x24,0x64,0xd7,0x31,
- 0x42,0xa1,0xd0,0xb5,0x76,0xc1,0x18,0x30,0xd0,0x3f,0xc6,0x6e,0xb7,0x33,
- 0xde,0x36,0x87,0xc3,0xc1,0xc0,0x9a,0xc8,0xa4,0xa6,0xa6,0xba,0x5c,0x53,
- 0x52,0x52,0x76,0xe0,0x67,0x12,0x5c,0x7b,0x72,0x72,0xf2,0x26,0xf6,0xac,
- 0xa9,0xa9,0xd1,0x42,0xd6,0xe2,0xce,0xde,0xde,0x9e,0x8c,0x8c,0x23,0xfc,
- 0xad,0x98,0xa3,0xa3,0x23,0xaf,0xfd,0x70,0x23,0x7d,0xce,0xca,0xca,0x72,
- 0xb9,0x0e,0x0d,0x0d,0x7d,0x83,0xeb,0x6b,0xb5,0x5a,0x39,0xf6,0xac,0xae,
- 0xae,0xbe,0x0d,0x59,0xa3,0x3b,0x9d,0x9d,0x9d,0x4a,0x92,0x35,0x35,0x35,
- 0x5d,0xba,0x23,0xd7,0x26,0x26,0x26,0x5c,0x9e,0xa5,0xa5,0xa5,0xf7,0x70,
- 0x7d,0xc8,0x06,0xb1,0x67,0x55,0x55,0x95,0x06,0xb2,0xcf,0xdd,0x69,0x6b,
- 0x6b,0x1b,0x61,0xd7,0x54,0x9f,0x79,0x92,0x7b,0x89,0xd4,0x28,0x2a,0x2a,
- 0xd2,0xe3,0xfa,0xe3,0xe3,0xe3,0x7d,0xd8,0x53,0x2c,0x16,0x93,0xb5,0xbf,
- 0xc6,0x9d,0xad,0xad,0xad,0x2f,0x49,0x96,0x98,0x98,0xc8,0xd8,0x6c,0xb6,
- 0x4b,0x77,0x84,0x35,0x87,0xc9,0xcb,0xcb,0x63,0xd8,0x7d,0xe5,0x4d,0x5c,
- 0x5f,0xa3,0xd1,0xdc,0xc0,0x9e,0x22,0x91,0xe8,0x5b,0xc8,0x3e,0xc5,0x64,
- 0x67,0x67,0x2f,0x91,0x3c,0x2d,0x2d,0x8d,0x31,0x9b,0xcd,0x97,0xe6,0x68,
- 0xb5,0x5a,0x99,0xc2,0xc2,0x42,0x97,0x63,0x4c,0x4c,0xcc,0xfe,0xc9,0xc9,
- 0xc9,0x67,0xb8,0xb6,0x5a,0xad,0x96,0x61,0xcf,0xca,0xca,0xca,0x5b,0x90,
- 0x7d,0x82,0x39,0x3d,0x3d,0x15,0x67,0x64,0x64,0xac,0x72,0xf3,0x88,0xbf,
- 0xbf,0x3f,0x93,0x94,0x94,0xc4,0x24,0x27,0x27,0xff,0x6f,0x02,0x03,0x03,
- 0x5f,0xce,0x4b,0x91,0x91,0x91,0x4f,0xd7,0xd7,0xd7,0xeb,0x3d,0xd5,0x1e,
- 0x1d,0x1d,0x95,0x62,0xcf,0x8a,0x8a,0x0a,0xb2,0x47,0xa9,0xbc,0x08,0xb8,
- 0x47,0xbf,0x82,0x79,0x64,0x35,0x34,0x34,0xf4,0x59,0x50,0x50,0xd0,0x89,
- 0x37,0x84,0x84,0x84,0x3c,0x17,0x08,0x04,0xe6,0x92,0x92,0x92,0x31,0x78,
- 0xe6,0x3f,0xbe,0xa8,0xa6,0x4a,0xa5,0x6a,0x77,0xf3,0x2c,0x27,0xd7,0xc5,
- 0xc5,0xc5,0xdf,0x41,0xf6,0x21,0x4d,0xc0,0x19,0xa3,0x8b,0xf5,0xec,0x06,
- 0xe2,0xc8,0x35,0xac,0x87,0xe4,0x7c,0xf4,0x3e,0x4d,0xe4,0xe6,0xe6,0x72,
- 0xfb,0xba,0x77,0x79,0xe7,0x6d,0x27,0x20,0x20,0xe0,0x14,0xc6,0xb9,0x16,
- 0x72,0x21,0x0d,0x58,0x2c,0x96,0x0a,0xb8,0xc7,0xc8,0xff,0x15,0xcf,0x80,
- 0x08,0xd6,0xb3,0x00,0x70,0xc2,0xbd,0xf3,0x1c,0xd6,0x00,0x31,0x7c,0xae,
- 0xec,0x2a,0x39,0x3e,0x3e,0x7e,0x2f,0x3a,0x3a,0xfa,0x11,0x3b,0x96,0x12,
- 0xde,0xbf,0xdb,0x35,0xf6,0x79,0xb6,0xa7,0xa7,0xa7,0x6b,0x87,0x87,0x87,
- 0xc9,0xdc,0xf0,0xce,0xeb,0x44,0xa9,0x54,0x8a,0x0b,0x0a,0x0a,0x14,0x7c,
- 0x3e,0xff,0x98,0x75,0x24,0xef,0x40,0xfc,0x79,0xff,0x6d,0x42,0xe0,0x0f,
- 0x6e,0xce,0x80,0xb5,0xdd,0x01,0xf3,0x86,0x25,0x2a,0x2a,0xca,0xec,0x4b,
- 0xa0,0xc6,0x16,0xd4,0xb2,0xbb,0xed,0xa3,0xfe,0xe6,0x9d,0xbf,0x17,0x0a,
- 0xf2,0xe0,0xc8,0xb5,0x40,0xe0,0x0b,0x60,0x8c,0x77,0xfe,0x7e,0xe4,0xcc,
- 0xed,0xfb,0xbe,0x82,0xec,0x19,0xad,0xc0,0x0f,0x00,0x99,0x8b,0xde,0xc4,
- 0x52,0xff,0x00,0x74,0x7b,0x34,0xdf
-};
-
-// restore.png
-static const unsigned char image_9_data[] = {
- 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x6b,0x4c,0x54,0x47,0x14,0xc7,
- 0xd1,0x8a,0xe2,0xb2,0x2a,0xe1,0xe5,0x03,0x14,0x51,0x41,0x45,0xf0,0x2d,
- 0xa0,0xc6,0x57,0xaa,0x89,0xf1,0x03,0xf5,0x43,0x3f,0xb4,0x01,0x03,0x58,
- 0x48,0x69,0x42,0x3f,0x68,0x68,0x24,0x84,0x6e,0x00,0x09,0x96,0x20,0x62,
- 0x2b,0xa5,0xc1,0x54,0xfa,0x08,0x41,0xb1,0x25,0x69,0x63,0x4c,0xb1,0xd6,
- 0x12,0x24,0x42,0x30,0xa9,0xda,0xd4,0xc5,0xfa,0x80,0x6e,0x51,0x60,0x65,
- 0x65,0xd1,0x95,0xdd,0x65,0x5f,0x4c,0xff,0x67,0xbb,0xd7,0xdc,0x8e,0x43,
- 0x21,0xcb,0x2e,0x7a,0x93,0x5f,0x94,0xb9,0x37,0x73,0x7e,0x3b,0x77,0xce,
- 0x99,0x99,0xeb,0xe3,0xf3,0xd2,0x15,0x02,0x0e,0x82,0x4f,0xc1,0x65,0x70,
- 0x7b,0x12,0x68,0x07,0x55,0x20,0x03,0x84,0xbd,0xac,0xf4,0xe2,0x52,0x80,
- 0x7c,0x60,0x00,0x4c,0x62,0xf6,0xec,0xd9,0x36,0x6f,0x23,0x8f,0x07,0xcc,
- 0xa0,0x14,0x04,0x08,0xfc,0xe8,0xf7,0x30,0x85,0x42,0x61,0x3f,0x76,0xec,
- 0x58,0x5f,0x53,0x53,0x53,0x97,0xc5,0x62,0xe9,0x60,0x8c,0xa9,0xbd,0x8d,
- 0xd5,0x6a,0xed,0x68,0x69,0x69,0xe9,0x2c,0x2f,0x2f,0xef,0x9d,0x33,0x67,
- 0x8e,0x9d,0x3c,0xa6,0x4c,0x99,0xd2,0x8d,0x7f,0x83,0x5c,0x7e,0x6f,0x80,
- 0x0b,0xd4,0x9e,0x94,0x94,0xf4,0xcc,0x64,0x32,0x4d,0x8a,0xd7,0xff,0xf9,
- 0x1e,0x38,0x70,0x40,0xef,0x1a,0xd3,0x56,0xe0,0x07,0xde,0xa5,0xbf,0xb7,
- 0x6e,0xdd,0x3a,0x34,0x59,0xe3,0x36,0x16,0x23,0x23,0x23,0x6a,0x8c,0xd7,
- 0x53,0x97,0xe7,0x21,0x50,0x43,0xff,0xa7,0xb1,0x7e,0xd5,0x6e,0x72,0x34,
- 0x1a,0xcd,0x5d,0x97,0xe3,0x4f,0xe0,0x81,0x52,0xa9,0xb4,0xdb,0x6c,0xb6,
- 0x57,0xee,0xc5,0xb3,0x78,0xf1,0x62,0x0b,0xe5,0x10,0xe6,0xe6,0x60,0x54,
- 0x54,0xd4,0x30,0xda,0xfe,0x18,0x0b,0xcc,0x85,0xdb,0xd5,0xd5,0xd5,0x0f,
- 0xab,0xaa,0xaa,0xdc,0xa6,0xa6,0xa6,0xa6,0xdb,0xe1,0x70,0x8c,0x19,0x8b,
- 0xc0,0xfc,0x7b,0xee,0xca,0x9f,0xc1,0x65,0xcb,0x96,0x99,0x31,0x07,0x6e,
- 0x88,0xb0,0xdb,0xed,0x37,0x0e,0x1f,0x3e,0xdc,0x3b,0x7d,0xfa,0x74,0x07,
- 0x57,0x23,0x26,0x44,0x48,0x48,0x88,0xb5,0xb9,0xb9,0xf9,0xce,0x68,0x71,
- 0x89,0xcd,0x9b,0x37,0x1b,0x24,0xc7,0xa5,0x4b,0x97,0x9a,0xd0,0x76,0x5d,
- 0xc4,0xda,0xb5,0x6b,0x9d,0xbf,0x25,0x3a,0x3a,0xda,0x98,0x9e,0x9e,0xae,
- 0xad,0xad,0xad,0xbd,0x77,0xf6,0xec,0x59,0xb7,0x39,0x73,0xe6,0xcc,0xfd,
- 0xdd,0xbb,0x77,0xeb,0x11,0xd7,0xe9,0x5a,0x5f,0x5f,0x7f,0x77,0xb4,0xd8,
- 0x70,0x7c,0x26,0x73,0x34,0x62,0x6c,0x5b,0x79,0x8e,0x1e,0x3d,0xda,0x45,
- 0xcf,0xec,0xdb,0xb7,0x4f,0x27,0xba,0x3f,0x11,0xb4,0x5a,0xed,0xf5,0x19,
- 0x33,0x66,0x38,0xa6,0x4d,0x9b,0x36,0x82,0x77,0x25,0x7c,0x26,0x31,0x31,
- 0xf1,0xa9,0xe4,0xb8,0x64,0xc9,0x12,0x72,0xbc,0xca,0x83,0x79,0x3a,0xe4,
- 0xeb,0xeb,0xeb,0x10,0xdd,0xf3,0x04,0xc5,0xc5,0xc5,0xf7,0xc9,0x01,0x63,
- 0xab,0x16,0xdd,0x4f,0x48,0x48,0x18,0x94,0x1c,0x23,0x23,0x23,0x87,0xd0,
- 0x76,0x85,0x07,0xeb,0x94,0x75,0xfe,0xfc,0xf9,0x66,0xd1,0x3d,0x4f,0xd0,
- 0xd3,0xd3,0x73,0x95,0x1c,0x52,0x53,0x53,0xbb,0x45,0xf7,0xe3,0xe3,0xe3,
- 0x07,0x64,0x8e,0xcf,0xd1,0x76,0x89,0x67,0xd6,0xac,0x59,0xd6,0x05,0x0b,
- 0x16,0x18,0x0b,0x0b,0x0b,0x3b,0xd6,0xad,0x5b,0xa7,0x0f,0x0b,0x0b,0x33,
- 0xe2,0x6f,0xd3,0x78,0xa1,0xe7,0x31,0x16,0x4f,0x4e,0x9f,0x3e,0x7d,0x53,
- 0xd4,0xff,0xc0,0xc0,0xc0,0x2f,0xe4,0x80,0x75,0x45,0x23,0xba,0xbf,0x69,
- 0xd3,0xa6,0x27,0x92,0x23,0xea,0x10,0x39,0x5e,0xe4,0x81,0xa3,0x85,0xe6,
- 0x0c,0x3d,0x87,0x1a,0xca,0x76,0xec,0xd8,0xc1,0x76,0xee,0xdc,0x39,0x6e,
- 0xb6,0x6f,0xdf,0xce,0x66,0xce,0x9c,0x49,0x31,0x58,0x6c,0x6c,0xec,0x20,
- 0xdf,0x7f,0x7f,0x7f,0xff,0x25,0x97,0x63,0x97,0x28,0xfe,0xc6,0x8d,0x1b,
- 0x75,0x92,0x63,0x44,0x44,0x84,0x01,0x6d,0x3f,0xf2,0x60,0x3e,0x3b,0xa8,
- 0xff,0xca,0xca,0x4a,0xe6,0xee,0x85,0x5a,0xc8,0x30,0xef,0x9c,0x39,0x8c,
- 0x3c,0xd5,0x9e,0x38,0x71,0xe2,0x37,0x09,0xe4,0xe4,0x2d,0x6a,0x4f,0x49,
- 0x49,0x79,0x20,0x8a,0xbf,0x61,0xc3,0x86,0x7e,0x99,0xe3,0x33,0xe4,0x7a,
- 0x03,0x0f,0xc6,0x90,0x65,0x64,0x64,0xb8,0xed,0x27,0xbf,0xb6,0x6c,0xd9,
- 0xc2,0xa6,0x4e,0x9d,0x2a,0xac,0x95,0xb9,0xb9,0xb9,0xb7,0x44,0xf1,0xd7,
- 0xaf,0x5f,0xff,0x58,0x72,0x5c,0xb4,0x68,0xd1,0x53,0x74,0x73,0x8e,0x07,
- 0x39,0xcd,0x2a,0x2a,0x2a,0x3c,0xe2,0x98,0x95,0x95,0xc5,0x30,0x77,0x50,
- 0x66,0xec,0xf5,0x12,0x46,0xa3,0xf1,0x3b,0x72,0xc0,0x98,0xb6,0x8a,0xe2,
- 0x23,0x07,0xb4,0x92,0xe3,0xc2,0x85,0x0b,0xc9,0xb1,0x96,0xc7,0x0b,0x8e,
- 0x36,0x79,0xff,0xc3,0xc3,0xc3,0x75,0xe4,0x80,0x7d,0x63,0x8b,0x28,0x3e,
- 0xd6,0x8f,0x3e,0x99,0x23,0xcd,0xe7,0xaf,0x79,0xb0,0xfe,0xb1,0xbd,0x7b,
- 0xf7,0x32,0xe4,0xf5,0x84,0xc1,0xfc,0x97,0x1c,0x5f,0xf4,0x0f,0xc7,0x6f,
- 0xc9,0xa1,0xac,0xac,0xac,0x59,0x14,0x7f,0xcd,0x9a,0x35,0xbd,0x92,0x63,
- 0x78,0x78,0xb8,0x1e,0xef,0xff,0x4b,0x1e,0x3f,0x3f,0x3f,0x16,0x1a,0x1a,
- 0xca,0x50,0xe3,0x27,0x4c,0x60,0x60,0x20,0x9b,0x3b,0x77,0xee,0x90,0xbc,
- 0x7f,0xb3,0xd9,0xec,0xdc,0x17,0x96,0x96,0x96,0xfe,0x2a,0x8a,0xbf,0x7a,
- 0xf5,0xea,0x1e,0xc9,0x11,0x75,0x6c,0x00,0xde,0x5f,0xf0,0x50,0xdd,0x39,
- 0x79,0xf2,0xa4,0x47,0xde,0x75,0x76,0x76,0x36,0xad,0xf9,0x3a,0x79,0xff,
- 0x70,0xac,0x26,0x07,0x9c,0x4d,0x2e,0x8b,0xe2,0xc7,0xc5,0xc5,0x3d,0xe4,
- 0x1c,0x4f,0xf1,0x78,0xda,0x11,0x6b,0x6b,0xbf,0xbc,0x7f,0x38,0x7e,0x4e,
- 0x0e,0x25,0x25,0x25,0x8d,0xa2,0xf8,0xa8,0xa9,0xdd,0xae,0xdc,0xd7,0x63,
- 0x4d,0x78,0x82,0xb6,0x0a,0x1e,0x2f,0x38,0x3e,0x96,0xf7,0x0f,0x47,0x3a,
- 0x1f,0x53,0xfd,0xbc,0x28,0x8a,0xbf,0x6a,0xd5,0xaa,0xbf,0x25,0x47,0xac,
- 0xc9,0xf4,0x0e,0xca,0x78,0x3c,0xed,0x88,0x7d,0xea,0x63,0x79,0xff,0x38,
- 0xdf,0x95,0x93,0x43,0x51,0x51,0xd1,0x05,0x51,0xfc,0x98,0x98,0x18,0x0d,
- 0xe7,0x58,0xc2,0xe3,0x69,0x47,0xec,0x01,0xfb,0xe4,0xfd,0xc3,0xf1,0x13,
- 0x72,0x28,0x28,0x28,0xf8,0x41,0x14,0x7f,0xe5,0xca,0x95,0x7f,0x49,0x8e,
- 0xf3,0xe6,0xcd,0xa3,0x79,0x52,0xc4,0xe3,0x69,0x47,0xe4,0x77,0x9f,0xbc,
- 0x7f,0x38,0x16,0x93,0x83,0x4a,0xa5,0x6a,0x10,0xc5,0x5f,0xb1,0x62,0x45,
- 0x97,0xe4,0x88,0x9a,0x40,0xef,0x40,0xc5,0xe3,0x69,0x47,0xec,0xaf,0x7a,
- 0xe5,0xfd,0xc3,0xb1,0x80,0x1c,0xf2,0xf3,0xf3,0xcf,0x8b,0xe2,0x2f,0x5f,
- 0xbe,0xbc,0x93,0x73,0xcc,0xe3,0xf1,0x82,0x63,0x8f,0xbc,0x7f,0xac,0x85,
- 0xf4,0xed,0x86,0xe5,0xe5,0xe5,0x9d,0x13,0xc5,0x47,0xad,0x7a,0x20,0x39,
- 0xa2,0x4e,0x6b,0xd1,0xf6,0x11,0x8f,0xa7,0x1d,0xb1,0x07,0x7c,0x24,0xef,
- 0xbf,0xb3,0xb3,0x53,0xe5,0x7a,0xd7,0xdf,0x88,0xe2,0x23,0xc7,0xee,0x49,
- 0x8e,0x38,0xa3,0xd1,0x3c,0x39,0xc4,0xa3,0x50,0x28,0x2c,0xb4,0xaf,0xf2,
- 0xc4,0x95,0x96,0x96,0x46,0xf3,0xb1,0x4b,0xde,0x7f,0x4e,0x4e,0x8e,0x73,
- 0x2d,0x6c,0x6f,0x6f,0x2f,0x10,0xc5,0x47,0x8e,0x49,0xdf,0x01,0xf4,0xc1,
- 0xc1,0xc1,0x34,0x4f,0x3e,0xe4,0x41,0x3d,0xeb,0xa0,0x75,0x0c,0xf3,0x66,
- 0x42,0x7e,0x3a,0x9d,0x8e,0xd6,0x42,0xc7,0x9e,0x3d,0x7b,0x2e,0x4b,0x7d,
- 0x1f,0x3f,0x7e,0xfc,0x14,0xf6,0xa7,0x56,0xd4,0xe9,0x9b,0xa2,0xd8,0x04,
- 0x62,0xff,0xc9,0x39,0x7e,0xc0,0xd3,0xd8,0xd8,0xa8,0xc2,0x9a,0x6d,0xc1,
- 0xb9,0x86,0x1d,0x39,0x72,0x84,0xd5,0xd5,0xd5,0x31,0x9c,0x3f,0xc7,0x0d,
- 0x3d,0x8f,0xb1,0x62,0xb4,0xee,0xe3,0x9d,0x98,0xb7,0x6d,0xdb,0xd6,0x84,
- 0xbd,0xfc,0x15,0xd4,0x11,0x67,0xdd,0xc3,0xfc,0xbc,0x63,0x30,0x18,0xb2,
- 0x45,0xb1,0x09,0xba,0x2f,0x39,0x06,0x05,0x05,0xd1,0x5c,0xce,0x14,0xd1,
- 0xd6,0xd6,0x96,0x83,0x5a,0x7a,0xc3,0xdf,0xdf,0x7f,0xd8,0x9d,0xb3,0x3e,
- 0xf6,0x4e,0x76,0xcc,0x6b,0x23,0x62,0xf4,0x62,0x2c,0x1e,0x21,0x3f,0x35,
- 0xf0,0xfc,0x39,0x33,0x33,0xf3,0xab,0xd1,0x62,0x4a,0x60,0xfe,0x76,0xb8,
- 0xfa,0x79,0x88,0xdf,0x49,0x67,0x85,0xb4,0xb1,0xc0,0xda,0x75,0x10,0xb9,
- 0xf8,0xde,0x78,0xc1,0xde,0xeb,0xe0,0x78,0xfa,0x1d,0x0d,0xe4,0x09,0xad,
- 0x85,0xf4,0x3d,0xf2,0xbc,0xeb,0x7b,0x01,0xe5,0x52,0xca,0xeb,0x82,0x5a,
- 0xad,0x7e,0x1f,0xfb,0x1d,0x3a,0xef,0xb5,0x80,0x2c,0x72,0x44,0xbd,0xbc,
- 0x86,0x7b,0xef,0xbc,0x2e,0xe0,0x5c,0xd9,0xe0,0x7a,0xcf,0x85,0xc0,0x1f,
- 0x38,0xf3,0x67,0xd7,0xae,0x5d,0x54,0x4b,0xdf,0x7e,0xd5,0x24,0x27,0x27,
- 0x57,0xc2,0x67,0x04,0xd0,0x1e,0x37,0xd8,0xe7,0xdf,0x2b,0x02,0x38,0xcf,
- 0x37,0x01,0x01,0x01,0x1a,0xe4,0xf0,0xc7,0x56,0xab,0x75,0x3f,0x9e,0x7f,
- 0x6b,0xb2,0xb0,0xd9,0x6c,0xfb,0xb1,0xb7,0xc8,0x45,0x5e,0x49,0x35,0x91,
- 0xbe,0x99,0xc5,0xf9,0xfc,0xf7,0x8a,0x04,0xdf,0xbb,0xfc,0x9d,0x39,0x89,
- 0x5c,0xee,0x43,0x1e,0xfe,0xee,0x6d,0x94,0x4a,0xe5,0x23,0x79,0x5c,0x40,
- 0xdf,0x06,0x62,0x7c,0x46,0xbf,0x12,0xc0,0x67,0xa0,0x19,0x98,0xdc,0xa9,
- 0x37,0x6e,0x40,0x75,0xed,0x1a,0xa0,0x77,0xfc,0x26,0x2f,0xf4,0x0f,0x37,
- 0x76,0x25,0x15
-};
-
-// shade.png
-static const unsigned char image_10_data[] = {
- 0x00,0x00,0x1f,0xa4,0x78,0x9c,0xd5,0x99,0xd1,0x4b,0x53,0x51,0x1c,0xc7,
- 0xbd,0xd3,0xa1,0xa0,0xf8,0xa2,0xff,0x81,0xef,0x2a,0xf8,0xe0,0x83,0x0f,
- 0x03,0xc1,0x27,0x21,0x48,0x16,0x14,0x8d,0x22,0xa5,0x51,0x11,0x16,0x44,
- 0x41,0x83,0x51,0xd0,0x46,0x52,0x30,0x50,0x0b,0x82,0x60,0x83,0x61,0x61,
- 0xa0,0x54,0x1b,0x14,0x4b,0x92,0xca,0x32,0xc8,0x32,0x66,0xb9,0x24,0x28,
- 0x5a,0xe4,0x40,0x14,0x7a,0xf0,0x16,0x38,0x37,0x4f,0xbf,0xef,0xb8,0xa3,
- 0xdb,0xe9,0xe7,0x86,0xed,0x6e,0x9e,0x0e,0x7c,0x60,0x3b,0xf7,0xf2,0xfd,
- 0x7e,0xbc,0x5c,0xee,0xae,0xe7,0x08,0x21,0xaa,0x84,0x09,0x1a,0x75,0xc4,
- 0x09,0x22,0x4c,0xbc,0x26,0x74,0x42,0x54,0x10,0xdd,0xe8,0x0d,0x1b,0x1e,
- 0x75,0x42,0x72,0x34,0xb9,0x6a,0x84,0x8b,0x48,0xca,0x39,0x76,0xbb,0x7d,
- 0xab,0x52,0x30,0x7f,0x43,0xd2,0xf0,0xd2,0x18,0xdf,0xf1,0xfc,0x79,0xed,
- 0xed,0xed,0x3f,0x47,0x46,0x46,0xbe,0x4d,0x4f,0x4f,0x7f,0x5a,0x5d,0x5d,
- 0xfd,0x40,0xe7,0xbc,0x2f,0xc0,0xa2,0x95,0xac,0xad,0xad,0x2d,0x51,0xef,
- 0x67,0xea,0x5f,0x86,0x87,0xc9,0x7d,0xdc,0xec,0x4d,0xc3,0x8f,0xf9,0xc6,
- 0xc6,0xc6,0xcd,0x60,0x30,0xf8,0x85,0xe6,0xe2,0xaa,0x00,0x1f,0x78,0x19,
- 0xde,0x7e,0xc3,0xd7,0x81,0xef,0xd5,0xd5,0xd5,0x5b,0xd1,0x68,0xf4,0x23,
- 0xcd,0xcd,0xab,0x06,0xbc,0xe0,0x67,0x78,0xc3,0x37,0x80,0xcf,0x83,0x83,
- 0x83,0xcb,0x74,0xfc,0x55,0x99,0x99,0xfb,0x57,0xc8,0x2f,0x65,0x38,0xc3,
- 0x77,0x1e,0x9f,0xa7,0xa6,0xa6,0xde,0xd1,0xb1,0x97,0xaa,0x02,0x3f,0xc3,
- 0x19,0xbe,0x59,0x5c,0xf7,0x8d,0x8d,0x8d,0xe7,0x74,0x6c,0xa6,0x18,0x99,
- 0x4c,0x66,0x26,0x91,0x48,0xcc,0xbd,0xb1,0x60,0x20,0x87,0xf2,0xd0,0x5b,
- 0x14,0xf2,0x7b,0x61,0xdc,0x1f,0x59,0xe3,0x59,0x96,0xa5,0xf9,0x27,0x85,
- 0xa0,0x7b,0xea,0x6d,0x47,0x47,0xc7,0xf7,0xda,0xda,0xda,0xac,0x95,0xcf,
- 0x63,0xe4,0x21,0x17,0xf9,0x52,0xe7,0x53,0x19,0x78,0x9a,0x9e,0xbf,0x70,
- 0x7e,0xbc,0x1d,0x2e,0x97,0xeb,0x6b,0xfe,0x5c,0x9b,0xcd,0x26,0x5a,0x5a,
- 0x5a,0x44,0x5b,0x5b,0x5b,0xc9,0x20,0x07,0x79,0xf9,0x6c,0xf4,0x14,0xf2,
- 0x60,0x9c,0x63,0x1c,0x3e,0x9f,0x6f,0x11,0xe7,0x34,0x34,0x34,0x88,0xa1,
- 0xa1,0x21,0xa1,0xeb,0xba,0xb0,0x72,0x20,0x0f,0xb9,0xc8,0x47,0x8f,0xdf,
- 0xef,0x4f,0xd0,0xf4,0x23,0x0e,0xc6,0xf9,0x81,0x4c,0x3a,0x9d,0x7e,0x58,
- 0x5f,0x5f,0x9f,0xd6,0x34,0x4d,0x44,0x22,0x11,0x4b,0x5d,0xe5,0x81,0x7c,
- 0xf4,0xa0,0x0f,0xbd,0x9c,0x8f,0xd9,0xb9,0xa6,0xa6,0x06,0xce,0x51,0x19,
- 0xfa,0x3d,0x7a,0x86,0xe3,0xad,0xad,0xad,0x65,0xf5,0xcd,0x0f,0xf4,0xa0,
- 0x0f,0xbd,0x9c,0x0f,0x3c,0x25,0xe7,0xbb,0x32,0xe1,0x70,0x78,0x16,0xc7,
- 0x7b,0x7a,0x7a,0x2a,0xe2,0x8c,0x1e,0xf4,0x8d,0x8d,0x8d,0xcd,0xd2,0xd7,
- 0x7b,0x32,0x8c,0xf3,0x84,0x4c,0x2a,0x95,0x8a,0x18,0xbf,0xe9,0x82,0xde,
- 0x3b,0xca,0xea,0x8b,0x7c,0xf4,0xa0,0x0f,0xbd,0x9c,0x0f,0xe3,0x3c,0xce,
- 0xd1,0xd9,0xd9,0xb9,0x8c,0x73,0xba,0xbb,0xbb,0xc5,0xca,0xca,0x4a,0x59,
- 0x7c,0x91,0x8b,0x7c,0xf4,0xa0,0x8f,0xa6,0xee,0x70,0x30,0xce,0xb7,0x38,
- 0x92,0xc9,0xe4,0x44,0x53,0x53,0xd3,0x8f,0xfc,0xf5,0x76,0xbb,0xdd,0x62,
- 0x74,0x74,0x54,0x84,0x42,0xa1,0x92,0x41,0x0e,0xf2,0xf2,0xd7,0x17,0x3d,
- 0xd4,0x37,0x49,0xbd,0xb7,0x39,0x24,0xe7,0x0c,0xcd,0x85,0xb7,0x63,0x61,
- 0x61,0x61,0xb2,0xab,0xab,0xeb,0xaf,0xf7,0x6a,0x2b,0x41,0x3e,0x7a,0x0a,
- 0x79,0xc0,0x53,0x72,0x0e,0x16,0x23,0x16,0x8b,0xdd,0xf7,0x78,0x3c,0xb3,
- 0x7d,0x7d,0x7d,0x8b,0xbd,0xbd,0xbd,0x4b,0xa5,0x82,0x1c,0xe4,0x21,0x97,
- 0xf2,0x43,0xc5,0x60,0x9c,0x6f,0xaa,0x0e,0xe3,0x7c,0x43,0x75,0x18,0xe7,
- 0x6b,0x16,0x73,0xdd,0x6a,0x18,0xe7,0x61,0xd5,0x31,0x3b,0xd3,0x7b,0x29,
- 0x9c,0x03,0xaa,0x03,0x4f,0xc9,0xf9,0xca,0x2e,0x73,0xb5,0x18,0x8c,0xf3,
- 0x65,0xd5,0x61,0x9c,0x2f,0x15,0xc0,0xa7,0x02,0x8c,0xf3,0x45,0xd5,0x91,
- 0x9c,0x37,0x69,0xce,0xab,0x3a,0xf0,0x94,0x9c,0xcf,0x5b,0x84,0xa7,0x5c,
- 0x30,0xce,0xe7,0x54,0x87,0x71,0x3e,0xa3,0x3a,0x8c,0xf3,0xa9,0x5d,0xe0,
- 0xf4,0x4e,0x60,0x9c,0x4f,0xaa,0x8e,0xd9,0xd9,0x66,0xb3,0xc1,0xf9,0x98,
- 0xc4,0x71,0xd5,0x80,0xa7,0xe4,0x7c,0x54,0x71,0xdc,0x8c,0x73,0xbf,0xea,
- 0x98,0x9c,0xb3,0x9a,0xa6,0x65,0x74,0x5d,0x3f,0x42,0xf3,0x87,0x4a,0xe0,
- 0x70,0x39,0x21,0xbf,0x7e,0x78,0x1a,0xeb,0xa2,0xb9,0xf5,0xe7,0x40,0x20,
- 0x70,0x81,0x8e,0x1d,0x54,0x15,0xf8,0x99,0xd6,0x9f,0x73,0xeb,0xfc,0x0e,
- 0x87,0x03,0xff,0xf3,0xee,0x57,0x15,0xf8,0x55,0xfd,0x5e,0xe7,0xcf,0xed,
- 0xa7,0xe0,0xba,0x7b,0xbd,0x5e,0xbc,0x8b,0x38,0x2b,0xc0,0xbe,0x9d,0x00,
- 0x2f,0xe3,0xbe,0xc8,0xed,0xa7,0x08,0xd3,0xbe,0x95,0xdd,0x6e,0x5f,0x1f,
- 0x18,0x18,0xc0,0xfb,0xf5,0x5e,0x55,0x80,0x0f,0xbc,0x0c,0xdf,0xdc,0xbe,
- 0x95,0x60,0xf6,0x07,0x9b,0x9b,0x9b,0x97,0x9c,0x4e,0xe7,0xb0,0xcf,0xe7,
- 0x3b,0x1b,0x8f,0xc7,0x0f,0xd0,0x39,0x7b,0x2a,0x05,0xfa,0xd0,0x8b,0x7e,
- 0x78,0x98,0xd6,0x6d,0xfe,0xd8,0x1f,0x14,0x45,0xf6,0x61,0xe9,0x19,0x93,
- 0xae,0x14,0xcc,0x1a,0x13,0xbb,0x0f,0x2b,0xfe,0xb3,0xfd,0xee,0x5f,0x4b,
- 0xfc,0x3e,0x57
-};
-
-// splat.png
-static const unsigned char image_11_data[] = {
- 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x59,0x09,0x4c,0x95,0x47,0x10,0xc6,
- 0x03,0x50,0xf1,0x88,0xf1,0xbe,0xa2,0x36,0xd1,0x78,0xd6,0x98,0xaa,0x69,
- 0x88,0xda,0xe2,0x81,0x26,0x52,0x89,0x77,0x63,0x8c,0x82,0x82,0x41,0x11,
- 0x09,0x18,0xad,0xc5,0x70,0x14,0x14,0x0f,0x50,0x6a,0x04,0x41,0x41,0xe4,
- 0x2a,0x88,0x82,0x02,0xfa,0x12,0x88,0x29,0x86,0xc3,0xa2,0x42,0xb9,0x44,
- 0x69,0x25,0x4a,0x2d,0xe2,0x85,0x8a,0xa8,0x60,0xb8,0xde,0xf6,0x9b,0xf5,
- 0xed,0xcb,0xff,0x16,0xde,0x61,0x52,0xd4,0x4d,0xbe,0x04,0xff,0x9d,0xdd,
- 0xf9,0xd8,0x9d,0xf9,0x66,0x56,0xcc,0xcc,0x3a,0x1d,0xf6,0x80,0x1f,0x70,
- 0x1e,0x28,0x03,0x2a,0xba,0x18,0xa5,0x40,0x12,0xe0,0x0d,0xd8,0x75,0x4e,
- 0x49,0x67,0x7c,0x0f,0x14,0x01,0x4c,0xc0,0xd2,0xd2,0xb2,0xbd,0x7f,0xff,
- 0xfe,0xad,0x5d,0x09,0x0b,0x0b,0x8b,0x76,0xa5,0x4f,0x20,0x1f,0xf8,0x56,
- 0x0f,0x47,0x77,0x61,0xb7,0x6c,0xd9,0xb2,0x86,0x98,0x98,0x98,0x9a,0x7b,
- 0x18,0x8c,0xb1,0x3b,0x5d,0x0d,0xb5,0x5a,0x7d,0xa7,0xb2,0xb2,0xb2,0x2a,
- 0x3a,0x3a,0xba,0x66,0xe1,0xc2,0x85,0x6f,0x14,0x7c,0x1d,0x25,0x8e,0x3f,
- 0x00,0xed,0x56,0x56,0x56,0x6d,0x39,0x39,0x39,0x0f,0x3e,0x05,0x37,0x43,
- 0xc8,0xcc,0xcc,0xac,0xee,0xd5,0xab,0x57,0x7b,0xb7,0x6e,0xdd,0x5a,0xc0,
- 0xeb,0x3b,0x0d,0xc7,0xee,0xf8,0xf7,0x0b,0xba,0xdf,0xdc,0xdc,0xdc,0xcf,
- 0xce,0x51,0xe0,0xca,0x95,0x2b,0xff,0xf4,0xec,0xd9,0x53,0x0d,0x7e,0x0f,
- 0x35,0x3c,0xbf,0xa1,0x33,0x5e,0xbb,0x76,0x6d,0xfd,0xe7,0xe6,0x26,0xc3,
- 0xd6,0xd6,0x56,0xc4,0xc0,0x57,0x80,0x07,0xfd,0x7c,0xf2,0xe4,0xc9,0xda,
- 0xae,0xf2,0x17,0x19,0x19,0xf9,0xe8,0xe0,0xc1,0x83,0x4f,0x5a,0x5a,0x5a,
- 0xee,0x7e,0xcc,0xba,0x03,0x07,0x0e,0x3c,0xd1,0xf0,0x74,0x00,0x02,0xe8,
- 0x67,0x95,0x4a,0x45,0x77,0x7e,0xfb,0xff,0xc6,0xd2,0xa5,0x4b,0x1b,0x44,
- 0x5e,0x2c,0x58,0xb0,0xe0,0xcd,0xc7,0xac,0x4d,0x48,0x48,0x78,0xa8,0x59,
- 0xbb,0x4b,0xf0,0xbc,0x7c,0xf9,0xf2,0x3d,0xe4,0x5d,0xb1,0xa9,0xc8,0xcf,
- 0xcf,0xaf,0xac,0xaf,0xaf,0x2f,0x35,0x64,0xb3,0x77,0xef,0xde,0x5a,0xda,
- 0x7b,0xe6,0xcc,0x99,0x6c,0xfa,0xf4,0xe9,0x0c,0x79,0xc0,0x1a,0x1b,0x1b,
- 0x4b,0x4c,0xf5,0x11,0x17,0x17,0x77,0xbf,0x13,0x9e,0x95,0x98,0xbb,0x65,
- 0x0a,0xac,0xad,0xad,0xf9,0x19,0x51,0x9c,0xbb,0xb9,0xb9,0xd5,0xbe,0x7f,
- 0xff,0xbe,0x50,0xb6,0x49,0x4c,0x4c,0xfc,0x9b,0x6c,0x46,0x8d,0x1a,0xc5,
- 0x1e,0x3f,0x7e,0xcc,0x96,0x2f,0x5f,0xce,0xcf,0xb4,0xb6,0xb6,0xb6,0xd8,
- 0x54,0x3f,0xb1,0xb1,0xb1,0x55,0x32,0xcf,0x8c,0x8c,0x8c,0x0a,0x9c,0xf5,
- 0x1f,0xc6,0x40,0x76,0xe2,0x8c,0xc6,0x8c,0x19,0xc3,0x7d,0x4f,0x9c,0x38,
- 0xb1,0xf1,0xfe,0xfd,0xfb,0x45,0xc2,0xa6,0xa2,0xa2,0xa2,0x98,0xf4,0xdb,
- 0xdc,0xdc,0x9c,0x95,0x96,0x96,0x32,0x1a,0x33,0x66,0xcc,0x60,0xa4,0x35,
- 0xf0,0x6f,0xd4,0x87,0x00,0x34,0xfc,0x2f,0x99,0x67,0x7a,0x7a,0x7a,0x19,
- 0xe6,0x72,0x8d,0x21,0x20,0x20,0x80,0xff,0x8e,0x67,0xce,0x9c,0x61,0x38,
- 0x47,0xb6,0x6e,0xdd,0x3a,0xce,0x95,0x6a,0x8a,0xab,0xab,0xeb,0xc3,0x9b,
- 0x37,0x6f,0x16,0x8d,0x1e,0x3d,0xba,0x89,0xbe,0x45,0x45,0x45,0x31,0x31,
- 0xc0,0x9b,0x8d,0x1f,0x3f,0xbe,0xd1,0x14,0x1f,0x02,0xd0,0xfd,0x3b,0x32,
- 0xcf,0xb4,0xb4,0xb4,0x3f,0x31,0xf7,0xbb,0x31,0x9c,0x3f,0x7f,0xbe,0x84,
- 0xec,0xbd,0xbc,0xbc,0xb4,0x1c,0x22,0x22,0x22,0xa8,0xbe,0x2a,0xeb,0x1e,
- 0xf3,0xf0,0xf0,0xd0,0xce,0x3f,0x7b,0xf6,0x8c,0x7f,0x9b,0x3f,0x7f,0x7e,
- 0x9d,0x29,0x3e,0x04,0x70,0x16,0xe5,0x32,0xcf,0x4b,0x97,0x2e,0xdd,0xc2,
- 0x5c,0x96,0x31,0x20,0xbe,0xb2,0x29,0x1f,0x6c,0x6c,0x6c,0x98,0x72,0x20,
- 0xa7,0xd8,0xee,0xdd,0xbb,0x99,0xbd,0xbd,0x3d,0x8b,0x8f,0x8f,0xd7,0x99,
- 0xbb,0x76,0xed,0x1a,0xe7,0xb9,0x79,0xf3,0xe6,0x6a,0x53,0x7c,0x08,0xe0,
- 0x3e,0x4a,0x64,0x9e,0xa9,0xa9,0xa9,0x05,0x98,0x53,0x99,0x02,0xc4,0xe5,
- 0xbb,0x7e,0xfd,0xfa,0x31,0x53,0x47,0x58,0x58,0x18,0xe7,0x19,0x14,0x14,
- 0x54,0x66,0xaa,0x0f,0x02,0x74,0xb7,0x48,0xe6,0x99,0x92,0x92,0x92,0x8f,
- 0xb9,0x74,0x63,0x68,0x6e,0x6e,0xce,0x18,0x3e,0x7c,0x78,0xe3,0xa0,0x41,
- 0x83,0x4c,0xe6,0xb9,0x67,0xcf,0x1e,0xa6,0xb9,0x33,0x93,0x7c,0x08,0x9c,
- 0x3a,0x75,0xea,0x96,0xcc,0x13,0x71,0x97,0x83,0x5c,0x4c,0x25,0x54,0x57,
- 0x57,0x5f,0xd9,0xb0,0x61,0xc3,0x3d,0xf4,0x2e,0x35,0xb3,0x67,0xcf,0x7e,
- 0x3a,0x69,0xd2,0xa4,0x97,0xe3,0xc6,0x8d,0x6b,0x18,0x31,0x62,0xc4,0x3b,
- 0xe4,0x6c,0x2b,0xd9,0x2f,0x5a,0xb4,0xa8,0x53,0x4e,0x75,0x75,0x75,0x6c,
- 0xeb,0xd6,0xad,0x2c,0x39,0x39,0x59,0xfb,0xed,0xf0,0xe1,0xc3,0x9c,0x27,
- 0xe2,0xb8,0x40,0xf8,0x30,0x05,0xe1,0xe1,0xe1,0x05,0x32,0x4f,0xec,0x9b,
- 0x8d,0x2d,0xcf,0x11,0xa0,0x79,0xca,0xde,0x8a,0xf5,0xe8,0xd1,0x83,0x0d,
- 0x18,0x30,0x80,0xe1,0x1c,0x49,0x83,0x98,0xa7,0xa7,0x27,0xcf,0x75,0x31,
- 0xce,0x9d,0x3b,0xc7,0xba,0x77,0xef,0xce,0xb6,0x6f,0xdf,0xce,0x26,0x4f,
- 0x9e,0xcc,0xd7,0x0c,0x19,0x32,0x44,0x3b,0x8f,0x33,0xe0,0xdf,0xf0,0xbb,
- 0xd6,0x43,0x0f,0x54,0xc2,0x8f,0x31,0xa0,0x96,0xe7,0xc9,0x3c,0xe1,0xeb,
- 0x2a,0xe6,0x12,0xda,0xdb,0xdb,0x13,0x90,0xbb,0x6d,0xd0,0x19,0x56,0x56,
- 0x56,0xc6,0xde,0xbe,0x7d,0x6b,0xf4,0x5e,0x71,0xe6,0x3a,0xb9,0x4e,0x20,
- 0x6d,0x15,0x03,0x67,0xc3,0x50,0x9b,0x84,0x7e,0xb5,0xad,0x5e,0xbd,0xba,
- 0xb2,0xaa,0xaa,0x2a,0x95,0xfc,0x19,0x02,0xe2,0x3a,0x47,0xe6,0x89,0xfa,
- 0x91,0x89,0xb9,0x18,0x82,0xa3,0xa3,0x23,0xbd,0x03,0x18,0xf6,0xe3,0x3e,
- 0xf4,0x8d,0xc0,0xc0,0x40,0xae,0xdf,0xa8,0x4b,0x54,0x13,0xd5,0xc8,0xe7,
- 0x52,0xe8,0x55,0x01,0xf4,0xbd,0x0d,0x5a,0xc9,0x5a,0x5b,0x5b,0x75,0xec,
- 0x91,0xab,0xbc,0x3e,0xd1,0xde,0x38,0x7f,0x35,0x62,0xab,0xbc,0xa8,0xa8,
- 0x28,0x55,0xf8,0x95,0x71,0xe2,0xc4,0x89,0x6c,0x99,0x27,0x6a,0xbe,0x0a,
- 0x9c,0xa2,0x08,0xb8,0xd3,0x68,0x9c,0xc7,0x2b,0xfa,0xbe,0x62,0xc5,0x0a,
- 0xd6,0xd4,0xd4,0xd4,0x81,0x23,0x7a,0x1f,0x7e,0xd7,0x64,0x83,0x98,0x68,
- 0xf2,0xf3,0xf3,0xcb,0x11,0xeb,0xc7,0x8e,0x1d,0xfb,0x92,0xbe,0x23,0x9e,
- 0xd9,0x8d,0x1b,0x37,0x74,0xd6,0x21,0x0f,0xb9,0xfe,0x4f,0x98,0x30,0x81,
- 0x69,0x6a,0x6f,0xbb,0x9d,0x9d,0xdd,0x5d,0xf4,0xf3,0x89,0x62,0xbd,0xc0,
- 0xf1,0xe3,0xc7,0xaf,0xca,0x3c,0xa1,0x79,0x94,0x63,0xe1,0x02,0x8f,0x1e,
- 0x3d,0x8a,0x9e,0x32,0x65,0x0a,0xef,0x23,0x66,0xcd,0x9a,0xc5,0x9e,0x3e,
- 0x7d,0xda,0x81,0xab,0xc8,0x8f,0xde,0xbd,0x7b,0x37,0xe7,0xe5,0xe5,0x25,
- 0x89,0xb5,0x87,0x0e,0x1d,0xba,0x4a,0xe7,0x25,0x62,0x40,0x99,0x53,0xca,
- 0x58,0xb8,0x70,0xe1,0x02,0x43,0xed,0x12,0xf1,0xd0,0xba,0x69,0xd3,0xa6,
- 0x42,0x25,0x87,0x90,0x90,0x90,0x4c,0x99,0x27,0x6a,0xfe,0x45,0xcc,0x9d,
- 0x50,0x02,0x67,0x16,0x3a,0x77,0xee,0xdc,0x7b,0x34,0x4f,0xfb,0x15,0x17,
- 0x17,0x77,0xf0,0xe7,0xe3,0xe3,0xc3,0xfd,0xac,0x5a,0xb5,0xaa,0x18,0x67,
- 0x17,0x97,0x95,0x95,0x95,0x48,0x75,0x40,0x70,0xa4,0x3a,0x95,0x9d,0x9d,
- 0xad,0x37,0x76,0x28,0x36,0x90,0xd7,0x6c,0xf0,0xe0,0xc1,0xdc,0x7e,0xc7,
- 0x8e,0x1d,0xb9,0xc2,0xff,0xb1,0x63,0xc7,0x54,0x32,0x4f,0xd4,0xfc,0x0b,
- 0x98,0x0b,0x91,0x81,0xbc,0x0a,0x71,0x70,0x70,0xb8,0x4e,0xf1,0xd7,0xa7,
- 0x4f,0x1f,0x35,0x74,0x56,0xc7,0x0f,0xfa,0x2c,0xbe,0x3f,0xb4,0xe0,0x95,
- 0xe6,0x1e,0xdb,0x44,0xbc,0x90,0x46,0x09,0x5d,0x40,0x6f,0xc2,0xd0,0xa7,
- 0xb1,0xa3,0x47,0x8f,0x32,0xdc,0x27,0xd7,0x7e,0xaa,0xb7,0xc8,0x69,0x16,
- 0x1a,0x1a,0xca,0x76,0xee,0xdc,0xc9,0xf7,0x19,0x39,0x72,0xe4,0x0b,0xe1,
- 0x3b,0x38,0x38,0x38,0x43,0xe6,0x89,0x9a,0x4f,0x5a,0x10,0xa4,0x0f,0xb8,
- 0xe3,0x34,0x9c,0x4d,0x0b,0x9d,0x55,0x49,0x49,0x89,0x96,0x27,0xf9,0x11,
- 0x67,0x87,0x38,0xd1,0xc6,0x2c,0xf1,0x14,0xc3,0xc5,0xc5,0xa5,0x83,0x1e,
- 0xe8,0x03,0xde,0x3f,0x05,0xc2,0xe7,0x91,0x23,0x47,0xd2,0x64,0x9e,0x88,
- 0x6d,0xd2,0x82,0x40,0x43,0x40,0xaf,0x74,0x91,0x6c,0xbd,0xbd,0xbd,0xb5,
- 0x1c,0x28,0x6e,0xe7,0xcd,0x9b,0xc7,0x75,0x87,0xee,0x10,0xfd,0x1d,0xdb,
- 0xb2,0x65,0x0b,0xfb,0xf0,0xa4,0x66,0x3c,0x8f,0x34,0x7a,0xfa,0x0a,0xf7,
- 0x92,0x8d,0xf7,0x47,0x8a,0xbf,0xbf,0xff,0x45,0x5f,0x5f,0xdf,0x34,0x68,
- 0x43,0x06,0xf6,0x4a,0x47,0x0e,0xa6,0xd1,0xde,0xa7,0x4f,0x9f,0xfe,0x4d,
- 0xe9,0x0f,0x71,0x9e,0x22,0xf3,0x84,0x4d,0x2c,0xe6,0xfc,0x0d,0x01,0x71,
- 0x9d,0x48,0xb6,0xf0,0xa3,0x37,0xde,0xe4,0x41,0xb9,0x42,0x6b,0x9c,0x9c,
- 0x9c,0xb2,0x8c,0xed,0x2f,0x03,0xba,0x97,0x2c,0xf3,0x44,0xac,0x44,0x63,
- 0xce,0xc7,0x10,0xd6,0xaf,0x5f,0x7f,0x55,0x53,0x63,0x4d,0xe6,0x89,0xf7,
- 0x09,0xe7,0xb9,0x78,0xf1,0xe2,0x1b,0xc6,0xf6,0x97,0xb1,0x7f,0xff,0xfe,
- 0x24,0x99,0x27,0xe2,0x2c,0x12,0x73,0x5e,0x86,0x30,0x6d,0xda,0xb4,0x4a,
- 0xb2,0xad,0xa9,0xa9,0xd1,0xe1,0x42,0x35,0x8b,0xf2,0x80,0xee,0x9f,0xfa,
- 0x52,0xa5,0xbe,0x93,0xf6,0x52,0x1d,0x80,0x1e,0xff,0x6b,0x6c,0x7f,0x19,
- 0xb8,0xb7,0x04,0x99,0x27,0x72,0x8e,0x34,0x6b,0xb7,0x21,0x20,0xdf,0x1b,
- 0x49,0x9f,0x94,0xa3,0xa0,0xa0,0x80,0x0d,0x1c,0x38,0x50,0xad,0xcc,0x05,
- 0xea,0x01,0x9e,0x3f,0x7f,0xae,0xb5,0xa1,0x37,0x0a,0x7a,0x84,0x36,0xe4,
- 0xfe,0x4f,0xc6,0x7c,0x28,0x81,0x18,0x8e,0x91,0x79,0x42,0x2b,0x42,0x31,
- 0xe7,0xa1,0x0f,0x85,0x85,0x85,0xbe,0x64,0x47,0xef,0x31,0x31,0x28,0xf6,
- 0xa8,0x0f,0x20,0xcd,0x5a,0xb9,0x72,0xa5,0x0a,0xfd,0x80,0x0f,0x6a,0x3d,
- 0xef,0xc5,0x50,0x1f,0xd5,0xa8,0xe1,0xdc,0x0e,0xb1,0xc9,0xf9,0x27,0x25,
- 0x25,0x05,0x1b,0xf2,0x21,0x03,0x39,0x16,0x2d,0xf3,0x44,0x8e,0x1c,0xc7,
- 0x9c,0x9b,0x3e,0x20,0x56,0xc2,0x45,0xae,0x53,0x2d,0x41,0x8e,0xf2,0x77,
- 0x2e,0xb4,0xea,0x3d,0xf2,0x32,0x4c,0x69,0xbb,0x66,0xcd,0x9a,0x34,0x51,
- 0x37,0xcb,0xcb,0xcb,0xb5,0x7d,0x32,0xfa,0xa9,0x04,0x43,0x3e,0x64,0xec,
- 0xdb,0xb7,0x2f,0x52,0xe6,0x09,0xfd,0x3d,0x86,0xb9,0x6d,0xfa,0xe0,0xec,
- 0xec,0x1c,0x4f,0x76,0x54,0x2b,0xa1,0x71,0xdc,0xaf,0x95,0x95,0xd5,0x1b,
- 0xf4,0xbe,0xbf,0x74,0x66,0x8f,0x33,0xe4,0xf6,0x78,0xbf,0xa9,0x6d,0x6d,
- 0x6d,0xb9,0x3d,0xde,0x79,0x67,0x0d,0xf9,0x90,0x01,0xad,0x8b,0x90,0x79,
- 0x42,0x53,0x49,0x5b,0x9d,0xf5,0x01,0xbd,0xf5,0x01,0x65,0x0c,0xe2,0xac,
- 0x1e,0xa0,0xd7,0xd9,0x65,0x68,0x0d,0x6a,0x60,0x24,0x7a,0xa7,0x66,0xb2,
- 0xef,0xdb,0xb7,0xef,0x2b,0x68,0xaa,0xbb,0x21,0x7b,0x19,0x78,0x07,0x84,
- 0x29,0x78,0xfe,0x4c,0x3f,0xbb,0xbb,0xbb,0x53,0x7c,0x3a,0x18,0x02,0xd6,
- 0xfd,0x8a,0x3e,0xf8,0xe6,0x92,0x25,0x4b,0x2e,0xbd,0x7e,0xfd,0xda,0xc9,
- 0x98,0x3d,0x01,0xba,0xbf,0x0d,0xf5,0x2f,0x10,0x79,0xe5,0x6c,0x8a,0xbd,
- 0x12,0x1b,0x37,0x6e,0x14,0xf1,0xe9,0x62,0xf6,0xe1,0xff,0x17,0xd9,0x9c,
- 0x39,0x73,0x48,0x87,0x37,0x7c,0x49,0x98,0x3a,0x75,0x6a,0xbe,0x86,0xe7,
- 0xd7,0x80,0x05,0xd0,0x84,0x7c,0x68,0xb8,0x7e,0xfd,0xba,0x0b,0xe6,0x7f,
- 0xfc,0x12,0xa0,0x52,0xa9,0xdc,0x10,0x33,0x8d,0xe0,0x46,0xbd,0x6c,0x37,
- 0xb3,0x0f,0xc3,0x93,0x78,0xe3,0xad,0xfb,0x04,0xfa,0xe3,0x08,0xbb,0xd5,
- 0x9f,0x13,0x78,0xef,0x3b,0x43,0xab,0x5f,0x68,0xce,0x72,0x9d,0x99,0xee,
- 0x88,0xd2,0xf4,0x65,0x4d,0x36,0x36,0x36,0xf1,0x67,0xcf,0x9e,0xdd,0x8e,
- 0x35,0xf6,0x9f,0x12,0xe8,0xd9,0x5c,0xad,0xad,0xad,0x93,0x51,0x13,0x9a,
- 0x35,0x1c,0x83,0xcc,0x3a,0x0e,0x3a,0x5b,0x67,0xe0,0xb5,0xc8,0x69,0xe8,
- 0x63,0xdb,0xd0,0xa1,0x43,0x6f,0x0f,0x1b,0x36,0xac,0xac,0x2b,0x41,0x3e,
- 0xc8,0x97,0x42,0x4f,0xe8,0x2c,0x37,0x75,0xc2,0x51,0x39,0x2c,0xcd,0x3e,
- 0xfc,0x1d,0x87,0xb4,0x9a,0x7a,0x79,0x9d,0x9a,0xd8,0x45,0xa0,0xbf,0xcb,
- 0x50,0xef,0x90,0x0a,0x78,0x01,0xe6,0x32,0xa9,0xff,0x00,0x99,0xf6,0xbe,
- 0x01
-};
-
-// titlealpha.png
-static const unsigned char image_12_data[] = {
- 0x00,0x00,0x00,0x78,0x78,0x9c,0xe3,0xe7,0xe7,0xaf,0x64,0x00,0x82,0xff,
- 0xff,0xff,0x87,0x02,0x71,0x08,0x10,0x7b,0x01,0xb1,0x33,0x10,0x5b,0x01,
- 0xb1,0x3e,0x10,0x6b,0x00,0xb1,0x02,0x10,0x4b,0x02,0x31,0x27,0x03,0x0e,
- 0x00,0x94,0x63,0x05,0x62,0x09,0x34,0x0c,0xd2,0xa7,0x07,0xc4,0x36,0x50,
- 0x73,0x23,0x3f,0x7c,0xf8,0x20,0xc3,0xcf,0xcf,0xcf,0x06,0x00,0x83,0xf5,
- 0x43,0x25
-};
-
-// window_background.png
-static const unsigned char image_13_data[] = {
- 0x00,0x00,0x1a,0xe8,0x78,0x9c,0xcd,0x98,0x69,0x4c,0x54,0x57,0x14,0xc7,
- 0x59,0x04,0xdc,0xe2,0xbe,0xf3,0xc1,0x15,0xfc,0x60,0x4c,0xda,0xc4,0x2f,
- 0x96,0x2a,0xa6,0xf1,0x8b,0x24,0x84,0x0f,0xd6,0xa4,0x8d,0x34,0x01,0xa4,
- 0x09,0x54,0x28,0x21,0x85,0x26,0x1a,0x36,0x6b,0xad,0x10,0x2c,0x8b,0x20,
- 0x8b,0xac,0xb2,0x14,0x90,0x1d,0x0a,0x08,0x6d,0xa1,0x92,0x40,0x8a,0x24,
- 0xb6,0x28,0x76,0x18,0x16,0x69,0x3b,0x5a,0x05,0x2d,0x1d,0xc5,0x51,0x96,
- 0x19,0x5e,0xff,0xe7,0x39,0xb7,0xb9,0xdc,0x62,0x99,0xf7,0xa6,0xb4,0xbd,
- 0xc9,0x2f,0x19,0xee,0x99,0x73,0xee,0x7f,0xde,0xbb,0xe7,0x9c,0x7b,0xb1,
- 0xb1,0x99,0x73,0x78,0x81,0x18,0x50,0x06,0x7e,0x00,0xbd,0x0b,0x0c,0xad,
- 0x51,0x02,0xa2,0x80,0xe7,0xdc,0x92,0x66,0x0d,0x77,0xd0,0x0d,0x24,0x86,
- 0x93,0x93,0x93,0x69,0xc5,0x8a,0x15,0xd3,0x0b,0x89,0xa3,0xa3,0xa3,0x89,
- 0x5f,0x13,0x74,0x80,0x37,0x5e,0xa1,0x31,0x88,0x7d,0xcf,0xc3,0xc3,0xe3,
- 0x49,0x7e,0x7e,0xbe,0x4e,0xab,0xd5,0xf6,0xcf,0xcc,0xcc,0xdc,0x91,0x24,
- 0x69,0x41,0xa1,0x35,0x34,0x1a,0xcd,0x40,0x5e,0x5e,0x9e,0xee,0xf0,0xe1,
- 0xc3,0x4f,0x39,0xbd,0x27,0x04,0x8d,0x1e,0xc0,0xb8,0x6c,0xd9,0x32,0x63,
- 0x5b,0x5b,0xdb,0xdd,0x85,0xd6,0x35,0x1f,0xcd,0xcd,0xcd,0xc3,0x8b,0x17,
- 0x2f,0x36,0xd9,0xda,0xda,0x4e,0x43,0xd7,0x5b,0x66,0x8d,0xf8,0xd3,0x76,
- 0x94,0x9e,0xbd,0xb5,0x1a,0x7b,0x7a,0x7a,0x06,0x83,0x83,0x83,0x1f,0x05,
- 0x04,0x04,0x3c,0x56,0xc2,0xc5,0x8b,0x17,0xef,0x8f,0x8c,0x8c,0xf4,0xf1,
- 0xb1,0x9a,0x9a,0x9a,0x86,0x17,0x2d,0x5a,0x34,0x03,0x6d,0x3a,0xb3,0xce,
- 0xd7,0xe8,0x19,0x1f,0x3d,0x7a,0x54,0xaf,0x56,0x1f,0xed,0x8f,0x3d,0x7b,
- 0xf6,0xbc,0x10,0xf6,0x98,0x22,0xec,0xed,0xed,0x25,0x6f,0x6f,0xef,0x31,
- 0x3e,0xee,0x91,0x23,0x47,0x9e,0x98,0xed,0x2e,0xe0,0x43,0xfa,0x4c,0xbf,
- 0x49,0x8d,0x46,0xa3,0xd1,0x78,0x67,0xe5,0xca,0x95,0xa6,0x55,0xab,0x56,
- 0x49,0x35,0x35,0x35,0xd2,0xf8,0xf8,0xb8,0xf4,0xfc,0xf9,0x73,0x45,0x74,
- 0x74,0x74,0x48,0x9e,0x9e,0x9e,0xb2,0xde,0xf0,0xf0,0xf0,0x51,0x16,0xfb,
- 0xfc,0xf9,0xf3,0x0f,0xb8,0x7d,0x1a,0x43,0x9f,0xeb,0xea,0xea,0xe8,0x9d,
- 0xdf,0x56,0x4a,0x76,0x76,0xf6,0x2f,0xe4,0x5f,0x5f,0x5f,0x2f,0x59,0x3b,
- 0x0e,0x1c,0x38,0x20,0x21,0xff,0x4d,0x2c,0x76,0x49,0x49,0xc9,0x4f,0x66,
- 0x9d,0x1f,0x33,0x9d,0xb5,0xb5,0xb5,0x03,0xc8,0xbb,0x9b,0x4a,0xf1,0xf5,
- 0xf5,0x1d,0x25,0x7f,0x83,0xc1,0x60,0xb5,0xce,0xb8,0xb8,0x38,0x09,0x79,
- 0x22,0xb1,0xd8,0xc5,0xc5,0xc5,0x43,0xa2,0xce,0xea,0xea,0xea,0x3e,0xd8,
- 0x6e,0x28,0xc5,0xc7,0xc7,0xe7,0x21,0xf9,0x4f,0x4e,0x4e,0x5a,0xad,0xf3,
- 0xc2,0x85,0x0b,0x4c,0xa7,0x1c,0xbb,0xa8,0xa8,0xa8,0x7f,0x0e,0x9d,0xb4,
- 0x27,0x3a,0x95,0x02,0x9d,0xbf,0x92,0x7f,0x61,0x61,0xa1,0x54,0x5a,0x5a,
- 0x6a,0x15,0xc7,0x8f,0x1f,0xa7,0xbe,0x22,0xb1,0xd8,0x88,0xa9,0x11,0x75,
- 0x56,0x55,0x55,0xdd,0x82,0xad,0x5d,0x29,0x91,0x91,0x91,0x43,0x76,0x76,
- 0x76,0xaa,0xf3,0x5c,0x04,0x35,0x7c,0x86,0xc5,0x2e,0x28,0x28,0xb8,0x23,
- 0xea,0xac,0xac,0xac,0xfc,0x1e,0xb6,0x56,0xa5,0xa4,0xa6,0xa6,0xca,0xb1,
- 0x28,0x6f,0xe9,0xdd,0x5b,0x03,0xbd,0x77,0xd4,0x8d,0x69,0x16,0xfb,0xca,
- 0x95,0x2b,0xb7,0x44,0x9d,0xe5,0xe5,0xe5,0xdd,0xb0,0x35,0x2b,0x25,0x25,
- 0x25,0xa5,0x87,0xfc,0xa7,0xa7,0xa7,0xad,0xde,0x9f,0x89,0x89,0x89,0x4c,
- 0xa7,0x1c,0x1b,0x7d,0xf4,0xa6,0xa8,0xf3,0xea,0xd5,0xab,0xdf,0xc1,0xd6,
- 0x20,0x32,0x31,0x31,0xd1,0x88,0xfa,0x70,0xe3,0xd0,0xa1,0x43,0x0f,0xdc,
- 0xdc,0xdc,0x46,0x44,0x5c,0x5c,0x5c,0xe4,0x5a,0xdc,0xda,0xda,0x2a,0x5d,
- 0xbf,0x7e,0x7d,0x16,0xc3,0xc3,0xc3,0x94,0x13,0x6a,0x74,0xca,0x6b,0xe7,
- 0xe6,0xe6,0x76,0x8b,0x3a,0xcb,0xca,0xca,0x3a,0x60,0xab,0xe5,0x49,0x4f,
- 0x4f,0xef,0xc6,0xde,0x9b,0x99,0x6f,0x4f,0xa1,0xb7,0xbd,0xd2,0xb6,0x61,
- 0xc3,0x06,0x09,0xfd,0x5a,0x89,0xce,0x29,0xb6,0x7e,0x4e,0x4e,0x4e,0x97,
- 0xa8,0x13,0xcf,0xac,0x1d,0xbf,0xbd,0x92,0xd1,0xd7,0xd7,0xd7,0xc8,0xd6,
- 0xda,0xb1,0x63,0x87,0x3e,0x24,0x24,0xe4,0x76,0x58,0x58,0xd8,0xad,0xb9,
- 0x40,0x8f,0xfe,0xd1,0xdf,0xdf,0x5f,0xc3,0xe3,0xe7,0xe7,0xa7,0xd9,0xb6,
- 0x6d,0x9b,0x9e,0xfc,0x29,0xcf,0x3a,0x3b,0x3b,0x2d,0xd2,0x89,0xde,0x36,
- 0xc5,0x34,0x5c,0xbe,0x7c,0xb9,0x53,0xd4,0x89,0x9a,0xda,0x86,0xaf,0x96,
- 0x32,0xf0,0x9e,0xe5,0x3e,0xb3,0x7f,0xff,0xfe,0xfb,0xfc,0xbc,0x52,0x46,
- 0x47,0x47,0x2b,0x48,0xa7,0x97,0x97,0x97,0xc5,0x3a,0x99,0x6f,0x66,0x66,
- 0x66,0xbb,0xa8,0x13,0x35,0xf5,0x6b,0xd8,0x8a,0x18,0x5b,0xb6,0x6c,0x91,
- 0xcf,0x81,0x2d,0x2d,0x2d,0x0d,0xfc,0xbc,0x1a,0x1c,0x1c,0x1c,0x8c,0xbb,
- 0x76,0xed,0x52,0xa2,0x53,0xf6,0xcb,0xc8,0xc8,0xf8,0x56,0xd4,0x89,0x9a,
- 0x4a,0x9b,0x28,0x9f,0xb1,0x79,0xf3,0x66,0x39,0x3f,0x70,0xd6,0xab,0xe1,
- 0xe7,0xd5,0x80,0x1e,0x63,0xdc,0xb9,0x73,0xa7,0xa5,0x3a,0x27,0x99,0x5f,
- 0x5a,0x5a,0xda,0x37,0xa2,0x4e,0xd4,0xaa,0x46,0xec,0x89,0x6c,0xc6,0xa6,
- 0x4d,0x9b,0x64,0x9d,0xa8,0xe3,0x54,0x6f,0x1b,0xac,0x01,0xe7,0x48,0x93,
- 0xa5,0x3a,0x71,0x0e,0x99,0x64,0x1a,0x50,0x9b,0x5b,0x44,0x9d,0xa8,0x55,
- 0x75,0xf8,0x6a,0x3a,0x63,0xeb,0xd6,0xad,0x8f,0xfe,0xa9,0x1e,0x43,0x58,
- 0xa2,0x33,0x3a,0x3a,0x5a,0x5a,0xbf,0x7e,0xbd,0x81,0x69,0x40,0x6d,0x6e,
- 0x12,0x75,0xa2,0x56,0x55,0xc3,0x96,0xc2,0xd8,0xbd,0x7b,0xf7,0x7d,0x36,
- 0xdf,0xdb,0xdb,0x9b,0x6b,0x0d,0x4b,0x97,0x2e,0x9d,0x98,0x4f,0x27,0xf2,
- 0x4d,0xc2,0x5e,0x33,0x1d,0x3c,0x78,0x50,0xcb,0x34,0x24,0x27,0x27,0x7f,
- 0x29,0xea,0xc4,0x39,0xb2,0x82,0x1e,0x3d,0x03,0x3a,0xef,0x99,0xf3,0xa8,
- 0x80,0x9f,0x57,0x03,0x7a,0xf6,0x8b,0x35,0x6b,0xd6,0x48,0x67,0xcf,0x9e,
- 0x9d,0x93,0x63,0xc7,0x8e,0x49,0xc8,0x35,0x69,0xf5,0xea,0xd5,0x86,0xc1,
- 0xc1,0xc1,0x0c,0xe6,0x87,0x51,0x2b,0xea,0xcc,0xca,0xca,0x2a,0x83,0x2d,
- 0x9e,0xe1,0xea,0xea,0x4a,0xf7,0x12,0xaa,0xd1,0x79,0xfc,0xbc,0x1a,0xa0,
- 0xf1,0x09,0x9d,0xd7,0xd6,0xad,0x5b,0xf7,0x0c,0xef,0x55,0x64,0x1c,0x3d,
- 0xed,0x1e,0xea,0x56,0xf7,0xd8,0xd8,0x58,0x22,0xef,0x97,0x90,0x90,0x50,
- 0x25,0xea,0x44,0x0d,0xf8,0x02,0xb6,0xcf,0x18,0xf0,0x95,0xeb,0x27,0xee,
- 0x53,0x59,0xfc,0xbc,0x1a,0xd0,0x93,0x1e,0x53,0xac,0xa1,0xa1,0xa1,0x44,
- 0x25,0x7e,0xf1,0xf1,0xf1,0xe5,0xa2,0x4e,0xd4,0x80,0x42,0xd8,0x3e,0x61,
- 0xa0,0xde,0xfd,0x4c,0xf3,0x0d,0x0d,0x0d,0xe9,0xfc,0xbc,0x1a,0x98,0x4e,
- 0xbc,0xd3,0x78,0x25,0x7e,0x38,0xdf,0x97,0x8a,0x3a,0x2f,0x5d,0xba,0x44,
- 0x35,0x2b,0x8a,0x81,0x7d,0x3f,0x6c,0xf3,0xf2,0xde,0x93,0xca,0xcf,0xab,
- 0x01,0xef,0x56,0xae,0x1d,0x03,0x03,0x03,0xb1,0x4a,0xfc,0x70,0x8f,0x2b,
- 0x16,0x75,0xe2,0xbe,0x99,0x03,0xdb,0x69,0x06,0x7a,0xba,0xac,0x13,0xf7,
- 0xbb,0x64,0x7e,0x5e,0x0d,0xd8,0x97,0xb2,0xce,0xfe,0xfe,0xfe,0x4f,0x95,
- 0xf8,0x9d,0x3b,0x77,0xae,0x40,0xd4,0x99,0x94,0x94,0x94,0x09,0x5b,0x38,
- 0x63,0xfb,0xf6,0xed,0x77,0x69,0x1e,0x77,0xdd,0xcf,0xf9,0x79,0x35,0x40,
- 0xa7,0x7c,0xd7,0xc3,0xd9,0x26,0x5a,0x89,0x1f,0x6a,0x41,0x9e,0xa8,0x13,
- 0xb9,0x95,0x06,0x5b,0x28,0x03,0x75,0x5e,0xbe,0xeb,0xe1,0x3e,0x12,0xc7,
- 0xcf,0xab,0x61,0xed,0xda,0xb5,0x23,0x14,0x4b,0xa3,0xd1,0x44,0x28,0xf1,
- 0x8b,0x89,0x89,0xc9,0x16,0x75,0x22,0xb7,0xa8,0xb6,0x06,0x33,0xb0,0x3f,
- 0xe5,0x3b,0x14,0x7a,0x57,0x12,0x3f,0xaf,0x06,0xf4,0xc2,0x31,0x8a,0xa5,
- 0xd3,0xe9,0xc2,0x94,0xf8,0x45,0x45,0x45,0x65,0x8a,0x3a,0x91,0x5b,0xa4,
- 0x27,0x90,0x81,0xda,0x5b,0x41,0xf3,0x1b,0x37,0x6e,0xd4,0x4d,0x4d,0x4d,
- 0x7d,0xc0,0xdb,0x94,0x10,0x1b,0x1b,0x9b,0x4c,0x71,0x70,0x8f,0x34,0x28,
- 0xf5,0x8d,0x88,0x88,0x48,0x17,0x75,0x22,0xb7,0x68,0x1f,0xbe,0xcf,0xd0,
- 0xeb,0xf5,0x81,0xe8,0x77,0xf2,0x59,0x04,0xe7,0x88,0x29,0xf4,0xb4,0x21,
- 0x67,0x67,0xe7,0x41,0x25,0x2c,0x59,0xb2,0xe4,0xcf,0xff,0x11,0x86,0x86,
- 0x86,0x66,0xf0,0xf1,0x2d,0xe1,0xd4,0xa9,0x53,0xa9,0x9c,0x4e,0x42,0x0a,
- 0x0a,0x0a,0xa2,0xfd,0xe9,0xc3,0xa3,0xd5,0x6a,0x03,0xa1,0x6f,0x00,0xf7,
- 0x0a,0xf1,0xff,0xa8,0x16,0x83,0xe7,0xf8,0xec,0xcc,0x99,0x33,0xf1,0x62,
- 0x6c,0x4b,0xf0,0xf5,0xf5,0xcd,0x31,0xc7,0x39,0x09,0xde,0xa4,0xcf,0xfb,
- 0xf6,0xed,0xfb,0x0a,0x36,0xef,0x57,0x81,0xbc,0xff,0x08,0x77,0xbd,0x70,
- 0x4b,0xa9,0xa8,0xa8,0x08,0xc3,0x1d,0xf4,0xbd,0xbf,0x8b,0x39,0x1f,0x7b,
- 0xf7,0xee,0x65,0xe7,0xf9,0xd7,0x81,0x03,0x30,0xe0,0x77,0x3f,0x6d,0x6f,
- 0x6f,0x0f,0x80,0xfd,0x9d,0xff,0x03,0xd7,0xae,0x5d,0x0b,0xc2,0xd9,0xc4,
- 0x00,0x6d,0xbf,0x03,0x3b,0x9b,0x97,0x23,0x84,0x74,0x2f,0x5f,0xbe,0xfc,
- 0x61,0x57,0x57,0x97,0x1f,0xbe,0xf7,0xf6,0x7f,0x09,0xee,0xd4,0xfe,0xc8,
- 0x0d,0x76,0xfe,0x7d,0xd7,0x66,0xf6,0xc8,0x34,0xe7,0xcc,0x0b,0x77,0x77,
- 0xf7,0x22,0x9c,0x9b,0x4f,0xc2,0xc7,0xeb,0xdf,0x04,0x67,0xdd,0x93,0x6e,
- 0x6e,0x6e,0xa5,0xf6,0xf6,0xf6,0x13,0x66,0x8d,0x09,0x36,0x7f,0x1d,0xb6,
- 0xc0,0x1f,0xe8,0x59,0x0e,0x20,0x7f,0x8c,0x38,0x43,0xdc,0x46,0x6d,0xea,
- 0x59,0x48,0x68,0x0d,0x5a,0x8b,0xcb,0xbf,0xdf,0x80,0xcf,0x1c,0x1a,0xf9,
- 0xe1,0x04,0x22,0x41,0x0d,0xd0,0x02,0xd5,0xb9,0xae,0x00,0x5a,0x83,0xfa,
- 0x0a,0x9d,0x37,0x4f,0x03,0x47,0x51,0xd4,0x1f,0xb7,0x84,0x65,0x15
-};
-
-// window_foreground.png
-static const unsigned char image_14_data[] = {
- 0x00,0x00,0x1a,0x44,0x78,0x9c,0xcd,0x98,0x7b,0x4c,0x14,0x57,0x14,0x87,
- 0x57,0x79,0xfa,0x42,0xb0,0x44,0xaa,0x86,0x10,0x9b,0xe8,0x1f,0xbc,0x82,
- 0x8a,0x1a,0x8d,0x12,0x89,0x8f,0xf8,0x88,0x02,0x11,0x48,0x37,0xa1,0x29,
- 0x49,0x41,0x45,0x8b,0xb4,0x49,0x49,0x84,0x18,0x22,0xb4,0x68,0x68,0x8b,
- 0x08,0x08,0x08,0x05,0x44,0xd0,0x96,0x05,0x5a,0xd2,0xa6,0x40,0x5a,0x1a,
- 0x2a,0xe5,0x4d,0x8b,0xa5,0x82,0x40,0x8b,0x62,0xd1,0xb2,0x05,0x59,0x44,
- 0x60,0xd9,0x45,0xf6,0x31,0xfd,0xdd,0x75,0xee,0xf6,0x76,0x45,0xca,0xce,
- 0x2e,0xad,0x93,0x7c,0x31,0x9c,0xd9,0x39,0xf3,0x39,0x73,0xef,0xb9,0xe7,
- 0x8e,0x48,0xf4,0xdc,0xf1,0x1a,0x08,0x07,0xd9,0xe0,0x47,0xd0,0x39,0xcf,
- 0x74,0x80,0x2a,0x70,0x11,0xbc,0x01,0x2c,0x9f,0x57,0xd2,0x1f,0x4e,0x20,
- 0x13,0xa8,0x00,0x47,0xb1,0xb3,0xb3,0x53,0xcd,0x37,0xec,0xfd,0x16,0x2c,
- 0x58,0x30,0x8c,0x7f,0xa3,0x80,0xb5,0x81,0x9f,0x33,0xce,0xc9,0xc8,0x6f,
- 0x1c,0x1d,0x1d,0x55,0x69,0x69,0x69,0x03,0xcd,0xcd,0xcd,0xf7,0x54,0x2a,
- 0x55,0x17,0xc7,0x71,0x77,0xe6,0x1b,0xa5,0x52,0xd9,0x55,0x5d,0x5d,0x7d,
- 0xff,0xdc,0xb9,0x73,0x83,0x36,0x36,0x36,0x1a,0xde,0xb7,0x01,0x58,0xf1,
- 0x7e,0xf6,0xf0,0xeb,0x26,0xf1,0xd8,0xd8,0xd8,0x21,0xb5,0x5a,0x3d,0xef,
- 0x4e,0xb3,0x31,0x31,0x31,0xd1,0xbd,0x6b,0xd7,0xae,0x09,0xde,0x33,0x8f,
- 0x77,0x4c,0x22,0x7f,0x87,0x85,0x85,0x8d,0x98,0x92,0x5b,0x2a,0x95,0xf6,
- 0x24,0x27,0x27,0x4b,0x8f,0x1d,0x3b,0x26,0x0b,0x0f,0x0f,0x9f,0x33,0xa7,
- 0x4e,0x9d,0x92,0xb5,0xb7,0xb7,0xdf,0x65,0x73,0x8d,0x8d,0x8d,0x75,0xbb,
- 0xba,0xba,0x2a,0x79,0x4f,0x5f,0x70,0xcb,0xca,0xca,0x4a,0x23,0x97,0xcb,
- 0xbb,0x85,0xfa,0x89,0xc5,0xe2,0x51,0x0b,0x0b,0x0b,0xfd,0x98,0x12,0x82,
- 0xbb,0xbb,0xbb,0xb2,0xb7,0xb7,0xf7,0x37,0x9a,0x53,0x22,0x91,0xf4,0xf3,
- 0xe7,0xce,0x03,0xed,0xe6,0xcd,0x9b,0x27,0x85,0xfa,0x45,0x45,0x45,0x91,
- 0x31,0xce,0x05,0x04,0x04,0x70,0x8d,0x8d,0x8d,0x9c,0x42,0xa1,0xe0,0x30,
- 0xbe,0xe6,0x0c,0xde,0x2d,0x57,0x5e,0x5e,0x4e,0xe6,0x26,0xe7,0xe0,0xe0,
- 0xa0,0xd6,0x68,0x34,0xba,0xbc,0x23,0x23,0x23,0xdd,0x0b,0x17,0x2e,0xd4,
- 0x22,0x77,0x1d,0x9f,0x7f,0x14,0xf1,0x0e,0x21,0x2c,0x5b,0xb6,0x4c,0xb3,
- 0x7b,0xf7,0x6e,0xce,0xd4,0xa3,0xac,0xac,0x4c,0xf7,0x3c,0x4b,0x4a,0x4a,
- 0x7e,0xa7,0xb9,0x97,0x2f,0x5f,0x4e,0xe6,0x7c,0x17,0x89,0xfb,0xf9,0xf9,
- 0x8d,0x68,0xb5,0xda,0x5b,0x42,0xc0,0x38,0xe1,0x2e,0x5d,0xba,0x64,0xb2,
- 0xe3,0xe3,0xc7,0x8f,0x75,0x8e,0x27,0x4f,0x9e,0x1c,0xa4,0xb9,0x59,0xc7,
- 0x23,0x47,0x8e,0xc8,0x10,0x6b,0x15,0x82,0xa5,0xa5,0x25,0x77,0xf9,0xf2,
- 0x65,0x93,0x1d,0x31,0x4f,0x74,0x8e,0x11,0x11,0x11,0x52,0x9a,0x1b,0x8e,
- 0xd3,0x8c,0xe3,0x23,0xfc,0xac,0x51,0x08,0xe4,0x39,0x86,0x86,0x86,0x72,
- 0xc5,0xc5,0xc5,0x26,0x91,0x9f,0x9f,0x4f,0x1d,0xff,0xa0,0xb9,0x31,0x46,
- 0xf5,0x8e,0x87,0x0f,0x1f,0x1e,0x42,0xec,0x07,0x21,0x2c,0x5a,0xb4,0x48,
- 0x6b,0xca,0x7c,0x66,0xc1,0x1c,0xe1,0x12,0x13,0x13,0x7b,0x69,0x6e,0xd6,
- 0xf1,0xd0,0xa1,0x43,0x83,0x88,0xd5,0x08,0x61,0xe9,0xd2,0xa5,0x6a,0xac,
- 0x4b,0xdc,0xf4,0xf4,0xb4,0x49,0x3c,0x79,0xf2,0x44,0xe7,0x99,0x9b,0x9b,
- 0xdb,0x41,0x73,0xb3,0x8e,0x07,0x0f,0x1e,0x94,0x22,0xf6,0x8d,0x10,0x96,
- 0x2c,0x59,0xa2,0xce,0xc8,0xc8,0x30,0x79,0x3c,0x4e,0x4e,0x4e,0xea,0x1c,
- 0x73,0x72,0x72,0x7e,0xa6,0xb9,0x51,0x33,0x9e,0x52,0xc7,0x03,0x07,0x0e,
- 0x90,0x31,0x50,0x31,0x13,0x53,0x53,0x53,0x95,0x85,0x85,0x85,0xad,0x67,
- 0xce,0x9c,0xb9,0x33,0x13,0xb6,0xb6,0xb6,0x1a,0x73,0x3a,0x66,0x67,0x67,
- 0xb7,0xd1,0x7b,0xb3,0x8e,0xfb,0xf7,0xef,0x7f,0x88,0xd8,0x97,0x86,0x04,
- 0x07,0x07,0xf7,0x61,0x2d,0x9f,0x75,0x0c,0x91,0x79,0x6d,0x4e,0xc7,0xac,
- 0xac,0xac,0x56,0x7a,0x7f,0xd6,0x71,0xdf,0xbe,0x7d,0xfd,0x98,0xeb,0x9f,
- 0xb3,0xf8,0xfb,0xfb,0xf7,0x91,0x73,0xf6,0xf6,0xf6,0xca,0xe3,0xc7,0x8f,
- 0x77,0x55,0x56,0x56,0xd6,0x54,0x55,0x55,0x3d,0x07,0xe6,0x8c,0x59,0xdf,
- 0x75,0x66,0x66,0x66,0x13,0x75,0x80,0xe3,0x14,0x75,0xdc,0xbb,0x77,0x2f,
- 0xa9,0xed,0xc5,0x2c,0x78,0x3e,0x9a,0x55,0xab,0x56,0x4d,0x18,0xc6,0x0d,
- 0xc1,0x78,0x54,0x99,0xd3,0x11,0xb5,0xb6,0x9e,0xe6,0xc6,0x7c,0xd4,0x3b,
- 0xee,0xd9,0xb3,0xa7,0x0f,0xb1,0xeb,0x14,0xac,0x95,0xc5,0xfc,0x1a,0xf9,
- 0x2b,0x1b,0x9f,0x09,0x73,0x3b,0xa6,0xa7,0xa7,0xd7,0xd2,0xdc,0xac,0x23,
- 0xd6,0xdb,0x7b,0x88,0x15,0x50,0x86,0x86,0x86,0x6e,0x90,0x78,0x50,0x50,
- 0xd0,0x1d,0x36,0x3e,0x13,0xe6,0x76,0x4c,0x4d,0x4d,0xfd,0x9e,0xe6,0x86,
- 0xa3,0x92,0x3a,0xfa,0xfa,0xfa,0xf6,0xe2,0xfd,0xe7,0x52,0x86,0x87,0x87,
- 0xaf,0x91,0xf8,0xf6,0xed,0xdb,0xef,0x63,0x4e,0x57,0xcc,0x86,0xb9,0xc7,
- 0x63,0x4a,0x4a,0xca,0x77,0xd4,0x03,0xff,0x7f,0xbd,0x23,0xfa,0x5e,0xf2,
- 0x4e,0xb3,0x28,0xa8,0xa7,0x9f,0xcc,0x75,0x6d,0x20,0x6b,0x21,0xd6,0x06,
- 0x93,0x1d,0x07,0x06,0x06,0x68,0xed,0xa9,0xa0,0x1e,0xac,0xa3,0x8f,0x8f,
- 0x4f,0x0f,0x62,0xe9,0x14,0xf4,0x74,0x64,0xef,0xc5,0x45,0x47,0x47,0xd7,
- 0x74,0x76,0x76,0xe6,0xcf,0xc6,0xc6,0x8d,0x1b,0xef,0xaf,0x59,0xb3,0x46,
- 0x2b,0x93,0xc9,0x4c,0x72,0x3c,0x7d,0xfa,0x34,0x87,0x3e,0x59,0xfb,0xe0,
- 0xc1,0x83,0x1c,0xea,0x01,0x47,0x05,0x75,0xdc,0xb9,0x73,0x27,0xe9,0xc1,
- 0x53,0x28,0x70,0x4c,0x23,0xf1,0x0b,0x17,0x2e,0x7c,0xcd,0xc6,0x67,0xa2,
- 0xa7,0xa7,0x27,0x1b,0xf5,0x49,0x41,0x9e,0xe7,0xd1,0xa3,0x47,0xb9,0xf8,
- 0xf8,0x78,0xa3,0x88,0x8b,0x8b,0xe3,0x3c,0x3c,0x3c,0xb4,0xa4,0x0e,0xc7,
- 0xc4,0xc4,0x7c,0xcb,0xe6,0x66,0x1d,0x77,0xec,0xd8,0x41,0xe6,0xc6,0x47,
- 0x94,0xf1,0xf1,0x71,0xb2,0xd7,0x25,0xef,0xf0,0x2b,0x36,0xfe,0x22,0xd0,
- 0xfb,0xa5,0xa0,0x07,0x6d,0x5d,0xbf,0x7e,0xfd,0x43,0x27,0x27,0xa7,0xf1,
- 0x95,0x2b,0x57,0xea,0xc1,0x3e,0x53,0x6e,0x6d,0x6d,0xcd,0xad,0x58,0xb1,
- 0x62,0x92,0x8d,0x53,0x50,0xdf,0xc6,0x30,0xd6,0x3a,0xda,0xda,0xda,0xb2,
- 0x0d,0xf3,0x2e,0x5e,0xbc,0x58,0xef,0x88,0xb9,0x41,0xd6,0xf1,0xf3,0x14,
- 0x38,0xea,0xf6,0x61,0x09,0x09,0x09,0x5f,0xb0,0x71,0x21,0xb4,0xb4,0xb4,
- 0x64,0x90,0x5c,0x05,0x05,0x05,0x45,0xc6,0x5e,0xcb,0x3a,0x6e,0xdb,0xb6,
- 0xed,0x36,0x62,0x09,0x14,0xf4,0x9b,0x89,0x24,0x8e,0xfd,0x6e,0x19,0x1b,
- 0x17,0x42,0x53,0x53,0x53,0x2a,0xc9,0x85,0xfe,0xb0,0xc0,0xd8,0x6b,0xe1,
- 0x38,0x49,0x1d,0xb7,0x6e,0xdd,0xda,0x8e,0x58,0x1c,0x05,0x8e,0x09,0x24,
- 0x8e,0xb1,0x22,0x61,0xe3,0x42,0xc0,0x3e,0xec,0x22,0xdf,0x73,0xe5,0x19,
- 0x7b,0x2d,0xea,0x9a,0xde,0x71,0xcb,0x96,0x2d,0xa4,0x1f,0x8a,0xa5,0xa0,
- 0xf6,0xc4,0x91,0xf8,0xd9,0xb3,0x67,0x3f,0x65,0xe3,0x42,0x68,0x68,0x68,
- 0xf8,0x90,0xef,0xb9,0x72,0x8c,0xbd,0x96,0x75,0xf4,0xf6,0xf6,0x26,0xfd,
- 0x50,0x34,0x05,0x8e,0x31,0xa2,0x67,0xdf,0x2d,0x8a,0xd8,0xb8,0x10,0xea,
- 0xea,0xea,0xc8,0xfe,0x98,0xbb,0x72,0xe5,0x4a,0xa6,0xb1,0xd7,0xc2,0x51,
- 0x4e,0x1d,0x37,0x6d,0xda,0xf4,0x13,0x62,0xef,0x52,0xe0,0x18,0x4d,0xe2,
- 0xe8,0x0f,0x0b,0xd8,0xb8,0x10,0x6a,0x6b,0x6b,0xdf,0xe7,0xfb,0x99,0x74,
- 0x63,0xaf,0x45,0x6f,0xaa,0x77,0xdc,0xb0,0x61,0x03,0xe9,0xd9,0x22,0x29,
- 0xd8,0xc7,0x47,0xa1,0x5e,0x69,0x4f,0x9c,0x38,0x71,0x83,0x8d,0x0b,0xa1,
- 0xb4,0xb4,0x54,0xf7,0x1c,0xf3,0xf2,0xf2,0x3e,0x36,0xf6,0x5a,0xd6,0xd1,
- 0xcb,0xcb,0xab,0x05,0xb1,0x08,0x16,0xac,0x1d,0x7d,0xa8,0x75,0xfd,0xa8,
- 0x43,0x6f,0x1b,0x9e,0x33,0x06,0xd4,0xb5,0x9b,0xe8,0xf3,0x9e,0x0a,0xc9,
- 0x03,0xc7,0x09,0xea,0xe8,0xe9,0xe9,0xd9,0x84,0x58,0x38,0x4b,0x51,0x51,
- 0x51,0x3c,0xc9,0x8d,0xfa,0xab,0xc0,0xbc,0xbf,0x19,0x12,0x12,0x72,0xdd,
- 0x18,0xc4,0x62,0xf1,0x67,0xab,0x57,0xaf,0xbe,0x2b,0x7a,0xf6,0xbd,0xeb,
- 0xaa,0x61,0xfe,0xb9,0xc0,0x3a,0xae,0x5d,0xbb,0x96,0xd4,0xc7,0x50,0x43,
- 0xea,0xeb,0xeb,0xdf,0x71,0x73,0x73,0x6b,0xc2,0x5e,0x7c,0x10,0x6b,0x9d,
- 0xd2,0x18,0x6c,0x6c,0x6c,0xe4,0xeb,0xd6,0xad,0xbb,0x25,0x91,0x48,0x62,
- 0x67,0xca,0xfd,0x6f,0x8c,0x8e,0x8e,0x86,0x61,0x2f,0x4b,0xbe,0x53,0x90,
- 0x6f,0xc9,0xbd,0xc8,0xa9,0x90,0xcb,0xe5,0x6f,0xe2,0x5c,0xc8,0xcb,0x02,
- 0xd6,0xe1,0x0f,0xf8,0xde,0x8a,0xf4,0x0e,0xe4,0xbb,0x37,0x17,0x18,0x18,
- 0x48,0x6a,0xec,0xeb,0x2f,0x03,0xd8,0x6f,0x8b,0x9d,0x9d,0x9d,0x6f,0xf3,
- 0x8e,0xfe,0xc0,0x05,0x8c,0x62,0x1e,0xab,0xd1,0x77,0xc4,0xe3,0x37,0x81,
- 0xff,0x27,0x1a,0x8d,0x26,0x08,0xb5,0xb0,0x82,0xf7,0x6b,0x11,0xfd,0xfd,
- 0xbd,0xd9,0x07,0x90,0x7d,0x22,0xe7,0xe2,0xe2,0xd2,0x9c,0x94,0x94,0xf4,
- 0x9e,0x5a,0xad,0xf6,0xc7,0x35,0x7e,0xff,0x15,0xd8,0xc7,0xfb,0x47,0x46,
- 0x46,0x26,0x60,0x7f,0x20,0xe5,0xfd,0xc8,0x7c,0x7b,0x45,0xf4,0xcf,0xc3,
- 0x1b,0xd0,0xe7,0x4b,0xd0,0xda,0xd9,0xd9,0xf5,0xa3,0xfe,0xfc,0x32,0xcf,
- 0xdc,0x46,0xef,0xf0,0x88,0xb9,0x2f,0xf9,0x66,0x7f,0x15,0xbc,0x2a,0x7a,
- 0xf1,0xf1,0x16,0xc8,0xe0,0x9f,0xf3,0xd3,0xb9,0xee,0x19,0x4c,0xe4,0x4f,
- 0x50,0x03,0x92,0x81,0xa3,0xa1,0xd0,0x5f,0x5b,0xa8,0xfc,0xc8
-};
-
-static struct EmbedImage {
- int width, height, depth;
- const unsigned char *data;
- ulong compressed;
- int numColors;
- const TQRgb *colorTable;
- bool alpha;
- const char *name;
-} embed_image_vec[] = {
- { 41, 41, 32, (const unsigned char*)image_0_data, 1781, 0, 0, TRUE, "circle.png" },
- { 41, 41, 32, (const unsigned char*)image_1_data, 1724, 0, 0, TRUE, "close.png" },
- { 41, 41, 32, (const unsigned char*)image_2_data, 1555, 0, 0, TRUE, "help.png" },
- { 42, 41, 32, (const unsigned char*)image_3_data, 1879, 0, 0, TRUE, "keep_above_lit.png" },
- { 41, 41, 32, (const unsigned char*)image_4_data, 1734, 0, 0, TRUE, "keep_above.png" },
- { 41, 41, 32, (const unsigned char*)image_5_data, 1750, 0, 0, TRUE, "keep_below_lit.png" },
- { 41, 41, 32, (const unsigned char*)image_6_data, 1848, 0, 0, TRUE, "keep_below.png" },
- { 42, 41, 32, (const unsigned char*)image_7_data, 1343, 0, 0, TRUE, "maximize.png" },
- { 42, 41, 32, (const unsigned char*)image_8_data, 1141, 0, 0, TRUE, "minimize.png" },
- { 41, 41, 32, (const unsigned char*)image_9_data, 1529, 0, 0, TRUE, "restore.png" },
- { 45, 45, 32, (const unsigned char*)image_10_data, 885, 0, 0, TRUE, "shade.png" },
- { 42, 41, 32, (const unsigned char*)image_11_data, 2017, 0, 0, TRUE, "splat.png" },
- { 1, 30, 32, (const unsigned char*)image_12_data, 72, 0, 0, TRUE, "titlealpha.png" },
- { 42, 41, 32, (const unsigned char*)image_13_data, 1609, 0, 0, TRUE, "window_background.png" },
- { 41, 41, 32, (const unsigned char*)image_14_data, 1566, 0, 0, TRUE, "window_foreground.png" },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0 }
-};
-
-static TQImage uic_findImage( const TQString& name )
-{
- for ( int i=0; embed_image_vec[i].data; i++ ) {
- if ( TQString::fromUtf8(embed_image_vec[i].name) == name ) {
- TQByteArray baunzip;
- baunzip = tqUncompress( embed_image_vec[i].data,
- embed_image_vec[i].compressed );
- TQImage img((uchar*)baunzip.data(),
- embed_image_vec[i].width,
- embed_image_vec[i].height,
- embed_image_vec[i].depth,
- (TQRgb*)embed_image_vec[i].colorTable,
- embed_image_vec[i].numColors,
- TQImage::BigEndian
- );
- img = img.copy();
- if ( embed_image_vec[i].alpha )
- img.setAlphaBuffer(TRUE);
- return img;
- }
- }
- return TQImage();
-}
-
-class MimeSourceFactory_smoothblend : public TQMimeSourceFactory
-{
-public:
- MimeSourceFactory_smoothblend() {}
- ~MimeSourceFactory_smoothblend() {}
- const TQMimeSource* data( const TQString& abs_name ) const {
- const TQMimeSource* d = TQMimeSourceFactory::data( abs_name );
- if ( d || abs_name.isNull() ) return d;
- TQImage img = uic_findImage( abs_name );
- if ( !img.isNull() )
- ((TQMimeSourceFactory*)this)->setImage( abs_name, img );
- return TQMimeSourceFactory::data( abs_name );
- };
-};
-
-static TQMimeSourceFactory* bfactory = 0;
-
-void qInitImages_smoothblend()
-{
- if ( !bfactory ) {
- bfactory = new MimeSourceFactory_smoothblend;
- TQMimeSourceFactory::defaultFactory()->addFactory( bfactory );
- }
-}
-
-void qCleanupImages_smoothblend()
-{
- if ( bfactory ) {
- TQMimeSourceFactory::defaultFactory()->removeFactory( bfactory );
- delete bfactory;
- bfactory = 0;
- }
-}
-
-class StaticInitImages_smoothblend
-{
-public:
- StaticInitImages_smoothblend() { qInitImages_smoothblend(); }
-#if defined(Q_OS_SCO) || defined(Q_OS_UNIXWARE)
- ~StaticInitImages_smoothblend() { }
-#else
- ~StaticInitImages_smoothblend() { qCleanupImages_smoothblend(); }
-#endif
-};
-
-static StaticInitImages_smoothblend staticImages;
diff --git a/kwin-styles/smooth-blend/client/config/CMakeLists.txt b/kwin-styles/smooth-blend/client/config/CMakeLists.txt
deleted file mode 100644
index 7a38efbb..00000000
--- a/kwin-styles/smooth-blend/client/config/CMakeLists.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-add_definitions(
- -DQT_PLUGIN
-)
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### twin_smoothblend_config (module) ##########
-
-tde_add_kpart( twin_smoothblend_config AUTOMOC
- SOURCES configdialog.ui smoothblendconfig.cc
- LINK tdeui-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/smooth-blend/client/config/Makefile.am b/kwin-styles/smooth-blend/client/config/Makefile.am
deleted file mode 100644
index ba5cd314..00000000
--- a/kwin-styles/smooth-blend/client/config/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-AUTOMAKE_OPTIONS = foreign
-
-KDE_CXXFLAGS = -DQT_PLUGIN
-
-INCLUDES = $(all_includes)
-
-noinst_HEADERS = smoothblendconfig.h
-
-kde_module_LTLIBRARIES = twin_smoothblend_config.la
-twin_smoothblend_config_la_SOURCES = configdialog.ui smoothblendconfig.cc
-twin_smoothblend_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-twin_smoothblend_config_la_LIBADD = $(LIB_TDEUI)
-twin_smoothblend_config_la_METASOURCES = AUTO
-
-DISTCLEANFILES = $(twin_smoothblend_config_la_METASOURCES)
diff --git a/kwin-styles/smooth-blend/client/config/configdialog.ui b/kwin-styles/smooth-blend/client/config/configdialog.ui
deleted file mode 100644
index 09af45f6..00000000
--- a/kwin-styles/smooth-blend/client/config/configdialog.ui
+++ /dev/null
@@ -1,421 +0,0 @@
-<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-<class>ConfigDialog</class>
-<widget class="TQWidget">
- <property name="name">
- <cstring>ConfigDialog</cstring>
- </property>
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>634</width>
- <height>371</height>
- </rect>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="caption">
- <string>Config Dialog</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <widget class="TQGroupBox" row="1" column="0">
- <property name="name">
- <cstring>buttongroup</cstring>
- </property>
- <property name="title">
- <string>Buttons</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQSpinBox" row="0" column="2" rowspan="1" colspan="2">
- <property name="name">
- <cstring>buttonsize</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="suffix">
- <string> pixels</string>
- </property>
- <property name="specialValueText">
- <string>1 pixel</string>
- </property>
- <property name="buttonSymbols">
- <enum>UpDownArrows</enum>
- </property>
- <property name="maxValue">
- <number>64</number>
- </property>
- <property name="minValue">
- <number>1</number>
- </property>
- <property name="value">
- <number>16</number>
- </property>
- </widget>
- <widget class="TQCheckBox" row="1" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>animatebuttons</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Animate buttons</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Check this option if you want to use button animations when hovering with the mouse.</string>
- </property>
- </widget>
- <widget class="TQLabel" row="0" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>textLabel4</cstring>
- </property>
- <property name="text">
- <string>Button size:</string>
- </property>
- </widget>
- <widget class="TQCheckBox" row="3" column="0" rowspan="1" colspan="4">
- <property name="name">
- <cstring>menuClose</cstring>
- </property>
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Close window when menu double clicked</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- </widget>
- <spacer row="2" column="0">
- <property name="name">
- <cstring>spacer3</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Fixed</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>30</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- <widget class="TQComboBox" row="2" column="3">
- <item>
- <property name="text">
- <string>Intensify</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>Fade</string>
- </property>
- </item>
- <property name="name">
- <cstring>btnComboBox</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- <widget class="TQLabel" row="2" column="1" rowspan="1" colspan="2">
- <property name="name">
- <cstring>textLabel2</cstring>
- </property>
- <property name="text">
- <string>Animation style:</string>
- </property>
- </widget>
- <spacer row="0" column="4" rowspan="4" colspan="1">
- <property name="name">
- <cstring>spacer2</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>180</width>
- <height>140</height>
- </size>
- </property>
- </spacer>
- </grid>
- </widget>
- <widget class="TQGroupBox" row="0" column="0">
- <property name="name">
- <cstring>titlegroup</cstring>
- </property>
- <property name="title">
- <string>Title Bar</string>
- </property>
- <grid>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQLabel" row="0" column="0">
- <property name="name">
- <cstring>textLabel1_3</cstring>
- </property>
- <property name="text">
- <string>Text tqalignment:</string>
- </property>
- </widget>
- <widget class="TQLabel" row="3" column="0">
- <property name="name">
- <cstring>textLabel1_2</cstring>
- </property>
- <property name="text">
- <string>Frame width:</string>
- </property>
- </widget>
- <widget class="TQLabel" row="1" column="0" rowspan="2" colspan="1">
- <property name="name">
- <cstring>textLabel1</cstring>
- </property>
- <property name="text">
- <string>Title height:</string>
- </property>
- </widget>
- <widget class="TQSpinBox" row="2" column="1" rowspan="1" colspan="2">
- <property name="name">
- <cstring>titlesize</cstring>
- </property>
- <property name="suffix">
- <string> pixels</string>
- </property>
- <property name="maxValue">
- <number>64</number>
- </property>
- <property name="minValue">
- <number>16</number>
- </property>
- </widget>
- <widget class="TQSpinBox" row="3" column="1" rowspan="1" colspan="2">
- <property name="name">
- <cstring>framesize</cstring>
- </property>
- <property name="suffix">
- <string> pixels</string>
- </property>
- <property name="specialValueText">
- <string>1 pixel</string>
- </property>
- <property name="maxValue">
- <number>64</number>
- </property>
- <property name="minValue">
- <number>1</number>
- </property>
- <property name="value">
- <number>4</number>
- </property>
- </widget>
- <widget class="TQButtonGroup" row="0" column="1" rowspan="2" colspan="2">
- <property name="name">
- <cstring>titlealign</cstring>
- </property>
- <property name="sizePolicy">
- <sizepolicy>
- <hsizetype>1</hsizetype>
- <vsizetype>1</vsizetype>
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="frameShape">
- <enum>GroupBoxPanel</enum>
- </property>
- <property name="frameShadow">
- <enum>Sunken</enum>
- </property>
- <property name="lineWidth">
- <number>0</number>
- </property>
- <property name="title">
- <string></string>
- </property>
- <property name="tqalignment">
- <set>AlignTop</set>
- </property>
- <property name="toolTip" stdset="0">
- <string></string>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Use these buttons to set the tqalignment of the window title</string>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <property name="margin">
- <number>0</number>
- </property>
- <widget class="TQLayoutWidget">
- <property name="name">
- <cstring>tqlayout14</cstring>
- </property>
- <hbox>
- <property name="name">
- <cstring>unnamed</cstring>
- </property>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>AlignLeft</cstring>
- </property>
- <property name="text">
- <string>Left</string>
- </property>
- <property name="toolTip" stdset="0">
- <string></string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>AlignHCenter</cstring>
- </property>
- <property name="text">
- <string>Center</string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- <property name="toolTip" stdset="0">
- <string></string>
- </property>
- </widget>
- <widget class="TQRadioButton">
- <property name="name">
- <cstring>AlignRight</cstring>
- </property>
- <property name="text">
- <string>Right</string>
- </property>
- <property name="toolTip" stdset="0">
- <string></string>
- </property>
- </widget>
- </hbox>
- </widget>
- </hbox>
- </widget>
- <spacer row="0" column="3" rowspan="4" colspan="1">
- <property name="name">
- <cstring>spacer1</cstring>
- </property>
- <property name="orientation">
- <enum>Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>Expanding</enum>
- </property>
- <property name="tqsizeHint">
- <size>
- <width>231</width>
- <height>71</height>
- </size>
- </property>
- </spacer>
- <widget class="TQCheckBox" row="4" column="2" rowspan="1" colspan="2">
- <property name="name">
- <cstring>roundCorners</cstring>
- </property>
- <property name="text">
- <string>Round top corners</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- </widget>
- <widget class="TQCheckBox" row="4" column="0" rowspan="1" colspan="2">
- <property name="name">
- <cstring>titleshadow</cstring>
- </property>
- <property name="text">
- <string>Use shadowed text</string>
- </property>
- <property name="accel">
- <string></string>
- </property>
- <property name="checked">
- <bool>true</bool>
- </property>
- <property name="whatsThis" stdset="0">
- <string>Check this option if you want the titlebar text to have a 3D look with a shadow behind it.</string>
- </property>
- </widget>
- </grid>
- </widget>
- </grid>
-</widget>
-<connections>
- <connection>
- <sender>animatebuttons</sender>
- <signal>toggled(bool)</signal>
- <receiver>textLabel2</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
- <connection>
- <sender>animatebuttons</sender>
- <signal>toggled(bool)</signal>
- <receiver>btnComboBox</receiver>
- <slot>setEnabled(bool)</slot>
- </connection>
-</connections>
-<tabstops>
- <tabstop>AlignLeft</tabstop>
- <tabstop>AlignHCenter</tabstop>
- <tabstop>AlignRight</tabstop>
- <tabstop>titlesize</tabstop>
- <tabstop>framesize</tabstop>
- <tabstop>titleshadow</tabstop>
- <tabstop>roundCorners</tabstop>
- <tabstop>buttonsize</tabstop>
- <tabstop>animatebuttons</tabstop>
- <tabstop>btnComboBox</tabstop>
- <tabstop>menuClose</tabstop>
-</tabstops>
-<layoutdefaults spacing="6" margin="11"/>
-</UI>
diff --git a/kwin-styles/smooth-blend/client/config/smoothblendconfig.cc b/kwin-styles/smooth-blend/client/config/smoothblendconfig.cc
deleted file mode 100644
index f2ec3e68..00000000
--- a/kwin-styles/smooth-blend/client/config/smoothblendconfig.cc
+++ /dev/null
@@ -1,180 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-// smoothblendconfig.cc
-// -------------------
-// Config module for Smooth Blend window decoration
-// -------------------
-// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
-// Please see the header file for copyright and license information.
-//////////////////////////////////////////////////////////////////////////////
-
-#include <kconfig.h>
-#include <klocale.h>
-#include <kglobal.h>
-#include <tqbuttongroup.h>
-#include <tqgroupbox.h>
-#include <tqradiobutton.h>
-#include <tqcheckbox.h>
-#include <tqspinbox.h>
-#include <tqwhatsthis.h>
-#include <tqcombobox.h>
-
-#include "smoothblendconfig.h"
-#include "configdialog.h"
-
-//////////////////////////////////////////////////////////////////////////////
-// smoothblendConfig()
-// -------------
-// Constructor
-
-smoothblendConfig::smoothblendConfig(KConfig* config, TQWidget* parent)
- : TQObject(parent), config_(0), dialog_(0) {
- // create the configuration object
- config_ = new KConfig("twinsmoothblendrc");
- KGlobal::locale()->insertCatalogue("twin_smoothblend_config");
-
- // create and show the configuration dialog
- dialog_ = new ConfigDialog(parent);
- dialog_->show();
-
- // load the configuration
- load(config_);
-
- // setup the connections for title align
- connect(dialog_->titlealign, TQT_SIGNAL(clicked(int)),this, TQT_SLOT(selectionChanged(int)));
- // setup the connections for corner rounding
- connect(dialog_->roundCorners, TQT_SIGNAL(stateChanged(int)),this,TQT_SLOT(selectionChanged(int)));
- // setup title shadow
- connect(dialog_->titleshadow, TQT_SIGNAL(stateChanged(int)),this,TQT_SLOT(selectionChanged(int)));
- // setup button actions
- connect(dialog_->animatebuttons, TQT_SIGNAL(stateChanged(int)),this,TQT_SLOT(selectionChanged(int)));
- connect(dialog_->btnComboBox, TQT_SIGNAL(activated(int)),this,TQT_SLOT(selectionChanged(int)));
- // setup the connections for spin boxes
- connect(dialog_->titlesize, TQT_SIGNAL(valueChanged(int)),this,TQT_SLOT(selectionChanged(int)));
- connect(dialog_->buttonsize, TQT_SIGNAL(valueChanged(int)),this,TQT_SLOT(selectionChanged(int)));
- connect(dialog_->framesize, TQT_SIGNAL(valueChanged(int)),this,TQT_SLOT(selectionChanged(int)));
- // double click the menu
- connect(dialog_->menuClose, TQT_SIGNAL(stateChanged(int)),this, TQT_SLOT(selectionChanged(int)));
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// ~smoothblendConfig()
-// --------------
-// Destructor
-
-smoothblendConfig::~smoothblendConfig() {
- if (dialog_)
- {
- delete dialog_;
- }
- if (config_)
- {
- delete config_;
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// selectionChanged()
-// ------------------
-// Selection has changed
-
-void smoothblendConfig::selectionChanged(int) {
-
- if(dialog_->buttonsize->value() + dialog_->framesize->value() > dialog_->titlesize->value())
- {
- dialog_->buttonsize->setValue(dialog_->titlesize->value()- dialog_->framesize->value());
- }
- // setting the framesize to less than 2 will lose the top gradient and look flat
- if(dialog_->framesize->value() < 2)
- {
- dialog_->framesize->setValue(2);
- }
- emit changed();
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// load()
-// ------
-// Load configuration data
-
-void smoothblendConfig::load(KConfig*) {
- config_->setGroup("General");
-
- TQString value = config_->readEntry("TitleAlignment", "AlignHCenter");
- TQRadioButton *button = (TQRadioButton*)dialog_->titlealign->child(value.latin1());
- if (button)
- {
- button->setChecked(true);
- }
-
- dialog_->titlesize->setValue( config_->readNumEntry("TitleSize",30 ) );
- dialog_->buttonsize->setValue( config_->readNumEntry("ButtonSize",26 ) );
- dialog_->framesize->setValue( config_->readNumEntry("FrameSize",4 ) );
-
- bool cornersFlag = config_->readBoolEntry("RoundCorners", true);
- dialog_->roundCorners->setChecked( cornersFlag );
- bool titleshadow = config_->readBoolEntry("TitleShadow", true);
- dialog_->titleshadow->setChecked(titleshadow);
- bool animatebuttons = config_->readBoolEntry("AnimateButtons", true);
- dialog_->animatebuttons->setChecked(animatebuttons);
- dialog_->btnComboBox->setCurrentItem(config_->readNumEntry("ButtonComboBox",0));
- bool menuClose = config_->readBoolEntry("CloseOnMenuDoubleClick");
- dialog_->menuClose->setChecked(menuClose);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// save()
-// ------
-// Save configuration data
-
-void smoothblendConfig::save(KConfig*) {
- config_->setGroup("General");
-
- TQRadioButton *button = (TQRadioButton*)dialog_->titlealign->selected();
- if (button)
- {
- config_->writeEntry("TitleAlignment", TQString(button->name()));
- }
- config_->writeEntry("RoundCorners", dialog_->roundCorners->isChecked() );
- config_->writeEntry("TitleSize", dialog_->titlesize->value() );
- config_->writeEntry("ButtonSize", dialog_->buttonsize->value() );
- config_->writeEntry("FrameSize", dialog_->framesize->value() );
- config_->writeEntry("TitleShadow", dialog_->titleshadow->isChecked() );
- config_->writeEntry("AnimateButtons", dialog_->animatebuttons->isChecked() );
- config_->writeEntry("ButtonComboBox", dialog_->btnComboBox->currentItem());
- config_->writeEntry("CloseOnMenuDoubleClick", dialog_->menuClose->isChecked() );
-
- config_->sync();
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// defaults()
-// ----------
-// Set configuration defaults
-
-void smoothblendConfig::defaults() {
- TQRadioButton *button = (TQRadioButton*)dialog_->titlealign->child("AlignHCenter");
- if (button)
- {
- button->setChecked(true);
- }
- dialog_->roundCorners->setChecked( true );
- dialog_->titlesize->setValue( 30 );
- dialog_->buttonsize->setValue( 26 );
- dialog_->framesize->setValue( 4 );
- dialog_->titleshadow->setChecked( true );
- dialog_->animatebuttons->setChecked( true );
- dialog_->btnComboBox->setCurrentItem( 0 );
- dialog_->menuClose->setChecked( false );
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// Plugin Stuff //
-//////////////////////////////////////////////////////////////////////////////
-
-extern "C" {
- TQObject* allocate_config(KConfig* config, TQWidget* parent) {
- return (new smoothblendConfig(config, parent));
- }
-}
-
-#include "smoothblendconfig.moc"
diff --git a/kwin-styles/smooth-blend/client/config/smoothblendconfig.h b/kwin-styles/smooth-blend/client/config/smoothblendconfig.h
deleted file mode 100644
index 4f2add87..00000000
--- a/kwin-styles/smooth-blend/client/config/smoothblendconfig.h
+++ /dev/null
@@ -1,56 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-// smoothblendconfig.h
-// -------------------
-// Config module for Smooth Blend window decoration
-// -------------------
-// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; see the file COPYING. If not, write to
-// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-// Boston, MA 02110-1301, USA.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef SMOOTHBLENDCONFIG_H
-#define SMOOTHBLENDCONFIG_H
-
-#include <tqobject.h>
-
-class KConfig;
-class ConfigDialog;
-
-class smoothblendConfig : public TQObject {
- Q_OBJECT
- TQ_OBJECT
-public:
- smoothblendConfig(KConfig* config, TQWidget* parent);
- ~smoothblendConfig();
-
-signals:
- void changed();
-
-public slots:
- void load(KConfig*);
- void save(KConfig*);
- void defaults();
-
-protected slots:
- void selectionChanged(int);
-
-private:
- KConfig *config_;
- ConfigDialog *dialog_;
-};
-
-#endif // SMOOTHBLENDCONFIG_H
diff --git a/kwin-styles/smooth-blend/client/smoothblend.cc b/kwin-styles/smooth-blend/client/smoothblend.cc
deleted file mode 100644
index 02efd047..00000000
--- a/kwin-styles/smooth-blend/client/smoothblend.cc
+++ /dev/null
@@ -1,1396 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-// smoothblend.cc
-// -------------------
-// Smooth Blend window decoration for KDE
-// -------------------
-// Copyright (c) 2005 Ryan Nickell
-// Please see the header file for copyright and license information.
-//////////////////////////////////////////////////////////////////////////////
-
-#include <kconfig.h>
-#include <kdeversion.h>
-#include <kglobal.h>
-#include <kglobalsettings.h>
-#include <klocale.h>
-#include <kpixmap.h>
-#include <kimageeffect.h>
-#include <kpixmapeffect.h>
-#include <kpixmap.h>
-
-#include <tqbitmap.h>
-#include <tqlabel.h>
-#include <tqlayout.h>
-#include <tqpainter.h>
-#include <tqtooltip.h>
-#include <tqtimer.h>
-#include <tqapplication.h>
-
-#include "smoothblend.h"
-#include "buttons.h"
-
-using namespace smoothblend;
-
-//////////////////////////////////////////////////////////////////////////////
-// smoothblendFactory Class
-//////////////////////////////////////////////////////////////////////////////
-smoothblendFactory* factory=NULL;
-
-bool smoothblendFactory::initialized_ = false;
-TQt::AlignmentFlags smoothblendFactory::titlealign_ = TQt::AlignHCenter;
-bool smoothblendFactory::cornerflags_ = true;
-int smoothblendFactory::titlesize_ = 30;
-int smoothblendFactory::buttonsize_ = 26;
-int smoothblendFactory::framesize_ = 4;
-int smoothblendFactory::roundsize_ = 50;
-bool smoothblendFactory::titleshadow_ = true;
-bool smoothblendFactory::animatebuttons = true;
-int smoothblendFactory::btnComboBox = 0;
-bool smoothblendFactory::menuClose = false;
-
-// global constants
-static const int TOPMARGIN = 4; // do not change
-static const int DECOHEIGHT = 4; // do not change
-static const int SIDETITLEMARGIN = 2;
-// Default button tqlayout
-const char default_left[] = "M";
-const char default_right[] = "HIAX";
-
-static const uint TIMERINTERVAL = 50; // msec
-static const uint ANIMATIONSTEPS = 4;
-
-extern "C" KDecorationFactory* create_factory() {
- return new smoothblend::smoothblendFactory();
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// smoothblendFactory()
-// ----------------
-// Constructor
-
-smoothblendFactory::smoothblendFactory() {
- readConfig();
- initialized_ = true;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// ~smoothblendFactory()
-// -----------------
-// Destructor
-
-smoothblendFactory::~smoothblendFactory() {
- initialized_ = false;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// createDecoration()
-// -----------------
-// Create the decoration
-
-KDecoration* smoothblendFactory::createDecoration(KDecorationBridge* b) {
- return new smoothblendClient(b, this);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// reset()
-// -------
-// Reset the handler. Returns true if decorations need to be remade, false if
-// only a tqrepaint is necessary
-
-bool smoothblendFactory::reset(unsigned long changed) {
- // read in the configuration
- initialized_ = false;
- bool confchange = readConfig();
- initialized_ = true;
-
- if (confchange ||
- (changed & (SettingDecoration | SettingButtons | SettingBorder))) {
- return true;
- } else {
- resetDecorations(changed);
- return false;
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// readConfig()
-// ------------
-// Read in the configuration file
-
-bool smoothblendFactory::readConfig() {
- // create a config object
- KConfig config("twinsmoothblendrc");
- config.setGroup("General");
-
- // grab settings
- TQString value = config.readEntry("TitleAlignment", "AlignHCenter");
- if (value == "AlignLeft")
- titlealign_ = TQt::AlignLeft;
- else if (value == "AlignHCenter")
- titlealign_ = TQt::AlignHCenter;
- else if (value == "AlignRight")
- titlealign_ = TQt::AlignRight;
-
- cornerflags_ = config.readBoolEntry("RoundCorners", true);
- titlesize_ = config.readNumEntry("TitleSize",30);
- buttonsize_ = config.readNumEntry("ButtonSize",26);
- framesize_ = config.readNumEntry("FrameSize",4);
- roundsize_ = config.readNumEntry("RoundPercent",50);
- titleshadow_ = config.readBoolEntry("TitleShadow", true);
- animatebuttons = config.readBoolEntry("AnimateButtons", true);
- btnComboBox = config.readNumEntry("ButtonComboBox", 0);
- menuClose = config.readBoolEntry("CloseOnMenuDoubleClick");
-
- if(buttonsize_ > titlesize_ - framesize_)
- {
- buttonsize_ = titlesize_-framesize_;
- }
-
- return true;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// smoothblendButton Class
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////////////////
-// smoothblendButton()
-// ---------------
-// Constructor
-smoothblendButton::smoothblendButton(smoothblendClient *parent, const char *name, const TQString& tip, ButtonType type, int button_size, bool toggle): TQButton(parent->widget(), name),
- client_(parent),
- type_(type),
- size_(button_size),
- deco_(0),
- lastmouse_(Qt::NoButton),
- hover_(false)
-{
- setBackgroundMode(NoBackground);
- setFixedSize( ::factory->buttonSize(), ::factory->buttonSize());
- setCursor(arrowCursor);
- TQToolTip::add(this, tip);
- setToggleButton(toggle);
- //button animation setup
- animTmr = new TQTimer(this);
- connect(animTmr, TQT_SIGNAL(timeout() ), this, TQT_SLOT(animate() ) );
- connect(this, TQT_SIGNAL(pressed() ), this, TQT_SLOT(buttonClicked() ) );
- connect(this, TQT_SIGNAL(released() ), this, TQT_SLOT(buttonReleased() ) );
- animProgress = 0;
- m_clicked=false;
-}
-
-smoothblendButton::~smoothblendButton() {
- if ( deco_ )
- delete deco_;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// tqsizeHint()
-// ----------
-// Return size hint
-
-TQSize smoothblendButton::tqsizeHint() const {
- return TQSize(::factory->buttonSize(), ::factory->buttonSize());
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// buttonClicked()
-// ----------
-// Button animation progress reset so we don't get any leave event animation
-// when the mouse is still pressed
-void smoothblendButton::buttonClicked() {
- m_clicked=true;
- animProgress=0;
-}
-void smoothblendButton::buttonReleased() {
- //This doesn't work b/c a released() signal is thrown when a leaveEvent occurs
- //m_clicked=false;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// animate()
-// ----------
-// Button animation timing
-void smoothblendButton::animate() {
- animTmr->stop();
-
- if(hover_) {
- if(animProgress < ANIMATIONSTEPS) {
- if (::factory->animateButtons() ) {
- animProgress++;
- } else {
- animProgress = ANIMATIONSTEPS;
- }
- animTmr->start(TIMERINTERVAL, true); // single-shot
- }
- } else {
- if(animProgress > 0) {
- if (::factory->animateButtons() ) {
- animProgress--;
- } else {
- animProgress = 0;
- }
- animTmr->start(TIMERINTERVAL, true); // single-shot
- }
- }
- tqrepaint(false);
-}
-//////////////////////////////////////////////////////////////////////////////
-// enterEvent()
-// ------------
-// Mouse has entered the button
-
-void smoothblendButton::enterEvent(TQEvent *e) {
- // we wanted to pass on the event
- TQButton::enterEvent(e);
- // we want to do mouseovers, so keep track of it here
- hover_=true;
- if(!m_clicked)
- {
- animate();
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// leaveEvent()
-// ------------
-// Mouse has left the button
-
-void smoothblendButton::leaveEvent(TQEvent *e) {
- // we wanted to pass on the event
- TQButton::leaveEvent(e);
- // we want to do mouseovers, so keep track of it here
- hover_=false;
- if(!m_clicked)
- {
- animate();
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// mousePressEvent()
-// -----------------
-// Button has been pressed
-
-void smoothblendButton::mousePressEvent(TQMouseEvent* e) {
- lastmouse_ = e->button();
-
- // translate and pass on mouse event
- int button = Qt::LeftButton;
- if ((type_ != ButtonMax) && (e->button() != Qt::LeftButton)) {
- button = Qt::NoButton; // middle & right buttons inappropriate
- }
- TQMouseEvent me(e->type(), e->pos(), e->globalPos(),
- button, e->state());
- TQButton::mousePressEvent(&me);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// mouseReleaseEvent()
-// -----------------
-// Button has been released
-
-void smoothblendButton::mouseReleaseEvent(TQMouseEvent* e) {
- lastmouse_ = e->button();
-
- // translate and pass on mouse event
- int button = Qt::LeftButton;
- if ((type_ != ButtonMax) && (e->button() != Qt::LeftButton)) {
- button = Qt::NoButton; // middle & right buttons inappropriate
- }
- TQMouseEvent me(e->type(), e->pos(), e->globalPos(), button, e->state());
- TQButton::mouseReleaseEvent(&me);
- if(m_clicked)
- {
- m_clicked=false;
- }
-}
-
-void smoothblendButton::setOn(bool on)
-{
- TQButton::setOn(on);
-}
-
-void smoothblendButton::setDown(bool on)
-{
- TQButton::setDown(on);
-}
-
-//////////////////////////////////////////////////////////
-// getButtonImage()
-// ----------------
-// get the button TQImage based on type and window mode
-TQImage smoothblendButton::getButtonImage(ButtonType type)
-{
- TQImage finalImage;
- switch(type) {
- case ButtonClose:
- finalImage = uic_findImage( "close.png" );
- break;
- case ButtonHelp:
- finalImage = uic_findImage( "help.png" );
- break;
- case ButtonMin:
- finalImage = uic_findImage( "minimize.png" );
- break;
- case ButtonMax:
- if(client_->maximizeMode() == KDecorationDefines::MaximizeFull)
- {
- finalImage = uic_findImage( "restore.png" );
- }
- else
- {
- finalImage = uic_findImage( "maximize.png" );
- }
- break;
- case ButtonSticky:
- if(client_->isOnAllDesktops())
- {
- finalImage = uic_findImage( "splat.png" );
- }
- else
- {
- finalImage = uic_findImage( "circle.png" );
- }
- break;
- case ButtonShade:
- if(client_->isShade())
- {
- finalImage = uic_findImage( "shade.png" );
- }
- else
- {
- finalImage = uic_findImage( "shade.png" );
- }
- break;
- case ButtonAbove:
- if(client_->keepAbove())
- {
- finalImage = uic_findImage( "keep_above_lit.png" );
- }
- else
- {
- finalImage = uic_findImage( "keep_above.png" );
- }
- break;
- case ButtonBelow:
- if(client_->keepBelow())
- {
- finalImage = uic_findImage( "keep_below_lit.png" );
- }
- else
- {
- finalImage = uic_findImage( "keep_below.png" );
- }
- break;
- default:
- finalImage = uic_findImage( "splat.png" );
- break;
- }
- return finalImage;
-}
-
-//////////////////////////////////////////////////////////
-// drawButton()
-// -------------------------
-// draw the pixmap button
-
-void smoothblendButton::drawButton( TQPainter *painter ) {
- if ( !smoothblendFactory::initialized() )
- return ;
-
- int newWidth = width() - 2;
- int newHeight = height() - 2;
- int dx = (width() - newWidth) / 2;
- int dy = (height() - newHeight) / 2;
- TQImage tmpResult;
- TQColorGroup group;
- TQColor redColor(red);
- bool active = client_->isActive();
- TQPixmap backgroundTile = client_->getTitleBarTile(active);
- group = KDecoration::options()->tqcolorGroup(KDecoration::ColorTitleBar, active);
-
- //draw the titlebar behind the buttons and app icons
- if ((client_->maximizeMode()==client_->MaximizeFull) && !KDecoration::options()->moveResizeMaximizedWindows())
- {
- painter->drawTiledPixmap(0, 0, width(), height(), backgroundTile);
- }
- else
- {
- painter->drawTiledPixmap(0, 0, width(), height(), backgroundTile, 0, y()-::factory->frameSize());
- }
-
- TQImage buttonImage = getButtonImage(type_).smoothScale( width(),height());
- buttonImage = KImageEffect::blend( group.background(), buttonImage, .50);
- if (type_ == ButtonMenu) {
- //slight movement to show the menu button is depressed
- if (isDown()) {
- dx++;
- dy++;
- }
- TQPixmap menuButtonPixmap(client_->icon().pixmap(TQIconSet::Large, TQIconSet::Normal));
- TQImage menuButtonImage(menuButtonPixmap.convertToImage());
- //draw the menu button the same size as the other buttons
- //using TQIconSet::Large gives us a 32x32 icon to resize, resizing larger than
- //that may produce pixilation of the image
- painter->drawImage( dx, dy, menuButtonImage.smoothScale(newWidth, newHeight) );
- } else {
- //highlight on a mouse over tqrepaint
- double factor = animProgress * 0.13;
-
- if(!isDown())
- {
- switch(::factory->getBtnComboBox())
- {
- case 0:
- tmpResult = KImageEffect::intensity( buttonImage, factor);
- break;
- case 1:
- tmpResult = KImageEffect::fade( buttonImage, factor, group.background());
- break;
- }
- }
- else
- {
- tmpResult = buttonImage;
- }
- painter->drawPixmap( 0, 0, TQPixmap( tmpResult ) );
- }
-}
-
-
-//////////////////////////////////////////////////////////////////////////////
-// smoothblendClient Class
-//////////////////////////////////////////////////////////////////////////////
-
-//////////////////////////////////////////////////////////////////////////////
-// smoothblendClient()
-// ---------------
-// Constructor
-
-smoothblendClient::smoothblendClient(KDecorationBridge *b, KDecorationFactory *f)
- : KDecoration(b, f),
- mainLayout_(0),
- titleLayout_(0),
- topSpacer_(0),
- titleSpacer_(0),
- leftTitleSpacer_(0), rightTitleSpacer_(0),
- decoSpacer_(0),
- leftSpacer_(0), rightSpacer_(0),
- bottomSpacer_(0), windowSpacer_(0),
- aCaptionBuffer(0), iCaptionBuffer(0),
- aTitleBarTile(0), iTitleBarTile(0), aTitleBarTopTile(0), iTitleBarTopTile(0),
- pixmaps_created(false),
- //captionBufferDirty(true),
- s_titleHeight(0),
- s_titleFont(TQFont()),
- closing(false)
- {
- aCaptionBuffer = new TQPixmap();
- iCaptionBuffer = new TQPixmap();
- //s_titleFont = isTool()?smoothblendFactory::titleFontTool():smoothblendFactory::titleFont();
- s_titleFont = options()->font();
- s_titleHeight = smoothblendFactory::titleSize();
- }
-//////////////////////////////////////////////////////////////////////////////////
-// ~smoothblendClient()
-// --------------------
-// Destructor
-smoothblendClient::~smoothblendClient() {
- delete aCaptionBuffer;
- delete iCaptionBuffer;
-}
-
-void smoothblendClient::create_pixmaps() {
- if(pixmaps_created)
- return;
- KPixmap tempPixmap;
- TQPainter painter;
- TQColorGroup group,widgetGroup;
- int FRAMESIZE = ::factory->frameSize();
- // Get the color groups we need for the gradients
- group = options()->tqcolorGroup(KDecoration::ColorTitleBar, true);
- widgetGroup = widget()->tqcolorGroup();
-
- // active top title bar tile
- tempPixmap.resize(1, TOPMARGIN);
- tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
- group.background(),
- widgetGroup.background(),
- KPixmapEffect::VerticalGradient,
- 100,
- -100);
- aTitleBarTopTile = new TQPixmap(1, TOPMARGIN);
- painter.begin(aTitleBarTopTile);
- painter.drawPixmap(0, 0, tempPixmap);
- painter.end();
-
- // inactive top title bar tile
- group = options()->tqcolorGroup(KDecoration::ColorTitleBar, false);
- tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
- group.background(),
- widgetGroup.background(),
- KPixmapEffect::VerticalGradient,
- 100,
- -100);
- iTitleBarTopTile = new TQPixmap(1, TOPMARGIN);
- painter.begin(iTitleBarTopTile);
- painter.drawPixmap(0, 0, tempPixmap);
- painter.end();
-
- // active title bar tile
- tempPixmap.resize(1, s_titleHeight+FRAMESIZE);
- group = options()->tqcolorGroup(KDecoration::ColorTitleBar, true);
- tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
- group.background(),
- widgetGroup.background(),
- KPixmapEffect::VerticalGradient,
- 100,
- 200);
- aTitleBarTile = new TQPixmap(1, s_titleHeight+FRAMESIZE);
- painter.begin(aTitleBarTile);
- painter.drawPixmap(0, 0, tempPixmap);
- painter.end();
-
- // inactive title bar tile
- group = options()->tqcolorGroup(KDecoration::ColorTitleBar, false);
- tempPixmap = KPixmapEffect::unbalancedGradient(tempPixmap,
- group.background(),
- widgetGroup.background(),
- KPixmapEffect::VerticalGradient,
- 100,
- 200);
- iTitleBarTile = new TQPixmap(1, s_titleHeight+FRAMESIZE);
- painter.begin(iTitleBarTile);
- painter.drawPixmap(0, 0, tempPixmap);
- painter.end();
-
- pixmaps_created = true;
-}
-
-void smoothblendClient::delete_pixmaps() {
- delete aTitleBarTopTile;
- aTitleBarTopTile = 0;
-
- delete iTitleBarTopTile;
- iTitleBarTopTile = 0;
-
- delete aTitleBarTile;
- aTitleBarTile = 0;
-
- delete iTitleBarTile;
- iTitleBarTile = 0;
-
- pixmaps_created = false;
-}
-//////////////////////////////////////////////////////////////////////////////
-// init()
-// ------
-// Actual initializer for class
-
-void smoothblendClient::init() {
- createMainWidget(WResizeNoErase | WRepaintNoErase);
- widget()->installEventFilter(this);
- handlebar = ::factory->frameSize() < 4 ? 4 - ::factory->frameSize() : 0;
- // for flicker-free redraws
- widget()->setBackgroundMode(NoBackground);
-
- _resetLayout();
-
- create_pixmaps();
-}
-void smoothblendClient::_resetLayout()
-{
- // basic tqlayout:
- // _______________________________________________________________
- // | topSpacer |
- // |_______________________________________________________________|
- // | leftTitleSpacer | btns | titlebar | bts | rightTitleSpacer |
- // |_________________|______|_____________|_____|__________________|
- // | decoSpacer |
- // |_______________________________________________________________|
- // | | | |
- // | | windowWrapper | |
- // | | | |
- // |leftSpacer rightSpacer|
- // |_|___________________________________________________________|_|
- // | bottomSpacer |
- // |_______________________________________________________________|
- //
- if (!::factory->initialized()) return;
-
- delete mainLayout_;
- delete titleLayout_;
- delete topSpacer_;
- delete titleSpacer_;
- delete leftTitleSpacer_;
- delete rightTitleSpacer_;
- delete decoSpacer_;
- delete leftSpacer_;
- delete rightSpacer_;
- delete bottomSpacer_;
- delete windowSpacer_;
-
- mainLayout_ = new TQVBoxLayout(widget());
- // title
- titleLayout_ = new TQHBoxLayout();
- TQHBoxLayout *windowLayout_ = new TQHBoxLayout();
- int FRAMESIZE = ::factory->frameSize();
-
- topSpacer_ = new TQSpacerItem(1, FRAMESIZE, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- titlebar_ = new TQSpacerItem(1, ::factory->buttonSize(),
- TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- leftTitleSpacer_ = new TQSpacerItem(FRAMESIZE, s_titleHeight,
- TQSizePolicy::Fixed, TQSizePolicy::Fixed);
- rightTitleSpacer_ = new TQSpacerItem(FRAMESIZE, s_titleHeight,
- TQSizePolicy::Fixed, TQSizePolicy::Fixed);
- decoSpacer_ = new TQSpacerItem(1, FRAMESIZE, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- leftSpacer_ = new TQSpacerItem(::factory->frameSize(), 1,
- TQSizePolicy::Fixed, TQSizePolicy::Expanding);
- rightSpacer_ = new TQSpacerItem(::factory->frameSize(), 1,
- TQSizePolicy::Fixed, TQSizePolicy::Expanding);
- bottomSpacer_ = new TQSpacerItem(1, ::factory->frameSize(),
- TQSizePolicy::Expanding, TQSizePolicy::Fixed);
-
- // sizeof(...) is calculated at compile time
- memset(button, 0, sizeof(smoothblendButton *) * ButtonTypeCount);
-
- // message in preview widget
- if (isPreview()) {
- windowLayout_->addWidget(
- new TQLabel( i18n("<b><center>Smooth Blend</center></b>"), widget() ), 1 );
- } else {
- windowLayout_->addItem(new TQSpacerItem(0, 0));
- }
-
- // setup titlebar buttons
- for (int n=0; n<ButtonTypeCount; n++)
- button[n] = 0;
- //Deal with the title and buttons
- titleLayout_->addItem(leftTitleSpacer_);
- addButtons(titleLayout_,
- options()->customButtonPositions() ? options()->titleButtonsLeft() : TQString(default_left),
- ::factory->titleSize()-1);
- titleLayout_->addItem(titlebar_);
- addButtons(titleLayout_,
- options()->customButtonPositions() ? options()->titleButtonsRight() : TQString(default_right),
- ::factory->titleSize()-1);
- titleLayout_->addItem(rightTitleSpacer_);
-
- //Mid - left side, middle contents and right side
- TQHBoxLayout * midLayout_ = new TQHBoxLayout();
- midLayout_->addItem(leftSpacer_);
- midLayout_->addLayout(windowLayout_);
- midLayout_->addItem(rightSpacer_);
-
- //Layout order
- mainLayout_->addItem( topSpacer_ );
- mainLayout_->addLayout( titleLayout_ );
- mainLayout_->addItem( decoSpacer_ );
- mainLayout_->addLayout( midLayout_ );
- mainLayout_->addItem( bottomSpacer_ );
-
- // connections
- connect(this, TQT_SIGNAL(keepAboveChanged(bool)), TQT_SLOT(keepAboveChange(bool)));
- connect(this, TQT_SIGNAL(keepBelowChanged(bool)), TQT_SLOT(keepBelowChange(bool)));
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// addButtons()
-// ------------
-// Add buttons to title tqlayout
-
-void smoothblendClient::addButtons(TQBoxLayout *tqlayout, const TQString& s, int button_size) {
- TQString tip;
- if (s.length() > 0) {
- for (unsigned n=0; n < s.length(); n++) {
- switch (s[n]) {
- case 'M': // Menu button
- if (!button[ButtonMenu]) {
- button[ButtonMenu] =
- new smoothblendButton(this, "splat.png", i18n("Menu"),ButtonMenu,button_size);
- connect(button[ButtonMenu], TQT_SIGNAL(pressed()), this, TQT_SLOT(menuButtonPressed()));
- connect(button[ButtonMenu], TQT_SIGNAL(released()), this, TQT_SLOT(menuButtonReleased()));
- tqlayout->addWidget(button[ButtonMenu]);
- if (n < s.length()-1) tqlayout->addSpacing(1);
- }
- break;
-
- case 'S': // Sticky button
- if (!button[ButtonSticky]) {
- if (isOnAllDesktops()) {
- tip = i18n("Un-Sticky");
- } else {
- tip = i18n("Sticky");
- }
- button[ButtonSticky] =
- new smoothblendButton(this, "circle.png", tip, ButtonSticky, button_size, true);
- connect(button[ButtonSticky], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(toggleOnAllDesktops()));
- tqlayout->addWidget(button[ButtonSticky]);
- if (n < s.length()-1) tqlayout->addSpacing(1);
- }
- break;
-
- case 'H': // Help button
- if ((!button[ButtonHelp]) && providesContextHelp()) {
- button[ButtonHelp] =
- new smoothblendButton(this, "help.png", i18n("Help"), ButtonHelp, button_size);
- connect(button[ButtonHelp], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(showContextHelp()));
- tqlayout->addWidget(button[ButtonHelp]);
- if (n < s.length()-1) tqlayout->addSpacing(1);
- }
- break;
-
- case 'I': // Minimize button
- if ((!button[ButtonMin]) && isMinimizable()) {
- button[ButtonMin] =
- new smoothblendButton(this, "minimize.png", i18n("Minimize"), ButtonMin, button_size);
- connect(button[ButtonMin], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(minimize()));
- tqlayout->addWidget(button[ButtonMin]);
- if (n < s.length()-1) tqlayout->addSpacing(1);
- }
- break;
-
- case 'A': // Maximize button
- if ((!button[ButtonMax]) && isMaximizable()) {
- if (maximizeMode() == MaximizeFull) {
- tip = i18n("Restore");
- } else {
- tip = i18n("Maximize");
- }
- button[ButtonMax] =
- new smoothblendButton(this, "maximize.png", tip, ButtonMax, button_size, true);
- connect(button[ButtonMax], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(maxButtonPressed()));
- tqlayout->addWidget(button[ButtonMax]);
- if (n < s.length()-1) tqlayout->addSpacing(1);
- }
- break;
-
- case 'X': // Close button
- if ((!button[ButtonClose]) && isCloseable()) {
- button[ButtonClose] =
- new smoothblendButton(this, "close.png", i18n("Close"), ButtonClose, button_size);
- connect(button[ButtonClose], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(closeWindow()));
- tqlayout->addWidget(button[ButtonClose]);
- if (n < s.length()-1) tqlayout->addSpacing(1);
- }
- break;
-
- case 'F': // Above button
- if ((!button[ButtonAbove])) {
- button[ButtonAbove] =
- new smoothblendButton(this, "keep_above.png",
- i18n("Keep Above Others"), ButtonAbove, button_size, true);
- connect(button[ButtonAbove], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(aboveButtonPressed()));
- tqlayout->addWidget(button[ButtonAbove]);
- if (n < s.length()-1) tqlayout->addSpacing(1);
- }
- break;
-
- case 'B': // Below button
- if ((!button[ButtonBelow])) {
- button[ButtonBelow] =
- new smoothblendButton(this, "keep_below.png",
- i18n("Keep Below Others"), ButtonBelow, button_size, true);
- connect(button[ButtonBelow], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(belowButtonPressed()));
- tqlayout->addWidget(button[ButtonBelow]);
- if (n < s.length()-1) tqlayout->addSpacing(1);
- }
- break;
-
- case 'L': // Shade button
- if ((!button[ButtonShade]) && isShadeable()) {
- if ( isSetShade()) {
- tip = i18n("Unshade");
- } else {
- tip = i18n("Shade");
- }
- button[ButtonShade] =
- new smoothblendButton(this, "shade.png", tip, ButtonShade, button_size, true);
- connect(button[ButtonShade], TQT_SIGNAL(clicked()),
- this, TQT_SLOT(shadeButtonPressed()));
- tqlayout->addWidget(button[ButtonShade]);
- if (n < s.length()-1) tqlayout->addSpacing(1);
- }
- break;
-
- case '_': // Spacer item
- tqlayout->addSpacing(::factory->frameSize());
- }
- }
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// activeChange()
-// --------------
-// window active state has changed
-
-void smoothblendClient::activeChange() {
- for (int n=0; n<ButtonTypeCount; n++)
- if (button[n])
- button[n]->reset();
- widget()->tqrepaint(false);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// captionChange()
-// ---------------
-// The title has changed
-
-void smoothblendClient::captionChange() {
- widget()->tqrepaint(titlebar_->tqgeometry(), false);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// desktopChange()
-// ---------------
-// Called when desktop/sticky changes
-
-void smoothblendClient::desktopChange() {
- bool d = isOnAllDesktops();
- if (button[ButtonSticky]) {
- TQToolTip::remove(button[ButtonSticky]);
- TQToolTip::add(button[ButtonSticky], d ? i18n("Un-Sticky") : i18n("Sticky"));
- button[ButtonSticky]->tqrepaint(false);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// iconChange()
-// ------------
-// The title has changed
-
-void smoothblendClient::iconChange() {
- if (button[ButtonMenu]) {
- button[ButtonMenu]->tqrepaint(false);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// maximizeChange()
-// ----------------
-// Maximized state has changed
-
-void smoothblendClient::maximizeChange() {
- bool m = (maximizeMode() == MaximizeFull);
- if (button[ButtonMax]) {
- TQToolTip::remove(button[ButtonMax]);
- TQToolTip::add(button[ButtonMax], m ? i18n("Restore") : i18n("Maximize"));
- button[ButtonMax]->tqrepaint(false);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// shadeChange()
-// -------------
-// Called when window shading changes
-
-void smoothblendClient::shadeChange() {
- bool s = isSetShade();
- if (button[ButtonShade]) {
- TQToolTip::remove(button[ButtonShade]);
- TQToolTip::add(button[ButtonShade], s ? i18n("Unshade") : i18n("Shade"));
- button[ButtonShade]->tqrepaint(false);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// keepAboveChange()
-// ------------
-// The above state has changed
-
-void smoothblendClient::keepAboveChange(bool a) {
- if (button[ButtonAbove]) {
- button[ButtonAbove]->setOn(a);
- button[ButtonAbove]->tqrepaint(false);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// keepBelowChange()
-// ------------
-// The below state has changed
-
-void smoothblendClient::keepBelowChange(bool b) {
- if (button[ButtonBelow]) {
- button[ButtonBelow]->setOn(b);
- button[ButtonBelow]->tqrepaint(false);
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// borders()
-// ----------
-// Get the size of the borders
-
-void smoothblendClient::borders(int &left, int &right, int &top, int &bottom) const {
- int FRAMESIZE = ::factory->frameSize();
-
- if ((maximizeMode()==MaximizeFull) && !options()->moveResizeMaximizedWindows()) {
- left = right = bottom = 0;
- top = ::factory->buttonSize();
-
- // update tqlayout etc.
- topSpacer_->changeSize(1, 0, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- decoSpacer_->changeSize(1, 0, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- leftSpacer_->changeSize(left, 1, TQSizePolicy::Fixed, TQSizePolicy::Expanding);
- leftTitleSpacer_->changeSize(left, top, TQSizePolicy::Fixed, TQSizePolicy::Fixed);
- rightSpacer_->changeSize(right, 1, TQSizePolicy::Fixed, TQSizePolicy::Expanding);
- rightTitleSpacer_->changeSize(right, top, TQSizePolicy::Fixed, TQSizePolicy::Fixed);
- bottomSpacer_->changeSize(1, bottom, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- } else {
- left = right = bottom = ::factory->frameSize();
- top = ::factory->titleSize() + (FRAMESIZE*2);
-
- // update tqlayout etc.
- topSpacer_->changeSize(1, FRAMESIZE, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- decoSpacer_->changeSize(1, FRAMESIZE, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- leftSpacer_->changeSize(left, 1, TQSizePolicy::Fixed, TQSizePolicy::Expanding);
- leftTitleSpacer_->changeSize(left, s_titleHeight, TQSizePolicy::Fixed, TQSizePolicy::Fixed);
- rightSpacer_->changeSize(right, 1, TQSizePolicy::Fixed, TQSizePolicy::Expanding);
- rightTitleSpacer_->changeSize(right,s_titleHeight,TQSizePolicy::Fixed, TQSizePolicy::Fixed);
- bottomSpacer_->changeSize(1, bottom, TQSizePolicy::Expanding, TQSizePolicy::Fixed);
- }
- widget()->tqlayout()->activate();
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// resize()
-// --------
-// Called to resize the window
-
-void smoothblendClient::resize(const TQSize &size) {
- widget()->resize(size);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// tqminimumSize()
-// -------------
-// Return the minimum allowable size for this window
-
-TQSize smoothblendClient::tqminimumSize() const {
- return widget()->tqminimumSize();
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// mousePosition()
-// ---------------
-// Return logical mouse position
-
-KDecoration::Position smoothblendClient::mousePosition(const TQPoint &point) const {
- const int corner = 24;
- Position pos;
- int fs = ::factory->frameSize() + handlebar;
- //int fs = ::factory->frameSize();
-
- if (point.y() <= fs) {
- // inside top frame
- if (point.x() <= corner)
- pos = PositionTopLeft;
- else if (point.x() >= (width()-corner))
- pos = PositionTopRight;
- else
- pos = PositionTop;
- } else if (point.y() >= (height()-fs*2)) {
- // inside handle
- if (point.x() <= corner)
- pos = PositionBottomLeft;
- else if (point.x() >= (width()-corner))
- pos = PositionBottomRight;
- else
- pos = PositionBottom;
- } else if (point.x() <= fs ) {
- // on left frame
- if (point.y() <= corner)
- pos = PositionTopLeft;
- else if (point.y() >= (height()-corner))
- pos = PositionBottomLeft;
- else
- pos = PositionLeft;
- } else if (point.x() >= width()-fs) {
- // on right frame
- if (point.y() <= corner)
- pos = PositionTopRight;
- else if (point.y() >= (height()-corner))
- pos = PositionBottomRight;
- else
- pos = PositionRight;
- } else {
- // inside the frame
- pos = PositionCenter;
- }
- return pos;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// eventFilter()
-// -------------
-// Event filter
-
-bool smoothblendClient::eventFilter(TQObject *obj, TQEvent *e) {
- if (TQT_BASE_OBJECT(obj) != TQT_BASE_OBJECT(widget()))
- return false;
-
- switch (e->type()) {
- case TQEvent::MouseButtonDblClick: {
- mouseDoubleClickEvent(TQT_TQMOUSEEVENT(e));
- return true;
- }
- case TQEvent::MouseButtonPress: {
- processMousePressEvent(TQT_TQMOUSEEVENT(e));
- return true;
- }
- case TQEvent::Paint: {
- paintEvent(TQT_TQPAINTEVENT(e));
- return true;
- }
- case TQEvent::Resize: {
- resizeEvent(TQT_TQRESIZEEVENT(e));
- return true;
- }
- case TQEvent::Show: {
- showEvent(TQT_TQSHOWEVENT(e));
- return true;
- }
- case TQEvent::Wheel: {
- wheelEvent(TQT_TQWHEELEVENT( e ));
- return true;
- }
- default: {
- return false;
- }
- }
-
- return false;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// mouseDoubleClickEvent()
-// -----------------------
-// Doubleclick on title
-
-void smoothblendClient::mouseDoubleClickEvent(TQMouseEvent *e) {
- if (titlebar_->tqgeometry().contains(e->pos()))
- titlebarDblClickOperation();
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// wheelEvent()
-// ------------
-// Mouse wheel on titlebar
-
-void smoothblendClient::wheelEvent(TQWheelEvent *e)
-{
- if (titleLayout_->tqgeometry().contains(e->pos()) )
- titlebarMouseWheelOperation( e->delta());
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// paintEvent()
-// ------------
-// Repaint the window
-
-void smoothblendClient::paintEvent(TQPaintEvent*) {
- if (!::factory->initialized())
- {
- return;
- }
-
- //int FRAMESIZE = ::factory->frameSize();
- const uint maxCaptionLength = 300; // truncate captions longer than this!
- TQString captionText(caption());
- if (captionText.length() > maxCaptionLength) {
- captionText.truncate(maxCaptionLength);
- captionText.append(" [...]");
- }
-
- TQColor blackColor(black);
- TQColor redColor(red);
- TQColorGroup group,widgetGroup;
- TQPainter painter(widget());
- bool active = isActive();
- //get group information first
- group = options()->tqcolorGroup(KDecoration::ColorTitleBar, isActive());
- widgetGroup = widget()->tqcolorGroup();
-
- TQRect topRect( topSpacer_->tqgeometry() );
- TQRect titleRect( titleLayout_->tqgeometry() );
- TQRect textRect( titlebar_->tqgeometry() );
- TQRect Rltitle( leftTitleSpacer_->tqgeometry() );
- TQRect Rrtitle( rightTitleSpacer_->tqgeometry() );
- TQRect Rdeco( decoSpacer_->tqgeometry() );
- TQRect Rleft( leftSpacer_->tqgeometry() );
- TQRect Rright( rightSpacer_->tqgeometry() );
- TQRect Rbottom( bottomSpacer_->tqgeometry() );
- TQRect tempRect;
-
-
- /*
- if(active)
- {
- qDebug("paintEvent() topRect.y() = %i\tbottom() = %i",topRect.top(),topRect.bottom());
- qDebug("paintEvent() titleRect.y() = %i\tbottom() = %i",titleRect.top(),titleRect.bottom());
- qDebug("paintEvent() textRect.y() = %i\tbottom() = %i",textRect.top(),textRect.bottom());
- qDebug("paintEvent() Rltitle.y() = %i\tbottom() = %i",Rltitle.top(),Rltitle.bottom());
- qDebug("paintEvent() Rrtitle.y() = %i\tbottom() = %i",Rrtitle.top(),Rrtitle.bottom());
- qDebug("paintEvent() Rdeco.y() = %i\tbottom() = %i",Rdeco.top(),Rdeco.bottom());
- qDebug("paintEvent() Rleft.y() = %i\tbottom() = %i",Rleft.top(),Rleft.bottom());
- qDebug("paintEvent() Rright.y() = %i\tbottom() = %i",Rright.top(),Rright.bottom());
- qDebug("paintEvent() Rbottom.y() = %i\tbottom() = %i",Rbottom.top(),Rbottom.bottom());
- }
- */
-
- // top
- painter.drawTiledPixmap(topRect, active ? *aTitleBarTopTile:*iTitleBarTopTile);
- painter.drawTiledPixmap(titleRect.x(),
- titleRect.y(),
- titleRect.width(),
- titleRect.height() + Rdeco.height(),
- active ? *aTitleBarTile:*iTitleBarTile);
-
- textRect.setRect(textRect.x()+SIDETITLEMARGIN,
- textRect.y(),
- textRect.width()-SIDETITLEMARGIN*2,
- textRect.height());
- TQRect shadowRect(textRect.x()+1,textRect.y()+1,textRect.width(),textRect.height());
- //if we are shadowing title bar text
- if(::factory->titleShadow())
- {
- //shadow text
- painter.setFont(options()->font(isActive(), false));
- painter.setPen(blackColor);
- painter.drawText(shadowRect,
- ::factory->titleAlign() | AlignVCenter | TQt::SingleLine,
- captionText);
- }
- // draw title text
- painter.setFont(options()->font(isActive(), false));
- painter.setPen(options()->color(KDecoration::ColorFont, isActive()));
- painter.drawText(textRect,
- ::factory->titleAlign() | AlignVCenter | TQt::SingleLine,
- captionText);
-
- //left of buttons and title
- painter.drawTiledPixmap(Rltitle.x(),
- Rltitle.y(),
- Rltitle.width(),
- Rltitle.height()+Rdeco.height(),
- active ? *aTitleBarTile:*iTitleBarTile);
- // left mid tqlayout
- painter.fillRect(Rleft,widgetGroup.background());
-
- // right of buttons and title
- painter.drawTiledPixmap(Rrtitle.x(),
- Rrtitle.y(),
- Rrtitle.width(),
- Rrtitle.height()+Rdeco.height(),
- active ? *aTitleBarTile:*iTitleBarTile);
- // right mid tqlayout
- painter.fillRect(Rright,widgetGroup.background());
-
- // bottom
- /*
- if(isShade())
- {
- frame.setRect(0,::factory->titleSize()+FRAMESIZE, width(), FRAMESIZE);
- }
- else
- {
- frame.setRect(0, height() - (FRAMESIZE*2), width(), (FRAMESIZE*2));
- }
- */
- painter.fillRect(Rbottom, widgetGroup.background());
-
- //draw a line between title bar and window contents
- painter.setPen(group.background());
-
- // outline outside the frame but not the corners if they are rounded
- tempRect = widget()->rect();
- painter.drawRect(tempRect);
-
- bool cornersFlag = ::factory->roundedCorners();
- if(cornersFlag) {
- // local temp right and bottom
- int r(width());
- painter.setPen(group.background());
- painter.drawPoint(4, 1);
- painter.drawPoint(3, 1);
- painter.drawPoint(2, 2);
- painter.drawPoint(1, 3);
- painter.drawPoint(1, 4);
- painter.drawPoint(r - 5, 1);
- painter.drawPoint(r - 4, 1);
- painter.drawPoint(r - 3, 2);
- painter.drawPoint(r - 2, 3);
- painter.drawPoint(r - 2, 4);
- }
-
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// updateMask()
-// ------------
-// update the frame mask
-void smoothblendClient::updateMask() {
- bool cornersFlag = ::factory->roundedCorners();
- if ( (!options()->moveResizeMaximizedWindows() && maximizeMode() == MaximizeFull ) )
- {
- setMask(TQRegion(widget()->rect()));
- return;
- }
-
- int r(width());
- int b(height());
- TQRegion mask;
-
- mask=TQRegion(widget()->rect());
-
- // Remove top-left corner.
- if(cornersFlag) {
- mask -= TQRegion(0, 0, 5, 1);
- mask -= TQRegion(0, 1, 3, 1);
- mask -= TQRegion(0, 2, 2, 1);
- mask -= TQRegion(0, 3, 1, 2);
- mask -= TQRegion(r - 5, 0, 5, 1);
- mask -= TQRegion(r - 3, 1, 3, 1);
- mask -= TQRegion(r - 2, 2, 2, 1);
- mask -= TQRegion(r - 1, 3, 1, 2);
- }
- //always remove one corner pixel so it simulates a soft corner like plastik
- mask -= TQRegion(0,0,1,1);
- mask -= TQRegion(r-1,0,1,1);
- mask -= TQRegion(0, b-1, 1,1);
- mask -= TQRegion(r-1,b-1,1,1);
-
- setMask(mask);
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// resizeEvent()
-// -------------
-// Window is being resized
-
-void smoothblendClient::resizeEvent(TQResizeEvent *) {
- if (widget()->isShown()) {
- TQRegion region = widget()->rect();
- region = region.subtract(titlebar_->tqgeometry());
- widget()->erase(region);
- updateMask();
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// showEvent()
-// -----------
-// Window is being shown
-
-void smoothblendClient::showEvent(TQShowEvent *) {
- updateMask();
- widget()->tqrepaint();
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// maxButtonPressed()
-// -----------------
-// Max button was pressed
-
-void smoothblendClient::maxButtonPressed() {
- if (button[ButtonMax]) {
-#if KDE_IS_VERSION(3, 3, 0)
- maximize(button[ButtonMax]->lastMousePress());
-#else
-
- switch (button[ButtonMax]->lastMousePress()) {
- case MidButton:
- maximize(maximizeMode() ^ MaximizeVertical);
- break;
- case RightButton:
- maximize(maximizeMode() ^ MaximizeHorizontal);
- break;
- default:
- (maximizeMode() == MaximizeFull) ? maximize(MaximizeRestore)
- : maximize(MaximizeFull);
- }
-#endif
-
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// shadeButtonPressed()
-// -----------------
-// Shade button was pressed
-
-void smoothblendClient::shadeButtonPressed() {
- if (button[ButtonShade]) {
- setShade( !isSetShade());
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// aboveButtonPressed()
-// -----------------
-// Above button was pressed
-
-void smoothblendClient::aboveButtonPressed() {
- if (button[ButtonAbove]) {
- setKeepAbove( !keepAbove());
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// belowButtonPressed()
-// -----------------
-// Below button was pressed
-
-void smoothblendClient::belowButtonPressed() {
- if (button[ButtonBelow]) {
- setKeepBelow( !keepBelow());
- }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// menuButtonPressed()
-// -------------------
-// Menu button was pressed (popup the menu)
-
-void smoothblendClient::menuButtonPressed() {
- static TQTime* t = NULL;
- static smoothblendClient* lastClient = NULL;
- if (t == NULL)
- t = new TQTime;
- bool dbl = (lastClient==this && t->elapsed() <= TQApplication::doubleClickInterval());
- lastClient = this;
- t->start();
- //if (button[ButtonMenu] && !dbl && !::factory->menuClosed()) {
- if ( !dbl || !::factory->menuClosed()) {
- TQPoint p(button[ButtonMenu]->rect().bottomLeft().x(),
- button[ButtonMenu]->rect().bottomLeft().y());
- KDecorationFactory* f = factory();
- showWindowMenu(button[ButtonMenu]->mapToGlobal(p));
- if (!f->exists(this))
- return; // decoration was destroyed
- button[ButtonMenu]->setDown(false);
- }
- else
- {
- closing = true;
- }
-}
-
-void smoothblendClient::menuButtonReleased()
-{
- if(closing)
- {
- closeWindow();
- }
-}
-
-#include "smoothblend.moc"
diff --git a/kwin-styles/smooth-blend/client/smoothblend.desktop b/kwin-styles/smooth-blend/client/smoothblend.desktop
deleted file mode 100644
index 6f26b6e0..00000000
--- a/kwin-styles/smooth-blend/client/smoothblend.desktop
+++ /dev/null
@@ -1,40 +0,0 @@
-# KDE Desktop Entry
-[Desktop Entry]
-Name=Smooth Blend
-Name[ca]=Barreja suau
-Name[cs]=Jemný přechod
-Name[cy]=Cymysgedd Llyfn
-Name[da]=Glat blanding
-Name[el]=Ομαλή μείξη
-Name[eo]=Glata Miksaĵo
-Name[es]=Mezcla suave
-Name[et]=Mahe ühtesulamine
-Name[fa]=ترکیب یکدست
-Name[fi]=Pehmeä sekoitus
-Name[fr]=Fusion douce
-Name[fy]=Sêfte ferminging
-Name[gl]=Mistura Suave
-Name[hu]=Sima színátmenet
-Name[is]=Mjúk blöndun
-Name[it]=Mistura scorrevole
-Name[ja]=綺麗なブレンド
-Name[ka]=გლუვი და რბილი
-Name[mk]=Рамномерно мешање
-Name[nb]=Jevn overgang
-Name[nds]=Week Mischen
-Name[ne]=महिन मिश्रण
-Name[nl]=Zachte vermenging
-Name[nn]=Jamn overgang
-Name[pl]=Gładkie łączenie kolorów
-Name[pt]=Mistura Suave
-Name[pt_BR]=Mistura Suave
-Name[ru]=Полутона
-Name[sl]=Enakomeren preliv
-Name[sr]=Глатко претапање
-Name[sr@Latn]=Glatko pretapanje
-Name[sv]=Jämn blandning
-Name[tr]=Düz Karışım
-Name[uk]=Гладке змішання
-Name[vi]=Trộn màu Mượt mà
-Name[zh_TW]=平順混合
-X-KDE-Library=twin3_smoothblend
diff --git a/kwin-styles/smooth-blend/client/smoothblend.h b/kwin-styles/smooth-blend/client/smoothblend.h
deleted file mode 100644
index 4abd32cb..00000000
--- a/kwin-styles/smooth-blend/client/smoothblend.h
+++ /dev/null
@@ -1,256 +0,0 @@
-//////////////////////////////////////////////////////////////////////////////
-// smoothblend.h
-// -------------------
-// Smooth Blend window decoration for KDE
-// -------------------
-// Copyright (c) 2005 Ryan Nickell <p0z3r@users.sourceforge.net>
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public
-// License as published by the Free Software Foundation; either
-// version 2 of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; see the file COPYING. If not, write to
-// the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-// Boston, MA 02110-1301, USA.
-//
-//////////////////////////////////////////////////////////////////////////////
-
-#ifndef SMOOTHBLEND_H
-#define SMOOTHBLEND_H
-
-#include <tqbutton.h>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-
-class TQSpacerItem;
-class TQPoint;
-
-namespace smoothblend {
-
-class smoothblendClient;
-
-enum ButtonType {
- ButtonHelp=0,
- ButtonMax,
- ButtonMin,
- ButtonClose,
- ButtonMenu,
- ButtonSticky,
- ButtonAbove,
- ButtonBelow,
- ButtonShade,
- ButtonTypeCount
-};
-
-// smoothblendFactory /////////////////////////////////////////////////////////
-//
-// add variables and flags for config like...
-//
-// public: type function()
-// private: type var_
-// inline type function(){ return var_ };
-//
-
-class smoothblendFactory: public KDecorationFactory {
-public:
- smoothblendFactory();
- virtual ~smoothblendFactory();
- virtual KDecoration *createDecoration(KDecorationBridge *b);
- virtual bool reset(unsigned long changed);
- static bool initialized();
- static TQt::AlignmentFlags titleAlign();
- static bool roundedCorners();
- static int titleSize();
- static int buttonSize();
- static int frameSize();
- static int roundSize();
- static TQFont titleFontTool() { return m_titleFontTool; }
- static bool titleShadow();
- static bool animateButtons() { return animatebuttons; }
- static int getBtnComboBox() { return btnComboBox; }
- static bool menuClosed() { return menuClose; }
-
-private:
- bool readConfig();
-
-private:
- static bool initialized_;
- static TQt::AlignmentFlags titlealign_;
- static bool cornerflags_;
- static int titlesize_;
- static int buttonsize_;
- static int framesize_;
- static int roundsize_;
- static TQFont m_titleFontTool;
- static bool titleshadow_;
- static bool animatebuttons;
- static int btnComboBox;
- static bool menuClose;
-};
-
-inline bool smoothblendFactory::initialized() {
- return initialized_;
-}
-inline TQt::AlignmentFlags smoothblendFactory::titleAlign() {
- return titlealign_;
-}
-inline bool smoothblendFactory::roundedCorners() {
- return cornerflags_;
-}
-inline int smoothblendFactory::titleSize() {
- return titlesize_;
-}
-inline int smoothblendFactory::buttonSize() {
- return buttonsize_;
-}
-inline int smoothblendFactory::frameSize() {
- return framesize_;
-}
-inline int smoothblendFactory::roundSize() {
- return roundsize_;
-}
-inline bool smoothblendFactory::titleShadow() {
- return titleshadow_;
-}
-
-// smoothblendButton //////////////////////////////////////////////////////////
-
-class smoothblendButton : public TQButton {
- Q_OBJECT
- TQ_OBJECT
-public:
- smoothblendButton(smoothblendClient *parent=0, const char *name=0,
- const TQString &tip=NULL,
- ButtonType type=ButtonHelp,
- int button_size=18,
- bool toggle=false);
- //const unsigned char *bitmap=0);
- ~smoothblendButton();
-
- void setBitmap(const unsigned char *bitmap);
- TQSize tqsizeHint() const;
- ButtonState lastMousePress() const;
- void reset();
- TQImage getButtonImage(ButtonType type);
- virtual void setOn(bool on);
- virtual void setDown(bool on);
-
-protected slots:
- void animate();
- void buttonClicked();
- void buttonReleased();
-
-private:
- void enterEvent(TQEvent *e);
- void leaveEvent(TQEvent *e);
- void mousePressEvent(TQMouseEvent *e);
- void mouseReleaseEvent(TQMouseEvent *e);
- void drawButton(TQPainter *painter);
-
-private:
- smoothblendClient *client_;
- ButtonType type_;
- int size_;
- TQBitmap *deco_;
- TQPixmap *pixmap[2][4];
- ButtonState lastmouse_;
- bool hover_;
- bool m_clicked;
- TQTimer *animTmr;
- uint animProgress;
-};
-
-inline TQt::ButtonState smoothblendButton::lastMousePress() const {
- return lastmouse_;
-}
-inline void smoothblendButton::reset() {
- tqrepaint(false);
-}
-
-// smoothblendClient //////////////////////////////////////////////////////////
-
-class smoothblendClient : public KDecoration {
- Q_OBJECT
- TQ_OBJECT
-public:
- smoothblendClient(KDecorationBridge *b, KDecorationFactory *f);
- virtual ~smoothblendClient();
-
- virtual void init();
-
- virtual void activeChange();
- virtual void desktopChange();
- virtual void captionChange();
- virtual void iconChange();
- virtual void maximizeChange();
- virtual void shadeChange();
-
-
- virtual void borders(int &l, int &r, int &t, int &b) const;
- virtual void resize(const TQSize &size);
- virtual TQSize tqminimumSize() const;
- virtual Position mousePosition(const TQPoint &point) const;
-
- TQPixmap getTitleBarTile(bool active) const
- {
- return active ? *aTitleBarTile : *iTitleBarTile;
- }
-
-private:
- void addButtons(TQBoxLayout* tqlayout, const TQString& buttons, int buttonSize = 18);
- bool eventFilter(TQObject *obj, TQEvent *e);
- void mouseDoubleClickEvent(TQMouseEvent *e);
- void wheelEvent(TQWheelEvent *e);
- void paintEvent(TQPaintEvent *e);
- void resizeEvent(TQResizeEvent *);
- void showEvent(TQShowEvent *);
- void updateMask();
- void _resetLayout();
- TQVBoxLayout *mainLayout_;
- TQHBoxLayout *titleLayout_;
- TQSpacerItem *topSpacer_,
- *titleSpacer_,
- *leftTitleSpacer_, *rightTitleSpacer_,
- *decoSpacer_,
- *leftSpacer_, *rightSpacer_,
- *bottomSpacer_, *windowSpacer_;
- TQPixmap *aCaptionBuffer, *iCaptionBuffer;
-
-private slots:
- void maxButtonPressed();
- void menuButtonPressed();
- void menuButtonReleased();
- void aboveButtonPressed();
- void belowButtonPressed();
- void shadeButtonPressed();
- void keepAboveChange(bool);
- void keepBelowChange(bool);
-
-signals:
- void keepAboveChanged(bool);
- void keepBelowChanged(bool);
-
-private:
- TQPixmap *aTitleBarTile, *iTitleBarTile, *aTitleBarTopTile, *iTitleBarTopTile;
- smoothblendButton *button[ButtonTypeCount];
- TQSpacerItem *titlebar_;
- bool pixmaps_created;
- int s_titleHeight;
- TQFont s_titleFont;
- int handlebar;
- bool closing;
-
- void create_pixmaps();
- void delete_pixmaps();
-};
-
-} // namespace smoothblend
-
-#endif // SMOOTHBLEND_H
diff --git a/kwin-styles/system/CMakeLists.txt b/kwin-styles/system/CMakeLists.txt
deleted file mode 100644
index 09a3a966..00000000
--- a/kwin-styles/system/CMakeLists.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-#################################################
-#
-# (C) 2011 Golubev Alexander
-# fatzer2 (AT) gmail.com
-#
-# Improvements and feedback are welcome
-#
-# This file is released under GPL >= 2
-#
-#################################################
-
-include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- ${TDE_INCLUDE_DIR}
- ${TQT_INCLUDE_DIRS}
-)
-
-link_directories(
- ${TQT_LIBRARY_DIRS}
-)
-
-##### other data ################################
-
-install( FILES system.desktop DESTINATION ${DATA_INSTALL_DIR}/twin )
-
-##### twin3_system ###############################
-
-tde_add_kpart( twin3_system AUTOMOC
- SOURCES systemclient.cpp
- LINK tdecorations-shared
- DESTINATION ${PLUGIN_INSTALL_DIR}
-)
diff --git a/kwin-styles/system/Makefile.am b/kwin-styles/system/Makefile.am
deleted file mode 100644
index 5b401370..00000000
--- a/kwin-styles/system/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-
-INCLUDES = $(all_includes)
-
-kde_module_LTLIBRARIES = twin3_system.la
-
-twin3_system_la_SOURCES = systemclient.cpp
-twin3_system_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx
-#twin_system_la_LDFLAGS = $(all_libraries) -avoid-version -module $(KDE_RPATH) $(KDE_MT_LDFLAGS)
-twin3_system_la_LIBADD = $(LIB_TDEUI) -ltdecorations
-
-METASOURCES = AUTO
-noinst_HEADERS = systemclient.h
-
-lnkdir = $(kde_datadir)/twin/
-lnk_DATA = system.desktop
-
-EXTRA_DIST = $(lnk_DATA)
-
-###KMAKE-start (don't edit or delete this block)
-
-###KMAKE-end
diff --git a/kwin-styles/system/system.desktop b/kwin-styles/system/system.desktop
deleted file mode 100644
index 94156b29..00000000
--- a/kwin-styles/system/system.desktop
+++ /dev/null
@@ -1,27 +0,0 @@
-[Desktop Entry]
-Name=System++
-Name[br]=Reizhiad++
-Name[cs]=Systém++
-Name[cy]=Cysawd++
-Name[eo]=Sistem++
-Name[fa]=سیستم++
-Name[fi]=Järjestelmä++
-Name[fr]=Système++
-Name[fy]=Systeem++
-Name[hi]=सिस्टम++
-Name[it]=Sistem++
-Name[ja]=システム++
-Name[lt]=Sistema++
-Name[lv]=Sistēma++
-Name[nds]=Systeem++
-Name[nl]=Systeem++
-Name[pa]=ਸਿਸਟਮ++
-Name[sl]=Sistem++
-Name[ta]=தளம்++
-Name[tg]=Системаи++
-Name[th]=แบบ System++
-Name[tr]=Sistem++
-Name[ven]=Sisitemu++
-Name[xh]=Indlela esetyenziswayo++
-Name[zu]=Indlela esetshenziswayo++
-X-KDE-Library=twin3_system
diff --git a/kwin-styles/system/systemclient.cpp b/kwin-styles/system/systemclient.cpp
deleted file mode 100644
index a676a02a..00000000
--- a/kwin-styles/system/systemclient.cpp
+++ /dev/null
@@ -1,737 +0,0 @@
-#include "systemclient.h"
-
-#include <tqlayout.h>
-#include <tqdrawutil.h>
-#include <tqbitmap.h>
-#include <tqtooltip.h>
-#include <tqlabel.h>
-#include <tqcursor.h>
-
-#include <kpixmapeffect.h>
-#include <kdrawutil.h>
-#include <klocale.h>
-#include <kapplication.h>
-#include <kdebug.h>
-
-// Default button tqlayout
-const char default_left[] = "X";
-const char default_right[] = "HSIA";
-
-namespace System {
-
-static unsigned char iconify_bits[] = {
- 0x00, 0x00, 0xff, 0xff, 0x7e, 0x3c, 0x18, 0x00};
-
-static unsigned char maximize_bits[] = {
- 0x00, 0x18, 0x3c, 0x7e, 0xff, 0xff, 0x00, 0x00};
-
-static unsigned char r_minmax_bits[] = {
- 0x0c, 0x18, 0x33, 0x67, 0xcf, 0x9f, 0x3f, 0x3f};
-
-static unsigned char l_minmax_bits[] = {
- 0x30, 0x18, 0xcc, 0xe6, 0xf3, 0xf9, 0xfc, 0xfc};
-
-static unsigned char unsticky_bits[] = {
- 0x00, 0x18, 0x18, 0x7e, 0x7e, 0x18, 0x18, 0x00};
-
-static unsigned char sticky_bits[] = {
- 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x00, 0x00, 0x00};
-
-static unsigned char question_bits[] = {
- 0x3c, 0x66, 0x60, 0x30, 0x18, 0x00, 0x18, 0x18};
-
-static KPixmap *aUpperGradient=0;
-static KPixmap *iUpperGradient=0;
-
-static KPixmap *btnPix=0;
-static KPixmap *btnPixDown=0;
-static KPixmap *iBtnPix=0;
-static KPixmap *iBtnPixDown=0;
-static TQColor *btnForeground;
-
-static bool pixmaps_created = false;
-
-static void drawButtonFrame(KPixmap *pix, const TQColorGroup &g)
-{
- TQPainter p;
- p.begin(pix);
- p.setPen(g.mid());
- p.drawLine(0, 0, 13, 0);
- p.drawLine(0, 0, 0, 13);
- p.setPen(g.light());
- p.drawLine(13, 0, 13, 13);
- p.drawLine(0, 13, 13, 13);
- p.setPen(g.dark());
- p.drawRect(1, 1, 12, 12);
- p.end();
-}
-
-static void create_pixmaps()
-{
- if(pixmaps_created)
- return;
- pixmaps_created = true;
-
- if(TQPixmap::defaultDepth() > 8){
- // titlebar
- aUpperGradient = new KPixmap;
- aUpperGradient->resize(32, 18);
- iUpperGradient = new KPixmap;
- iUpperGradient->resize(32, 18);
- TQColor bgColor = kapp->tqpalette().active().background();
- KPixmapEffect::gradient(*aUpperGradient,
- KDecoration::options()->color(KDecorationOptions::ColorFrame, true).light(130),
- bgColor,
- KPixmapEffect::VerticalGradient);
- KPixmapEffect::gradient(*iUpperGradient,
- KDecoration::options()->color(KDecorationOptions::ColorFrame, false).light(130),
- bgColor,
- KPixmapEffect::VerticalGradient);
-
- // buttons
- KPixmap aPix;
- aPix.resize(12, 12);
- KPixmap iPix;
- iPix.resize(12, 12);
- KPixmap aInternal;
- aInternal.resize(8, 8);
- KPixmap iInternal;
- iInternal.resize(8, 8);
-
- TQColor hColor(KDecoration::options()->color(KDecorationOptions::ColorButtonBg, false));
- KPixmapEffect::gradient(iInternal,
- hColor.dark(120),
- hColor.light(120),
- KPixmapEffect::DiagonalGradient);
- KPixmapEffect::gradient(iPix,
- hColor.light(150),
- hColor.dark(150),
- KPixmapEffect::DiagonalGradient);
-
- hColor =KDecoration::options()->color(KDecorationOptions::ColorButtonBg, true);
- KPixmapEffect::gradient(aInternal,
- hColor.dark(120),
- hColor.light(120),
- KPixmapEffect::DiagonalGradient);
- KPixmapEffect::gradient(aPix,
- hColor.light(150),
- hColor.dark(150),
- KPixmapEffect::DiagonalGradient);
- bitBlt(TQT_TQPAINTDEVICE(&aPix), 1, 1, TQT_TQPAINTDEVICE(&aInternal), 0, 0, 8, 8, TQt::CopyROP, true);
- bitBlt(TQT_TQPAINTDEVICE(&iPix), 1, 1, TQT_TQPAINTDEVICE(&iInternal), 0, 0, 8, 8, TQt::CopyROP, true);
-
- // normal buttons
- btnPix = new KPixmap;
- btnPix->resize(14, 14);
- bitBlt(TQT_TQPAINTDEVICE(btnPix), 2, 2, TQT_TQPAINTDEVICE(&aPix), 0, 0, 10, 10, TQt::CopyROP, true);
- drawButtonFrame(btnPix, KDecoration::options()->tqcolorGroup(KDecorationOptions::ColorFrame, true));
-
- iBtnPix = new KPixmap;
- iBtnPix->resize(14, 14);
- bitBlt(TQT_TQPAINTDEVICE(iBtnPix), 2, 2, TQT_TQPAINTDEVICE(&iPix), 0, 0, 10, 10, TQt::CopyROP, true);
- drawButtonFrame(iBtnPix, KDecoration::options()->tqcolorGroup(KDecorationOptions::ColorFrame, false));
-
-
- // pressed buttons
- hColor = KDecoration::options()->color(KDecorationOptions::ColorButtonBg, false);
- KPixmapEffect::gradient(iInternal,
- hColor.light(130),
- hColor.dark(130),
- KPixmapEffect::DiagonalGradient);
- KPixmapEffect::gradient(iPix,
- hColor.light(150),
- hColor.dark(150),
- KPixmapEffect::DiagonalGradient);
-
- hColor =KDecoration::options()->color(KDecorationOptions::ColorButtonBg, true);
- KPixmapEffect::gradient(aInternal,
- hColor.light(130),
- hColor.dark(130),
- KPixmapEffect::DiagonalGradient);
- KPixmapEffect::gradient(aPix,
- hColor.light(150),
- hColor.dark(150),
- KPixmapEffect::DiagonalGradient);
- bitBlt(TQT_TQPAINTDEVICE(&aPix), 1, 1, TQT_TQPAINTDEVICE(&aInternal), 0, 0, 8, 8, TQt::CopyROP, true);
- bitBlt(TQT_TQPAINTDEVICE(&iPix), 1, 1, TQT_TQPAINTDEVICE(&iInternal), 0, 0, 8, 8, TQt::CopyROP, true);
-
- btnPixDown = new KPixmap;
- btnPixDown->resize(14, 14);
- bitBlt(TQT_TQPAINTDEVICE(btnPixDown), 2, 2, TQT_TQPAINTDEVICE(&aPix), 0, 0, 10, 10, TQt::CopyROP, true);
- drawButtonFrame(btnPixDown, KDecoration::options()->tqcolorGroup(KDecorationOptions::ColorFrame,
- true));
-
- iBtnPixDown = new KPixmap;
- iBtnPixDown->resize(14, 14);
- bitBlt(TQT_TQPAINTDEVICE(iBtnPixDown), 2, 2, TQT_TQPAINTDEVICE(&iPix), 0, 0, 10, 10, TQt::CopyROP, true);
- drawButtonFrame(iBtnPixDown, KDecoration::options()->tqcolorGroup(KDecorationOptions::ColorFrame,
- false));
- }
- if(tqGray(KDecoration::options()->color(KDecorationOptions::ColorButtonBg, true).rgb()) > 128)
- btnForeground = new TQColor(TQt::black);
- else
- btnForeground = new TQColor(TQt::white);
-}
-
-static void delete_pixmaps()
-{
- if(aUpperGradient){
- delete aUpperGradient;
- delete iUpperGradient;
- delete btnPix;
- delete btnPixDown;
- delete iBtnPix;
- delete iBtnPixDown;
- aUpperGradient = 0;
- }
- delete btnForeground;
- pixmaps_created = false;
-}
-
-SystemButton::SystemButton(SystemClient *parent, const char *name,
- const unsigned char *bitmap, const TQString& tip)
-: TQButton(parent->widget(), name)
-{
- setTipText(tip);
- setBackgroundMode( NoBackground );
- setCursor(ArrowCursor);
- resize(14, 14);
- if(bitmap)
- setBitmap(bitmap);
- client = parent;
-}
-
-void SystemButton::setTipText(const TQString &tip)
-{
- if (KDecoration::options()->showTooltips())
- {
- TQToolTip::remove(this );
- TQToolTip::add(this, tip );
- }
-}
-
-
-TQSize SystemButton::tqsizeHint() const
-{
- return(TQSize(14, 14));
-}
-
-void SystemButton::reset()
-{
- tqrepaint(false);
-}
-
-void SystemButton::setBitmap(const unsigned char *bitmap)
-{
- deco = TQBitmap(8, 8, bitmap, true);
- deco.setMask(deco);
- tqrepaint();
-}
-
-void SystemButton::drawButton(TQPainter *p)
-{
- if(btnPixDown){
- if(client->isActive())
- p->drawPixmap(0, 0, isDown() ? *btnPixDown : *btnPix);
- else
- p->drawPixmap(0, 0, isDown() ? *iBtnPixDown : *iBtnPix);
- }
- else{
- TQColorGroup g = KDecoration::options()->tqcolorGroup(KDecorationOptions::ColorFrame,
- client->isActive());
- int x2 = width()-1;
- int y2 = height()-1;
- // outer frame
- p->setPen(g.mid());
- p->drawLine(0, 0, x2, 0);
- p->drawLine(0, 0, 0, y2);
- p->setPen(g.light());
- p->drawLine(x2, 0, x2, y2);
- p->drawLine(0, x2, y2, x2);
- p->setPen(g.dark());
- p->drawRect(1, 1, width()-2, height()-2);
- // inner frame
- g = KDecoration::options()->tqcolorGroup(KDecorationOptions::ColorButtonBg, client->isActive());
- p->fillRect(3, 3, width()-6, height()-6, g.background());
- p->setPen(isDown() ? g.mid() : g.light());
- p->drawLine(2, 2, x2-2, 2);
- p->drawLine(2, 2, 2, y2-2);
- p->setPen(isDown() ? g.light() : g.mid());
- p->drawLine(x2-2, 2, x2-2, y2-2);
- p->drawLine(2, x2-2, y2-2, x2-2);
-
- }
-
- if(!deco.isNull()){
- p->setPen(*btnForeground);
- p->drawPixmap(isDown() ? 4 : 3, isDown() ? 4 : 3, deco);
- }
-}
-
-void SystemButton::mousePressEvent( TQMouseEvent* e )
-{
- last_button = e->button();
- TQMouseEvent me ( e->type(), e->pos(), e->globalPos(), Qt::LeftButton, e->state() );
- TQButton::mousePressEvent( &me );
-}
-
-void SystemButton::mouseReleaseEvent( TQMouseEvent* e )
-{
- last_button = e->button();
- TQMouseEvent me ( e->type(), e->pos(), e->globalPos(), Qt::LeftButton, e->state() );
- TQButton::mouseReleaseEvent( &me );
-}
-
-
-
-SystemClient::SystemClient(KDecorationBridge* bridge, KDecorationFactory* factory)
- : KDecoration(bridge, factory)
-{}
-
-SystemClient::~SystemClient()
-{
- for (int n=0; n<ButtonTypeCount; n++) {
- if (button[n]) delete button[n];
- }
-}
-
-void SystemClient::init()
-{
- createMainWidget(0);
- widget()->installEventFilter( this );
-
- TQGridLayout* g = new TQGridLayout(widget(), 0, 0, 2);
-
- if (isPreview())
- {
- g->addWidget(new TQLabel(i18n("<center><b>System++ preview</b></center>"), widget()), 1, 1);
- }
- else
- {
- g->addItem(new TQSpacerItem( 0, 0 ), 1, 1); // no widget in the middle
- }
-// g->addItem( new TQSpacerItem( 0, 0, TQSizePolicy::Fixed, TQSizePolicy::Expanding ) );
- g->setRowStretch(1, 10);
-
- g->addColSpacing(0, 2);
- g->addColSpacing(2, 2);
- g->addRowSpacing(2, 6);
-
- TQBoxLayout* hb = new TQBoxLayout(0, TQBoxLayout::LeftToRight, 0, 0, 0);
- hb->setResizeMode(TQLayout::FreeResize);
- g->addLayout( hb, 0, 1 );
- hb->addSpacing(3);
-
- titlebar = new TQSpacerItem(10, 14, TQSizePolicy::Expanding,
- TQSizePolicy::Minimum);
-
- // setup titlebar buttons
- for (int n=0; n<ButtonTypeCount; n++) button[n] = 0;
- addButtons(hb, KDecoration::options()->customButtonPositions() ?
- KDecoration::options()->titleButtonsLeft() : TQString(default_left));
- hb->addSpacing(2);
- hb->addItem(titlebar);
- hb->addSpacing(3);
- addButtons(hb, KDecoration::options()->customButtonPositions() ?
- KDecoration::options()->titleButtonsRight() : TQString(default_right));
- hb->addSpacing(2);
-
- widget()->setBackgroundMode(TQWidget::NoBackground);
- recalcTitleBuffer();
-}
-
-void SystemClient::addButtons(TQBoxLayout *hb, const TQString& s)
-{
- unsigned char *minmax_bits;
- int l_max = KDecoration::options()->titleButtonsLeft().find('A');
- if (s.length() > 0) {
- for (unsigned n=0; n < s.length(); n++) {
- switch (s[n]) {
- case 'X': // Close button
- if ((!button[ButtonClose]) && isCloseable()) {
- button[ButtonClose] = new SystemButton(this, "close", NULL, i18n("Close"));
- connect( button[ButtonClose], TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( closeWindow() ) ) );
- hb->addWidget(button[ButtonClose]);
- hb->addSpacing(1);
- }
- break;
-
- case 'S': // Sticky button
- if (!button[ButtonSticky]) {
- button[ButtonSticky] = new SystemButton(this, "sticky", NULL, i18n("On all desktops"));
- if(isOnAllDesktops())
- button[ButtonSticky]->setBitmap(unsticky_bits);
- else
- button[ButtonSticky]->setBitmap(sticky_bits);
- connect( button[ButtonSticky], TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( toggleOnAllDesktops() ) ) );
- hb->addWidget(button[ButtonSticky]);
- hb->addSpacing(1);
- }
- break;
-
- case 'I': // Minimize button
- if ((!button[ButtonMinimize]) && isMinimizable()) {
- button[ButtonMinimize] = new SystemButton(this, "iconify", iconify_bits, i18n("Minimize"));
- connect( button[ButtonMinimize], TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( minimize() ) ) );
- hb->addWidget(button[ButtonMinimize]);
- hb->addSpacing(1);
- }
- break;
-
- case 'A': // Maximize button
- if ((!button[ButtonMaximize]) && isMaximizable()) {
- if (maximizeMode()==MaximizeFull) {
- if (KDecoration::options()->customButtonPositions() && (l_max>-1))
- minmax_bits = l_minmax_bits;
- else
- minmax_bits = r_minmax_bits;
- button[ButtonMaximize] = new SystemButton(this, "maximize", minmax_bits, i18n("Restore"));
- }
- else
- button[ButtonMaximize] = new SystemButton(this, "maximize", maximize_bits, i18n("Maximize"));
- connect( button[ButtonMaximize], TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( maxButtonClicked() ) ) );
- hb->addWidget(button[ButtonMaximize]);
- hb->addSpacing(1);
- }
- break;
-
- case 'H': // Help button
- if ((!button[ButtonHelp]) && providesContextHelp()) {
- button[ButtonHelp] = new SystemButton(this, "help", question_bits, i18n("Help"));
- connect( button[ButtonHelp], TQT_SIGNAL( clicked() ), this, ( TQT_SLOT( showContextHelp() ) ) );
- hb->addWidget(button[ButtonHelp]);
- hb->addSpacing(1);
- }
- break;
-
- }
- }
- }
-}
-
-bool SystemClient::eventFilter( TQObject* o, TQEvent* e )
-{
- if( TQT_BASE_OBJECT(o) != TQT_BASE_OBJECT(widget()))
- return false;
- switch( e->type())
- {
- case TQEvent::Resize:
- resizeEvent(TQT_TQRESIZEEVENT( e ) );
- return true;
- case TQEvent::Paint:
- paintEvent(TQT_TQPAINTEVENT( e ) );
- return true;
- case TQEvent::MouseButtonDblClick:
- mouseDoubleClickEvent(TQT_TQMOUSEEVENT( e ) );
- return true;
- case TQEvent::MouseButtonPress:
- processMousePressEvent(TQT_TQMOUSEEVENT( e ) );
- return true;
- case TQEvent::Wheel:
- wheelEvent( TQT_TQWHEELEVENT( e ));
- return true;
- default:
- break;
- }
- return false;
-}
-
-void SystemClient::reset(unsigned long)
-{
- titleBuffer.resize(0, 0);
- recalcTitleBuffer();
- widget()->tqrepaint();
- if (button[ButtonClose])
- button[ButtonClose]->reset();
- if (button[ButtonSticky])
- button[ButtonSticky]->reset();
- if (button[ButtonMinimize])
- button[ButtonMinimize]->reset();
- if (button[ButtonMaximize])
- button[ButtonMaximize]->reset();
- if (button[ButtonHelp])
- button[ButtonHelp]->reset();
-}
-
-void SystemClient::maxButtonClicked()
-{
- maximize( button[ButtonMaximize]->last_button );
-}
-
-void SystemClient::resizeEvent( TQResizeEvent* )
-{
- //Client::resizeEvent( e );
- recalcTitleBuffer();
- doShape();
- /*
- if ( isVisibleToTLW() && !testWFlags( WStaticContents )) {
- TQPainter p( this );
- TQRect t = titlebar->tqgeometry();
- t.setTop( 0 );
- TQRegion r = rect();
- r = r.subtract( t );
- p.setClipRegion( r );
- p.eraseRect( rect() );
- }*/
-}
-
-void SystemClient::resize( const TQSize& s )
-{
- widget()->resize( s );
-}
-
-
-TQSize SystemClient::tqminimumSize() const
-{
- return widget()->tqminimumSize();
-}
-
-
-void SystemClient::recalcTitleBuffer()
-{
- if(oldTitle == caption() && width() == titleBuffer.width())
- return;
- TQFontMetrics fm(options()->font(true));
- titleBuffer.resize(width(), 18);
- TQPainter p;
- p.begin(&titleBuffer);
- if(aUpperGradient)
- p.drawTiledPixmap(0, 0, width(), 18, *aUpperGradient);
- else
- p.fillRect(0, 0, width(), 18,
- options()->tqcolorGroup(KDecorationOptions::ColorFrame, true).
- brush(TQColorGroup::Button));
-
- TQRect t = titlebar->tqgeometry();
- t.setTop( 2 );
- t.setLeft( t.left() + 4 );
- t.setRight( t.right() - 2 );
-
- TQRegion r(t.x(), 0, t.width(), 18);
- r -= TQRect(t.x()+((t.width()-fm.width(caption()))/2)-4,
- 0, fm.width(caption())+8, 18);
- p.setClipRegion(r);
- int i, ly;
- for(i=0, ly=4; i < 4; ++i, ly+=3){
- p.setPen(options()->color(KDecorationOptions::ColorTitleBar, true).light(150));
- p.drawLine(0, ly, width()-1, ly);
- p.setPen(options()->color(KDecorationOptions::ColorTitleBar, true).dark(120));
- p.drawLine(0, ly+1, width()-1, ly+1);
- }
- p.setClipRect(t);
- p.setPen(options()->color(KDecorationOptions::ColorFont, true));
- p.setFont(options()->font(true));
-
- p.drawText(t.x()+((t.width()-fm.width(caption()))/2)-4,
- 0, fm.width(caption())+8, 18, AlignCenter, caption());
- p.setClipping(false);
- p.end();
- oldTitle = caption();
-}
-
-void SystemClient::captionChange()
-{
- recalcTitleBuffer();
- widget()->tqrepaint(titlebar->tqgeometry(), false);
-}
-
-void SystemClient::drawRoundFrame(TQPainter &p, int x, int y, int w, int h)
-{
- kDrawRoundButton(&p, x, y, w, h,
- options()->tqcolorGroup(KDecorationOptions::ColorFrame, isActive()), false);
-
-}
-
-void SystemClient::paintEvent( TQPaintEvent* )
-{
- TQPainter p(widget());
- TQRect t = titlebar->tqgeometry();
-
- TQBrush fillBrush(TQBrush(widget()->tqcolorGroup().brush(TQColorGroup::Background)).pixmap() ?
- widget()->tqcolorGroup().brush(TQColorGroup::Background) :
- options()->tqcolorGroup(KDecorationOptions::ColorFrame, isActive()).
- brush(TQColorGroup::Button));
-
- p.fillRect(1, 18, width()-2, height()-19, fillBrush);
-
- t.setTop( 2 );
- t.setLeft( t.left() + 4 );
- t.setRight( t.right() - 2 );
-
- if(isActive())
- p.drawPixmap(0, 0, titleBuffer);
- else{
- if(iUpperGradient)
- p.drawTiledPixmap(0, 0, width(), 18, *iUpperGradient);
- else
- p.fillRect(0, 0, width(), 18, fillBrush);
- p.setPen(options()->color(KDecorationOptions::ColorFont, isActive()));
- p.setFont(options()->font(isActive()));
- p.drawText(t, AlignCenter, caption() );
- }
-
- p.setPen(options()->tqcolorGroup(KDecorationOptions::ColorFrame, isActive()).light());
- p.drawLine(width()-20, height()-7, width()-10, height()-7);
- p.drawLine(width()-20, height()-5, width()-10, height()-5);
- p.setPen(options()->tqcolorGroup(KDecorationOptions::ColorFrame, isActive()).dark());
- p.drawLine(width()-20, height()-6, width()-10, height()-6);
- p.drawLine(width()-20, height()-4, width()-10, height()-4);
-
- drawRoundFrame(p, 0, 0, width(), height());
-}
-
-#define TQCOORDARRLEN(x) sizeof(x)/(sizeof(TQCOORD)*2)
-
-void SystemClient::doShape()
-{
- // using a bunch of TQRect lines seems much more efficent than bitmaps or
- // point arrays
-
- TQRegion mask;
- kRoundMaskRegion(mask, 0, 0, width(), height());
- setMask(mask);
-}
-
-void SystemClient::showEvent(TQShowEvent *)
-{
-// Client::showEvent(ev);
- doShape();
- widget()->show();
-// widget()->tqrepaint();
-}
-
-/*void SystemClient::windowWrapperShowEvent( TQShowEvent* )
-{
- doShape();
-}*/
-
-void SystemClient::mouseDoubleClickEvent( TQMouseEvent * e )
-{
- if ( e->button() == Qt::LeftButton && titlebar->tqgeometry().contains( e->pos() ) )
- titlebarDblClickOperation();
-}
-
-void SystemClient::wheelEvent( TQWheelEvent *e )
-{
- if (isSetShade() || TQRect( 0, 0, width(), titlebar->tqgeometry().height() ).contains( e->pos() ) )
- titlebarMouseWheelOperation( e->delta());
-}
-
-void SystemClient::maximizeChange()
-{
- unsigned char *minmax_bits;
- int l_max = KDecoration::options()->titleButtonsLeft().find('A');
- if (KDecoration::options()->customButtonPositions() && (l_max>-1))
- minmax_bits = l_minmax_bits;
- else
- minmax_bits = r_minmax_bits;
- if (button[ButtonMaximize]) {
- button[ButtonMaximize]->setBitmap((maximizeMode()==MaximizeFull) ? minmax_bits : maximize_bits);
- button[ButtonMaximize]->setTipText((maximizeMode()==MaximizeFull) ? i18n("Restore") : i18n("Maximize"));
- }
-}
-
-void SystemClient::activeChange()
-{
- widget()->tqrepaint(false);
- if (button[ButtonClose])
- button[ButtonClose]->reset();
- if (button[ButtonSticky])
- button[ButtonSticky]->reset();
- if (button[ButtonMinimize])
- button[ButtonMinimize]->reset();
- if (button[ButtonMaximize])
- button[ButtonMaximize]->reset();
- if (button[ButtonHelp])
- button[ButtonHelp]->reset();
-}
-
-void SystemClient::iconChange()
-{
-// if (button[BtnMenu] && button[BtnMenu]->isVisible())
-// button[BtnMenu]->tqrepaint(false);
-}
-
-void SystemClient::desktopChange()
-{
- if (button[ButtonSticky]) {
- button[ButtonSticky]->setBitmap(isOnAllDesktops() ? unsticky_bits : sticky_bits);
- button[ButtonSticky]->setTipText(isOnAllDesktops() ? i18n("Not on all desktops") : i18n("On all desktops"));
- }
-}
-
-/*void SystemClient::stickyChange(bool on)
-{
-}*/
-
-KDecoration::Position SystemClient::mousePosition(const TQPoint &p) const
-{
- return KDecoration::mousePosition(p);
-}
-
-void SystemClient::borders(int& left, int& right, int& top, int& bottom) const
-{
- left = 4;
- right = 4;
- top = 18;
- bottom = 8;
-
-/* if ((maximizeMode()==MaximizeFull) && !options()->moveResizeMaximizedWindows()) {
- left = right = bottom = 0;
- top = 1 + titleHeight + (borderSize-1);
- }*/
-}
-
-SystemDecoFactory::SystemDecoFactory()
-{
- create_pixmaps();
-}
-
-SystemDecoFactory::~SystemDecoFactory()
-{
- delete_pixmaps();
-}
-
-KDecoration *SystemDecoFactory::createDecoration( KDecorationBridge *b )
-{
- return new SystemClient(b, this);
-}
-
-bool SystemDecoFactory::reset( unsigned long changed )
-{
- System::delete_pixmaps();
- System::create_pixmaps();
- // Ensure changes in tooltip state get applied
- resetDecorations(changed);
- return true;
-}
-
-bool SystemDecoFactory::supports( Ability ability )
-{
- switch( ability )
- {
- case AbilityAnnounceButtons:
- case AbilityButtonOnAllDesktops:
- case AbilityButtonHelp:
- case AbilityButtonMinimize:
- case AbilityButtonMaximize:
- case AbilityButtonClose:
- return true;
- default:
- return false;
- };
-}
-
-TQValueList<KDecorationFactory::BorderSize> SystemDecoFactory::borderSizes() const
-{ // the list must be sorted
- return TQValueList< BorderSize >() << BorderNormal;
-}
-
-}
-
-extern "C" KDE_EXPORT KDecorationFactory *create_factory()
-{
- return new System::SystemDecoFactory();
-}
-
-#include "systemclient.moc"
diff --git a/kwin-styles/system/systemclient.h b/kwin-styles/system/systemclient.h
deleted file mode 100644
index ecaf25ee..00000000
--- a/kwin-styles/system/systemclient.h
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef __SYSTEMCLIENT_H
-#define __SYSTEMCLIENT_H
-
-#include <tqvariant.h>
-#include <tqbitmap.h>
-#include <tqbutton.h>
-
-#include <kpixmap.h>
-#include <kdecoration.h>
-#include <kdecorationfactory.h>
-
-
-class TQLabel;
-class TQSpacerItem;
-class TQBoxLayout;
-
-namespace System {
-
-class SystemButton;
-
-enum ButtonType {
- ButtonClose=0,
- ButtonSticky,
- ButtonMinimize,
- ButtonMaximize,
- ButtonHelp,
- ButtonTypeCount
-};
-
-class SystemClient : public KDecoration
-{
- Q_OBJECT
- TQ_OBJECT
- public:
- SystemClient(KDecorationBridge* bridge, KDecorationFactory* factory);
- ~SystemClient();
- virtual Position mousePosition(const TQPoint& p) const;
- virtual void resize(const TQSize&);
- virtual bool eventFilter(TQObject* o, TQEvent* e);
- virtual void init();
- protected:
- virtual void maximizeChange();
- virtual void captionChange();
- virtual void shadeChange() {};
- virtual void iconChange();
- virtual void desktopChange();
- virtual void activeChange();
- virtual TQSize tqminimumSize() const;
- virtual void borders(int&, int&, int&, int&) const;
- virtual void reset( unsigned long changed );
- void drawRoundFrame(TQPainter &p, int x, int y, int w, int h);
- void resizeEvent( TQResizeEvent* );
- void paintEvent( TQPaintEvent* );
- void showEvent( TQShowEvent* );
- void mouseDoubleClickEvent( TQMouseEvent * );
- void wheelEvent(TQWheelEvent *e);
- void doShape();
- void recalcTitleBuffer();
- private:
- void addButtons(TQBoxLayout* hb, const TQString& buttons);
- private slots:
- void maxButtonClicked();
-
- private:
- SystemButton* button[ButtonTypeCount];
- TQSpacerItem* titlebar;
- TQPixmap titleBuffer;
- TQString oldTitle;
-};
-
-class SystemButton : public TQButton
-{
- public:
- SystemButton(SystemClient *parent=0, const char *name=0,
- const unsigned char *bitmap=NULL, const TQString& tip=NULL);
- void setBitmap(const unsigned char *bitmap);
- void reset();
- TQSize tqsizeHint() const;
- void setTipText(const TQString &tip);
- ButtonState last_button;
- protected:
- virtual void drawButton(TQPainter *p);
- void drawButtonLabel(TQPainter *){}
- TQBitmap deco;
-
- void mousePressEvent( TQMouseEvent* e );
- void mouseReleaseEvent( TQMouseEvent* e );
-
- private:
- SystemClient* client;
-};
-
-
-class SystemDecoFactory : public TQObject, public KDecorationFactory
-{
- Q_OBJECT
- TQ_OBJECT
- public:
- SystemDecoFactory();
- virtual ~SystemDecoFactory();
- virtual KDecoration *createDecoration(KDecorationBridge *);
- virtual bool reset(unsigned long);
- virtual bool supports( Ability ability );
- virtual TQValueList< BorderSize > borderSizes() const;
- private:
- void readConfig();
-};
-
-
-
-}
-
-#endif