add more methods to wxNativeFontInfo: To/FromUserString and all the
accessor methods and implemented some of them git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -27,8 +27,8 @@
|
||||
#include "wx/font.h" // for wxFont and wxFontEncoding
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#include <windows.h>
|
||||
#include "wx/msw/winundef.h"
|
||||
#include <windows.h>
|
||||
#include "wx/msw/winundef.h"
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -40,10 +40,23 @@
|
||||
// functions, the user code can only get the objects of this type from
|
||||
// somewhere and pass it somewhere else (possibly save them somewhere using
|
||||
// ToString() and restore them using FromString())
|
||||
//
|
||||
// NB: it is a POD currently for max efficiency but if it continues to grow
|
||||
// further it might make sense to make it a real class with virtual methods
|
||||
struct WXDLLEXPORT wxNativeFontInfo
|
||||
{
|
||||
#if defined(__WXGTK__)
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__)
|
||||
// the components of the XLFD
|
||||
wxString fontElements[14];
|
||||
|
||||
// the full XLFD
|
||||
wxString xFontName;
|
||||
|
||||
// init the elements from an XLFD, return TRUE if ok
|
||||
bool FromXFontName(const wxString& xFontName);
|
||||
|
||||
// generate an XLFD using the fontElements
|
||||
wxString GetXFontName() const;
|
||||
#elif defined(__WXMSW__)
|
||||
LOGFONT lf;
|
||||
#else // other platforms
|
||||
@@ -51,19 +64,50 @@ struct WXDLLEXPORT wxNativeFontInfo
|
||||
// This is a generic implementation that should work on all ports
|
||||
// without specific support by the port.
|
||||
//
|
||||
#define wNO_NATIVE_FONTINFO
|
||||
|
||||
int pointSize;
|
||||
int family;
|
||||
int style;
|
||||
int weight;
|
||||
wxFontStyle style;
|
||||
wxFontWeight weight;
|
||||
bool underlined;
|
||||
wxString faceName;
|
||||
wxFontEncoding encoding;
|
||||
#endif // platforms
|
||||
|
||||
// default ctor (default copy ctor is ok)
|
||||
wxNativeFontInfo() { Init(); }
|
||||
|
||||
// reset to the default state
|
||||
void Init();
|
||||
|
||||
// accessors and modifiers for the font elements: note that there is no
|
||||
// GetFamily() because in general it is impossible to get the family for an
|
||||
// arbitrary native font
|
||||
int GetPointSize() const;
|
||||
wxFontStyle GetStyle() const;
|
||||
wxFontWeight GetWeight() const;
|
||||
bool GetUnderlined() const;
|
||||
wxString GetFaceName() const;
|
||||
wxFontEncoding GetEncoding() const;
|
||||
|
||||
void SetPointSize(int pointsize);
|
||||
void SetStyle(wxFontStyle style);
|
||||
void SetWeight(wxFontWeight weight);
|
||||
void SetUnderlined(bool underlined);
|
||||
void SetFaceName(wxString facename);
|
||||
void SetEncoding(wxFontEncoding encoding);
|
||||
|
||||
// it is important to be able to serialize wxNativeFontInfo objects to be
|
||||
// able to store them (in config file, for example)
|
||||
bool FromString(const wxString& s);
|
||||
wxString ToString() const;
|
||||
|
||||
// we also want to present the native font descriptions to the user in some
|
||||
// human-readable form (it is not platform independent neither, but can
|
||||
// hopefully be understood by the user)
|
||||
bool FromUserString(const wxString& s);
|
||||
wxString ToUserString() const;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Reference in New Issue
Block a user