--- a/WinWorkstation.st Mon Feb 13 23:21:01 2012 +0100
+++ b/WinWorkstation.st Tue Feb 14 13:17:46 2012 +0100
@@ -6483,7 +6483,7 @@
%{
int p;
- int __rgb, r, g, b;
+ int __rgb, __bgr, r, g, b;
if (aKey == @symbol(COLOR_WINDOW)) {
p = COLOR_WINDOW;
@@ -6610,11 +6610,13 @@
} else {
goto getOutOfHere;
}
- __rgb = GetSysColor(p);
+ __bgr = GetSysColor(p);
+
/* win uses BGR order */
- r = __rgb & 0xFF;
- g = (__rgb >> 8) & 0xFF;
- b = (__rgb >> 16) & 0xFF;
+ r = __bgr & 0xFF;
+ g = (__bgr >> 8) & 0xFF;
+ b = (__bgr >> 16) & 0xFF;
+
__rgb = (((r << 8) | g) << 8) | b;
rgb = __MKSMALLINT(__rgb);
getOutOfHere: ;
@@ -7162,6 +7164,164 @@
"
!
+setSystemColor:aKey to:aColor
+ "retrieve a windows system color.
+ The styleSheet/View classes may use this to setup default colors"
+
+ |rgb|
+
+ rgb := aColor rgbValue.
+%{
+ int p;
+ int __rgb, r, g, b;
+
+ __rgb = __intVal(rgb);
+
+ if (aKey == @symbol(COLOR_WINDOW)) {
+ p = COLOR_WINDOW;
+ } else if (aKey == @symbol(COLOR_WINDOWTEXT)) {
+ p = COLOR_WINDOWTEXT;
+ } else if (aKey == @symbol(COLOR_MENU)) {
+ p = COLOR_MENU;
+ } else if (aKey == @symbol(COLOR_MENUTEXT)) {
+ p = COLOR_MENUTEXT;
+ } else if (aKey == @symbol(COLOR_BTNFACE)) {
+ p = COLOR_BTNFACE;
+ } else if (aKey == @symbol(COLOR_BTNSHADOW)) {
+ p = COLOR_BTNSHADOW;
+ } else if (aKey == @symbol(COLOR_BTNTEXT)) {
+ p = COLOR_BTNTEXT;
+ } else if (aKey == @symbol(COLOR_GRAYTEXT)) {
+ p = COLOR_GRAYTEXT;
+ } else if (aKey == @symbol(COLOR_HIGHLIGHT)) {
+ p = COLOR_HIGHLIGHT;
+ } else if (aKey == @symbol(COLOR_HIGHLIGHTTEXT)) {
+ p = COLOR_HIGHLIGHTTEXT;
+ } else if (aKey == @symbol(COLOR_MENU)) {
+ p = COLOR_MENU;
+#ifdef COLOR_MENUTEXT
+ } else if (aKey == @symbol(COLOR_MENUTEXT)) {
+ p = COLOR_MENUTEXT;
+#endif
+#ifdef COLOR_SCROLLBAR
+ } else if (aKey == @symbol(COLOR_SCROLLBAR)) {
+ p = COLOR_SCROLLBAR;
+#endif
+#ifdef COLOR_SHADOW
+ } else if (aKey == @symbol(COLOR_SHADOW)) {
+ p = COLOR_SHADOW;
+#endif
+#ifdef COLOR_BACKGROUND
+ } else if (aKey == @symbol(COLOR_BACKGROUND)) {
+ p = COLOR_BACKGROUND;
+#endif
+#ifdef COLOR_ACTIVECAPTION
+ } else if (aKey == @symbol(COLOR_ACTIVECAPTION)) {
+ p = COLOR_ACTIVECAPTION;
+#endif
+#ifdef COLOR_INACTIVECAPTION
+ } else if (aKey == @symbol(COLOR_INACTIVECAPTION)) {
+ p = COLOR_INACTIVECAPTION;
+#endif
+#ifdef COLOR_WINDOWFRAME
+ } else if (aKey == @symbol(COLOR_WINDOWFRAME)) {
+ p = COLOR_WINDOWFRAME;
+#endif
+#ifdef COLOR_CAPTIONTEXT
+ } else if (aKey == @symbol(COLOR_CAPTIONTEXT)) {
+ p = COLOR_CAPTIONTEXT;
+#endif
+#ifdef COLOR_ACTIVEBORDER
+ } else if (aKey == @symbol(COLOR_ACTIVEBORDER)) {
+ p = COLOR_ACTIVEBORDER;
+#endif
+#ifdef COLOR_INACTIVEBORDER
+ } else if (aKey == @symbol(COLOR_INACTIVEBORDER)) {
+ p = COLOR_INACTIVEBORDER;
+#endif
+#ifdef COLOR_APPWORKSPACE
+ } else if (aKey == @symbol(COLOR_APPWORKSPACE)) {
+ p = COLOR_APPWORKSPACE;
+#endif
+#ifdef COLOR_INACTIVECAPTIONTEXT
+ } else if (aKey == @symbol(COLOR_INACTIVECAPTIONTEXT)) {
+ p = COLOR_INACTIVECAPTIONTEXT;
+#endif
+#ifdef COLOR_BTNHIGHLIGHT
+ } else if (aKey == @symbol(COLOR_BTNHIGHLIGHT)) {
+ p = COLOR_BTNHIGHLIGHT;
+#endif
+#ifdef COLOR_3DDKSHADOW
+ } else if (aKey == @symbol(COLOR_3DDKSHADOW)) {
+ p = COLOR_3DDKSHADOW;
+#endif
+#ifdef COLOR_3DLIGHT
+ } else if (aKey == @symbol(COLOR_3DLIGHT)) {
+ p = COLOR_3DLIGHT;
+#endif
+#ifdef COLOR_INFOTEXT
+ } else if (aKey == @symbol(COLOR_INFOTEXT)) {
+ p = COLOR_INFOTEXT;
+#endif
+#ifdef COLOR_INFOBK
+ } else if (aKey == @symbol(COLOR_INFOBK)) {
+ p = COLOR_INFOBK;
+#endif
+#ifdef COLOR_HOTLIGHT
+ } else if (aKey == @symbol(COLOR_HOTLIGHT)) {
+ p = COLOR_HOTLIGHT;
+#endif
+#ifdef COLOR_GRADIENTACTIVECAPTION
+ } else if (aKey == @symbol(COLOR_GRADIENTACTIVECAPTION)) {
+ p = COLOR_GRADIENTACTIVECAPTION;
+#endif
+#ifdef COLOR_GRADIENTINACTIVECAPTION
+ } else if (aKey == @symbol(COLOR_GRADIENTINACTIVECAPTION)) {
+ p = COLOR_GRADIENTINACTIVECAPTION;
+#endif
+#ifdef COLOR_DESKTOP
+ } else if (aKey == @symbol(COLOR_DESKTOP)) {
+ p = COLOR_DESKTOP;
+#endif
+#ifdef COLOR_3DFACE
+ } else if (aKey == @symbol(COLOR_3DFACE)) {
+ p = COLOR_3DFACE;
+#endif
+#ifdef COLOR_3DSHADOW
+ } else if (aKey == @symbol(COLOR_3DSHADOW)) {
+ p = COLOR_3DSHADOW;
+#endif
+#ifdef COLOR_3DHIGHLIGHT
+ } else if (aKey == @symbol(COLOR_3DHIGHLIGHT)) {
+ p = COLOR_3DHIGHLIGHT;
+#endif
+#ifdef COLOR_3DHILIGHT
+ } else if (aKey == @symbol(COLOR_3DHILIGHT)) {
+ p = COLOR_3DHILIGHT;
+#endif
+#ifdef COLOR_BTNHILIGHT
+ } else if (aKey == @symbol(COLOR_BTNHILIGHT)) {
+ p = COLOR_BTNHILIGHT;
+#endif
+ } else {
+ goto getOutOfHere;
+ }
+
+ b = __rgb & 0xFF;
+ g = (__rgb >> 8) & 0xFF;
+ r = (__rgb >> 16) & 0xFF;
+
+ SetSysColors(1, p, RGB(r, g, b));
+getOutOfHere: ;
+%}.
+
+ "
+ Display setSystemColor:#COLOR_ACTIVECAPTION to:(Color red)
+ "
+
+ "Modified: / 30-10-2007 / 15:06:02 / cg"
+!
+
shiftMask
"return the state-mask for the SHIFT modified in motion events' state-field.
Obsolete"
@@ -19047,11 +19207,11 @@
!WinWorkstation class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.456 2012-02-03 15:20:41 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.457 2012-02-14 12:17:46 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.456 2012-02-03 15:20:41 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview/WinWorkstation.st,v 1.457 2012-02-14 12:17:46 cg Exp $'
! !
WinWorkstation initialize!