Small doc corrections
Removed wxFontDirectory Added move event to dialog and frame Cannot remeber the rest git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -33,7 +33,7 @@ palette problems.
|
|||||||
Default constructor.
|
Default constructor.
|
||||||
|
|
||||||
\func{}{wxStaticBitmap}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
\func{}{wxStaticBitmap}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||||
\param{const wxBitmap\& }{label = ``"}, \param{const wxPosition\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
\param{const wxBitmap\& }{label = ``"}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||||
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticBitmap"}}
|
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticBitmap"}}
|
||||||
|
|
||||||
Constructor, creating and showing a text control.
|
Constructor, creating and showing a text control.
|
||||||
@@ -61,7 +61,7 @@ Constructor, creating and showing a text control.
|
|||||||
\membersection{wxStaticBitmap::Create}\label{wxstaticbitmapcreate}
|
\membersection{wxStaticBitmap::Create}\label{wxstaticbitmapcreate}
|
||||||
|
|
||||||
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||||
\param{const wxBitmap\& }{label = ``"}, \param{const wxPosition\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
\param{const wxBitmap\& }{label = ``"}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||||
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticBitmap"}}
|
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticBitmap"}}
|
||||||
|
|
||||||
Creation function, for two-step construction. For details see \helpref{wxStaticBitmap::wxStaticBitmap}{wxstaticbitmapconstr}.
|
Creation function, for two-step construction. For details see \helpref{wxStaticBitmap::wxStaticBitmap}{wxstaticbitmapconstr}.
|
||||||
|
@@ -32,7 +32,7 @@ See also \helpref{window styles overview}{windowstyles}.
|
|||||||
Default constructor.
|
Default constructor.
|
||||||
|
|
||||||
\func{}{wxStaticText}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
\func{}{wxStaticText}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||||
\param{const wxString\& }{label = ``"}, \param{const wxPosition\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
\param{const wxString\& }{label = ``"}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||||
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticText"}}
|
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticText"}}
|
||||||
|
|
||||||
Constructor, creating and showing a text control.
|
Constructor, creating and showing a text control.
|
||||||
@@ -60,7 +60,7 @@ Constructor, creating and showing a text control.
|
|||||||
\membersection{wxStaticText::Create}\label{wxstatictextcreate}
|
\membersection{wxStaticText::Create}\label{wxstatictextcreate}
|
||||||
|
|
||||||
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||||
\param{const wxString\& }{label = ``"}, \param{const wxPosition\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
\param{const wxString\& }{label = ``"}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||||
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticText"}}
|
\param{long}{ style = 0}, \param{const wxString\& }{name = ``staticText"}}
|
||||||
|
|
||||||
Creation function, for two-step construction. For details see \helpref{wxStaticText::wxStaticText}{wxstatictextconstr}.
|
Creation function, for two-step construction. For details see \helpref{wxStaticText::wxStaticText}{wxstatictextconstr}.
|
||||||
|
@@ -72,7 +72,7 @@ generated when enter is pressed in a single-line text control.}
|
|||||||
Default constructor.
|
Default constructor.
|
||||||
|
|
||||||
\func{}{wxTextCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
\func{}{wxTextCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||||
\param{const wxString\& }{value = ``"}, \param{const wxPosition\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
\param{const wxString\& }{value = ``"}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``text"}}
|
\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``text"}}
|
||||||
|
|
||||||
Constructor, creating and showing a text control.
|
Constructor, creating and showing a text control.
|
||||||
@@ -126,7 +126,7 @@ Copies the selected text to the clipboard under Motif and MS Windows.
|
|||||||
\membersection{wxTextCtrl::Create}\label{wxtextctrlcreate}
|
\membersection{wxTextCtrl::Create}\label{wxtextctrlcreate}
|
||||||
|
|
||||||
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||||
\param{const wxString\& }{value = ``"}, \param{const wxPosition\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
\param{const wxString\& }{value = ``"}, \param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``text"}}
|
\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``text"}}
|
||||||
|
|
||||||
Creates the text control for two-step construction. Derived classes
|
Creates the text control for two-step construction. Derived classes
|
||||||
|
@@ -74,6 +74,7 @@ class wxApp: public wxEvtHandler
|
|||||||
|
|
||||||
wxWindow *GetTopWindow();
|
wxWindow *GetTopWindow();
|
||||||
void SetTopWindow( wxWindow *win );
|
void SetTopWindow( wxWindow *win );
|
||||||
|
|
||||||
virtual int MainLoop();
|
virtual int MainLoop();
|
||||||
void ExitMainLoop();
|
void ExitMainLoop();
|
||||||
bool Initialized();
|
bool Initialized();
|
||||||
@@ -88,29 +89,26 @@ class wxApp: public wxEvtHandler
|
|||||||
bool SendIdleEvents( wxWindow* win );
|
bool SendIdleEvents( wxWindow* win );
|
||||||
|
|
||||||
inline wxString GetAppName() const
|
inline wxString GetAppName() const
|
||||||
{
|
{ if (m_appName != "") return m_appName; else return m_className; }
|
||||||
if (m_appName != "")
|
inline void SetAppName( const wxString& name ) { m_appName = name; }
|
||||||
return m_appName;
|
|
||||||
else return m_className;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void SetAppName(const wxString& name) { m_appName = name; };
|
|
||||||
inline wxString GetClassName() const { return m_className; }
|
inline wxString GetClassName() const { return m_className; }
|
||||||
inline void SetClassName( const wxString& name ) { m_className = name; }
|
inline void SetClassName( const wxString& name ) { m_className = name; }
|
||||||
|
|
||||||
const wxString& GetVendorName() const { return m_vendorName; }
|
const wxString& GetVendorName() const { return m_vendorName; }
|
||||||
void SetVendorName( const wxString& name ) { m_vendorName = name; }
|
void SetVendorName( const wxString& name ) { m_vendorName = name; }
|
||||||
|
|
||||||
inline void SetExitOnFrameDelete( bool flag ) { m_exitOnFrameDelete = flag; }
|
inline void SetExitOnFrameDelete( bool flag ) { m_exitOnFrameDelete = flag; }
|
||||||
inline bool GetExitOnFrameDelete() const { return m_exitOnFrameDelete; }
|
inline bool GetExitOnFrameDelete() const { return m_exitOnFrameDelete; }
|
||||||
|
|
||||||
void SetPrintMode(int WXUNUSED(mode) ) {};
|
void SetPrintMode( int WXUNUSED(mode) ) {}
|
||||||
int GetPrintMode() const { return wxPRINT_POSTSCRIPT; };
|
int GetPrintMode() const { return wxPRINT_POSTSCRIPT; }
|
||||||
|
|
||||||
/* override this function to create default log target of arbitrary
|
/* override this function to create default log target of arbitrary
|
||||||
* user-defined classv (default implementation creates a wxLogGui object) */
|
* user-defined classv (default implementation creates a wxLogGui object) */
|
||||||
virtual wxLog *CreateLogTarget();
|
virtual wxLog *CreateLogTarget();
|
||||||
|
|
||||||
/* GTK implementation */
|
// implementation
|
||||||
|
|
||||||
static bool Initialize();
|
static bool Initialize();
|
||||||
static bool InitialzeVisual();
|
static bool InitialzeVisual();
|
||||||
@@ -130,12 +128,11 @@ class wxApp: public wxEvtHandler
|
|||||||
int argc;
|
int argc;
|
||||||
char **argv;
|
char **argv;
|
||||||
|
|
||||||
static wxAppInitializerFunction m_appInitFn;
|
wxString m_vendorName;
|
||||||
|
wxString m_appName;
|
||||||
|
wxString m_className;
|
||||||
|
|
||||||
private:
|
static wxAppInitializerFunction m_appInitFn;
|
||||||
wxString m_vendorName,
|
|
||||||
m_appName,
|
|
||||||
m_className;
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
@@ -30,13 +30,17 @@ class wxPaintDC;
|
|||||||
class wxWindow;
|
class wxWindow;
|
||||||
|
|
||||||
class wxFont;
|
class wxFont;
|
||||||
|
/*
|
||||||
class wxFontNameDirectory;
|
class wxFontNameDirectory;
|
||||||
|
*/
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// global variables
|
// global variables
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/*
|
||||||
extern wxFontNameDirectory *wxTheFontNameDirectory;
|
extern wxFontNameDirectory *wxTheFontNameDirectory;
|
||||||
|
*/
|
||||||
extern const char* wxEmptyString;
|
extern const char* wxEmptyString;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -60,7 +64,6 @@ public:
|
|||||||
|
|
||||||
int GetPointSize() const;
|
int GetPointSize() const;
|
||||||
int GetFamily() const;
|
int GetFamily() const;
|
||||||
int GetFontId() const;
|
|
||||||
int GetStyle() const;
|
int GetStyle() const;
|
||||||
int GetWeight() const;
|
int GetWeight() const;
|
||||||
bool GetUnderlined() const;
|
bool GetUnderlined() const;
|
||||||
@@ -87,6 +90,7 @@ public:
|
|||||||
// no data :-)
|
// no data :-)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// wxFontDirectory
|
// wxFontDirectory
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -114,5 +118,6 @@ class wxFontNameDirectory: public wxObject
|
|||||||
class wxHashTable *table;
|
class wxHashTable *table;
|
||||||
int nextFontId;
|
int nextFontId;
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
#endif // __GTKFONTH__
|
#endif // __GTKFONTH__
|
||||||
|
@@ -83,7 +83,7 @@ public:
|
|||||||
virtual wxToolBar* CreateToolBar( long style = wxNO_BORDER|wxTB_HORIZONTAL, wxWindowID id = -1,
|
virtual wxToolBar* CreateToolBar( long style = wxNO_BORDER|wxTB_HORIZONTAL, wxWindowID id = -1,
|
||||||
const wxString& name = wxToolBarNameStr);
|
const wxString& name = wxToolBarNameStr);
|
||||||
virtual wxToolBar *OnCreateToolBar( long style, wxWindowID id, const wxString& name );
|
virtual wxToolBar *OnCreateToolBar( long style, wxWindowID id, const wxString& name );
|
||||||
virtual wxToolBar *GetToolBar(void) const;
|
virtual wxToolBar *GetToolBar() const;
|
||||||
inline void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
|
inline void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
|
||||||
|
|
||||||
virtual void SetMenuBar( wxMenuBar *menuBar );
|
virtual void SetMenuBar( wxMenuBar *menuBar );
|
||||||
@@ -94,10 +94,10 @@ public:
|
|||||||
|
|
||||||
virtual void SetIcon( const wxIcon &icon );
|
virtual void SetIcon( const wxIcon &icon );
|
||||||
virtual void Iconize( bool WXUNUSED(iconize)) { }
|
virtual void Iconize( bool WXUNUSED(iconize)) { }
|
||||||
virtual bool IsIconized(void) const { return FALSE; }
|
virtual bool IsIconized() const { return FALSE; }
|
||||||
bool Iconized(void) const { return IsIconized(); }
|
bool Iconized() const { return IsIconized(); }
|
||||||
virtual void Maximize(bool WXUNUSED(maximize)) {}
|
virtual void Maximize(bool WXUNUSED(maximize)) {}
|
||||||
virtual void Restore(void) {}
|
virtual void Restore() {}
|
||||||
|
|
||||||
void OnActivate( wxActivateEvent &WXUNUSED(event) ) { } // called from docview.cpp
|
void OnActivate( wxActivateEvent &WXUNUSED(event) ) { } // called from docview.cpp
|
||||||
void OnSize( wxSizeEvent &event );
|
void OnSize( wxSizeEvent &event );
|
||||||
@@ -109,7 +109,6 @@ public:
|
|||||||
virtual wxPoint GetClientAreaOrigin() const;
|
virtual wxPoint GetClientAreaOrigin() const;
|
||||||
void DoMenuUpdates();
|
void DoMenuUpdates();
|
||||||
void DoMenuUpdates(wxMenu* menu);
|
void DoMenuUpdates(wxMenu* menu);
|
||||||
|
|
||||||
virtual void OnInternalIdle();
|
virtual void OnInternalIdle();
|
||||||
|
|
||||||
wxMenuBar *m_frameMenuBar;
|
wxMenuBar *m_frameMenuBar;
|
||||||
|
@@ -41,10 +41,9 @@ class wxGauge: public wxControl
|
|||||||
DECLARE_DYNAMIC_CLASS(wxGauge)
|
DECLARE_DYNAMIC_CLASS(wxGauge)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
inline wxGauge(void) { m_rangeMax = 0; m_gaugePos = 0; m_useProgressBar = TRUE; }
|
inline wxGauge() { m_rangeMax = 0; m_gaugePos = 0; m_useProgressBar = TRUE; }
|
||||||
|
|
||||||
inline wxGauge( wxWindow *parent, wxWindowID id,
|
inline wxGauge( wxWindow *parent, wxWindowID id, int range,
|
||||||
int range,
|
|
||||||
const wxPoint& pos = wxDefaultPosition,
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize,
|
const wxSize& size = wxDefaultSize,
|
||||||
long style = wxGA_HORIZONTAL,
|
long style = wxGA_HORIZONTAL,
|
||||||
@@ -53,8 +52,7 @@ class wxGauge: public wxControl
|
|||||||
{
|
{
|
||||||
Create(parent, id, range, pos, size, style, validator, name);
|
Create(parent, id, range, pos, size, style, validator, name);
|
||||||
}
|
}
|
||||||
bool Create( wxWindow *parent, wxWindowID id,
|
bool Create( wxWindow *parent, wxWindowID id, int range,
|
||||||
int range,
|
|
||||||
const wxPoint& pos = wxDefaultPosition,
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize,
|
const wxSize& size = wxDefaultSize,
|
||||||
long style = wxGA_HORIZONTAL,
|
long style = wxGA_HORIZONTAL,
|
||||||
@@ -64,13 +62,13 @@ class wxGauge: public wxControl
|
|||||||
void SetBezelFace( int WXUNUSED(w) ) {};
|
void SetBezelFace( int WXUNUSED(w) ) {};
|
||||||
void SetRange( int r );
|
void SetRange( int r );
|
||||||
void SetValue( int pos );
|
void SetValue( int pos );
|
||||||
int GetShadowWidth(void) const { return 0; };
|
int GetShadowWidth() const { return 0; };
|
||||||
int GetBezelFace(void) const { return 0; };
|
int GetBezelFace() const { return 0; };
|
||||||
int GetRange(void) const;
|
int GetRange() const;
|
||||||
int GetValue(void) const;
|
int GetValue() const;
|
||||||
|
|
||||||
// Are we a Win95/GTK progress bar, or a normal gauge?
|
// Are we a Win95/GTK progress bar, or a normal gauge?
|
||||||
inline bool GetProgressBar(void) const { return m_useProgressBar; }
|
inline bool GetProgressBar() const { return m_useProgressBar; }
|
||||||
|
|
||||||
// implementation
|
// implementation
|
||||||
|
|
||||||
|
@@ -17,19 +17,20 @@
|
|||||||
#pragma interface
|
#pragma interface
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class WXDLLEXPORT wxGDIObject: public wxObject
|
class wxGDIObject : public wxObject
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxGDIObject)
|
DECLARE_DYNAMIC_CLASS(wxGDIObject)
|
||||||
public:
|
|
||||||
inline wxGDIObject(void) { m_visible = FALSE; };
|
|
||||||
inline ~wxGDIObject(void) {};
|
|
||||||
|
|
||||||
virtual bool GetVisible(void) { return m_visible; }
|
public:
|
||||||
virtual void SetVisible(bool v) { m_visible = v; }
|
inline wxGDIObject() { m_visible = FALSE; };
|
||||||
|
inline ~wxGDIObject() {};
|
||||||
|
|
||||||
|
virtual bool GetVisible() { return m_visible; }
|
||||||
|
virtual void SetVisible( bool visible ) { m_visible = visible; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool m_visible; // Can a pointer to this object be safely taken?
|
bool m_visible; /* can a pointer to this object be safely taken?
|
||||||
// - only if created within FindOrCreate...
|
* - only if created within FindOrCreate... */
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -168,7 +168,7 @@ public:
|
|||||||
|
|
||||||
virtual void SetSizeHints( int minW, int minH, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1 );
|
virtual void SetSizeHints( int minW, int minH, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1 );
|
||||||
|
|
||||||
// Dialog units translations. Implemented in wincmn.cpp.
|
/* Dialog units translations. Implemented in wincmn.cpp. */
|
||||||
wxPoint ConvertPixelsToDialog( const wxPoint& pt );
|
wxPoint ConvertPixelsToDialog( const wxPoint& pt );
|
||||||
wxPoint ConvertDialogToPixels( const wxPoint& pt );
|
wxPoint ConvertDialogToPixels( const wxPoint& pt );
|
||||||
inline wxSize ConvertPixelsToDialog( const wxSize& sz )
|
inline wxSize ConvertPixelsToDialog( const wxSize& sz )
|
||||||
@@ -198,8 +198,8 @@ public:
|
|||||||
{ return m_parent; }
|
{ return m_parent; }
|
||||||
wxWindow *GetGrandParent() const
|
wxWindow *GetGrandParent() const
|
||||||
{ return (m_parent ? m_parent->m_parent : (wxWindow*)NULL); }
|
{ return (m_parent ? m_parent->m_parent : (wxWindow*)NULL); }
|
||||||
void SetParent( wxWindow *p )
|
void SetParent( wxWindow *parent )
|
||||||
{ m_parent = p; }
|
{ m_parent = parent; }
|
||||||
virtual wxWindow *ReParent( wxWindow *newParent );
|
virtual wxWindow *ReParent( wxWindow *newParent );
|
||||||
|
|
||||||
wxEvtHandler *GetEventHandler() const;
|
wxEvtHandler *GetEventHandler() const;
|
||||||
|
@@ -74,6 +74,7 @@ class wxApp: public wxEvtHandler
|
|||||||
|
|
||||||
wxWindow *GetTopWindow();
|
wxWindow *GetTopWindow();
|
||||||
void SetTopWindow( wxWindow *win );
|
void SetTopWindow( wxWindow *win );
|
||||||
|
|
||||||
virtual int MainLoop();
|
virtual int MainLoop();
|
||||||
void ExitMainLoop();
|
void ExitMainLoop();
|
||||||
bool Initialized();
|
bool Initialized();
|
||||||
@@ -88,29 +89,26 @@ class wxApp: public wxEvtHandler
|
|||||||
bool SendIdleEvents( wxWindow* win );
|
bool SendIdleEvents( wxWindow* win );
|
||||||
|
|
||||||
inline wxString GetAppName() const
|
inline wxString GetAppName() const
|
||||||
{
|
{ if (m_appName != "") return m_appName; else return m_className; }
|
||||||
if (m_appName != "")
|
inline void SetAppName( const wxString& name ) { m_appName = name; }
|
||||||
return m_appName;
|
|
||||||
else return m_className;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void SetAppName(const wxString& name) { m_appName = name; };
|
|
||||||
inline wxString GetClassName() const { return m_className; }
|
inline wxString GetClassName() const { return m_className; }
|
||||||
inline void SetClassName( const wxString& name ) { m_className = name; }
|
inline void SetClassName( const wxString& name ) { m_className = name; }
|
||||||
|
|
||||||
const wxString& GetVendorName() const { return m_vendorName; }
|
const wxString& GetVendorName() const { return m_vendorName; }
|
||||||
void SetVendorName( const wxString& name ) { m_vendorName = name; }
|
void SetVendorName( const wxString& name ) { m_vendorName = name; }
|
||||||
|
|
||||||
inline void SetExitOnFrameDelete( bool flag ) { m_exitOnFrameDelete = flag; }
|
inline void SetExitOnFrameDelete( bool flag ) { m_exitOnFrameDelete = flag; }
|
||||||
inline bool GetExitOnFrameDelete() const { return m_exitOnFrameDelete; }
|
inline bool GetExitOnFrameDelete() const { return m_exitOnFrameDelete; }
|
||||||
|
|
||||||
void SetPrintMode(int WXUNUSED(mode) ) {};
|
void SetPrintMode( int WXUNUSED(mode) ) {}
|
||||||
int GetPrintMode() const { return wxPRINT_POSTSCRIPT; };
|
int GetPrintMode() const { return wxPRINT_POSTSCRIPT; }
|
||||||
|
|
||||||
/* override this function to create default log target of arbitrary
|
/* override this function to create default log target of arbitrary
|
||||||
* user-defined classv (default implementation creates a wxLogGui object) */
|
* user-defined classv (default implementation creates a wxLogGui object) */
|
||||||
virtual wxLog *CreateLogTarget();
|
virtual wxLog *CreateLogTarget();
|
||||||
|
|
||||||
/* GTK implementation */
|
// implementation
|
||||||
|
|
||||||
static bool Initialize();
|
static bool Initialize();
|
||||||
static bool InitialzeVisual();
|
static bool InitialzeVisual();
|
||||||
@@ -130,12 +128,11 @@ class wxApp: public wxEvtHandler
|
|||||||
int argc;
|
int argc;
|
||||||
char **argv;
|
char **argv;
|
||||||
|
|
||||||
static wxAppInitializerFunction m_appInitFn;
|
wxString m_vendorName;
|
||||||
|
wxString m_appName;
|
||||||
|
wxString m_className;
|
||||||
|
|
||||||
private:
|
static wxAppInitializerFunction m_appInitFn;
|
||||||
wxString m_vendorName,
|
|
||||||
m_appName,
|
|
||||||
m_className;
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
@@ -30,13 +30,17 @@ class wxPaintDC;
|
|||||||
class wxWindow;
|
class wxWindow;
|
||||||
|
|
||||||
class wxFont;
|
class wxFont;
|
||||||
|
/*
|
||||||
class wxFontNameDirectory;
|
class wxFontNameDirectory;
|
||||||
|
*/
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// global variables
|
// global variables
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/*
|
||||||
extern wxFontNameDirectory *wxTheFontNameDirectory;
|
extern wxFontNameDirectory *wxTheFontNameDirectory;
|
||||||
|
*/
|
||||||
extern const char* wxEmptyString;
|
extern const char* wxEmptyString;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -60,7 +64,6 @@ public:
|
|||||||
|
|
||||||
int GetPointSize() const;
|
int GetPointSize() const;
|
||||||
int GetFamily() const;
|
int GetFamily() const;
|
||||||
int GetFontId() const;
|
|
||||||
int GetStyle() const;
|
int GetStyle() const;
|
||||||
int GetWeight() const;
|
int GetWeight() const;
|
||||||
bool GetUnderlined() const;
|
bool GetUnderlined() const;
|
||||||
@@ -87,6 +90,7 @@ public:
|
|||||||
// no data :-)
|
// no data :-)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// wxFontDirectory
|
// wxFontDirectory
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -114,5 +118,6 @@ class wxFontNameDirectory: public wxObject
|
|||||||
class wxHashTable *table;
|
class wxHashTable *table;
|
||||||
int nextFontId;
|
int nextFontId;
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
#endif // __GTKFONTH__
|
#endif // __GTKFONTH__
|
||||||
|
@@ -83,7 +83,7 @@ public:
|
|||||||
virtual wxToolBar* CreateToolBar( long style = wxNO_BORDER|wxTB_HORIZONTAL, wxWindowID id = -1,
|
virtual wxToolBar* CreateToolBar( long style = wxNO_BORDER|wxTB_HORIZONTAL, wxWindowID id = -1,
|
||||||
const wxString& name = wxToolBarNameStr);
|
const wxString& name = wxToolBarNameStr);
|
||||||
virtual wxToolBar *OnCreateToolBar( long style, wxWindowID id, const wxString& name );
|
virtual wxToolBar *OnCreateToolBar( long style, wxWindowID id, const wxString& name );
|
||||||
virtual wxToolBar *GetToolBar(void) const;
|
virtual wxToolBar *GetToolBar() const;
|
||||||
inline void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
|
inline void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
|
||||||
|
|
||||||
virtual void SetMenuBar( wxMenuBar *menuBar );
|
virtual void SetMenuBar( wxMenuBar *menuBar );
|
||||||
@@ -94,10 +94,10 @@ public:
|
|||||||
|
|
||||||
virtual void SetIcon( const wxIcon &icon );
|
virtual void SetIcon( const wxIcon &icon );
|
||||||
virtual void Iconize( bool WXUNUSED(iconize)) { }
|
virtual void Iconize( bool WXUNUSED(iconize)) { }
|
||||||
virtual bool IsIconized(void) const { return FALSE; }
|
virtual bool IsIconized() const { return FALSE; }
|
||||||
bool Iconized(void) const { return IsIconized(); }
|
bool Iconized() const { return IsIconized(); }
|
||||||
virtual void Maximize(bool WXUNUSED(maximize)) {}
|
virtual void Maximize(bool WXUNUSED(maximize)) {}
|
||||||
virtual void Restore(void) {}
|
virtual void Restore() {}
|
||||||
|
|
||||||
void OnActivate( wxActivateEvent &WXUNUSED(event) ) { } // called from docview.cpp
|
void OnActivate( wxActivateEvent &WXUNUSED(event) ) { } // called from docview.cpp
|
||||||
void OnSize( wxSizeEvent &event );
|
void OnSize( wxSizeEvent &event );
|
||||||
@@ -109,7 +109,6 @@ public:
|
|||||||
virtual wxPoint GetClientAreaOrigin() const;
|
virtual wxPoint GetClientAreaOrigin() const;
|
||||||
void DoMenuUpdates();
|
void DoMenuUpdates();
|
||||||
void DoMenuUpdates(wxMenu* menu);
|
void DoMenuUpdates(wxMenu* menu);
|
||||||
|
|
||||||
virtual void OnInternalIdle();
|
virtual void OnInternalIdle();
|
||||||
|
|
||||||
wxMenuBar *m_frameMenuBar;
|
wxMenuBar *m_frameMenuBar;
|
||||||
|
@@ -41,10 +41,9 @@ class wxGauge: public wxControl
|
|||||||
DECLARE_DYNAMIC_CLASS(wxGauge)
|
DECLARE_DYNAMIC_CLASS(wxGauge)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
inline wxGauge(void) { m_rangeMax = 0; m_gaugePos = 0; m_useProgressBar = TRUE; }
|
inline wxGauge() { m_rangeMax = 0; m_gaugePos = 0; m_useProgressBar = TRUE; }
|
||||||
|
|
||||||
inline wxGauge( wxWindow *parent, wxWindowID id,
|
inline wxGauge( wxWindow *parent, wxWindowID id, int range,
|
||||||
int range,
|
|
||||||
const wxPoint& pos = wxDefaultPosition,
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize,
|
const wxSize& size = wxDefaultSize,
|
||||||
long style = wxGA_HORIZONTAL,
|
long style = wxGA_HORIZONTAL,
|
||||||
@@ -53,8 +52,7 @@ class wxGauge: public wxControl
|
|||||||
{
|
{
|
||||||
Create(parent, id, range, pos, size, style, validator, name);
|
Create(parent, id, range, pos, size, style, validator, name);
|
||||||
}
|
}
|
||||||
bool Create( wxWindow *parent, wxWindowID id,
|
bool Create( wxWindow *parent, wxWindowID id, int range,
|
||||||
int range,
|
|
||||||
const wxPoint& pos = wxDefaultPosition,
|
const wxPoint& pos = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize,
|
const wxSize& size = wxDefaultSize,
|
||||||
long style = wxGA_HORIZONTAL,
|
long style = wxGA_HORIZONTAL,
|
||||||
@@ -64,13 +62,13 @@ class wxGauge: public wxControl
|
|||||||
void SetBezelFace( int WXUNUSED(w) ) {};
|
void SetBezelFace( int WXUNUSED(w) ) {};
|
||||||
void SetRange( int r );
|
void SetRange( int r );
|
||||||
void SetValue( int pos );
|
void SetValue( int pos );
|
||||||
int GetShadowWidth(void) const { return 0; };
|
int GetShadowWidth() const { return 0; };
|
||||||
int GetBezelFace(void) const { return 0; };
|
int GetBezelFace() const { return 0; };
|
||||||
int GetRange(void) const;
|
int GetRange() const;
|
||||||
int GetValue(void) const;
|
int GetValue() const;
|
||||||
|
|
||||||
// Are we a Win95/GTK progress bar, or a normal gauge?
|
// Are we a Win95/GTK progress bar, or a normal gauge?
|
||||||
inline bool GetProgressBar(void) const { return m_useProgressBar; }
|
inline bool GetProgressBar() const { return m_useProgressBar; }
|
||||||
|
|
||||||
// implementation
|
// implementation
|
||||||
|
|
||||||
|
@@ -17,19 +17,20 @@
|
|||||||
#pragma interface
|
#pragma interface
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class WXDLLEXPORT wxGDIObject: public wxObject
|
class wxGDIObject : public wxObject
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxGDIObject)
|
DECLARE_DYNAMIC_CLASS(wxGDIObject)
|
||||||
public:
|
|
||||||
inline wxGDIObject(void) { m_visible = FALSE; };
|
|
||||||
inline ~wxGDIObject(void) {};
|
|
||||||
|
|
||||||
virtual bool GetVisible(void) { return m_visible; }
|
public:
|
||||||
virtual void SetVisible(bool v) { m_visible = v; }
|
inline wxGDIObject() { m_visible = FALSE; };
|
||||||
|
inline ~wxGDIObject() {};
|
||||||
|
|
||||||
|
virtual bool GetVisible() { return m_visible; }
|
||||||
|
virtual void SetVisible( bool visible ) { m_visible = visible; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool m_visible; // Can a pointer to this object be safely taken?
|
bool m_visible; /* can a pointer to this object be safely taken?
|
||||||
// - only if created within FindOrCreate...
|
* - only if created within FindOrCreate... */
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -168,7 +168,7 @@ public:
|
|||||||
|
|
||||||
virtual void SetSizeHints( int minW, int minH, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1 );
|
virtual void SetSizeHints( int minW, int minH, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1 );
|
||||||
|
|
||||||
// Dialog units translations. Implemented in wincmn.cpp.
|
/* Dialog units translations. Implemented in wincmn.cpp. */
|
||||||
wxPoint ConvertPixelsToDialog( const wxPoint& pt );
|
wxPoint ConvertPixelsToDialog( const wxPoint& pt );
|
||||||
wxPoint ConvertDialogToPixels( const wxPoint& pt );
|
wxPoint ConvertDialogToPixels( const wxPoint& pt );
|
||||||
inline wxSize ConvertPixelsToDialog( const wxSize& sz )
|
inline wxSize ConvertPixelsToDialog( const wxSize& sz )
|
||||||
@@ -198,8 +198,8 @@ public:
|
|||||||
{ return m_parent; }
|
{ return m_parent; }
|
||||||
wxWindow *GetGrandParent() const
|
wxWindow *GetGrandParent() const
|
||||||
{ return (m_parent ? m_parent->m_parent : (wxWindow*)NULL); }
|
{ return (m_parent ? m_parent->m_parent : (wxWindow*)NULL); }
|
||||||
void SetParent( wxWindow *p )
|
void SetParent( wxWindow *parent )
|
||||||
{ m_parent = p; }
|
{ m_parent = parent; }
|
||||||
virtual wxWindow *ReParent( wxWindow *newParent );
|
virtual wxWindow *ReParent( wxWindow *newParent );
|
||||||
|
|
||||||
wxEvtHandler *GetEventHandler() const;
|
wxEvtHandler *GetEventHandler() const;
|
||||||
|
@@ -236,7 +236,7 @@ void DnDFrame::OnPaint(wxPaintEvent& /*event*/)
|
|||||||
GetClientSize( &w, &h );
|
GetClientSize( &w, &h );
|
||||||
|
|
||||||
wxPaintDC dc(this);
|
wxPaintDC dc(this);
|
||||||
dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL ) );
|
dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL, FALSE, "charter" ) );
|
||||||
dc.DrawText( "Drag text from here!", 20, h-22 );
|
dc.DrawText( "Drag text from here!", 20, h-22 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -44,11 +44,6 @@
|
|||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#ifdef __WXGTK__
|
|
||||||
#include "gdk/gdk.h"
|
|
||||||
#include "gtk/gtk.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
|
|
||||||
#ifdef DrawText
|
#ifdef DrawText
|
||||||
@@ -826,18 +821,6 @@ void wxPostScriptDC::SetFont (const wxFont& font)
|
|||||||
|
|
||||||
m_font = font;
|
m_font = font;
|
||||||
|
|
||||||
#ifdef __WXGTK__
|
|
||||||
char *name = wxTheFontNameDirectory->GetPostScriptName( m_font.GetFamily(),
|
|
||||||
m_font.GetWeight(),
|
|
||||||
m_font.GetStyle() );
|
|
||||||
if (!name) name = "Times-Roman";
|
|
||||||
|
|
||||||
*m_pstream << "/" << name << " reencodeISO def\n"
|
|
||||||
<< "/" << name << " findfont\n"
|
|
||||||
<< YLOG2DEVREL(font.GetPointSize())
|
|
||||||
<< " scalefont setfont\n";
|
|
||||||
#else
|
|
||||||
char buf[100];
|
|
||||||
const char *name;
|
const char *name;
|
||||||
const char *style = "";
|
const char *style = "";
|
||||||
int Style = m_font.GetStyle();
|
int Style = m_font.GetStyle();
|
||||||
@@ -874,8 +857,9 @@ void wxPostScriptDC::SetFont (const wxFont& font)
|
|||||||
style = "";
|
style = "";
|
||||||
}
|
}
|
||||||
else if (Style == wxNORMAL && Weight == wxBOLD)
|
else if (Style == wxNORMAL && Weight == wxBOLD)
|
||||||
|
{
|
||||||
style = "-Bold";
|
style = "-Bold";
|
||||||
|
}
|
||||||
else if (Style == wxITALIC && (Weight == wxNORMAL || Weight == wxLIGHT))
|
else if (Style == wxITALIC && (Weight == wxNORMAL || Weight == wxLIGHT))
|
||||||
{
|
{
|
||||||
if (m_font.GetFamily () == wxROMAN)
|
if (m_font.GetFamily () == wxROMAN)
|
||||||
@@ -905,15 +889,17 @@ void wxPostScriptDC::SetFont (const wxFont& font)
|
|||||||
style = "-BoldOblique";
|
style = "-BoldOblique";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
style = "";
|
style = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
char buf[100];
|
||||||
strcpy (buf, name);
|
strcpy (buf, name);
|
||||||
strcat (buf, style);
|
strcat (buf, style);
|
||||||
|
|
||||||
|
*m_pstream << buf << " reencodeISO def\n";
|
||||||
*m_pstream << buf << " findfont\n";
|
*m_pstream << buf << " findfont\n";
|
||||||
// *m_pstream << (m_font.GetPointSize() * m_scaleFactor) << " scalefont setfont\n";
|
*m_pstream << YLOG2DEVREL(m_font.GetPointSize()) << " scalefont setfont\n";
|
||||||
// No scale factor in this implementation?
|
|
||||||
*m_pstream << (m_font.GetPointSize()) << " scalefont setfont\n";
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxPostScriptDC::SetPen( const wxPen& pen )
|
void wxPostScriptDC::SetPen( const wxPen& pen )
|
||||||
@@ -1455,7 +1441,6 @@ void wxPostScriptDC::StartPage ()
|
|||||||
m_logicalOriginX = 0;
|
m_logicalOriginX = 0;
|
||||||
m_logicalOriginY = 0;
|
m_logicalOriginY = 0;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Output scaling
|
// Output scaling
|
||||||
long translate_x, translate_y;
|
long translate_x, translate_y;
|
||||||
double scale_x, scale_y;
|
double scale_x, scale_y;
|
||||||
@@ -1504,183 +1489,198 @@ void wxPostScriptDC::GetTextExtent (const wxString& string, long *x, long *y,
|
|||||||
long *descent, long *externalLeading, wxFont *theFont,
|
long *descent, long *externalLeading, wxFont *theFont,
|
||||||
bool WXUNUSED(use16))
|
bool WXUNUSED(use16))
|
||||||
{
|
{
|
||||||
// if (!m_pstream) return;
|
|
||||||
|
|
||||||
wxFont *fontToUse = theFont;
|
wxFont *fontToUse = theFont;
|
||||||
|
|
||||||
if (!fontToUse) fontToUse = (wxFont*) &m_font;
|
if (!fontToUse) fontToUse = (wxFont*) &m_font;
|
||||||
|
|
||||||
|
wxCHECK_RET( fontToUse, "GetTextExtent: no font defined" );
|
||||||
|
wxCHECK_RET( x, "GetTextExtent: x == NULL" );
|
||||||
|
wxCHECK_RET( y, "GetTextExtent: y == NULL" );
|
||||||
|
|
||||||
#if !USE_AFM_FOR_POSTSCRIPT
|
#if !USE_AFM_FOR_POSTSCRIPT
|
||||||
// Provide a VERY rough estimate (avoid using it)
|
/* Provide a VERY rough estimate (avoid using it).
|
||||||
// Chris Breeze 5/11/97: produces accurate results for mono-spaced
|
* Produces accurate results for mono-spaced font
|
||||||
// font such as Courier (aka wxMODERN)
|
* such as Courier (aka wxMODERN) */
|
||||||
|
|
||||||
int height = 12;
|
int height = 12;
|
||||||
if (fontToUse)
|
if (fontToUse)
|
||||||
{
|
{
|
||||||
height = fontToUse->GetPointSize();
|
height = fontToUse->GetPointSize();
|
||||||
}
|
}
|
||||||
*x = strlen (string) * height * 72 / 120;
|
*x = strlen (string) * height * 72 / 120;
|
||||||
*y = (long) (height * 1.32); // allow for descender
|
*y = (long) (height * 1.32); /* allow for descender */
|
||||||
|
if (descent) *descent = 0;
|
||||||
if (descent)
|
if (externalLeading) *externalLeading = 0;
|
||||||
*descent = 0;
|
|
||||||
if (externalLeading)
|
|
||||||
*externalLeading = 0;
|
|
||||||
#else
|
#else
|
||||||
// +++++ start of contributed code +++++
|
|
||||||
|
|
||||||
// ************************************************************
|
/* method for calculating string widths in postscript:
|
||||||
// method for calculating string widths in postscript:
|
/ read in the AFM (adobe font metrics) file for the
|
||||||
// read in the AFM (adobe font metrics) file for the
|
/ actual font, parse it and extract the character widths
|
||||||
// actual font, parse it and extract the character widths
|
/ and also the descender. this may be improved, but for now
|
||||||
// and also the descender. this may be improved, but for now
|
/ it works well. the AFM file is only read in if the
|
||||||
// it works well. the AFM file is only read in if the
|
/ font is changed. this may be chached in the future.
|
||||||
// font is changed. this may be chached in the future.
|
/ calls to GetTextExtent with the font unchanged are rather
|
||||||
// calls to GetTextExtent with the font unchanged are rather
|
/ efficient!!!
|
||||||
// efficient!!!
|
/
|
||||||
//
|
/ for each font and style used there is an AFM file necessary.
|
||||||
// for each font and style used there is an AFM file necessary.
|
/ currently i have only files for the roman font family.
|
||||||
// currently i have only files for the roman font family.
|
/ I try to get files for the other ones!
|
||||||
// i try to get files for the other ones!
|
/
|
||||||
//
|
/ CAVE: the size of the string is currently always calculated
|
||||||
// CAVE: the size of the string is currently always calculated
|
/ in 'points' (1/72 of an inch). this should later on be
|
||||||
// in 'points' (1/72 of an inch). this should later on be
|
/ changed to depend on the mapping mode.
|
||||||
// changed to depend on the mapping mode.
|
/ CAVE: the path to the AFM files must be set before calling this
|
||||||
// CAVE: the path to the AFM files must be set before calling this
|
/ function. this is usually done by a call like the following:
|
||||||
// function. this is usually done by a call like the following:
|
/ wxSetAFMPath("d:\\wxw161\\afm\\");
|
||||||
// wxSetAFMPath("d:\\wxw161\\afm\\");
|
/
|
||||||
//
|
/ example:
|
||||||
// example:
|
/
|
||||||
//
|
/ wxPostScriptDC dc(NULL, TRUE);
|
||||||
// wxPostScriptDC dc(NULL, TRUE);
|
/ if (dc.Ok()){
|
||||||
// if (dc.Ok()){
|
/ wxSetAFMPath("d:\\wxw161\\afm\\");
|
||||||
// wxSetAFMPath("d:\\wxw161\\afm\\");
|
/ dc.StartDoc("Test");
|
||||||
// dc.StartDoc("Test");
|
/ dc.StartPage();
|
||||||
// dc.StartPage();
|
/ long w,h;
|
||||||
// long w,h;
|
/ dc.SetFont(new wxFont(10, wxROMAN, wxNORMAL, wxNORMAL));
|
||||||
// dc.SetFont(new wxFont(10, wxROMAN, wxNORMAL, wxNORMAL));
|
/ dc.GetTextExtent("Hallo",&w,&h);
|
||||||
// dc.GetTextExtent("Hallo",&w,&h);
|
/ dc.EndPage();
|
||||||
// dc.EndPage();
|
/ dc.EndDoc();
|
||||||
// dc.EndDoc();
|
/ }
|
||||||
// }
|
/
|
||||||
//
|
/ by steve (stefan.hammes@urz.uni-heidelberg.de)
|
||||||
// by steve (stefan.hammes@urz.uni-heidelberg.de)
|
/ created: 10.09.94
|
||||||
// created: 10.09.94
|
/ updated: 14.05.95 */
|
||||||
// updated: 14.05.95
|
|
||||||
|
|
||||||
assert(fontToUse && "void wxPostScriptDC::GetTextExtent: no font defined");
|
/* these static vars are for storing the state between calls */
|
||||||
assert(x && "void wxPostScriptDC::GetTextExtent: x == NULL");
|
|
||||||
assert(y && "void wxPostScriptDC::GetTextExtent: y == NULL");
|
|
||||||
|
|
||||||
// these static vars are for storing the state between calls
|
|
||||||
static int lastFamily= INT_MIN;
|
static int lastFamily= INT_MIN;
|
||||||
static int lastSize= INT_MIN;
|
static int lastSize= INT_MIN;
|
||||||
static int lastStyle= INT_MIN;
|
static int lastStyle= INT_MIN;
|
||||||
static int lastWeight= INT_MIN;
|
static int lastWeight= INT_MIN;
|
||||||
static int lastDescender = INT_MIN;
|
static int lastDescender = INT_MIN;
|
||||||
static int lastWidths[256]; // widths of the characters
|
static int lastWidths[256]; /* widths of the characters */
|
||||||
|
|
||||||
// get actual parameters
|
/* get actual parameters */
|
||||||
const int Family = fontToUse->GetFamily();
|
const int Family = fontToUse->GetFamily();
|
||||||
const int Size = fontToUse->GetPointSize();
|
const int Size = fontToUse->GetPointSize();
|
||||||
const int Style = fontToUse->GetStyle();
|
const int Style = fontToUse->GetStyle();
|
||||||
const int Weight = fontToUse->GetWeight();
|
const int Weight = fontToUse->GetWeight();
|
||||||
|
|
||||||
// if we have another font, read the font-metrics
|
/* if we have another font, read the font-metrics */
|
||||||
if(Family!=lastFamily||Size!=lastSize||Style!=lastStyle||Weight!=lastWeight){
|
if (Family!=lastFamily || Size!=lastSize || Style!=lastStyle || Weight!=lastWeight)
|
||||||
// store actual values
|
{
|
||||||
|
/* store actual values */
|
||||||
lastFamily = Family;
|
lastFamily = Family;
|
||||||
lastSize = Size;
|
lastSize = Size;
|
||||||
lastStyle = Style;
|
lastStyle = Style;
|
||||||
lastWeight = Weight;
|
lastWeight = Weight;
|
||||||
|
|
||||||
// read in new font metrics **************************************
|
char *name = (char*) NULL;
|
||||||
|
|
||||||
// 1. construct filename ******************************************
|
switch (Family)
|
||||||
/* MATTHEW: [2] Use wxTheFontNameDirectory */
|
{
|
||||||
const char *name;
|
case wxMODERN:
|
||||||
|
{
|
||||||
|
if ((Style == wxITALIC) && (Weight == wxBOLD)) name = "CourBoO";
|
||||||
|
else if ((Style != wxITALIC) && (Weight == wxBOLD)) name = "CourBo";
|
||||||
|
else if ((Style == wxITALIC) && (Weight != wxBOLD)) name = "Cour0";
|
||||||
|
else name = "Cour";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case wxROMAN:
|
||||||
|
{
|
||||||
|
if ((Style == wxITALIC) && (Weight == wxBOLD)) name = "TimesBoO";
|
||||||
|
else if ((Style != wxITALIC) && (Weight == wxBOLD)) name = "TimesBo";
|
||||||
|
else if ((Style == wxITALIC) && (Weight != wxBOLD)) name = "TimesO";
|
||||||
|
else if name = "TimesRo"; /* no typo */
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
if ((Style == wxITALIC) && (Weight == wxBOLD)) name = "HelvBoO";
|
||||||
|
else if ((Style != wxITALIC) && (Weight == wxBOLD)) name = "HelvBo";
|
||||||
|
else if ((Style == wxITALIC) && (Weight != wxBOLD)) name = "Helv0";
|
||||||
|
else if ((Style != wxITALIC) && (Weight != wxBOLD)) name = "Helv";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
// Julian - we'll need to do this a different way now we've removed the
|
/* get the directory of the AFM files */
|
||||||
// font directory system. Must find Stefan's original code.
|
|
||||||
|
|
||||||
name = wxTheFontNameDirectory->GetAFMName(Family, Weight, Style);
|
|
||||||
if (!name)
|
|
||||||
name = "unknown";
|
|
||||||
|
|
||||||
// get the directory of the AFM files
|
|
||||||
char afmName[256];
|
char afmName[256];
|
||||||
afmName[0] = 0;
|
afmName[0] = 0;
|
||||||
if (wxGetAFMPath())
|
if (wxGetAFMPath()) strcpy( afmName, wxGetAFMPath() );
|
||||||
strcpy(afmName,wxGetAFMPath());
|
|
||||||
|
|
||||||
// 2. open and process the file **********************************
|
/* 2. open and process the file
|
||||||
|
/ a short explanation of the AFM format:
|
||||||
// a short explanation of the AFM format:
|
/ we have for each character a line, which gives its size
|
||||||
// we have for each character a line, which gives its size
|
/ e.g.:
|
||||||
// e.g.:
|
/
|
||||||
//
|
/ C 63 ; WX 444 ; N question ; B 49 -14 395 676 ;
|
||||||
// C 63 ; WX 444 ; N question ; B 49 -14 395 676 ;
|
/
|
||||||
//
|
/ that means, we have a character with ascii code 63, and width
|
||||||
// that means, we have a character with ascii code 63, and width
|
/ (444/1000 * fontSize) points.
|
||||||
// (444/1000 * fontSize) points.
|
/ the other data is ignored for now!
|
||||||
// the other data is ignored for now!
|
/
|
||||||
//
|
/ when the font has changed, we read in the right AFM file and store the
|
||||||
// when the font has changed, we read in the right AFM file and store the
|
/ character widths in an array, which is processed below (see point 3.). */
|
||||||
// character widths in an array, which is processed below (see point 3.).
|
|
||||||
|
|
||||||
// new elements JC Sun Aug 25 23:21:44 MET DST 1996
|
|
||||||
|
|
||||||
|
/* new elements JC Sun Aug 25 23:21:44 MET DST 1996 */
|
||||||
|
|
||||||
strcat(afmName,name);
|
strcat(afmName,name);
|
||||||
strcat(afmName,".afm");
|
strcat(afmName,".afm");
|
||||||
FILE *afmFile = fopen(afmName,"r");
|
FILE *afmFile = fopen(afmName,"r");
|
||||||
if(afmFile==NULL){
|
if ( afmFile==NULL )
|
||||||
|
{
|
||||||
wxLogDebug( "GetTextExtent: can't open AFM file '%s'\n", afmName );
|
wxLogDebug( "GetTextExtent: can't open AFM file '%s'\n", afmName );
|
||||||
wxLogDebug( " using approximate values\n");
|
wxLogDebug( " using approximate values\n");
|
||||||
int i;
|
for (int i=0; i<256; i++) lastWidths[i] = 500; /* an approximate value */
|
||||||
for (i=0; i<256; i++) lastWidths[i] = 500; // an approximate value
|
lastDescender = -150; /* dito. */
|
||||||
lastDescender = -150; // dito.
|
}
|
||||||
}else{
|
else
|
||||||
int i;
|
{
|
||||||
// init the widths array
|
/* init the widths array */
|
||||||
for(i=0; i<256; i++) lastWidths[i]= INT_MIN;
|
for(int i=0; i<256; i++) lastWidths[i] = INT_MIN;
|
||||||
// some variables for holding parts of a line
|
/* some variables for holding parts of a line */
|
||||||
char cString[10],semiString[10],WXString[10],descString[20];
|
char cString[10],semiString[10],WXString[10],descString[20];
|
||||||
char upString[30], utString[30], encString[50];
|
char upString[30], utString[30], encString[50];
|
||||||
char line[256];
|
char line[256];
|
||||||
int ascii,cWidth;
|
int ascii,cWidth;
|
||||||
// read in the file and parse it
|
/* read in the file and parse it */
|
||||||
while(fgets(line,sizeof(line),afmFile)!=NULL){
|
while(fgets(line,sizeof(line),afmFile)!=NULL)
|
||||||
// A.) check for descender definition
|
{
|
||||||
if(strncmp(line,"Descender",9)==0){
|
/* A.) check for descender definition */
|
||||||
if((sscanf(line,"%s%d",descString,&lastDescender)!=2)
|
if (strncmp(line,"Descender",9)==0)
|
||||||
|| (strcmp(descString,"Descender")!=0)) {
|
{
|
||||||
wxLogDebug("AFM-file '%s': line '%s' has error (bad descender)\n",
|
if ((sscanf(line,"%s%d",descString,&lastDescender)!=2) ||
|
||||||
afmName,line);
|
(strcmp(descString,"Descender")!=0))
|
||||||
|
{
|
||||||
|
wxLogDebug( "AFM-file '%s': line '%s' has error (bad descender)\n", afmName,line );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// JC 1.) check for UnderlinePosition
|
/* JC 1.) check for UnderlinePosition */
|
||||||
else if(strncmp(line,"UnderlinePosition",17)==0){
|
else if(strncmp(line,"UnderlinePosition",17)==0)
|
||||||
if((sscanf(line,"%s%lf",upString,&UnderlinePosition)!=2)
|
{
|
||||||
|| (strcmp(upString,"UnderlinePosition")!=0)) {
|
if ((sscanf(line,"%s%lf",upString,&UnderlinePosition)!=2) ||
|
||||||
wxLogDebug("AFM-file '%s': line '%s' has error (bad UnderlinePosition)\n",
|
(strcmp(upString,"UnderlinePosition")!=0))
|
||||||
afmName,line);
|
{
|
||||||
|
wxLogDebug( "AFM-file '%s': line '%s' has error (bad UnderlinePosition)\n", afmName, line );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// JC 2.) check for UnderlineThickness
|
/* JC 2.) check for UnderlineThickness */
|
||||||
else if(strncmp(line,"UnderlineThickness",18)==0){
|
else if(strncmp(line,"UnderlineThickness",18)==0)
|
||||||
if((sscanf(line,"%s%lf",utString,&UnderlineThickness)!=2)
|
{
|
||||||
|| (strcmp(utString,"UnderlineThickness")!=0)) {
|
if ((sscanf(line,"%s%lf",utString,&UnderlineThickness)!=2) ||
|
||||||
wxLogDebug("AFM-file '%s': line '%s' has error (bad UnderlineThickness)\n",
|
(strcmp(utString,"UnderlineThickness")!=0))
|
||||||
afmName,line);
|
{
|
||||||
|
wxLogDebug( "AFM-file '%s': line '%s' has error (bad UnderlineThickness)\n", afmName, line );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// JC 3.) check for EncodingScheme
|
/* JC 3.) check for EncodingScheme */
|
||||||
else if(strncmp(line,"EncodingScheme",14)==0){
|
else if(strncmp(line,"EncodingScheme",14)==0)
|
||||||
if((sscanf(line,"%s%s",utString,encString)!=2)
|
{
|
||||||
|| (strcmp(utString,"EncodingScheme")!=0)) {
|
if ((sscanf(line,"%s%s",utString,encString)!=2) ||
|
||||||
wxLogDebug("AFM-file '%s': line '%s' has error (bad EncodingScheme)\n",
|
(strcmp(utString,"EncodingScheme")!=0))
|
||||||
afmName,line);
|
{
|
||||||
|
wxLogDebug("AFM-file '%s': line '%s' has error (bad EncodingScheme)\n", afmName, line );
|
||||||
}
|
}
|
||||||
else if (strncmp(encString, "AdobeStandardEncoding", 21))
|
else if (strncmp(encString, "AdobeStandardEncoding", 21))
|
||||||
{
|
{
|
||||||
@@ -1688,32 +1688,36 @@ void wxPostScriptDC::GetTextExtent (const wxString& string, long *x, long *y,
|
|||||||
afmName,line, encString);
|
afmName,line, encString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// B.) check for char-width
|
/* B.) check for char-width */
|
||||||
else if(strncmp(line,"C ",2)==0){
|
else if(strncmp(line,"C ",2)==0)
|
||||||
if(sscanf(line,"%s%d%s%s%d",
|
{
|
||||||
cString,&ascii,semiString,WXString,&cWidth)!=5){
|
if (sscanf(line,"%s%d%s%s%d",cString,&ascii,semiString,WXString,&cWidth)!=5)
|
||||||
|
{
|
||||||
wxLogDebug("AFM-file '%s': line '%s' has an error (bad character width)\n",afmName,line);
|
wxLogDebug("AFM-file '%s': line '%s' has an error (bad character width)\n",afmName,line);
|
||||||
}
|
}
|
||||||
if(strcmp(cString,"C")!=0 || strcmp(semiString,";")!=0 ||
|
if(strcmp(cString,"C")!=0 || strcmp(semiString,";")!=0 || strcmp(WXString,"WX")!=0)
|
||||||
strcmp(WXString,"WX")!=0){
|
{
|
||||||
wxLogDebug("AFM-file '%s': line '%s' has a format error\n",afmName,line);
|
wxLogDebug("AFM-file '%s': line '%s' has a format error\n",afmName,line);
|
||||||
}
|
}
|
||||||
//printf(" char '%c'=%d has width '%d'\n",ascii,ascii,cWidth);
|
/* printf(" char '%c'=%d has width '%d'\n",ascii,ascii,cWidth); */
|
||||||
if(ascii>=0 && ascii<256){
|
if (ascii>=0 && ascii<256)
|
||||||
lastWidths[ascii] = cWidth; // store width
|
{
|
||||||
}else{
|
lastWidths[ascii] = cWidth; /* store width */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
/* MATTHEW: this happens a lot; don't print an error */
|
/* MATTHEW: this happens a lot; don't print an error */
|
||||||
// wxLogDebug("AFM-file '%s': ASCII value %d out of range\n",afmName,ascii);
|
/* wxLogDebug("AFM-file '%s': ASCII value %d out of range\n",afmName,ascii); */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// C.) ignore other entries.
|
/* C.) ignore other entries. */
|
||||||
}
|
}
|
||||||
fclose(afmFile);
|
fclose(afmFile);
|
||||||
}
|
}
|
||||||
// hack to compute correct values for german 'Umlaute'
|
/* hack to compute correct values for german 'Umlaute'
|
||||||
// the correct way would be to map the character names
|
/ the correct way would be to map the character names
|
||||||
// like 'adieresis' to corresp. positions of ISOEnc and read
|
/ like 'adieresis' to corresp. positions of ISOEnc and read
|
||||||
// these values from AFM files, too. Maybe later ...
|
/ these values from AFM files, too. Maybe later ... */
|
||||||
lastWidths[196] = lastWidths['A']; // <20>
|
lastWidths[196] = lastWidths['A']; // <20>
|
||||||
lastWidths[228] = lastWidths['a']; // <20>
|
lastWidths[228] = lastWidths['a']; // <20>
|
||||||
lastWidths[214] = lastWidths['O']; // <20>
|
lastWidths[214] = lastWidths['O']; // <20>
|
||||||
@@ -1723,50 +1727,56 @@ void wxPostScriptDC::GetTextExtent (const wxString& string, long *x, long *y,
|
|||||||
lastWidths[223] = lastWidths[251]; // <20>
|
lastWidths[223] = lastWidths[251]; // <20>
|
||||||
}
|
}
|
||||||
|
|
||||||
// JC: calculate UnderlineThickness/UnderlinePosition
|
/* JC: calculate UnderlineThickness/UnderlinePosition */
|
||||||
m_underlinePosition = m_underlinePosition * fontToUse->GetPointSize() / 1000.0f;
|
m_underlinePosition = m_underlinePosition * fontToUse->GetPointSize() / 1000.0f;
|
||||||
m_underlineThickness = m_underlineThickness * fontToUse->GetPointSize() / 1000.0f * m_scaleFactor;
|
m_underlineThickness = m_underlineThickness * fontToUse->GetPointSize() / 1000.0f * m_scaleFactor;
|
||||||
|
|
||||||
// 3. now the font metrics are read in, calc size *******************
|
/* 3. now the font metrics are read in, calc size this
|
||||||
// this is done by adding the widths of the characters in the
|
/ is done by adding the widths of the characters in the
|
||||||
// string. they are given in 1/1000 of the size!
|
/ string. they are given in 1/1000 of the size! */
|
||||||
|
|
||||||
long widthSum=0;
|
long widthSum=0;
|
||||||
long height=Size; // by default
|
long height=Size; /* by default */
|
||||||
unsigned char *p;
|
unsigned char *p;
|
||||||
for(p=(unsigned char *)(const char *)string; *p; p++){
|
for(p=(unsigned char *)(const char *)string; *p; p++)
|
||||||
if(lastWidths[*p]== INT_MIN){
|
{
|
||||||
wxLogDebug("GetTextExtent: undefined width for character '%c' (%d)\n",
|
if(lastWidths[*p]== INT_MIN)
|
||||||
*p,*p);
|
{
|
||||||
widthSum += (long)(lastWidths[' ']/1000.0F * Size); // assume space
|
wxLogDebug("GetTextExtent: undefined width for character '%c' (%d)\n", *p,*p);
|
||||||
}else{
|
widthSum += (long)(lastWidths[' ']/1000.0F * Size); /* assume space */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
widthSum += (long)((lastWidths[*p]/1000.0F)*Size);
|
widthSum += (long)((lastWidths[*p]/1000.0F)*Size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// add descender to height (it is usually a negative value)
|
|
||||||
if(lastDescender!=INT_MIN){
|
/* add descender to height (it is usually a negative value) */
|
||||||
|
if (lastDescender!=INT_MIN)
|
||||||
|
{
|
||||||
height += (long)(((-lastDescender)/1000.0F) * Size); /* MATTHEW: forgot scale */
|
height += (long)(((-lastDescender)/1000.0F) * Size); /* MATTHEW: forgot scale */
|
||||||
}
|
}
|
||||||
|
|
||||||
// return size values
|
/* return size values */
|
||||||
*x = widthSum;
|
*x = widthSum;
|
||||||
*y = height;
|
*y = height;
|
||||||
|
|
||||||
// return other parameters
|
/* return other parameters */
|
||||||
if (descent){
|
if (descent)
|
||||||
if(lastDescender!=INT_MIN){
|
{
|
||||||
|
if(lastDescender!=INT_MIN)
|
||||||
|
{
|
||||||
*descent = (long)(((-lastDescender)/1000.0F) * Size); /* MATTHEW: forgot scale */
|
*descent = (long)(((-lastDescender)/1000.0F) * Size); /* MATTHEW: forgot scale */
|
||||||
}else{
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
*descent = 0;
|
*descent = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// currently no idea how to calculate this!
|
/* currently no idea how to calculate this! */
|
||||||
// if (externalLeading) *externalLeading = 0;
|
if (externalLeading) *externalLeading = 0;
|
||||||
if (externalLeading)
|
|
||||||
*externalLeading = 0;
|
|
||||||
|
|
||||||
// ----- end of contributed code -----
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -204,7 +204,7 @@ void wxGenericFontDialog::CreateWidgets(void)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
wxString
|
wxString
|
||||||
*families = new wxString[5],
|
*families = new wxString[6],
|
||||||
*styles = new wxString[3],
|
*styles = new wxString[3],
|
||||||
*weights = new wxString[3];
|
*weights = new wxString[3];
|
||||||
families[0] = _("Roman");
|
families[0] = _("Roman");
|
||||||
@@ -212,6 +212,7 @@ void wxGenericFontDialog::CreateWidgets(void)
|
|||||||
families[2] = _("Modern");
|
families[2] = _("Modern");
|
||||||
families[3] = _("Script");
|
families[3] = _("Script");
|
||||||
families[4] = _("Swiss" );
|
families[4] = _("Swiss" );
|
||||||
|
families[5] = _("Teletype" );
|
||||||
styles[0] = _("Normal");
|
styles[0] = _("Normal");
|
||||||
styles[1] = _("Italic");
|
styles[1] = _("Italic");
|
||||||
styles[2] = _("Slant");
|
styles[2] = _("Slant");
|
||||||
@@ -401,6 +402,8 @@ char *wxFontFamilyIntToString(int family)
|
|||||||
return "Modern";
|
return "Modern";
|
||||||
case wxSCRIPT:
|
case wxSCRIPT:
|
||||||
return "Script";
|
return "Script";
|
||||||
|
case wxTELETYPE:
|
||||||
|
return "Teletype";
|
||||||
case wxSWISS:
|
case wxSWISS:
|
||||||
default:
|
default:
|
||||||
return "Swiss";
|
return "Swiss";
|
||||||
@@ -421,6 +424,8 @@ int wxFontFamilyStringToInt(char *family)
|
|||||||
return wxMODERN;
|
return wxMODERN;
|
||||||
else if (strcmp(family, "Script") == 0)
|
else if (strcmp(family, "Script") == 0)
|
||||||
return wxSCRIPT;
|
return wxSCRIPT;
|
||||||
|
else if (strcmp(family, "Teletype") == 0)
|
||||||
|
return wxTELETYPE;
|
||||||
else return wxSWISS;
|
else return wxSWISS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -384,8 +384,10 @@ bool wxApp::Initialize(void)
|
|||||||
|
|
||||||
wxSystemSettings::Init();
|
wxSystemSettings::Init();
|
||||||
|
|
||||||
|
/*
|
||||||
wxTheFontNameDirectory = new wxFontNameDirectory;
|
wxTheFontNameDirectory = new wxFontNameDirectory;
|
||||||
wxTheFontNameDirectory->Initialize();
|
wxTheFontNameDirectory->Initialize();
|
||||||
|
*/
|
||||||
|
|
||||||
wxTheColourDatabase = new wxColourDatabase( wxKEY_STRING );
|
wxTheColourDatabase = new wxColourDatabase( wxKEY_STRING );
|
||||||
wxTheColourDatabase->Initialize();
|
wxTheColourDatabase->Initialize();
|
||||||
@@ -426,8 +428,10 @@ void wxApp::CleanUp(void)
|
|||||||
if (wxTheColourDatabase) delete wxTheColourDatabase;
|
if (wxTheColourDatabase) delete wxTheColourDatabase;
|
||||||
wxTheColourDatabase = (wxColourDatabase*) NULL;
|
wxTheColourDatabase = (wxColourDatabase*) NULL;
|
||||||
|
|
||||||
|
/*
|
||||||
if (wxTheFontNameDirectory) delete wxTheFontNameDirectory;
|
if (wxTheFontNameDirectory) delete wxTheFontNameDirectory;
|
||||||
wxTheFontNameDirectory = (wxFontNameDirectory*) NULL;
|
wxTheFontNameDirectory = (wxFontNameDirectory*) NULL;
|
||||||
|
*/
|
||||||
|
|
||||||
wxDeleteStockObjects();
|
wxDeleteStockObjects();
|
||||||
|
|
||||||
|
@@ -69,7 +69,9 @@ wxColourDatabase *wxTheColourDatabase = (wxColourDatabase *) NULL;
|
|||||||
wxBitmapList *wxTheBitmapList = (wxBitmapList *) NULL;
|
wxBitmapList *wxTheBitmapList = (wxBitmapList *) NULL;
|
||||||
|
|
||||||
/* X only font names */
|
/* X only font names */
|
||||||
|
/*
|
||||||
wxFontNameDirectory *wxTheFontNameDirectory;
|
wxFontNameDirectory *wxTheFontNameDirectory;
|
||||||
|
*/
|
||||||
|
|
||||||
/* Stock objects */
|
/* Stock objects */
|
||||||
wxFont *wxNORMAL_FONT;
|
wxFont *wxNORMAL_FONT;
|
||||||
|
@@ -59,6 +59,24 @@ static void gtk_dialog_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation
|
|||||||
win->GtkOnSize( alloc->x, alloc->y, alloc->width, alloc->height );
|
win->GtkOnSize( alloc->x, alloc->y, alloc->width, alloc->height );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// "configure_event"
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
static gint gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxDialog *win )
|
||||||
|
{
|
||||||
|
if (!win->HasVMT()) return FALSE;
|
||||||
|
|
||||||
|
win->m_x = event->x;
|
||||||
|
win->m_y = event->y;
|
||||||
|
|
||||||
|
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
|
||||||
|
mevent.SetEventObject( win );
|
||||||
|
win->GetEventHandler()->ProcessEvent( mevent );
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// wxDialog
|
// wxDialog
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -107,9 +125,6 @@ bool wxDialog::Create( wxWindow *parent,
|
|||||||
gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
|
gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
|
||||||
GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this );
|
GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this );
|
||||||
|
|
||||||
gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate",
|
|
||||||
GTK_SIGNAL_FUNC(gtk_dialog_size_callback), (gpointer)this );
|
|
||||||
|
|
||||||
m_wxwindow = gtk_myfixed_new();
|
m_wxwindow = gtk_myfixed_new();
|
||||||
gtk_widget_show( m_wxwindow );
|
gtk_widget_show( m_wxwindow );
|
||||||
GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS );
|
GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS );
|
||||||
@@ -123,8 +138,13 @@ bool wxDialog::Create( wxWindow *parent,
|
|||||||
|
|
||||||
gtk_widget_set_usize( m_widget, m_width, m_height );
|
gtk_widget_set_usize( m_widget, m_width, m_height );
|
||||||
|
|
||||||
if (m_parent) m_parent->AddChild( this );
|
gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate",
|
||||||
|
GTK_SIGNAL_FUNC(gtk_dialog_size_callback), (gpointer)this );
|
||||||
|
|
||||||
|
gtk_signal_connect( GTK_OBJECT(m_widget), "configure_event",
|
||||||
|
GTK_SIGNAL_FUNC(gtk_dialog_configure_callback), (gpointer)this );
|
||||||
|
|
||||||
|
if (m_parent) m_parent->AddChild( this );
|
||||||
|
|
||||||
PostCreation();
|
PostCreation();
|
||||||
|
|
||||||
|
198
src/gtk/font.cpp
198
src/gtk/font.cpp
@@ -22,7 +22,9 @@
|
|||||||
// local data
|
// local data
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/*
|
||||||
extern wxFontNameDirectory *wxTheFontNameDirectory;
|
extern wxFontNameDirectory *wxTheFontNameDirectory;
|
||||||
|
*/
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// wxFont
|
// wxFont
|
||||||
@@ -40,7 +42,6 @@ public:
|
|||||||
int m_pointSize;
|
int m_pointSize;
|
||||||
int m_family, m_style, m_weight;
|
int m_family, m_style, m_weight;
|
||||||
bool m_underlined;
|
bool m_underlined;
|
||||||
int m_fontId;
|
|
||||||
wxString m_faceName;
|
wxString m_faceName;
|
||||||
|
|
||||||
bool m_byXFontName;
|
bool m_byXFontName;
|
||||||
@@ -57,7 +58,6 @@ wxFontRefData::wxFontRefData() : m_scaled_xfonts(wxKEY_INTEGER)
|
|||||||
m_style = wxNORMAL;
|
m_style = wxNORMAL;
|
||||||
m_weight = wxNORMAL;
|
m_weight = wxNORMAL;
|
||||||
m_underlined = FALSE;
|
m_underlined = FALSE;
|
||||||
m_fontId = 0;
|
|
||||||
m_font = (GdkFont *) NULL;
|
m_font = (GdkFont *) NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,7 +69,6 @@ wxFontRefData::wxFontRefData( const wxFontRefData& data ) : m_scaled_xfonts(wxKE
|
|||||||
m_style = data.m_style;
|
m_style = data.m_style;
|
||||||
m_weight = data.m_weight;
|
m_weight = data.m_weight;
|
||||||
m_underlined = data.m_underlined;
|
m_underlined = data.m_underlined;
|
||||||
m_fontId = data.m_fontId;
|
|
||||||
m_faceName = data.m_faceName;
|
m_faceName = data.m_faceName;
|
||||||
m_font = (GdkFont *) NULL;
|
m_font = (GdkFont *) NULL;
|
||||||
if (data.m_font) m_font = gdk_font_ref( data.m_font );
|
if (data.m_font) m_font = gdk_font_ref( data.m_font );
|
||||||
@@ -114,27 +113,28 @@ wxFont::wxFont( int pointSize, int family, int style, int weight, bool underline
|
|||||||
{
|
{
|
||||||
m_refData = new wxFontRefData();
|
m_refData = new wxFontRefData();
|
||||||
|
|
||||||
if (family == wxDEFAULT) family = wxSWISS;
|
if (family == wxDEFAULT)
|
||||||
|
M_FONTDATA->m_family = wxSWISS;
|
||||||
|
else
|
||||||
M_FONTDATA->m_family = family;
|
M_FONTDATA->m_family = family;
|
||||||
|
|
||||||
if (!face.IsEmpty())
|
if (!face.IsEmpty()) M_FONTDATA->m_faceName = face;
|
||||||
{
|
|
||||||
M_FONTDATA->m_faceName = face;
|
|
||||||
M_FONTDATA->m_fontId = wxTheFontNameDirectory->FindOrCreateFontId( face, family );
|
|
||||||
M_FONTDATA->m_family = wxTheFontNameDirectory->GetFamily( family );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
M_FONTDATA->m_fontId = family;
|
|
||||||
M_FONTDATA->m_family = wxTheFontNameDirectory->GetFamily( family );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (style == wxDEFAULT) style = wxNORMAL;
|
if (style == wxDEFAULT)
|
||||||
|
M_FONTDATA->m_style = wxNORMAL;
|
||||||
|
else
|
||||||
M_FONTDATA->m_style = style;
|
M_FONTDATA->m_style = style;
|
||||||
if (weight == wxDEFAULT) weight = wxNORMAL;
|
|
||||||
|
if (weight == wxDEFAULT)
|
||||||
|
M_FONTDATA->m_weight = wxNORMAL;
|
||||||
|
else
|
||||||
M_FONTDATA->m_weight = weight;
|
M_FONTDATA->m_weight = weight;
|
||||||
if (pointSize == wxDEFAULT) pointSize = 12;
|
|
||||||
|
if (pointSize == wxDEFAULT)
|
||||||
|
M_FONTDATA->m_pointSize = 12;
|
||||||
|
else
|
||||||
M_FONTDATA->m_pointSize = pointSize;
|
M_FONTDATA->m_pointSize = pointSize;
|
||||||
|
|
||||||
M_FONTDATA->m_underlined = underlined;
|
M_FONTDATA->m_underlined = underlined;
|
||||||
|
|
||||||
if (wxTheFontList) wxTheFontList->Append( this );
|
if (wxTheFontList) wxTheFontList->Append( this );
|
||||||
@@ -186,8 +186,7 @@ wxString wxFont::GetFaceName() const
|
|||||||
{
|
{
|
||||||
wxCHECK_MSG( Ok(), "", "invalid font" );
|
wxCHECK_MSG( Ok(), "", "invalid font" );
|
||||||
|
|
||||||
wxString s = wxTheFontNameDirectory->GetFontName( M_FONTDATA->m_fontId );
|
return M_FONTDATA->m_faceName;
|
||||||
return s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxFont::GetFamily() const
|
int wxFont::GetFamily() const
|
||||||
@@ -215,13 +214,6 @@ wxString wxFont::GetFamilyString() const
|
|||||||
return "wxDEFAULT";
|
return "wxDEFAULT";
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxFont::GetFontId() const
|
|
||||||
{
|
|
||||||
wxCHECK_MSG( Ok(), 0, "invalid font" );
|
|
||||||
|
|
||||||
return M_FONTDATA->m_fontId; // stub
|
|
||||||
}
|
|
||||||
|
|
||||||
int wxFont::GetStyle() const
|
int wxFont::GetStyle() const
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( Ok(), 0, "invalid font" );
|
wxCHECK_MSG( Ok(), 0, "invalid font" );
|
||||||
@@ -333,10 +325,8 @@ void wxFont::SetUnderlined(bool underlined)
|
|||||||
// get internal representation of font
|
// get internal representation of font
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
// local help function
|
static GdkFont *wxLoadQueryNearestFont( int point_size, int family, int style, int weight,
|
||||||
static GdkFont *wxLoadQueryNearestFont(int point_size, int fontid,
|
bool underlined, const wxString &facename );
|
||||||
int style, int weight,
|
|
||||||
bool underlined);
|
|
||||||
|
|
||||||
GdkFont *wxFont::GetInternalFont( float scale ) const
|
GdkFont *wxFont::GetInternalFont( float scale ) const
|
||||||
{
|
{
|
||||||
@@ -346,9 +336,10 @@ GdkFont *wxFont::GetInternalFont(float scale) const
|
|||||||
return (GdkFont*) NULL;
|
return (GdkFont*) NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* short cut if the special X font constructor has been used */
|
||||||
if (M_FONTDATA->m_byXFontName) return M_FONTDATA->m_font;
|
if (M_FONTDATA->m_byXFontName) return M_FONTDATA->m_font;
|
||||||
|
|
||||||
long int_scale = long(scale * 100.0 + 0.5); // key for fontlist
|
long int_scale = long(scale * 100.0 + 0.5); /* key for fontlist */
|
||||||
int point_scale = (M_FONTDATA->m_pointSize * 10 * int_scale) / 100;
|
int point_scale = (M_FONTDATA->m_pointSize * 10 * int_scale) / 100;
|
||||||
GdkFont *font = (GdkFont *) NULL;
|
GdkFont *font = (GdkFont *) NULL;
|
||||||
|
|
||||||
@@ -359,6 +350,7 @@ GdkFont *wxFont::GetInternalFont(float scale) const
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
if ((int_scale == 100) &&
|
if ((int_scale == 100) &&
|
||||||
(M_FONTDATA->m_family == wxSWISS) &&
|
(M_FONTDATA->m_family == wxSWISS) &&
|
||||||
(M_FONTDATA->m_style == wxNORMAL) &&
|
(M_FONTDATA->m_style == wxNORMAL) &&
|
||||||
@@ -369,14 +361,18 @@ GdkFont *wxFont::GetInternalFont(float scale) const
|
|||||||
font = gdk_font_load( "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" );
|
font = gdk_font_load( "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
font = wxLoadQueryNearestFont( point_scale, M_FONTDATA->m_fontId, M_FONTDATA->m_style,
|
font = wxLoadQueryNearestFont( point_scale, M_FONTDATA->m_family, M_FONTDATA->m_style,
|
||||||
M_FONTDATA->m_weight, M_FONTDATA->m_underlined );
|
M_FONTDATA->m_weight, M_FONTDATA->m_underlined, M_FONTDATA->m_faceName );
|
||||||
}
|
}
|
||||||
M_FONTDATA->m_scaled_xfonts.Append( int_scale, (wxObject*)font );
|
M_FONTDATA->m_scaled_xfonts.Append( int_scale, (wxObject*)font );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!font)
|
if (!font)
|
||||||
|
{
|
||||||
wxLogError("could not load any font");
|
wxLogError("could not load any font");
|
||||||
|
}
|
||||||
|
|
||||||
return font;
|
return font;
|
||||||
}
|
}
|
||||||
@@ -385,51 +381,89 @@ GdkFont *wxFont::GetInternalFont(float scale) const
|
|||||||
// local utilities to find a X font
|
// local utilities to find a X font
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
static GdkFont *wxLoadQueryFont(int point_size, int fontid, int style,
|
static GdkFont*wxLoadQueryFont( int pointSize, int family, int style, int weight,
|
||||||
int weight, bool WXUNUSED(underlined))
|
bool underlined, const wxString &facename )
|
||||||
{
|
{
|
||||||
char buffer[512];
|
char *xfamily = (char*) NULL;
|
||||||
char *name = wxTheFontNameDirectory->GetScreenName( fontid, weight, style );
|
char *xstyle = (char*) NULL;
|
||||||
|
char *xweight = (char*) NULL;
|
||||||
|
|
||||||
if (!name)
|
switch (family)
|
||||||
name = "-*-*-*-*-*-*-*-%d-*-*-*-*-*-*";
|
{
|
||||||
sprintf(buffer, name, point_size);
|
case wxDECORATIVE: xfamily = "lucida"; break;
|
||||||
|
case wxROMAN: xfamily = "times"; break;
|
||||||
return gdk_font_load( buffer );
|
case wxMODERN: xfamily = "courier"; break;
|
||||||
|
case wxSWISS: xfamily = "helvetica"; break;
|
||||||
|
case wxTELETYPE: xfamily = "lucidatypewriter"; break;
|
||||||
|
case wxSCRIPT: xfamily = "utopia"; break;
|
||||||
|
default: xfamily = "*";
|
||||||
}
|
}
|
||||||
|
|
||||||
static GdkFont *wxLoadQueryNearestFont(int point_size, int fontid,
|
if (!facename.IsEmpty())
|
||||||
int style, int weight,
|
|
||||||
bool underlined)
|
|
||||||
{
|
{
|
||||||
GdkFont *font;
|
sprintf( wxBuffer, "-*-%s-*-*-normal-*-*-*-*-*-*-*-*-*", facename.c_str() );
|
||||||
|
GdkFont *test = gdk_font_load( wxBuffer );
|
||||||
|
if (test)
|
||||||
|
{
|
||||||
|
gdk_font_unref( test );
|
||||||
|
xfamily = WXSTRINGCAST facename;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
font = wxLoadQueryFont( point_size, fontid, style, weight, underlined );
|
switch (style)
|
||||||
|
{
|
||||||
|
case wxITALIC: xstyle = "i"; break;
|
||||||
|
case wxSLANT: xstyle = "o"; break;
|
||||||
|
case wxNORMAL: xstyle = "r"; break;
|
||||||
|
default: xstyle = "*"; break;
|
||||||
|
}
|
||||||
|
switch (weight)
|
||||||
|
{
|
||||||
|
case wxBOLD: xweight = "bold"; break;
|
||||||
|
case wxLIGHT:
|
||||||
|
case wxNORMAL: xweight = "medium"; break;
|
||||||
|
default: xweight = "*"; break;
|
||||||
|
}
|
||||||
|
|
||||||
if (!font) {
|
sprintf( wxBuffer, "-*-%s-%s-%s-normal-*-*-%d-*-*-*-*-*-*",
|
||||||
// search up and down by stepsize 10
|
xfamily, xweight, xstyle, pointSize);
|
||||||
|
|
||||||
|
return gdk_font_load( wxBuffer );
|
||||||
|
}
|
||||||
|
|
||||||
|
static GdkFont *wxLoadQueryNearestFont( int point_size, int family, int style, int weight,
|
||||||
|
bool underlined, const wxString &facename )
|
||||||
|
{
|
||||||
|
GdkFont *font = wxLoadQueryFont( point_size, family, style, weight, underlined, facename );
|
||||||
|
|
||||||
|
if (!font)
|
||||||
|
{
|
||||||
|
/* search up and down by stepsize 10 */
|
||||||
int max_size = point_size + 20 * (1 + (point_size/180));
|
int max_size = point_size + 20 * (1 + (point_size/180));
|
||||||
int min_size = point_size - 20 * (1 + (point_size/180));
|
int min_size = point_size - 20 * (1 + (point_size/180));
|
||||||
int i;
|
|
||||||
|
|
||||||
// Search for smaller size (approx.)
|
/* Search for smaller size (approx.) */
|
||||||
for (i=point_size-10; !font && i >= 10 && i >= min_size; i -= 10)
|
for (int i=point_size-10; !font && i >= 10 && i >= min_size; i -= 10)
|
||||||
font = wxLoadQueryFont(i, fontid, style, weight, underlined);
|
font = wxLoadQueryFont(i, family, style, weight, underlined, facename );
|
||||||
// Search for larger size (approx.)
|
|
||||||
for (i=point_size+10; !font && i <= max_size; i += 10)
|
/* Search for larger size (approx.) */
|
||||||
font = wxLoadQueryFont(i, fontid, style, weight, underlined);
|
for (int i=point_size+10; !font && i <= max_size; i += 10)
|
||||||
// Try default family
|
font = wxLoadQueryFont( i, family, style, weight, underlined, facename );
|
||||||
if (!font && fontid != wxDEFAULT)
|
|
||||||
font = wxLoadQueryFont(point_size, wxDEFAULT, style,
|
/* Try default family */
|
||||||
weight, underlined);
|
if (!font && family != wxDEFAULT)
|
||||||
// Bogus font
|
font = wxLoadQueryFont( point_size, wxDEFAULT, style, weight, underlined, facename );
|
||||||
|
|
||||||
|
/* Bogus font */
|
||||||
if (!font)
|
if (!font)
|
||||||
font = wxLoadQueryFont(120, wxDEFAULT, wxNORMAL, wxNORMAL,
|
font = wxLoadQueryFont(120, wxDEFAULT, wxNORMAL, wxNORMAL, underlined, facename );
|
||||||
underlined);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return font;
|
return font;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// face names and index functions
|
// face names and index functions
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -510,9 +544,6 @@ static char *font_defaults[] = {
|
|||||||
"ScreenItalic", "i",
|
"ScreenItalic", "i",
|
||||||
"ScreenSlant", "o",
|
"ScreenSlant", "o",
|
||||||
|
|
||||||
/*
|
|
||||||
"ScreenDefaultBase", "misc-fixed",
|
|
||||||
*/
|
|
||||||
"ScreenDefaultBase", "*-times",
|
"ScreenDefaultBase", "*-times",
|
||||||
|
|
||||||
"ScreenRomanBase", "*-times",
|
"ScreenRomanBase", "*-times",
|
||||||
@@ -600,12 +631,11 @@ static void SearchResource(const char *prefix, const char **names, int count, ch
|
|||||||
strcpy(resource, prefix);
|
strcpy(resource, prefix);
|
||||||
for (j = 0; j < count; j++)
|
for (j = 0; j < count; j++)
|
||||||
{
|
{
|
||||||
/* upon failure to find a matching fontname
|
// upon failure to find a matching fontname
|
||||||
in the default fonts above, we substitute more
|
// in the default fonts above, we substitute more
|
||||||
and more values by _ so that at last ScreenMyFontBoldNormal
|
// and more values by _ so that at last ScreenMyFontBoldNormal
|
||||||
would turn into Screen___ and this will then get
|
// would turn into Screen___ and this will then get
|
||||||
converted to -${ScreenDefaultBase}${ScreenStdSuffix}
|
// converted to -${ScreenDefaultBase}${ScreenStdSuffix}
|
||||||
*/
|
|
||||||
|
|
||||||
if (!(i & (1 << j)))
|
if (!(i & (1 << j)))
|
||||||
strcat(resource, names[j]);
|
strcat(resource, names[j]);
|
||||||
@@ -613,7 +643,7 @@ static void SearchResource(const char *prefix, const char **names, int count, ch
|
|||||||
strcat(resource, "_");
|
strcat(resource, "_");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* we previously search the Xt-resources here */
|
// we previously search the Xt-resources here
|
||||||
|
|
||||||
if (!internal)
|
if (!internal)
|
||||||
{
|
{
|
||||||
@@ -635,14 +665,14 @@ static void SearchResource(const char *prefix, const char **names, int count, ch
|
|||||||
if ((strcmp(internal,"-${ScreenDefaultBase}${ScreenStdSuffix}") == 0) &&
|
if ((strcmp(internal,"-${ScreenDefaultBase}${ScreenStdSuffix}") == 0) &&
|
||||||
(strcmp(names[0], "Default") != 0))
|
(strcmp(names[0], "Default") != 0))
|
||||||
{
|
{
|
||||||
/* we did not find any font name in the standard list.
|
// we did not find any font name in the standard list.
|
||||||
this can (hopefully does) mean that someone supplied
|
// this can (hopefully does) mean that someone supplied
|
||||||
the facename in the wxFont constructor so we insert
|
// the facename in the wxFont constructor so we insert
|
||||||
it here */
|
// it here
|
||||||
|
|
||||||
strcpy( resource,"-*-" ); /* any producer */
|
strcpy( resource,"-*-" ); // any producer
|
||||||
strcat( resource, names[0] ); /* facename */
|
strcat( resource, names[0] ); // facename
|
||||||
strcat( resource, "${ScreenStdSuffix}" ); /* add size params later on */
|
strcat( resource, "${ScreenStdSuffix}" ); // add size params later on
|
||||||
*v = copystring(resource);
|
*v = copystring(resource);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -696,7 +726,7 @@ void wxSuffixMap::Initialize(const char *resname, const char *devresname)
|
|||||||
|
|
||||||
SearchResource(devresname, names, 3, &v);
|
SearchResource(devresname, names, 3, &v);
|
||||||
|
|
||||||
/* Expand macros in the found string: */
|
// Expand macros in the found string:
|
||||||
found:
|
found:
|
||||||
int len, closer = 0, startpos = 0;
|
int len, closer = 0, startpos = 0;
|
||||||
|
|
||||||
@@ -775,7 +805,7 @@ found:
|
|||||||
goto found;
|
goto found;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* We have a final value: */
|
// We have a final value:
|
||||||
map[k][j] = v;
|
map[k][j] = v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -978,3 +1008,5 @@ int wxFontNameDirectory::GetFamily(int fontid)
|
|||||||
// font does not exist
|
// font does not exist
|
||||||
return wxDEFAULT;
|
return wxDEFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
@@ -91,6 +91,10 @@ static gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventC
|
|||||||
win->m_x = event->x;
|
win->m_x = event->x;
|
||||||
win->m_y = event->y;
|
win->m_y = event->y;
|
||||||
|
|
||||||
|
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
|
||||||
|
mevent.SetEventObject( win );
|
||||||
|
win->GetEventHandler()->ProcessEvent( mevent );
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -384,8 +384,10 @@ bool wxApp::Initialize(void)
|
|||||||
|
|
||||||
wxSystemSettings::Init();
|
wxSystemSettings::Init();
|
||||||
|
|
||||||
|
/*
|
||||||
wxTheFontNameDirectory = new wxFontNameDirectory;
|
wxTheFontNameDirectory = new wxFontNameDirectory;
|
||||||
wxTheFontNameDirectory->Initialize();
|
wxTheFontNameDirectory->Initialize();
|
||||||
|
*/
|
||||||
|
|
||||||
wxTheColourDatabase = new wxColourDatabase( wxKEY_STRING );
|
wxTheColourDatabase = new wxColourDatabase( wxKEY_STRING );
|
||||||
wxTheColourDatabase->Initialize();
|
wxTheColourDatabase->Initialize();
|
||||||
@@ -426,8 +428,10 @@ void wxApp::CleanUp(void)
|
|||||||
if (wxTheColourDatabase) delete wxTheColourDatabase;
|
if (wxTheColourDatabase) delete wxTheColourDatabase;
|
||||||
wxTheColourDatabase = (wxColourDatabase*) NULL;
|
wxTheColourDatabase = (wxColourDatabase*) NULL;
|
||||||
|
|
||||||
|
/*
|
||||||
if (wxTheFontNameDirectory) delete wxTheFontNameDirectory;
|
if (wxTheFontNameDirectory) delete wxTheFontNameDirectory;
|
||||||
wxTheFontNameDirectory = (wxFontNameDirectory*) NULL;
|
wxTheFontNameDirectory = (wxFontNameDirectory*) NULL;
|
||||||
|
*/
|
||||||
|
|
||||||
wxDeleteStockObjects();
|
wxDeleteStockObjects();
|
||||||
|
|
||||||
|
@@ -69,7 +69,9 @@ wxColourDatabase *wxTheColourDatabase = (wxColourDatabase *) NULL;
|
|||||||
wxBitmapList *wxTheBitmapList = (wxBitmapList *) NULL;
|
wxBitmapList *wxTheBitmapList = (wxBitmapList *) NULL;
|
||||||
|
|
||||||
/* X only font names */
|
/* X only font names */
|
||||||
|
/*
|
||||||
wxFontNameDirectory *wxTheFontNameDirectory;
|
wxFontNameDirectory *wxTheFontNameDirectory;
|
||||||
|
*/
|
||||||
|
|
||||||
/* Stock objects */
|
/* Stock objects */
|
||||||
wxFont *wxNORMAL_FONT;
|
wxFont *wxNORMAL_FONT;
|
||||||
|
@@ -59,6 +59,24 @@ static void gtk_dialog_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation
|
|||||||
win->GtkOnSize( alloc->x, alloc->y, alloc->width, alloc->height );
|
win->GtkOnSize( alloc->x, alloc->y, alloc->width, alloc->height );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// "configure_event"
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
static gint gtk_dialog_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventConfigure *event, wxDialog *win )
|
||||||
|
{
|
||||||
|
if (!win->HasVMT()) return FALSE;
|
||||||
|
|
||||||
|
win->m_x = event->x;
|
||||||
|
win->m_y = event->y;
|
||||||
|
|
||||||
|
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
|
||||||
|
mevent.SetEventObject( win );
|
||||||
|
win->GetEventHandler()->ProcessEvent( mevent );
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// wxDialog
|
// wxDialog
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -107,9 +125,6 @@ bool wxDialog::Create( wxWindow *parent,
|
|||||||
gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
|
gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
|
||||||
GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this );
|
GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this );
|
||||||
|
|
||||||
gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate",
|
|
||||||
GTK_SIGNAL_FUNC(gtk_dialog_size_callback), (gpointer)this );
|
|
||||||
|
|
||||||
m_wxwindow = gtk_myfixed_new();
|
m_wxwindow = gtk_myfixed_new();
|
||||||
gtk_widget_show( m_wxwindow );
|
gtk_widget_show( m_wxwindow );
|
||||||
GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS );
|
GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS );
|
||||||
@@ -123,8 +138,13 @@ bool wxDialog::Create( wxWindow *parent,
|
|||||||
|
|
||||||
gtk_widget_set_usize( m_widget, m_width, m_height );
|
gtk_widget_set_usize( m_widget, m_width, m_height );
|
||||||
|
|
||||||
if (m_parent) m_parent->AddChild( this );
|
gtk_signal_connect( GTK_OBJECT(m_widget), "size_allocate",
|
||||||
|
GTK_SIGNAL_FUNC(gtk_dialog_size_callback), (gpointer)this );
|
||||||
|
|
||||||
|
gtk_signal_connect( GTK_OBJECT(m_widget), "configure_event",
|
||||||
|
GTK_SIGNAL_FUNC(gtk_dialog_configure_callback), (gpointer)this );
|
||||||
|
|
||||||
|
if (m_parent) m_parent->AddChild( this );
|
||||||
|
|
||||||
PostCreation();
|
PostCreation();
|
||||||
|
|
||||||
|
@@ -22,7 +22,9 @@
|
|||||||
// local data
|
// local data
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/*
|
||||||
extern wxFontNameDirectory *wxTheFontNameDirectory;
|
extern wxFontNameDirectory *wxTheFontNameDirectory;
|
||||||
|
*/
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// wxFont
|
// wxFont
|
||||||
@@ -40,7 +42,6 @@ public:
|
|||||||
int m_pointSize;
|
int m_pointSize;
|
||||||
int m_family, m_style, m_weight;
|
int m_family, m_style, m_weight;
|
||||||
bool m_underlined;
|
bool m_underlined;
|
||||||
int m_fontId;
|
|
||||||
wxString m_faceName;
|
wxString m_faceName;
|
||||||
|
|
||||||
bool m_byXFontName;
|
bool m_byXFontName;
|
||||||
@@ -57,7 +58,6 @@ wxFontRefData::wxFontRefData() : m_scaled_xfonts(wxKEY_INTEGER)
|
|||||||
m_style = wxNORMAL;
|
m_style = wxNORMAL;
|
||||||
m_weight = wxNORMAL;
|
m_weight = wxNORMAL;
|
||||||
m_underlined = FALSE;
|
m_underlined = FALSE;
|
||||||
m_fontId = 0;
|
|
||||||
m_font = (GdkFont *) NULL;
|
m_font = (GdkFont *) NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,7 +69,6 @@ wxFontRefData::wxFontRefData( const wxFontRefData& data ) : m_scaled_xfonts(wxKE
|
|||||||
m_style = data.m_style;
|
m_style = data.m_style;
|
||||||
m_weight = data.m_weight;
|
m_weight = data.m_weight;
|
||||||
m_underlined = data.m_underlined;
|
m_underlined = data.m_underlined;
|
||||||
m_fontId = data.m_fontId;
|
|
||||||
m_faceName = data.m_faceName;
|
m_faceName = data.m_faceName;
|
||||||
m_font = (GdkFont *) NULL;
|
m_font = (GdkFont *) NULL;
|
||||||
if (data.m_font) m_font = gdk_font_ref( data.m_font );
|
if (data.m_font) m_font = gdk_font_ref( data.m_font );
|
||||||
@@ -114,27 +113,28 @@ wxFont::wxFont( int pointSize, int family, int style, int weight, bool underline
|
|||||||
{
|
{
|
||||||
m_refData = new wxFontRefData();
|
m_refData = new wxFontRefData();
|
||||||
|
|
||||||
if (family == wxDEFAULT) family = wxSWISS;
|
if (family == wxDEFAULT)
|
||||||
|
M_FONTDATA->m_family = wxSWISS;
|
||||||
|
else
|
||||||
M_FONTDATA->m_family = family;
|
M_FONTDATA->m_family = family;
|
||||||
|
|
||||||
if (!face.IsEmpty())
|
if (!face.IsEmpty()) M_FONTDATA->m_faceName = face;
|
||||||
{
|
|
||||||
M_FONTDATA->m_faceName = face;
|
|
||||||
M_FONTDATA->m_fontId = wxTheFontNameDirectory->FindOrCreateFontId( face, family );
|
|
||||||
M_FONTDATA->m_family = wxTheFontNameDirectory->GetFamily( family );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
M_FONTDATA->m_fontId = family;
|
|
||||||
M_FONTDATA->m_family = wxTheFontNameDirectory->GetFamily( family );
|
|
||||||
}
|
|
||||||
|
|
||||||
if (style == wxDEFAULT) style = wxNORMAL;
|
if (style == wxDEFAULT)
|
||||||
|
M_FONTDATA->m_style = wxNORMAL;
|
||||||
|
else
|
||||||
M_FONTDATA->m_style = style;
|
M_FONTDATA->m_style = style;
|
||||||
if (weight == wxDEFAULT) weight = wxNORMAL;
|
|
||||||
|
if (weight == wxDEFAULT)
|
||||||
|
M_FONTDATA->m_weight = wxNORMAL;
|
||||||
|
else
|
||||||
M_FONTDATA->m_weight = weight;
|
M_FONTDATA->m_weight = weight;
|
||||||
if (pointSize == wxDEFAULT) pointSize = 12;
|
|
||||||
|
if (pointSize == wxDEFAULT)
|
||||||
|
M_FONTDATA->m_pointSize = 12;
|
||||||
|
else
|
||||||
M_FONTDATA->m_pointSize = pointSize;
|
M_FONTDATA->m_pointSize = pointSize;
|
||||||
|
|
||||||
M_FONTDATA->m_underlined = underlined;
|
M_FONTDATA->m_underlined = underlined;
|
||||||
|
|
||||||
if (wxTheFontList) wxTheFontList->Append( this );
|
if (wxTheFontList) wxTheFontList->Append( this );
|
||||||
@@ -186,8 +186,7 @@ wxString wxFont::GetFaceName() const
|
|||||||
{
|
{
|
||||||
wxCHECK_MSG( Ok(), "", "invalid font" );
|
wxCHECK_MSG( Ok(), "", "invalid font" );
|
||||||
|
|
||||||
wxString s = wxTheFontNameDirectory->GetFontName( M_FONTDATA->m_fontId );
|
return M_FONTDATA->m_faceName;
|
||||||
return s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxFont::GetFamily() const
|
int wxFont::GetFamily() const
|
||||||
@@ -215,13 +214,6 @@ wxString wxFont::GetFamilyString() const
|
|||||||
return "wxDEFAULT";
|
return "wxDEFAULT";
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxFont::GetFontId() const
|
|
||||||
{
|
|
||||||
wxCHECK_MSG( Ok(), 0, "invalid font" );
|
|
||||||
|
|
||||||
return M_FONTDATA->m_fontId; // stub
|
|
||||||
}
|
|
||||||
|
|
||||||
int wxFont::GetStyle() const
|
int wxFont::GetStyle() const
|
||||||
{
|
{
|
||||||
wxCHECK_MSG( Ok(), 0, "invalid font" );
|
wxCHECK_MSG( Ok(), 0, "invalid font" );
|
||||||
@@ -333,10 +325,8 @@ void wxFont::SetUnderlined(bool underlined)
|
|||||||
// get internal representation of font
|
// get internal representation of font
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
// local help function
|
static GdkFont *wxLoadQueryNearestFont( int point_size, int family, int style, int weight,
|
||||||
static GdkFont *wxLoadQueryNearestFont(int point_size, int fontid,
|
bool underlined, const wxString &facename );
|
||||||
int style, int weight,
|
|
||||||
bool underlined);
|
|
||||||
|
|
||||||
GdkFont *wxFont::GetInternalFont( float scale ) const
|
GdkFont *wxFont::GetInternalFont( float scale ) const
|
||||||
{
|
{
|
||||||
@@ -346,9 +336,10 @@ GdkFont *wxFont::GetInternalFont(float scale) const
|
|||||||
return (GdkFont*) NULL;
|
return (GdkFont*) NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* short cut if the special X font constructor has been used */
|
||||||
if (M_FONTDATA->m_byXFontName) return M_FONTDATA->m_font;
|
if (M_FONTDATA->m_byXFontName) return M_FONTDATA->m_font;
|
||||||
|
|
||||||
long int_scale = long(scale * 100.0 + 0.5); // key for fontlist
|
long int_scale = long(scale * 100.0 + 0.5); /* key for fontlist */
|
||||||
int point_scale = (M_FONTDATA->m_pointSize * 10 * int_scale) / 100;
|
int point_scale = (M_FONTDATA->m_pointSize * 10 * int_scale) / 100;
|
||||||
GdkFont *font = (GdkFont *) NULL;
|
GdkFont *font = (GdkFont *) NULL;
|
||||||
|
|
||||||
@@ -359,6 +350,7 @@ GdkFont *wxFont::GetInternalFont(float scale) const
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
if ((int_scale == 100) &&
|
if ((int_scale == 100) &&
|
||||||
(M_FONTDATA->m_family == wxSWISS) &&
|
(M_FONTDATA->m_family == wxSWISS) &&
|
||||||
(M_FONTDATA->m_style == wxNORMAL) &&
|
(M_FONTDATA->m_style == wxNORMAL) &&
|
||||||
@@ -369,14 +361,18 @@ GdkFont *wxFont::GetInternalFont(float scale) const
|
|||||||
font = gdk_font_load( "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" );
|
font = gdk_font_load( "-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
*/
|
||||||
{
|
{
|
||||||
font = wxLoadQueryNearestFont( point_scale, M_FONTDATA->m_fontId, M_FONTDATA->m_style,
|
font = wxLoadQueryNearestFont( point_scale, M_FONTDATA->m_family, M_FONTDATA->m_style,
|
||||||
M_FONTDATA->m_weight, M_FONTDATA->m_underlined );
|
M_FONTDATA->m_weight, M_FONTDATA->m_underlined, M_FONTDATA->m_faceName );
|
||||||
}
|
}
|
||||||
M_FONTDATA->m_scaled_xfonts.Append( int_scale, (wxObject*)font );
|
M_FONTDATA->m_scaled_xfonts.Append( int_scale, (wxObject*)font );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!font)
|
if (!font)
|
||||||
|
{
|
||||||
wxLogError("could not load any font");
|
wxLogError("could not load any font");
|
||||||
|
}
|
||||||
|
|
||||||
return font;
|
return font;
|
||||||
}
|
}
|
||||||
@@ -385,51 +381,89 @@ GdkFont *wxFont::GetInternalFont(float scale) const
|
|||||||
// local utilities to find a X font
|
// local utilities to find a X font
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
static GdkFont *wxLoadQueryFont(int point_size, int fontid, int style,
|
static GdkFont*wxLoadQueryFont( int pointSize, int family, int style, int weight,
|
||||||
int weight, bool WXUNUSED(underlined))
|
bool underlined, const wxString &facename )
|
||||||
{
|
{
|
||||||
char buffer[512];
|
char *xfamily = (char*) NULL;
|
||||||
char *name = wxTheFontNameDirectory->GetScreenName( fontid, weight, style );
|
char *xstyle = (char*) NULL;
|
||||||
|
char *xweight = (char*) NULL;
|
||||||
|
|
||||||
if (!name)
|
switch (family)
|
||||||
name = "-*-*-*-*-*-*-*-%d-*-*-*-*-*-*";
|
{
|
||||||
sprintf(buffer, name, point_size);
|
case wxDECORATIVE: xfamily = "lucida"; break;
|
||||||
|
case wxROMAN: xfamily = "times"; break;
|
||||||
return gdk_font_load( buffer );
|
case wxMODERN: xfamily = "courier"; break;
|
||||||
|
case wxSWISS: xfamily = "helvetica"; break;
|
||||||
|
case wxTELETYPE: xfamily = "lucidatypewriter"; break;
|
||||||
|
case wxSCRIPT: xfamily = "utopia"; break;
|
||||||
|
default: xfamily = "*";
|
||||||
}
|
}
|
||||||
|
|
||||||
static GdkFont *wxLoadQueryNearestFont(int point_size, int fontid,
|
if (!facename.IsEmpty())
|
||||||
int style, int weight,
|
|
||||||
bool underlined)
|
|
||||||
{
|
{
|
||||||
GdkFont *font;
|
sprintf( wxBuffer, "-*-%s-*-*-normal-*-*-*-*-*-*-*-*-*", facename.c_str() );
|
||||||
|
GdkFont *test = gdk_font_load( wxBuffer );
|
||||||
|
if (test)
|
||||||
|
{
|
||||||
|
gdk_font_unref( test );
|
||||||
|
xfamily = WXSTRINGCAST facename;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
font = wxLoadQueryFont( point_size, fontid, style, weight, underlined );
|
switch (style)
|
||||||
|
{
|
||||||
|
case wxITALIC: xstyle = "i"; break;
|
||||||
|
case wxSLANT: xstyle = "o"; break;
|
||||||
|
case wxNORMAL: xstyle = "r"; break;
|
||||||
|
default: xstyle = "*"; break;
|
||||||
|
}
|
||||||
|
switch (weight)
|
||||||
|
{
|
||||||
|
case wxBOLD: xweight = "bold"; break;
|
||||||
|
case wxLIGHT:
|
||||||
|
case wxNORMAL: xweight = "medium"; break;
|
||||||
|
default: xweight = "*"; break;
|
||||||
|
}
|
||||||
|
|
||||||
if (!font) {
|
sprintf( wxBuffer, "-*-%s-%s-%s-normal-*-*-%d-*-*-*-*-*-*",
|
||||||
// search up and down by stepsize 10
|
xfamily, xweight, xstyle, pointSize);
|
||||||
|
|
||||||
|
return gdk_font_load( wxBuffer );
|
||||||
|
}
|
||||||
|
|
||||||
|
static GdkFont *wxLoadQueryNearestFont( int point_size, int family, int style, int weight,
|
||||||
|
bool underlined, const wxString &facename )
|
||||||
|
{
|
||||||
|
GdkFont *font = wxLoadQueryFont( point_size, family, style, weight, underlined, facename );
|
||||||
|
|
||||||
|
if (!font)
|
||||||
|
{
|
||||||
|
/* search up and down by stepsize 10 */
|
||||||
int max_size = point_size + 20 * (1 + (point_size/180));
|
int max_size = point_size + 20 * (1 + (point_size/180));
|
||||||
int min_size = point_size - 20 * (1 + (point_size/180));
|
int min_size = point_size - 20 * (1 + (point_size/180));
|
||||||
int i;
|
|
||||||
|
|
||||||
// Search for smaller size (approx.)
|
/* Search for smaller size (approx.) */
|
||||||
for (i=point_size-10; !font && i >= 10 && i >= min_size; i -= 10)
|
for (int i=point_size-10; !font && i >= 10 && i >= min_size; i -= 10)
|
||||||
font = wxLoadQueryFont(i, fontid, style, weight, underlined);
|
font = wxLoadQueryFont(i, family, style, weight, underlined, facename );
|
||||||
// Search for larger size (approx.)
|
|
||||||
for (i=point_size+10; !font && i <= max_size; i += 10)
|
/* Search for larger size (approx.) */
|
||||||
font = wxLoadQueryFont(i, fontid, style, weight, underlined);
|
for (int i=point_size+10; !font && i <= max_size; i += 10)
|
||||||
// Try default family
|
font = wxLoadQueryFont( i, family, style, weight, underlined, facename );
|
||||||
if (!font && fontid != wxDEFAULT)
|
|
||||||
font = wxLoadQueryFont(point_size, wxDEFAULT, style,
|
/* Try default family */
|
||||||
weight, underlined);
|
if (!font && family != wxDEFAULT)
|
||||||
// Bogus font
|
font = wxLoadQueryFont( point_size, wxDEFAULT, style, weight, underlined, facename );
|
||||||
|
|
||||||
|
/* Bogus font */
|
||||||
if (!font)
|
if (!font)
|
||||||
font = wxLoadQueryFont(120, wxDEFAULT, wxNORMAL, wxNORMAL,
|
font = wxLoadQueryFont(120, wxDEFAULT, wxNORMAL, wxNORMAL, underlined, facename );
|
||||||
underlined);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return font;
|
return font;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// face names and index functions
|
// face names and index functions
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -510,9 +544,6 @@ static char *font_defaults[] = {
|
|||||||
"ScreenItalic", "i",
|
"ScreenItalic", "i",
|
||||||
"ScreenSlant", "o",
|
"ScreenSlant", "o",
|
||||||
|
|
||||||
/*
|
|
||||||
"ScreenDefaultBase", "misc-fixed",
|
|
||||||
*/
|
|
||||||
"ScreenDefaultBase", "*-times",
|
"ScreenDefaultBase", "*-times",
|
||||||
|
|
||||||
"ScreenRomanBase", "*-times",
|
"ScreenRomanBase", "*-times",
|
||||||
@@ -600,12 +631,11 @@ static void SearchResource(const char *prefix, const char **names, int count, ch
|
|||||||
strcpy(resource, prefix);
|
strcpy(resource, prefix);
|
||||||
for (j = 0; j < count; j++)
|
for (j = 0; j < count; j++)
|
||||||
{
|
{
|
||||||
/* upon failure to find a matching fontname
|
// upon failure to find a matching fontname
|
||||||
in the default fonts above, we substitute more
|
// in the default fonts above, we substitute more
|
||||||
and more values by _ so that at last ScreenMyFontBoldNormal
|
// and more values by _ so that at last ScreenMyFontBoldNormal
|
||||||
would turn into Screen___ and this will then get
|
// would turn into Screen___ and this will then get
|
||||||
converted to -${ScreenDefaultBase}${ScreenStdSuffix}
|
// converted to -${ScreenDefaultBase}${ScreenStdSuffix}
|
||||||
*/
|
|
||||||
|
|
||||||
if (!(i & (1 << j)))
|
if (!(i & (1 << j)))
|
||||||
strcat(resource, names[j]);
|
strcat(resource, names[j]);
|
||||||
@@ -613,7 +643,7 @@ static void SearchResource(const char *prefix, const char **names, int count, ch
|
|||||||
strcat(resource, "_");
|
strcat(resource, "_");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* we previously search the Xt-resources here */
|
// we previously search the Xt-resources here
|
||||||
|
|
||||||
if (!internal)
|
if (!internal)
|
||||||
{
|
{
|
||||||
@@ -635,14 +665,14 @@ static void SearchResource(const char *prefix, const char **names, int count, ch
|
|||||||
if ((strcmp(internal,"-${ScreenDefaultBase}${ScreenStdSuffix}") == 0) &&
|
if ((strcmp(internal,"-${ScreenDefaultBase}${ScreenStdSuffix}") == 0) &&
|
||||||
(strcmp(names[0], "Default") != 0))
|
(strcmp(names[0], "Default") != 0))
|
||||||
{
|
{
|
||||||
/* we did not find any font name in the standard list.
|
// we did not find any font name in the standard list.
|
||||||
this can (hopefully does) mean that someone supplied
|
// this can (hopefully does) mean that someone supplied
|
||||||
the facename in the wxFont constructor so we insert
|
// the facename in the wxFont constructor so we insert
|
||||||
it here */
|
// it here
|
||||||
|
|
||||||
strcpy( resource,"-*-" ); /* any producer */
|
strcpy( resource,"-*-" ); // any producer
|
||||||
strcat( resource, names[0] ); /* facename */
|
strcat( resource, names[0] ); // facename
|
||||||
strcat( resource, "${ScreenStdSuffix}" ); /* add size params later on */
|
strcat( resource, "${ScreenStdSuffix}" ); // add size params later on
|
||||||
*v = copystring(resource);
|
*v = copystring(resource);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -696,7 +726,7 @@ void wxSuffixMap::Initialize(const char *resname, const char *devresname)
|
|||||||
|
|
||||||
SearchResource(devresname, names, 3, &v);
|
SearchResource(devresname, names, 3, &v);
|
||||||
|
|
||||||
/* Expand macros in the found string: */
|
// Expand macros in the found string:
|
||||||
found:
|
found:
|
||||||
int len, closer = 0, startpos = 0;
|
int len, closer = 0, startpos = 0;
|
||||||
|
|
||||||
@@ -775,7 +805,7 @@ found:
|
|||||||
goto found;
|
goto found;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* We have a final value: */
|
// We have a final value:
|
||||||
map[k][j] = v;
|
map[k][j] = v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -978,3 +1008,5 @@ int wxFontNameDirectory::GetFamily(int fontid)
|
|||||||
// font does not exist
|
// font does not exist
|
||||||
return wxDEFAULT;
|
return wxDEFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
@@ -91,6 +91,10 @@ static gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventC
|
|||||||
win->m_x = event->x;
|
win->m_x = event->x;
|
||||||
win->m_y = event->y;
|
win->m_y = event->y;
|
||||||
|
|
||||||
|
wxMoveEvent mevent( wxPoint(win->m_x,win->m_y), win->GetId() );
|
||||||
|
mevent.SetEventObject( win );
|
||||||
|
win->GetEventHandler()->ProcessEvent( mevent );
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -87,7 +87,6 @@ LIB_CPP_SRC=\
|
|||||||
motif/dcmemory.cpp \
|
motif/dcmemory.cpp \
|
||||||
motif/dcscreen.cpp \
|
motif/dcscreen.cpp \
|
||||||
motif/dialog.cpp \
|
motif/dialog.cpp \
|
||||||
motif/dirdlg.cpp \
|
|
||||||
motif/dnd.cpp \
|
motif/dnd.cpp \
|
||||||
motif/filedlg.cpp \
|
motif/filedlg.cpp \
|
||||||
motif/font.cpp \
|
motif/font.cpp \
|
||||||
@@ -132,6 +131,7 @@ LIB_CPP_SRC=\
|
|||||||
generic/choicdgg.cpp \
|
generic/choicdgg.cpp \
|
||||||
generic/colrdlgg.cpp \
|
generic/colrdlgg.cpp \
|
||||||
generic/dcpsg.cpp \
|
generic/dcpsg.cpp \
|
||||||
|
generic/dirdlgg.cpp \
|
||||||
generic/fontdlgg.cpp \
|
generic/fontdlgg.cpp \
|
||||||
generic/gridg.cpp \
|
generic/gridg.cpp \
|
||||||
generic/helpext.cpp \
|
generic/helpext.cpp \
|
||||||
|
Reference in New Issue
Block a user