added ctor taking wxFontFlags
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@17669 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -15,6 +15,32 @@ a window's text.
|
||||
|
||||
\wxheading{Constants}
|
||||
|
||||
The font flags which can be used during the font creation are:
|
||||
\begin{verbatim}
|
||||
enum
|
||||
{
|
||||
// no special flags: font with default weight/slant/anti-aliasing
|
||||
wxFONTFLAG_DEFAULT = 0,
|
||||
|
||||
// slant flags (default: no slant)
|
||||
wxFONTFLAG_ITALIC = 1 << 0,
|
||||
wxFONTFLAG_SLANT = 1 << 1,
|
||||
|
||||
// weight flags (default: medium)
|
||||
wxFONTFLAG_LIGHT = 1 << 2,
|
||||
wxFONTFLAG_BOLD = 1 << 3,
|
||||
|
||||
// anti-aliasing flag: force on or off (default: the current system default)
|
||||
wxFONTFLAG_ANTIALIASED = 1 << 4,
|
||||
wxFONTFLAG_NOT_ANTIALIASED = 1 << 5,
|
||||
|
||||
// underlined/strikethrough flags (default: no lines)
|
||||
wxFONTFLAG_UNDERLINED = 1 << 6,
|
||||
wxFONTFLAG_STRIKETHROUGH = 1 << 7,
|
||||
};
|
||||
\end{verbatim}
|
||||
|
||||
The known font encodings are:
|
||||
\begin{verbatim}
|
||||
enum wxFontEncoding
|
||||
{
|
||||
|
@@ -71,6 +71,39 @@ enum wxFontWeight
|
||||
wxFONTWEIGHT_MAX
|
||||
};
|
||||
|
||||
// the font flag bits for the new font ctor accepting one combined flags word
|
||||
enum
|
||||
{
|
||||
// no special flags: font with default weight/slant/anti-aliasing
|
||||
wxFONTFLAG_DEFAULT = 0,
|
||||
|
||||
// slant flags (default: no slant)
|
||||
wxFONTFLAG_ITALIC = 1 << 0,
|
||||
wxFONTFLAG_SLANT = 1 << 1,
|
||||
|
||||
// weight flags (default: medium)
|
||||
wxFONTFLAG_LIGHT = 1 << 2,
|
||||
wxFONTFLAG_BOLD = 1 << 3,
|
||||
|
||||
// anti-aliasing flag: force on or off (default: the current system default)
|
||||
wxFONTFLAG_ANTIALIASED = 1 << 4,
|
||||
wxFONTFLAG_NOT_ANTIALIASED = 1 << 5,
|
||||
|
||||
// underlined/strikethrough flags (default: no lines)
|
||||
wxFONTFLAG_UNDERLINED = 1 << 6,
|
||||
wxFONTFLAG_STRIKETHROUGH = 1 << 7,
|
||||
|
||||
// the mask of all currently used flags
|
||||
wxFONTFLAG_MASK = wxFONTFLAG_ITALIC |
|
||||
wxFONTFLAG_SLANT |
|
||||
wxFONTFLAG_LIGHT |
|
||||
wxFONTFLAG_BOLD |
|
||||
wxFONTFLAG_ANTIALIASED |
|
||||
wxFONTFLAG_NOT_ANTIALIASED |
|
||||
wxFONTFLAG_UNDERLINED |
|
||||
wxFONTFLAG_STRIKETHROUGH
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxFontBase represents a font object
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -94,6 +127,14 @@ public:
|
||||
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(int pointSize,
|
||||
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);
|
||||
|
||||
|
@@ -77,6 +77,33 @@ wxFont *wxFontBase::New(int size,
|
||||
return new wxFont(size, family, style, weight, underlined, face, encoding);
|
||||
}
|
||||
|
||||
/* static */
|
||||
wxFont *wxFontBase::New(int pointSize,
|
||||
wxFontFamily family,
|
||||
int flags,
|
||||
const wxString& face,
|
||||
wxFontEncoding encoding)
|
||||
{
|
||||
return New
|
||||
(
|
||||
pointSize,
|
||||
family,
|
||||
flags & wxFONTFLAG_ITALIC
|
||||
? wxFONTSTYLE_ITALIC
|
||||
: flags & wxFONTFLAG_SLANT
|
||||
? wxFONTSTYLE_SLANT
|
||||
: wxFONTSTYLE_NORMAL,
|
||||
flags & wxFONTFLAG_LIGHT
|
||||
? wxFONTWEIGHT_LIGHT
|
||||
: flags & wxFONTFLAG_BOLD
|
||||
? wxFONTWEIGHT_BOLD
|
||||
: wxFONTWEIGHT_NORMAL,
|
||||
(flags & wxFONTFLAG_UNDERLINED) != 0,
|
||||
face,
|
||||
encoding
|
||||
);
|
||||
}
|
||||
|
||||
/* static */
|
||||
wxFont *wxFontBase::New(const wxNativeFontInfo& info)
|
||||
{
|
||||
|
Reference in New Issue
Block a user