]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/motif/private.h
Moved all the coordinate system calculation to wxDCBase
[wxWidgets.git] / include / wx / motif / private.h
index 5cf2b7d0e928e1ec6189934ac9f183767183d719..8bee9f9bf743bcb3341f98880f1985e5f9d9843a 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        private.h
+// Name:        wx/motif/private.h
 // Purpose:     Private declarations for wxMotif port
 // Author:      Julian Smart
 // Modified by:
@@ -55,11 +55,11 @@ WXWidget wxCreateBorderWidget( WXWidget parent, long style );
 // ----------------------------------------------------------------------------
 
 // All widgets should have this as their resize proc.
-extern void wxWidgetResizeProc(Widget w, XConfigureEvent *event, 
+extern void wxWidgetResizeProc(Widget w, XConfigureEvent *event,
                                String args[], int *num_args);
 
 // For repainting arbitrary windows
-void wxUniversalRepaintProc(Widget w, XtPointer WXUNUSED(c_data), 
+void wxUniversalRepaintProc(Widget w, XtPointer WXUNUSED(c_data),
                             XEvent *event, char *);
 
 // ----------------------------------------------------------------------------
@@ -76,7 +76,7 @@ extern bool wxAddWindowToTable(Widget w, wxWindow *win);
 // ----------------------------------------------------------------------------
 
 // Creates a bitmap with transparent areas drawn in the given colour.
-wxBitmap wxCreateMaskedBitmap(const wxBitmap& bitmap, wxColour& colour);
+wxBitmap wxCreateMaskedBitmap(const wxBitmap& bitmap, const wxColour& colour);
 
 // ----------------------------------------------------------------------------
 // key events related functions
@@ -99,13 +99,16 @@ extern bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win,
 extern void wxDoChangeForegroundColour(WXWidget widget,
                                        wxColour& foregroundColour);
 extern void wxDoChangeBackgroundColour(WXWidget widget,
-                                       wxColour& backgroundColour,
+                                       const wxColour& backgroundColour,
                                        bool changeArmColour = false);
-extern void wxDoChangeFont(WXWidget widget, wxFont& font);
+extern void wxDoChangeFont(WXWidget widget, const wxFont& font);
 extern void wxGetTextExtent(WXDisplay* display, const wxFont& font,
                             double scale,
                             const wxString& string, int* width, int* height,
                             int* ascent, int* descent);
+extern void wxGetTextExtent(const wxWindow* window, const wxString& str,
+                            int* width, int* height,
+                            int* ascent, int* descent);
 
 #define wxNO_COLORS   0x00
 #define wxBACK_COLORS 0x01
@@ -131,27 +134,36 @@ XmString wxStringToXmString( const char* string );
 // cleaning up automatically)
 class wxXmString
 {
+    void Init(const char *str)
+    {
+        m_string = XmStringCreateLtoR((char *)str, XmSTRING_DEFAULT_CHARSET);
+    }
+
 public:
     wxXmString(const char* str)
     {
-        m_string = XmStringCreateLtoR((char *)str, XmSTRING_DEFAULT_CHARSET);
+        Init(str);
     }
 
     wxXmString(const wxString& str)
     {
-        m_string = XmStringCreateLtoR((char *)str.c_str(),
-            XmSTRING_DEFAULT_CHARSET);
+        Init(str.mb_str());
+    }
+
+    wxXmString(const wxCStrData& str)
+    {
+        Init(str);
     }
 
     // just to avoid calling XmStringFree()
     wxXmString(const XmString& string) { m_string = string; }
 
     ~wxXmString() { XmStringFree(m_string); }
-    
+
     // semi-implicit conversion to XmString (shouldn't rely on implicit
     // conversion because many of Motif functions are macros)
     XmString operator()() const { return m_string; }
-    
+
 private:
     XmString m_string;
 };