#FEATURE by Stefan Reise
authorsr
Mon, 20 Jan 2020 16:36:26 +0100
changeset 8972 a82e21f8f825
parent 8971 72cab396b622
child 8973 cd7c23c4029e
#FEATURE by Stefan Reise fixed captionHeight added #SM_CXPADDEDBORDER class: WinWorkstation comment/format in: #captionHeight changed: #getSystemMetrics:
WinWorkstation.st
--- a/WinWorkstation.st	Mon Jan 20 16:28:47 2020 +0100
+++ b/WinWorkstation.st	Mon Jan 20 16:36:26 2020 +0100
@@ -7264,185 +7264,187 @@
     int arg;
 
     if (__isSmallInteger(aNumberOrSymbol)) {
-	arg = __intVal(aNumberOrSymbol);
+        arg = __intVal(aNumberOrSymbol);
     } else if ((aNumberOrSymbol == @symbol(swapButton)) || (aNumberOrSymbol == @symbol(SM_SWAPBUTTON))) {
-	arg = SM_SWAPBUTTON;
-	isBool = 1;
+        arg = SM_SWAPBUTTON;
+        isBool = 1;
     } else if ((aNumberOrSymbol == @symbol(mousePresent)) || (aNumberOrSymbol == @symbol(SM_MOUSEPRESENT))) {
-	arg = SM_MOUSEPRESENT;
-	isBool = 1;
+        arg = SM_MOUSEPRESENT;
+        isBool = 1;
     } else if ((aNumberOrSymbol == @symbol(mouseButtons)) || (aNumberOrSymbol == @symbol(SM_CMOUSEBUTTONS))) {
-	arg = SM_CMOUSEBUTTONS;
+        arg = SM_CMOUSEBUTTONS;
     } else if ((aNumberOrSymbol == @symbol(iconWidth)) || (aNumberOrSymbol == @symbol(SM_CXICON))) {
-	arg = SM_CXICON;
+        arg = SM_CXICON;
     } else if ((aNumberOrSymbol == @symbol(iconHeight)) || (aNumberOrSymbol == @symbol(SM_CYICON))) {
-	arg = SM_CYICON;
+        arg = SM_CYICON;
     } else if ((aNumberOrSymbol == @symbol(iconWidth)) || (aNumberOrSymbol == @symbol(SM_CXDOUBLECLK))) {
-	arg = SM_CXDOUBLECLK;
+        arg = SM_CXDOUBLECLK;
     } else if ((aNumberOrSymbol == @symbol(iconHeight)) || (aNumberOrSymbol == @symbol(SM_CYDOUBLECLK))) {
-	arg = SM_CYDOUBLECLK;
+        arg = SM_CYDOUBLECLK;
     } else if ((aNumberOrSymbol == @symbol(cursorWidth)) || (aNumberOrSymbol == @symbol(SM_CXCURSOR))) {
-	arg = SM_CXCURSOR;
+        arg = SM_CXCURSOR;
     } else if ((aNumberOrSymbol == @symbol(cursorHeight)) || (aNumberOrSymbol == @symbol(SM_CYCURSOR))) {
-	arg = SM_CYCURSOR;
+        arg = SM_CYCURSOR;
     } else if ((aNumberOrSymbol == @symbol(captionHeight)) || (aNumberOrSymbol == @symbol(SM_CYCAPTION))) {
-	arg = SM_CYCAPTION;
+        arg = SM_CYCAPTION;
     } else if ((aNumberOrSymbol == @symbol(resizeFrameWidth)) || (aNumberOrSymbol == @symbol(SM_CXFRAME))) {
-	arg = SM_CXFRAME;
+        arg = SM_CXFRAME;
     } else if ((aNumberOrSymbol == @symbol(resizeFrameHeight)) || (aNumberOrSymbol == @symbol(SM_CYFRAME))) {
-	arg = SM_CYFRAME;
+        arg = SM_CYFRAME;
     } else if ((aNumberOrSymbol == @symbol(borderFrameWidth)) || (aNumberOrSymbol == @symbol(SM_CXBORDER))) {
-	arg = SM_CXBORDER;
+        arg = SM_CXBORDER;
     } else if ((aNumberOrSymbol == @symbol(borderFrameHeight)) || (aNumberOrSymbol == @symbol(SM_CYBORDER))) {
-	arg = SM_CYBORDER;
+        arg = SM_CYBORDER;
     } else if (aNumberOrSymbol == @symbol(SM_CXDLGFRAME)) {
-	arg = SM_CXDLGFRAME;
+        arg = SM_CXDLGFRAME;
     } else if (aNumberOrSymbol == @symbol(SM_CYDLGFRAME)) {
-	arg = SM_CYDLGFRAME;
+        arg = SM_CYDLGFRAME;
     } else if ((aNumberOrSymbol == @symbol(fullScreenWindowWidth)) || (aNumberOrSymbol == @symbol(SM_CXFULLSCREEN))) {
-	arg = SM_CXFULLSCREEN;
+        arg = SM_CXFULLSCREEN;
     } else if ((aNumberOrSymbol == @symbol(fullScreenWindowHeight)) || (aNumberOrSymbol == @symbol(SM_CYFULLSCREEN))) {
-	arg = SM_CYFULLSCREEN;
+        arg = SM_CYFULLSCREEN;
     } else if ((aNumberOrSymbol == @symbol(screenWidth)) || (aNumberOrSymbol == @symbol(SM_CXSCREEN))) {
-	arg = SM_CXSCREEN;
+        arg = SM_CXSCREEN;
     } else if ((aNumberOrSymbol == @symbol(screenHeight)) || (aNumberOrSymbol == @symbol(SM_CYSCREEN))) {
-	arg = SM_CYSCREEN;
+        arg = SM_CYSCREEN;
     } else if ((aNumberOrSymbol == @symbol(minWindowWidth)) || (aNumberOrSymbol == @symbol(SM_CXMIN))) {
-	arg = SM_CXMIN;
+        arg = SM_CXMIN;
     } else if ((aNumberOrSymbol == @symbol(minWindowHeight)) || (aNumberOrSymbol == @symbol(SM_CYMIN))) {
-	arg = SM_CYMIN;
+        arg = SM_CYMIN;
     } else if ((aNumberOrSymbol == @symbol(vScrollbarWidth)) || (aNumberOrSymbol == @symbol(SM_CXVSCROLL))) {
-	arg = SM_CXVSCROLL;
+        arg = SM_CXVSCROLL;
     } else if ((aNumberOrSymbol == @symbol(hScrollbarHeight)) || (aNumberOrSymbol == @symbol(SM_CYHSCROLL))) {
-	arg = SM_CYHSCROLL;
+        arg = SM_CYHSCROLL;
     } else if ((aNumberOrSymbol == @symbol(vThumbHeight)) || (aNumberOrSymbol == @symbol(SM_CYVTHUMB))) {
-	arg = SM_CYVTHUMB;
+        arg = SM_CYVTHUMB;
     } else if ((aNumberOrSymbol == @symbol(hThumbWidth)) || (aNumberOrSymbol == @symbol(SM_CXHTHUMB))) {
-	arg = SM_CXHTHUMB;
+        arg = SM_CXHTHUMB;
     } else if ((aNumberOrSymbol == @symbol(SM_CXSIZE))) {
-	arg = SM_CXSIZE;
+        arg = SM_CXSIZE;
     } else if ((aNumberOrSymbol == @symbol(SM_CYSIZE))) {
-	arg = SM_CYSIZE;
+        arg = SM_CYSIZE;
     } else if ((aNumberOrSymbol == @symbol(SM_CYVSCROLL))) {
-	arg = SM_CYVSCROLL;
+        arg = SM_CYVSCROLL;
     } else if ((aNumberOrSymbol == @symbol(SM_CXHSCROLL))) {
-	arg = SM_CXHSCROLL;
+        arg = SM_CXHSCROLL;
     } else if ((aNumberOrSymbol == @symbol(SM_CXMINTRACK))) {
-	arg = SM_CXMINTRACK;
+        arg = SM_CXMINTRACK;
     } else if ((aNumberOrSymbol == @symbol(SM_CYMINTRACK))) {
-	arg = SM_CYMINTRACK;
+        arg = SM_CYMINTRACK;
     } else if ((aNumberOrSymbol == @symbol(SM_CXICONSPACING))) {
-	arg = SM_CXICONSPACING;
+        arg = SM_CXICONSPACING;
     } else if ((aNumberOrSymbol == @symbol(SM_CYICONSPACING))) {
-	arg = SM_CYICONSPACING;
+        arg = SM_CYICONSPACING;
     } else if ((aNumberOrSymbol == @symbol(SM_CYMENU))) {
-	arg = SM_CYMENU;
+        arg = SM_CYMENU;
     } else if ((aNumberOrSymbol == @symbol(SM_MENUDROPALIGNMENT))) {
-	arg = SM_MENUDROPALIGNMENT;
+        arg = SM_MENUDROPALIGNMENT;
     } else if ((aNumberOrSymbol == @symbol(SM_PENWINDOWS))) {
-	arg = SM_PENWINDOWS;
+        arg = SM_PENWINDOWS;
     } else if ((aNumberOrSymbol == @symbol(SM_DBCSENABLED))) {
-	arg = SM_DBCSENABLED;
+        arg = SM_DBCSENABLED;
     } else if ((aNumberOrSymbol == @symbol(SM_CXFIXEDFRAME))) {
-	arg = SM_CXFIXEDFRAME;
+        arg = SM_CXFIXEDFRAME;
     } else if ((aNumberOrSymbol == @symbol(SM_CYFIXEDFRAME))) {
-	arg = SM_CYFIXEDFRAME;
+        arg = SM_CYFIXEDFRAME;
     } else if ((aNumberOrSymbol == @symbol(SM_CXSIZEFRAME))) {
-	arg = SM_CXSIZEFRAME;
+        arg = SM_CXSIZEFRAME;
     } else if ((aNumberOrSymbol == @symbol(SM_CYSIZEFRAME))) {
-	arg = SM_CYSIZEFRAME;
+        arg = SM_CYSIZEFRAME;
     } else if ((aNumberOrSymbol == @symbol(SM_CYKANJIWINDOW))) {
-	arg = SM_CYKANJIWINDOW;
+        arg = SM_CYKANJIWINDOW;
     } else if ((aNumberOrSymbol == @symbol(SM_SECURE))) {
-	arg = SM_SECURE;
+        arg = SM_SECURE;
     } else if ((aNumberOrSymbol == @symbol(SM_CXEDGE))) {
-	arg = SM_CXEDGE;
+        arg = SM_CXEDGE;
     } else if ((aNumberOrSymbol == @symbol(SM_CYEDGE))) {
-	arg = SM_CYEDGE;
+        arg = SM_CYEDGE;
     } else if ((aNumberOrSymbol == @symbol(SM_CXMINSPACING))) {
-	arg = SM_CXMINSPACING;
+        arg = SM_CXMINSPACING;
     } else if ((aNumberOrSymbol == @symbol(SM_CYMINSPACING))) {
-	arg = SM_CYMINSPACING;
+        arg = SM_CYMINSPACING;
     } else if ((aNumberOrSymbol == @symbol(SM_CXSMICON))) {
-	arg = SM_CXSMICON;
+        arg = SM_CXSMICON;
     } else if ((aNumberOrSymbol == @symbol(SM_CYSMICON))) {
-	arg = SM_CYSMICON;
+        arg = SM_CYSMICON;
     } else if ((aNumberOrSymbol == @symbol(SM_CYSMCAPTION))) {
-	arg = SM_CYSMCAPTION;
+        arg = SM_CYSMCAPTION;
     } else if ((aNumberOrSymbol == @symbol(SM_CXSMSIZE))) {
-	arg = SM_CXSMSIZE;
+        arg = SM_CXSMSIZE;
     } else if ((aNumberOrSymbol == @symbol(SM_CYSMSIZE))) {
-	arg = SM_CYSMSIZE;
+        arg = SM_CYSMSIZE;
     } else if ((aNumberOrSymbol == @symbol(SM_CXMENUSIZE))) {
-	arg = SM_CXMENUSIZE;
+        arg = SM_CXMENUSIZE;
     } else if ((aNumberOrSymbol == @symbol(SM_CYMENUSIZE))) {
-	arg = SM_CYMENUSIZE;
+        arg = SM_CYMENUSIZE;
     } else if ((aNumberOrSymbol == @symbol(SM_ARRANGE))) {
-	arg = SM_ARRANGE;
+        arg = SM_ARRANGE;
     } else if ((aNumberOrSymbol == @symbol(SM_CXMINIMIZED))) {
-	arg = SM_CXMINIMIZED;
+        arg = SM_CXMINIMIZED;
     } else if ((aNumberOrSymbol == @symbol(SM_CYMINIMIZED))) {
-	arg = SM_CYMINIMIZED;
+        arg = SM_CYMINIMIZED;
     } else if ((aNumberOrSymbol == @symbol(SM_CXMAXTRACK))) {
-	arg = SM_CXMAXTRACK;
+        arg = SM_CXMAXTRACK;
     } else if ((aNumberOrSymbol == @symbol(SM_CYMAXTRACK))) {
-	arg = SM_CYMAXTRACK;
+        arg = SM_CYMAXTRACK;
     } else if ((aNumberOrSymbol == @symbol(SM_CXMAXIMIZED))) {
-	arg = SM_CXMAXIMIZED;
+        arg = SM_CXMAXIMIZED;
     } else if ((aNumberOrSymbol == @symbol(SM_CYMAXIMIZED))) {
-	arg = SM_CYMAXIMIZED;
+        arg = SM_CYMAXIMIZED;
     } else if ((aNumberOrSymbol == @symbol(SM_NETWORK))) {
-	arg = SM_NETWORK;
+        arg = SM_NETWORK;
     } else if ((aNumberOrSymbol == @symbol(SM_CXDRAG))) {
-	arg = SM_CXDRAG;
+        arg = SM_CXDRAG;
     } else if ((aNumberOrSymbol == @symbol(SM_CYDRAG))) {
-	arg = SM_CYDRAG;
+        arg = SM_CYDRAG;
     } else if ((aNumberOrSymbol == @symbol(SM_NETWORK))) {
-	arg = SM_NETWORK;
+        arg = SM_NETWORK;
     } else if ((aNumberOrSymbol == @symbol(SM_SHOWSOUNDS))) {
-	arg = SM_SHOWSOUNDS;
+        arg = SM_SHOWSOUNDS;
     } else if ((aNumberOrSymbol == @symbol(SM_CXMENUCHECK))) {
-	arg = SM_CXMENUCHECK;
+        arg = SM_CXMENUCHECK;
     } else if ((aNumberOrSymbol == @symbol(SM_CYMENUCHECK))) {
-	arg = SM_CYMENUCHECK;
+        arg = SM_CYMENUCHECK;
     } else if ((aNumberOrSymbol == @symbol(SM_SLOWMACHINE))) {
-	arg = SM_SLOWMACHINE;
+        arg = SM_SLOWMACHINE;
     } else if ((aNumberOrSymbol == @symbol(SM_MIDEASTENABLED))) {
-	arg = SM_MIDEASTENABLED;
+        arg = SM_MIDEASTENABLED;
     } else if ((aNumberOrSymbol == @symbol(SM_MOUSEWHEELPRESENT))) {
-	arg = SM_MOUSEWHEELPRESENT;
+        arg = SM_MOUSEWHEELPRESENT;
     } else if ((aNumberOrSymbol == @symbol(SM_XVIRTUALSCREEN))) {
-	arg = SM_XVIRTUALSCREEN;
+        arg = SM_XVIRTUALSCREEN;
     } else if ((aNumberOrSymbol == @symbol(SM_YVIRTUALSCREEN))) {
-	arg = SM_YVIRTUALSCREEN;
+        arg = SM_YVIRTUALSCREEN;
     } else if ((aNumberOrSymbol == @symbol(SM_CXVIRTUALSCREEN))) {
-	arg = SM_CXVIRTUALSCREEN;
+        arg = SM_CXVIRTUALSCREEN;
     } else if ((aNumberOrSymbol == @symbol(SM_CYVIRTUALSCREEN))) {
-	arg = SM_CYVIRTUALSCREEN;
+        arg = SM_CYVIRTUALSCREEN;
     } else if ((aNumberOrSymbol == @symbol(SM_CMONITORS))) {
-	arg = SM_CMONITORS;
+        arg = SM_CMONITORS;
     } else if ((aNumberOrSymbol == @symbol(SM_SAMEDISPLAYFORMAT))) {
-	arg = SM_SAMEDISPLAYFORMAT;
+        arg = SM_SAMEDISPLAYFORMAT;
 #ifdef SM_IMMENABLED
     } else if ((aNumberOrSymbol == @symbol(SM_IMMENABLED))) {
-	arg = SM_IMMENABLED;
+        arg = SM_IMMENABLED;
 #endif
     } else if ((aNumberOrSymbol == @symbol(SM_DEBUG))) {
-	arg = SM_DEBUG;
+        arg = SM_DEBUG;
 #ifdef SM_REMOTESESSION
     } else if ((aNumberOrSymbol == @symbol(SM_REMOTESESSION))) {
-	arg = SM_REMOTESESSION;
-#endif
-    } else {
-	RETURN (nil);
+        arg = SM_REMOTESESSION;
+#endif
+    } else if ((aNumberOrSymbol == @symbol(SM_CXPADDEDBORDER))) {
+        arg = 92; // SM_CXPADDEDBORDER not present in mingw
+    } else {
+        RETURN (nil);
     }
     info = GetSystemMetrics(arg);
     if (isBool) {
-	RETURN (info ? true : false);
+        RETURN (info ? true : false);
     }
     RETURN (__MKSMALLINT(info));
 %}
