added a way to create fonts with specified pixel size

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-09-25 23:03:44 +00:00
parent 6294ac2e91
commit 544229d106
7 changed files with 345 additions and 28 deletions

View File

@@ -135,6 +135,24 @@ public:
const wxString& face = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
// from the font components
static wxFont *New(
const wxSize& pixelSize, // size of the font in pixels
int family, // see wxFontFamily enum
int style, // see wxFontStyle enum
int weight, // see wxFontWeight enum
bool underlined = FALSE, // not underlined by default
const wxString& face = wxEmptyString, // facename
wxFontEncoding encoding = wxFONTENCODING_DEFAULT); // ISO8859-X, ...
// from the font components but using the font flags instead of separate
// parameters for each flag
static wxFont *New(const wxSize& pixelSize,
wxFontFamily family,
int flags = wxFONTFLAG_DEFAULT,
const wxString& face = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
// from the (opaque) native font description object
static wxFont *New(const wxNativeFontInfo& nativeFontDesc);
@@ -150,6 +168,8 @@ public:
// accessors: get the font characteristics
virtual int GetPointSize() const = 0;
virtual wxSize GetPixelSize() const;
virtual bool IsUsingSizeInPixels() const;
virtual int GetFamily() const = 0;
virtual int GetStyle() const = 0;
virtual int GetWeight() const = 0;
@@ -165,6 +185,7 @@ public:
// change the font characteristics
virtual void SetPointSize( int pointSize ) = 0;
virtual void SetPixelSize( const wxSize& pixelSize );
virtual void SetFamily( int family ) = 0;
virtual void SetStyle( int style ) = 0;
virtual void SetWeight( int weight ) = 0;

View File

@@ -162,7 +162,14 @@ public:
SetStyle((wxFontStyle)font.GetStyle());
SetWeight((wxFontWeight)font.GetWeight());
SetUnderlined(font.GetUnderlined());
#if defined(__WXMSW__)
if ( font.IsUsingSizeInPixels() )
SetPixelSize(font.GetPixelSize());
else
SetPointSize(font.GetPointSize());
#else
SetPointSize(font.GetPointSize());
#endif
// set the family/facename
SetFamily((wxFontFamily)font.GetFamily());
@@ -179,6 +186,7 @@ public:
// accessors and modifiers for the font elements
int GetPointSize() const;
wxSize GetPixelSize() const;
wxFontStyle GetStyle() const;
wxFontWeight GetWeight() const;
bool GetUnderlined() const;
@@ -187,6 +195,7 @@ public:
wxFontEncoding GetEncoding() const;
void SetPointSize(int pointsize);
void SetPixelSize(const wxSize& pixelSize);
void SetStyle(wxFontStyle style);
void SetWeight(wxFontWeight weight);
void SetUnderlined(bool underlined);

View File

@@ -37,7 +37,22 @@ public:
{
Init();
(void)Create(size, family, style, weight, underlined, face, encoding);
(void)Create(size, wxSize(0, 0), FALSE, family, style, weight,
underlined, face, encoding);
}
wxFont(const wxSize& pixelSize,
int family,
int style,
int weight,
bool underlined = false,
const wxString& face = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
{
Init();
(void)Create(0, pixelSize, TRUE, family, style, weight, underlined,
face, encoding);
}
wxFont(const wxNativeFontInfo& info, WXHFONT hFont = 0)
@@ -50,6 +65,8 @@ public:
wxFont(const wxString& fontDesc);
bool Create(int size,
const wxSize& pixelSize,
bool sizeUsingPixels,
int family,
int style,
int weight,
@@ -66,6 +83,8 @@ public:
// implement base class pure virtuals
virtual int GetPointSize() const;
virtual wxSize GetPixelSize() const;
virtual bool IsUsingSizeInPixels() const;
virtual int GetFamily() const;
virtual int GetStyle() const;
virtual int GetWeight() const;
@@ -75,6 +94,7 @@ public:
virtual const wxNativeFontInfo *GetNativeFontInfo() const;
virtual void SetPointSize(int pointSize);
virtual void SetPixelSize(const wxSize& pixelSize);
virtual void SetFamily(int family);
virtual void SetStyle(int style);
virtual void SetWeight(int weight);