/////////////////////////////////////////////////////////////////////////////
-// Name: private.h
+// Name: wx/motif/private.h
// Purpose: Private declarations for wxMotif port
// Author: Julian Smart
// Modified by:
// ----------------------------------------------------------------------------
// 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 *);
// ----------------------------------------------------------------------------
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
// 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;
};