X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2a015b8917bd71878cbf096b3c09f4faad3e3856..6a6ea041d96f19c89c0f68741502f08e5cee97ec:/include/wx/motif/private.h diff --git a/include/wx/motif/private.h b/include/wx/motif/private.h index 4f87d491ee..3301bbfc39 100644 --- a/include/wx/motif/private.h +++ b/include/wx/motif/private.h @@ -14,12 +14,13 @@ #include "wx/defs.h" #include "X11/Xlib.h" +#include "wx/evtloop.h" -class WXDLLEXPORT wxFont; -class WXDLLEXPORT wxWindow; -class WXDLLEXPORT wxSize; -class WXDLLEXPORT wxBitmap; -class WXDLLEXPORT wxColour; +class WXDLLIMPEXP_FWD_CORE wxFont; +class WXDLLIMPEXP_FWD_CORE wxWindow; +class WXDLLIMPEXP_FWD_CORE wxSize; +class WXDLLIMPEXP_FWD_CORE wxBitmap; +class WXDLLIMPEXP_FWD_CORE wxColour; #include "wx/x11/privx.h" @@ -106,6 +107,9 @@ 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 @@ -124,23 +128,40 @@ extern XColor itemColors[5] ; // ---------------------------------------------------------------------------- wxString wxXmStringToString( const XmString& xmString ); -XmString wxStringToXmString( const wxString& string ); XmString wxStringToXmString( const char* string ); +inline XmString wxStringToXmString( const wxCharBuffer& string ) + { return wxStringToXmString(string.data()); } +inline XmString wxStringToXmString( const wxString& string ) + { return wxStringToXmString((const char*)string.mb_str()); } // XmString made easy to use in wxWidgets (and has an added benefit of // 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 wchar_t* str) + { + Init(wxConvLibc.cWC2MB(str)); } wxXmString(const wxString& str) { - m_string = XmStringCreateLtoR((char *)str.mb_str(), - XmSTRING_DEFAULT_CHARSET); + Init(str.mb_str()); + } + + wxXmString(const wxCStrData& str) + { + Init(str); } // just to avoid calling XmStringFree() @@ -173,11 +194,9 @@ wxSize wxDoGetSingleTextCtrlBestSize( Widget textWidget, // event-related functions // ---------------------------------------------------------------------------- -class wxEventLoop; - // executes one main loop iteration (implemented in src/motif/evtloop.cpp) // returns true if the loop should be exited -bool wxDoEventLoopIteration( wxEventLoop& evtLoop ); +bool wxDoEventLoopIteration( wxGUIEventLoop& evtLoop ); // Consume all events until no more left void wxFlushEvents(WXDisplay* display);