-    "
+    "         
      Screen current getSystemMetrics:#SM_MOUSEWHEELPRESENT
      Screen current getSystemMetrics:#SM_ARRANGE
      Screen current getSystemMetrics:#SM_XVIRTUALSCREEN
@@ -7454,6 +7456,7 @@
     "
 
     "Modified: / 08-09-2006 / 15:36:32 / cg"
+    "Modified: / 20-01-2020 / 16:34:34 / Stefan Reise"
 !
 
 getSystemParametersInfo:aNumberOrSymbol
@@ -8107,6 +8110,9 @@
 
     "
         Display captionHeight     
+        Display getSystemMetrics:#SM_CYCAPTION      
+        Display getSystemMetrics:#SM_CYFRAME        
+        Display getSystemMetrics:#SM_CXPADDEDBORDER     
     "
 
     ^ (self getSystemMetrics:#SM_CYCAPTION)
@@ -8114,7 +8120,7 @@
     + ((self getSystemMetrics:#SM_CXPADDEDBORDER) ? 0)
 
     "Modified: / 08-09-2006 / 15:39:24 / cg"
-    "Modified (comment): / 20-01-2020 / 16:27:06 / Stefan Reise"
+    "Modified (comment): / 20-01-2020 / 16:31:27 / Stefan Reise"
 !
 
 getDeviceCaps:hdc index:index