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