#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"
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
// ----------------------------------------------------------------------------
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.c_str(),
- XmSTRING_DEFAULT_CHARSET);
+ Init(str.mb_str());
+ }
+
+ wxXmString(const wxCStrData& str)
+ {
+ Init(str);
}
// just to avoid calling XmStringFree()
// 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);