ecere;samples/blokus: Grouped High DPI tweaks separately with HIGH_DPI preprocessor...
[sdk] / ecere / src / gui / skins / WindowsSkin.ec
index e28fa80..6cbd743 100644 (file)
@@ -2,9 +2,11 @@
 #define WIN32_LEAN_AND_MEAN
 #define String _String
 #define Method _Method
+#define strlen _strlen
 #include <windows.h>
 #undef Method
 #undef String
+#undef strlen
 #endif
 
 import "Window"
@@ -19,7 +21,7 @@ namespace gui::skins;
 #define TOP          4
 #define BOTTOM       4
 #define CORNER       (BORDER * 2)
-#if defined(__ANDROID__)
+#if defined(HIGH_DPI)
 #define BUTTON_SIZE  45
 #define CAPTION      60
 #else
@@ -30,7 +32,7 @@ namespace gui::skins;
 #define MIN_WIDTH    60
 #define MIN_HEIGHT   3
 #define BUTTON_OFFSET   2
-#if defined(__ANDROID__)
+#if defined(HIGH_DPI)
 #define NAME_OFFSET   12
 #else
 #define NAME_OFFSET   2
@@ -134,7 +136,7 @@ class WindowsSkin : Skin
 
    FontResource ::SystemFont()
    {
-#if defined(__ANDROID__)
+#if defined(HIGH_DPI)
       return FontResource { faceName = $"Tahoma", size = 18.25f };
 #else
       return FontResource { faceName = $"Tahoma", size = 8.25f };
@@ -143,7 +145,7 @@ class WindowsSkin : Skin
 
    FontResource ::CaptionFont()
    {
-#if defined(__ANDROID__)
+#if defined(HIGH_DPI)
       return FontResource { faceName = $"Tahoma", size = 18.25f, bold = true };
 #else
       return FontResource { faceName = $"Tahoma", size = 8.25f, bold = true };
@@ -593,7 +595,7 @@ public class WindowsSkin_Window : Window
 }
 
 
-#define PUREVTBL(c)     ((int (**)())*(void **)((byte *)class(c).data + sizeof(uintptr)))
+#define PUREVTBL(c)     (*(void ***)((byte *)class(c).data + sizeof(uintptr)))
 #define CAPTION_DISTANCE   18
 
 default:
@@ -614,7 +616,7 @@ public class WindowsSkin_Button : Button
    {
       if(isRadio)
       {
-         PUREVTBL(Button)[__ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnRedraw](this, surface);
+         ((void (*)(Window, Surface))PUREVTBL(Button)[__ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnRedraw])(this, surface);
          return;
       }
       // if(bevel)