]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/utils.cpp
wxDC::SetFont can now handle invalid font and doesn't assert anymore (other ports...
[wxWidgets.git] / src / motif / utils.cpp
index 082d3285be2c52986726704397207cf96978cc6f..9f6ed67e35324661f01c31c2ea15611c891a352c 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 
 // headers
 // ----------------------------------------------------------------------------
 
+#ifdef __VMS
+#define XtDisplay XTDISPLAY
+#endif
+
 #include "wx/setup.h"
 #include "wx/utils.h"
 #include "wx/app.h"
 #include "wx/setup.h"
 #include "wx/utils.h"
 #include "wx/app.h"
     #include <sysent.h>
 #endif
 
     #include <sysent.h>
 #endif
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #include <Xm/Xm.h>
 #include <Xm/Xm.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/unix/execute.h"
 
 
 #include "wx/unix/execute.h"
 
@@ -638,6 +648,28 @@ void wxDisplaySize(int *width, int *height)
         *height = DisplayHeight (dpy, DefaultScreen (dpy));
 }
 
         *height = DisplayHeight (dpy, DefaultScreen (dpy));
 }
 
+void wxDisplaySizeMM(int *width, int *height)
+{
+    Display *dpy = (Display*) wxGetDisplay();
+
+    if ( width )
+        *width = DisplayWidthMM(dpy, DefaultScreen (dpy));
+    if ( height )
+        *height = DisplayHeightMM(dpy, DefaultScreen (dpy));
+}
+
+void wxClientDisplayRect(int *x, int *y, int *width, int *height)
+{
+    // This is supposed to return desktop dimensions minus any window
+    // manager panels, menus, taskbars, etc.  If there is a way to do that
+    // for this platform please fix this function, otherwise it defaults
+    // to the entire desktop.
+    if (x) *x = 0;
+    if (y) *y = 0;
+    wxDisplaySize(width, height);
+}
+
+
 // Configurable display in Motif
 static WXDisplay *gs_currentDisplay = NULL;
 static wxString gs_displayName;
 // Configurable display in Motif
 static WXDisplay *gs_currentDisplay = NULL;
 static wxString gs_displayName;
@@ -689,8 +721,6 @@ bool wxSetDisplay(const wxString& display_name)
         else
             return FALSE;
     }
         else
             return FALSE;
     }
-
-    return FALSE;
 }
 
 wxString wxGetDisplayName()
 }
 
 wxString wxGetDisplayName()
@@ -698,6 +728,11 @@ wxString wxGetDisplayName()
     return gs_displayName;
 }
 
     return gs_displayName;
 }
 
+wxWindow* wxFindWindowAtPoint(const wxPoint& pt)
+{
+    return wxGenericFindWindowAtPoint(pt);
+}
+
 // ----------------------------------------------------------------------------
 // accelerators
 // ----------------------------------------------------------------------------
 // ----------------------------------------------------------------------------
 // accelerators
 // ----------------------------------------------------------------------------
@@ -731,7 +766,8 @@ char * wxFindAccelerator (const char *s)
     //     handling
     return NULL;
 
     //     handling
     return NULL;
 
-    // The accelerator text is after the \t char.
+#if 0
+   // The accelerator text is after the \t char.
     while (*s && *s != '\t')
         s++;
     if (*s == '\0')
     while (*s && *s != '\t')
         s++;
     if (*s == '\0')
@@ -778,6 +814,7 @@ char * wxFindAccelerator (const char *s)
     }
     delete[]tmp;
     return wxBuffer;
     }
     delete[]tmp;
     return wxBuffer;
+#endif
 }
 
 XmString wxFindAcceleratorText (const char *s)
 }
 
 XmString wxFindAcceleratorText (const char *s)
@@ -786,7 +823,8 @@ XmString wxFindAcceleratorText (const char *s)
     //     handling
     return NULL;
 
     //     handling
     return NULL;
 
-    // The accelerator text is after the \t char.
+#if 0
+   // The accelerator text is after the \t char.
     while (*s && *s != '\t')
         s++;
     if (*s == '\0')
     while (*s && *s != '\t')
         s++;
     if (*s == '\0')
@@ -794,6 +832,7 @@ XmString wxFindAcceleratorText (const char *s)
     s++;
     XmString text = XmStringCreateSimple ((char *)s);
     return text;
     s++;
     XmString text = XmStringCreateSimple ((char *)s);
     return text;
+#endif
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------
@@ -1134,7 +1173,7 @@ void wxAllocNearestColor(Display *d,Colormap cmp,XColor *xc)
     xc -> green = color_defs[pixel].green;
     xc -> blue = color_defs[pixel].blue;
     xc -> flags = DoRed | DoGreen | DoBlue;
     xc -> green = color_defs[pixel].green;
     xc -> blue = color_defs[pixel].blue;
     xc -> flags = DoRed | DoGreen | DoBlue;
-    
+
 /*  FIXME, TODO
     if (!XAllocColor(d,cmp,xc))
         cout << "wxAllocNearestColor : Warning : Cannot find nearest color !\n";
 /*  FIXME, TODO
     if (!XAllocColor(d,cmp,xc))
         cout << "wxAllocNearestColor : Warning : Cannot find nearest color !\n";