add the wxFont(const wxSize& pixelSize, ...) ctor to all ports; add some wxCHECK_MSGs to ensure that the wxSize objects contains non-negative arguments; document that passing zero for the width parameter is allowed; other minor doc fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -63,6 +63,18 @@ public:
|
|||||||
(void)Create(size, family, style, weight, underlined, face, encoding);
|
(void)Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
/*! @abstract Construction with opaque wxNativeFontInfo
|
/*! @abstract Construction with opaque wxNativeFontInfo
|
||||||
*/
|
*/
|
||||||
wxFont(const wxNativeFontInfo& info)
|
wxFont(const wxNativeFontInfo& info)
|
||||||
|
@@ -48,6 +48,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -111,6 +111,28 @@ class WXDLLIMPEXP_FWD_CORE wxNativeFontInfo;
|
|||||||
class WXDLLIMPEXP_CORE wxFontBase : public wxGDIObject
|
class WXDLLIMPEXP_CORE wxFontBase : public wxGDIObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/*
|
||||||
|
derived classes should provide the following ctors:
|
||||||
|
|
||||||
|
wxFont();
|
||||||
|
wxFont(const wxString& nativeFontInfoString);
|
||||||
|
wxFont(const wxNativeFontInfo& info);
|
||||||
|
wxFont(int size,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
|
||||||
|
*/
|
||||||
|
|
||||||
// creator function
|
// creator function
|
||||||
virtual ~wxFontBase();
|
virtual ~wxFontBase();
|
||||||
|
|
||||||
|
@@ -51,6 +51,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -64,6 +64,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -61,6 +61,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -54,6 +54,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -48,6 +48,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -51,6 +51,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -46,6 +46,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -48,6 +48,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -45,6 +45,18 @@ public:
|
|||||||
Create(size, family, style, weight, underlined, face, encoding);
|
Create(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxFont(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined = false,
|
||||||
|
const wxString& face = wxEmptyString,
|
||||||
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
||||||
|
{
|
||||||
|
Create(10, family, style, weight, underlined, face, encoding);
|
||||||
|
SetPixelSize(pixelSize);
|
||||||
|
}
|
||||||
|
|
||||||
bool Create(int size,
|
bool Create(int size,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
wxFontStyle style,
|
wxFontStyle style,
|
||||||
|
@@ -250,7 +250,6 @@ enum wxFontEncoding
|
|||||||
class wxFont : public wxGDIObject
|
class wxFont : public wxGDIObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
//@{
|
|
||||||
/**
|
/**
|
||||||
Default ctor.
|
Default ctor.
|
||||||
*/
|
*/
|
||||||
@@ -265,15 +264,15 @@ public:
|
|||||||
Creates a font object with the specified attributes.
|
Creates a font object with the specified attributes.
|
||||||
|
|
||||||
@param pointSize
|
@param pointSize
|
||||||
Size in points.
|
Size in points. See SetPointSize() for more info.
|
||||||
@param family
|
@param family
|
||||||
Font family, a generic way of referring to fonts without specifying actual
|
Font family, a generic way of referring to fonts without specifying actual
|
||||||
facename. One of the ::wxFontFamily enumeration values.
|
facename. One of the ::wxFontFamily enumeration values.
|
||||||
@param style
|
@param style
|
||||||
One of wxFONTSTYLE_NORMAL, wxFONTSTYLE_SLANT and wxFONTSTYLE_ITALIC.
|
One of @c wxFONTSTYLE_NORMAL, @c wxFONTSTYLE_SLANT and @c wxFONTSTYLE_ITALIC.
|
||||||
@param weight
|
@param weight
|
||||||
Font weight, sometimes also referred to as font boldness. One of
|
Font weight, sometimes also referred to as font boldness.
|
||||||
the ::wxFontWeight enumeration values.
|
One of the ::wxFontWeight enumeration values.
|
||||||
@param underline
|
@param underline
|
||||||
The value can be @true or @false.
|
The value can be @true or @false.
|
||||||
At present this has an effect on Windows and Motif 2.x only.
|
At present this has an effect on Windows and Motif 2.x only.
|
||||||
@@ -284,16 +283,16 @@ public:
|
|||||||
An encoding which may be one of the enumeration values of ::wxFontEncoding.
|
An encoding which may be one of the enumeration values of ::wxFontEncoding.
|
||||||
Briefly these can be summed up as:
|
Briefly these can be summed up as:
|
||||||
<TABLE>
|
<TABLE>
|
||||||
<TR><TD>wxFONTENCODING_SYSTEM</TD><TD>Default system encoding.</TD></TR>
|
<TR><TD>@c wxFONTENCODING_SYSTEM</TD><TD>Default system encoding.</TD></TR>
|
||||||
<TR><TD>wxFONTENCODING_DEFAULT</TD><TD>
|
<TR><TD>@c wxFONTENCODING_DEFAULT</TD><TD>
|
||||||
Default application encoding: this
|
Default application encoding: this
|
||||||
is the encoding set by calls to
|
is the encoding set by calls to
|
||||||
SetDefaultEncoding and which may be set to,
|
SetDefaultEncoding and which may be set to,
|
||||||
say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
|
say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
|
||||||
default application encoding is the same as default system encoding.</TD></TR>
|
default application encoding is the same as default system encoding.</TD></TR>
|
||||||
<TR><TD>wxFONTENCODING_ISO8859_1...15</TD><TD>ISO8859 encodings.</TD></TR>
|
<TR><TD>@c wxFONTENCODING_ISO8859_1...15</TD><TD>ISO8859 encodings.</TD></TR>
|
||||||
<TR><TD>wxFONTENCODING_KOI8</TD><TD>The standard Russian encoding for Internet.</TD></TR>
|
<TR><TD>@c wxFONTENCODING_KOI8</TD><TD>The standard Russian encoding for Internet.</TD></TR>
|
||||||
<TR><TD>wxFONTENCODING_CP1250...1252</TD><TD>Windows encodings similar to ISO8859 (but not identical).</TD></TR>
|
<TR><TD>@c wxFONTENCODING_CP1250...1252</TD><TD>Windows encodings similar to ISO8859 (but not identical).</TD></TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
If the specified encoding isn't available, no font is created
|
If the specified encoding isn't available, no font is created
|
||||||
(see also font encoding overview).
|
(see also font encoding overview).
|
||||||
@@ -311,15 +310,12 @@ public:
|
|||||||
Creates a font object with the specified attributes.
|
Creates a font object with the specified attributes.
|
||||||
|
|
||||||
@param pixelSize
|
@param pixelSize
|
||||||
Size in pixels: this is directly supported only under MSW currently
|
Size in pixels. See SetPixelSize() for more info.
|
||||||
where this constructor can be used directly, under other platforms a
|
|
||||||
font with the closest size to the given one is found using binary search
|
|
||||||
and the static New method must be used.
|
|
||||||
@param family
|
@param family
|
||||||
Font family, a generic way of referring to fonts without specifying actual
|
Font family, a generic way of referring to fonts without specifying actual
|
||||||
facename. One of ::wxFontFamily enumeration values.
|
facename. One of ::wxFontFamily enumeration values.
|
||||||
@param style
|
@param style
|
||||||
One of wxFONTSTYLE_NORMAL, wxFONTSTYLE_SLANT and wxFONTSTYLE_ITALIC.
|
One of @c wxFONTSTYLE_NORMAL, @c wxFONTSTYLE_SLANT and @c wxFONTSTYLE_ITALIC.
|
||||||
@param weight
|
@param weight
|
||||||
Font weight, sometimes also referred to as font boldness.
|
Font weight, sometimes also referred to as font boldness.
|
||||||
One of the ::wxFontWeight enumeration values.
|
One of the ::wxFontWeight enumeration values.
|
||||||
@@ -333,16 +329,16 @@ public:
|
|||||||
An encoding which may be one of the enumeration values of ::wxFontEncoding.
|
An encoding which may be one of the enumeration values of ::wxFontEncoding.
|
||||||
Briefly these can be summed up as:
|
Briefly these can be summed up as:
|
||||||
<TABLE>
|
<TABLE>
|
||||||
<TR><TD>wxFONTENCODING_SYSTEM</TD><TD>Default system encoding.</TD></TR>
|
<TR><TD>@c wxFONTENCODING_SYSTEM</TD><TD>Default system encoding.</TD></TR>
|
||||||
<TR><TD>wxFONTENCODING_DEFAULT</TD><TD>
|
<TR><TD>@c wxFONTENCODING_DEFAULT</TD><TD>
|
||||||
Default application encoding: this
|
Default application encoding: this
|
||||||
is the encoding set by calls to
|
is the encoding set by calls to
|
||||||
SetDefaultEncoding and which may be set to,
|
SetDefaultEncoding and which may be set to,
|
||||||
say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
|
say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
|
||||||
default application encoding is the same as default system encoding.</TD></TR>
|
default application encoding is the same as default system encoding.</TD></TR>
|
||||||
<TR><TD>wxFONTENCODING_ISO8859_1...15</TD><TD>ISO8859 encodings.</TD></TR>
|
<TR><TD>@c wxFONTENCODING_ISO8859_1...15</TD><TD>ISO8859 encodings.</TD></TR>
|
||||||
<TR><TD>wxFONTENCODING_KOI8</TD><TD>The standard Russian encoding for Internet.</TD></TR>
|
<TR><TD>@c wxFONTENCODING_KOI8</TD><TD>The standard Russian encoding for Internet.</TD></TR>
|
||||||
<TR><TD>wxFONTENCODING_CP1250...1252</TD><TD>Windows encodings similar to ISO8859 (but not identical).</TD></TR>
|
<TR><TD>@c wxFONTENCODING_CP1250...1252</TD><TD>Windows encodings similar to ISO8859 (but not identical).</TD></TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
If the specified encoding isn't available, no font is created
|
If the specified encoding isn't available, no font is created
|
||||||
(see also font encoding overview).
|
(see also font encoding overview).
|
||||||
@@ -355,7 +351,6 @@ public:
|
|||||||
bool underline = false,
|
bool underline = false,
|
||||||
const wxString& faceName = wxEmptyString,
|
const wxString& faceName = wxEmptyString,
|
||||||
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
|
||||||
//@}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Destructor.
|
Destructor.
|
||||||
@@ -424,7 +419,18 @@ public:
|
|||||||
virtual int GetPointSize() const;
|
virtual int GetPointSize() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Gets the font style. See wxFontStyle for a list of valid styles.
|
Gets the pixel size.
|
||||||
|
|
||||||
|
Note that under wxMSW if you passed to SetPixelSize() (or to the ctor)
|
||||||
|
a wxSize object with a null width value, you'll get a null width in
|
||||||
|
the returned object.
|
||||||
|
|
||||||
|
@see SetPixelSize()
|
||||||
|
*/
|
||||||
|
virtual wxSize GetPixelSize() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Gets the font style. See ::wxFontStyle for a list of valid styles.
|
||||||
|
|
||||||
@see SetStyle()
|
@see SetStyle()
|
||||||
*/
|
*/
|
||||||
@@ -438,7 +444,7 @@ public:
|
|||||||
virtual bool GetUnderlined() const;
|
virtual bool GetUnderlined() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Gets the font weight. See wxFontWeight for a list of valid weight identifiers.
|
Gets the font weight. See ::wxFontWeight for a list of valid weight identifiers.
|
||||||
|
|
||||||
@see SetWeight()
|
@see SetWeight()
|
||||||
*/
|
*/
|
||||||
@@ -457,11 +463,11 @@ public:
|
|||||||
|
|
||||||
//@{
|
//@{
|
||||||
/**
|
/**
|
||||||
These functions take the same parameters as
|
This function takes the same parameters as
|
||||||
@ref wxFont::wxFont "wxFont constructors" and return a new font
|
@ref wxFont::wxFont "wxFont constructors" and returns a new font
|
||||||
object allocated on the heap.
|
object allocated on the heap.
|
||||||
|
|
||||||
Using @c New() is currently the only way to directly create a font with
|
Using New() is currently the only way to directly create a font with
|
||||||
the given size in pixels on platforms other than wxMSW.
|
the given size in pixels on platforms other than wxMSW.
|
||||||
*/
|
*/
|
||||||
static wxFont* New(int pointSize, wxFontFamily family, wxFontStyle style,
|
static wxFont* New(int pointSize, wxFontFamily family, wxFontStyle style,
|
||||||
@@ -545,8 +551,8 @@ public:
|
|||||||
|
|
||||||
@beginTable
|
@beginTable
|
||||||
@hdr3col{platform, generic syntax, example}
|
@hdr3col{platform, generic syntax, example}
|
||||||
@row3col{wxGTK2, @c [FACE-NAME] [bold] [oblique|italic] [POINTSIZE], Monospace bold 10}
|
@row3col{wxGTK2, <tt>[FACE-NAME] [bold] [oblique|italic] [POINTSIZE]</tt>, Monospace bold 10}
|
||||||
@row3col{wxMSW, @c [light|bold] [italic] [FACE-NAME] [POINTSIZE] [ENCODING], Tahoma 10 WINDOWS-1252}
|
@row3col{wxMSW, <tt>[light|bold] [italic] [FACE-NAME] [POINTSIZE] [ENCODING]</tt>, Tahoma 10 WINDOWS-1252}
|
||||||
@endTable
|
@endTable
|
||||||
|
|
||||||
@todo add an example for wxMac
|
@todo add an example for wxMac
|
||||||
@@ -562,6 +568,9 @@ public:
|
|||||||
/**
|
/**
|
||||||
Sets the point size.
|
Sets the point size.
|
||||||
|
|
||||||
|
The <em>point size</em> is defined as 1/72 of the anglo-Saxon inch
|
||||||
|
(25.4 mm): it is approximately 0.0139 inch or 352.8 um.
|
||||||
|
|
||||||
@param pointSize
|
@param pointSize
|
||||||
Size in points.
|
Size in points.
|
||||||
|
|
||||||
@@ -569,6 +578,21 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual void SetPointSize(int pointSize);
|
virtual void SetPointSize(int pointSize);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the pixel size.
|
||||||
|
|
||||||
|
The height parameter of @a pixelSize must be positive while the width
|
||||||
|
parameter may also be zero (to indicate that you're not interested in the
|
||||||
|
width of the characters: a suitable width will be chosen for best rendering).
|
||||||
|
|
||||||
|
This feature (specifying the font pixel size) is directly supported only
|
||||||
|
under wxMSW and wxGTK currently; under other platforms a font with the
|
||||||
|
closest size to the given one is found using binary search (this maybe slower).
|
||||||
|
|
||||||
|
@see GetPixelSize()
|
||||||
|
*/
|
||||||
|
virtual void SetPixelSize(const wxSize& pixelSize);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Sets the font style.
|
Sets the font style.
|
||||||
|
|
||||||
@@ -629,24 +653,26 @@ wxFont wxNullFont;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
Equivalent to wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).
|
Equivalent to wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT).
|
||||||
|
|
||||||
|
@see wxSystemSettings
|
||||||
*/
|
*/
|
||||||
wxFont wxNORMAL_FONT;
|
wxFont wxNORMAL_FONT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
A font using the wxFONTFAMILY_SWISS family and 2 points smaller than
|
A font using the @c wxFONTFAMILY_SWISS family and 2 points smaller than
|
||||||
::wxNORMAL_FONT.
|
::wxNORMAL_FONT.
|
||||||
*/
|
*/
|
||||||
wxFont wxSMALL_FONT;
|
wxFont wxSMALL_FONT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
A font using the wxFONTFAMILY_ROMAN family and wxFONTSTYLE_ITALIC style and
|
A font using the @c wxFONTFAMILY_ROMAN family and @c wxFONTSTYLE_ITALIC style and
|
||||||
of the same size of ::wxNORMAL_FONT.
|
of the same size of ::wxNORMAL_FONT.
|
||||||
*/
|
*/
|
||||||
wxFont wxITALIC_FONT;
|
wxFont wxITALIC_FONT;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
A font identic to ::wxNORMAL_FONT except for the family used which is
|
A font identic to ::wxNORMAL_FONT except for the family used which is
|
||||||
wxFONTFAMILY_SWISS.
|
@c wxFONTFAMILY_SWISS.
|
||||||
*/
|
*/
|
||||||
wxFont wxSWISS_FONT;
|
wxFont wxSWISS_FONT;
|
||||||
|
|
||||||
|
@@ -53,57 +53,27 @@
|
|||||||
// helper functions
|
// helper functions
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
static void AdjustFontSize(wxFont& font, wxDC& dc, const wxSize& pixelSize)
|
static inline int flags2Style(int flags)
|
||||||
{
|
{
|
||||||
int largestGood = 0;
|
return flags & wxFONTFLAG_ITALIC
|
||||||
int smallestBad = 0;
|
? wxFONTSTYLE_ITALIC
|
||||||
|
: flags & wxFONTFLAG_SLANT
|
||||||
|
? wxFONTSTYLE_SLANT
|
||||||
|
: wxFONTSTYLE_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
bool initialGoodFound = false;
|
static inline int flags2Weight(int flags)
|
||||||
bool initialBadFound = false;
|
{
|
||||||
|
return flags & wxFONTFLAG_LIGHT
|
||||||
|
? wxFONTWEIGHT_LIGHT
|
||||||
|
: flags & wxFONTFLAG_BOLD
|
||||||
|
? wxFONTWEIGHT_BOLD
|
||||||
|
: wxFONTWEIGHT_NORMAL;
|
||||||
|
}
|
||||||
|
|
||||||
// NB: this assignment was separated from the variable definition
|
static inline bool flags2Underlined(int flags)
|
||||||
// in order to fix a gcc v3.3.3 compiler crash
|
{
|
||||||
int currentSize = font.GetPointSize();
|
return (flags & wxFONTFLAG_UNDERLINED) != 0;
|
||||||
while (currentSize > 0)
|
|
||||||
{
|
|
||||||
dc.SetFont(font);
|
|
||||||
|
|
||||||
// if currentSize (in points) results in a font that is smaller
|
|
||||||
// than required by pixelSize it is considered a good size
|
|
||||||
if (dc.GetCharHeight() <= pixelSize.GetHeight() &&
|
|
||||||
(!pixelSize.GetWidth() ||
|
|
||||||
dc.GetCharWidth() <= pixelSize.GetWidth()))
|
|
||||||
{
|
|
||||||
largestGood = currentSize;
|
|
||||||
initialGoodFound = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
smallestBad = currentSize;
|
|
||||||
initialBadFound = true;
|
|
||||||
}
|
|
||||||
if (!initialGoodFound)
|
|
||||||
{
|
|
||||||
currentSize /= 2;
|
|
||||||
}
|
|
||||||
else if (!initialBadFound)
|
|
||||||
{
|
|
||||||
currentSize *= 2;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
int distance = smallestBad - largestGood;
|
|
||||||
if (distance == 1)
|
|
||||||
break;
|
|
||||||
|
|
||||||
currentSize = largestGood + distance / 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
font.SetPointSize(currentSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (currentSize != largestGood)
|
|
||||||
font.SetPointSize(largestGood);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -140,27 +110,17 @@ wxFont *wxFontBase::New(int size,
|
|||||||
return new wxFont(size, family, style, weight, underlined, face, encoding);
|
return new wxFont(size, family, style, weight, underlined, face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int flags2Style(int flags)
|
/* static */
|
||||||
|
wxFont *wxFontBase::New(const wxSize& pixelSize,
|
||||||
|
wxFontFamily family,
|
||||||
|
wxFontStyle style,
|
||||||
|
wxFontWeight weight,
|
||||||
|
bool underlined,
|
||||||
|
const wxString& face,
|
||||||
|
wxFontEncoding encoding)
|
||||||
{
|
{
|
||||||
return flags & wxFONTFLAG_ITALIC
|
return new wxFont(pixelSize, family, style, weight, underlined,
|
||||||
? wxFONTSTYLE_ITALIC
|
face, encoding);
|
||||||
: flags & wxFONTFLAG_SLANT
|
|
||||||
? wxFONTSTYLE_SLANT
|
|
||||||
: wxFONTSTYLE_NORMAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int flags2Weight(int flags)
|
|
||||||
{
|
|
||||||
return flags & wxFONTFLAG_LIGHT
|
|
||||||
? wxFONTWEIGHT_LIGHT
|
|
||||||
: flags & wxFONTFLAG_BOLD
|
|
||||||
? wxFONTWEIGHT_BOLD
|
|
||||||
: wxFONTWEIGHT_NORMAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline bool flags2Underlined(int flags)
|
|
||||||
{
|
|
||||||
return (flags & wxFONTFLAG_UNDERLINED) != 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
@@ -174,26 +134,6 @@ wxFont *wxFontBase::New(int pointSize,
|
|||||||
flags2Underlined(flags), face, encoding);
|
flags2Underlined(flags), face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* static */
|
|
||||||
wxFont *wxFontBase::New(const wxSize& pixelSize,
|
|
||||||
wxFontFamily family,
|
|
||||||
wxFontStyle style,
|
|
||||||
wxFontWeight weight,
|
|
||||||
bool underlined,
|
|
||||||
const wxString& face,
|
|
||||||
wxFontEncoding encoding)
|
|
||||||
{
|
|
||||||
#if defined(__WXMSW__)
|
|
||||||
return new wxFont(pixelSize, family, style, weight, underlined,
|
|
||||||
face, encoding);
|
|
||||||
#else
|
|
||||||
wxFont *self = New(10, family, style, weight, underlined, face, encoding);
|
|
||||||
wxScreenDC dc;
|
|
||||||
AdjustFontSize(*(wxFont *)self, dc, pixelSize);
|
|
||||||
return self;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
wxFont *wxFontBase::New(const wxSize& pixelSize,
|
wxFont *wxFontBase::New(const wxSize& pixelSize,
|
||||||
wxFontFamily family,
|
wxFontFamily family,
|
||||||
@@ -205,24 +145,6 @@ wxFont *wxFontBase::New(const wxSize& pixelSize,
|
|||||||
flags2Underlined(flags), face, encoding);
|
flags2Underlined(flags), face, encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxSize wxFontBase::GetPixelSize() const
|
|
||||||
{
|
|
||||||
wxScreenDC dc;
|
|
||||||
dc.SetFont(*(wxFont *)this);
|
|
||||||
return wxSize(dc.GetCharWidth(), dc.GetCharHeight());
|
|
||||||
}
|
|
||||||
|
|
||||||
bool wxFontBase::IsUsingSizeInPixels() const
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxFontBase::SetPixelSize( const wxSize& pixelSize )
|
|
||||||
{
|
|
||||||
wxScreenDC dc;
|
|
||||||
AdjustFontSize(*(wxFont *)this, dc, pixelSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
wxFont *wxFontBase::New(const wxNativeFontInfo& info)
|
wxFont *wxFontBase::New(const wxNativeFontInfo& info)
|
||||||
{
|
{
|
||||||
@@ -244,6 +166,81 @@ bool wxFontBase::IsFixedWidth() const
|
|||||||
return GetFamily() == wxFONTFAMILY_TELETYPE;
|
return GetFamily() == wxFONTFAMILY_TELETYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxSize wxFontBase::GetPixelSize() const
|
||||||
|
{
|
||||||
|
wxScreenDC dc;
|
||||||
|
dc.SetFont(*(wxFont *)this);
|
||||||
|
return wxSize(dc.GetCharWidth(), dc.GetCharHeight());
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxFontBase::IsUsingSizeInPixels() const
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxFontBase::SetPixelSize( const wxSize& pixelSize )
|
||||||
|
{
|
||||||
|
wxCHECK_RET( pixelSize.GetWidth() >= 0 && pixelSize.GetHeight() > 0,
|
||||||
|
"Negative values for the pixel size or zero pixel height are not allowed" );
|
||||||
|
|
||||||
|
wxScreenDC dc;
|
||||||
|
|
||||||
|
// NOTE: this algorithm for adjusting the font size is used by all
|
||||||
|
// implementations of wxFont except under wxMSW and wxGTK where
|
||||||
|
// native support to font creation using pixel-size is provided.
|
||||||
|
|
||||||
|
int largestGood = 0;
|
||||||
|
int smallestBad = 0;
|
||||||
|
|
||||||
|
bool initialGoodFound = false;
|
||||||
|
bool initialBadFound = false;
|
||||||
|
|
||||||
|
// NB: this assignment was separated from the variable definition
|
||||||
|
// in order to fix a gcc v3.3.3 compiler crash
|
||||||
|
int currentSize = GetPointSize();
|
||||||
|
while (currentSize > 0)
|
||||||
|
{
|
||||||
|
dc.SetFont(*static_cast<wxFont*>(this));
|
||||||
|
|
||||||
|
// if currentSize (in points) results in a font that is smaller
|
||||||
|
// than required by pixelSize it is considered a good size
|
||||||
|
// NOTE: the pixel size width may be zero
|
||||||
|
if (dc.GetCharHeight() <= pixelSize.GetHeight() &&
|
||||||
|
(pixelSize.GetWidth() == 0 ||
|
||||||
|
dc.GetCharWidth() <= pixelSize.GetWidth()))
|
||||||
|
{
|
||||||
|
largestGood = currentSize;
|
||||||
|
initialGoodFound = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
smallestBad = currentSize;
|
||||||
|
initialBadFound = true;
|
||||||
|
}
|
||||||
|
if (!initialGoodFound)
|
||||||
|
{
|
||||||
|
currentSize /= 2;
|
||||||
|
}
|
||||||
|
else if (!initialBadFound)
|
||||||
|
{
|
||||||
|
currentSize *= 2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int distance = smallestBad - largestGood;
|
||||||
|
if (distance == 1)
|
||||||
|
break;
|
||||||
|
|
||||||
|
currentSize = largestGood + distance / 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetPointSize(currentSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentSize != largestGood)
|
||||||
|
SetPointSize(largestGood);
|
||||||
|
}
|
||||||
|
|
||||||
void wxFontBase::DoSetNativeFontInfo(const wxNativeFontInfo& info)
|
void wxFontBase::DoSetNativeFontInfo(const wxNativeFontInfo& info)
|
||||||
{
|
{
|
||||||
#ifdef wxNO_NATIVE_FONTINFO
|
#ifdef wxNO_NATIVE_FONTINFO
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: src/gtk/font.cpp
|
// Name: src/gtk/font.cpp
|
||||||
// Purpose:
|
// Purpose: wxFont for wxGTK
|
||||||
// Author: Robert Roebling
|
// Author: Robert Roebling
|
||||||
// Id: $Id$
|
// Id: $Id$
|
||||||
// Copyright: (c) 1998 Robert Roebling and Julian Smart
|
// Copyright: (c) 1998 Robert Roebling and Julian Smart
|
||||||
@@ -113,8 +113,7 @@ private:
|
|||||||
wxFontEncoding m_encoding;
|
wxFontEncoding m_encoding;
|
||||||
bool m_noAA; // No anti-aliasing
|
bool m_noAA; // No anti-aliasing
|
||||||
|
|
||||||
// The native font info, basicly an XFLD under GTK 1.2 and
|
// The native font info: basically a PangoFontDescription
|
||||||
// the pango font description under GTK 2.0.
|
|
||||||
wxNativeFontInfo m_nativeFontInfo;
|
wxNativeFontInfo m_nativeFontInfo;
|
||||||
|
|
||||||
friend class wxFont;
|
friend class wxFont;
|
||||||
@@ -287,6 +286,36 @@ void wxFontRefData::SetPointSize(int pointSize)
|
|||||||
m_nativeFontInfo.SetPointSize(pointSize);
|
m_nativeFontInfo.SetPointSize(pointSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
NOTE: disabled because pango_font_description_set_absolute_size() and
|
||||||
|
wxDC::GetCharHeight() do not mix well: setting with the former a pixel
|
||||||
|
size of "30" makes the latter return 36...
|
||||||
|
Besides, we need to return GetPointSize() a point size value even if
|
||||||
|
SetPixelSize() was used and this would require further changes
|
||||||
|
(and use of pango_font_description_get_size_is_absolute in some places).
|
||||||
|
|
||||||
|
bool wxFontRefData::SetPixelSize(const wxSize& pixelSize)
|
||||||
|
{
|
||||||
|
wxCHECK_MSG( pixelSize.GetWidth() >= 0 && pixelSize.GetHeight() > 0, false,
|
||||||
|
"Negative values for the pixel size or zero pixel height are not allowed" );
|
||||||
|
|
||||||
|
if (wx_pango_version_check(1,8,0) != NULL ||
|
||||||
|
pixelSize.GetWidth() != 0)
|
||||||
|
{
|
||||||
|
// NOTE: pango_font_description_set_absolute_size() only sets the font height;
|
||||||
|
// if the user set the pixel width of the font explicitly or the pango
|
||||||
|
// library is too old, we cannot proceed
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
pango_font_description_set_absolute_size( m_nativeFontInfo.description,
|
||||||
|
pixelSize.GetHeight() * PANGO_SCALE );
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
void wxFontRefData::SetFamily(wxFontFamily family)
|
void wxFontRefData::SetFamily(wxFontFamily family)
|
||||||
{
|
{
|
||||||
m_family = family;
|
m_family = family;
|
||||||
@@ -361,7 +390,7 @@ bool wxFont::Create( int pointSize,
|
|||||||
wxFontWeight weight,
|
wxFontWeight weight,
|
||||||
bool underlined,
|
bool underlined,
|
||||||
const wxString& face,
|
const wxString& face,
|
||||||
wxFontEncoding encoding)
|
wxFontEncoding encoding )
|
||||||
{
|
{
|
||||||
UnRef();
|
UnRef();
|
||||||
|
|
||||||
|
@@ -186,6 +186,10 @@ wxConvertFromGTK(const wxString& s, wxFontEncoding enc)
|
|||||||
// availability of pango version major.minor.micro, nor the non-availability
|
// availability of pango version major.minor.micro, nor the non-availability
|
||||||
const gchar *wx_pango_version_check (int major, int minor, int micro)
|
const gchar *wx_pango_version_check (int major, int minor, int micro)
|
||||||
{
|
{
|
||||||
|
// NOTE: you don't need to use this macro to check for Pango features
|
||||||
|
// added in pango-1.4 or earlier since GTK 2.4 (our minimum requirement
|
||||||
|
// for GTK lib) required pango 1.4...
|
||||||
|
|
||||||
#ifdef PANGO_VERSION_MAJOR
|
#ifdef PANGO_VERSION_MAJOR
|
||||||
if (!gtk_check_version (2,11,0))
|
if (!gtk_check_version (2,11,0))
|
||||||
{
|
{
|
||||||
|
@@ -565,11 +565,16 @@ void wxNativeFontInfo::SetPointSize(int pointsize)
|
|||||||
|
|
||||||
void wxNativeFontInfo::SetPixelSize(const wxSize& pixelSize)
|
void wxNativeFontInfo::SetPixelSize(const wxSize& pixelSize)
|
||||||
{
|
{
|
||||||
|
// NOTE: although the MSW port allows for negative pixel size heights,
|
||||||
|
// other ports don't and since it's a very useful feature assert
|
||||||
|
// here if we get a negative height:
|
||||||
|
wxCHECK_RET( pixelSize.GetWidth() >= 0 && pixelSize.GetHeight() > 0,
|
||||||
|
"Negative values for the pixel size or zero pixel height are not allowed" );
|
||||||
|
|
||||||
lf.lfHeight = pixelSize.GetHeight();
|
lf.lfHeight = pixelSize.GetHeight();
|
||||||
lf.lfWidth = pixelSize.GetWidth();
|
lf.lfWidth = pixelSize.GetWidth();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void wxNativeFontInfo::SetStyle(wxFontStyle style)
|
void wxNativeFontInfo::SetStyle(wxFontStyle style)
|
||||||
{
|
{
|
||||||
switch ( style )
|
switch ( style )
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: src/unix/fontutil.cpp
|
// Name: src/unix/fontutil.cpp
|
||||||
// Purpose: Font helper functions for X11 (GDK/X)
|
// Purpose: Font helper functions for wxX11, wxGTK, wxMotif
|
||||||
// Author: Vadim Zeitlin
|
// Author: Vadim Zeitlin
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 05.11.99
|
// Created: 05.11.99
|
||||||
@@ -218,7 +218,6 @@ wxFontEncoding wxNativeFontInfo::GetEncoding() const
|
|||||||
return wxFONTENCODING_SYSTEM;
|
return wxFONTENCODING_SYSTEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void wxNativeFontInfo::SetPointSize(int pointsize)
|
void wxNativeFontInfo::SetPointSize(int pointsize)
|
||||||
{
|
{
|
||||||
pango_font_description_set_size( description, pointsize * PANGO_SCALE );
|
pango_font_description_set_size( description, pointsize * PANGO_SCALE );
|
||||||
|
Reference in New Issue
Block a user