wxFont(3)
π wxFont π
okay so bestie, welcome to the wxFont glow-up page β this is the Erlang Module Definition for wxFont(3), and it's lowkey one of the most useful little objects in the whole wx toolbox. grab a strawberry π, we're doing fonts.
πΈ NAME πΈ
wxFont β a font is an object which determines the appearance of text. that's it. that's the whole vibe.
β¨ DESCRIPTION β¨
So fonts are what you use for drawing text to a device context, and for setting the appearance of a window's text β peep wxDC:setFont/2 and wxWindow:setFont/2. that's your whole plot right there π
The easiest way to create a custom font is to use wxFontInfo (not implemented in wx) object to specify the font attributes and then use new/5 constructor. Alternatively, you could start with one of the pre-defined fonts or use wxWindow:getFont/1 and modify the font, e.g. by increasing its size using MakeLarger() (not implemented in wx) or changing its weight using MakeBold() (not implemented in wx).
This class uses reference counting and copy-on-write internally so that assignments between two instances of this class are very cheap. You can therefore use actual objects instead of pointers without efficiency problems. If an instance of this class is changed it will create its own data internally so that other instances, which previously shared the data using the reference counting, are not affected. (yes bestie, cheap copies AND zero surprise mutations β we love a considerate icon π«Ά)
You can retrieve the current system font settings with wxSystemSettings.
Predefined objects (include wx.hrl): ?wxNullFont, ?wxNORMAL_FONT, ?wxSMALL_FONT, ?wxITALIC_FONT, ?wxSWISS_FONT
See:
- Overview font
wxDC:setFont/2wxDC:drawText/3wxDC:getTextExtent/3wxFontDialogwxSystemSettings
wxWidgets docs: wxFont
π¦ DATA TYPES π¦
wxFont() :: wx:wx_object().
π FUNCTIONS π
destroy
destroy(This :: wxFont()) -> ok.
Destroys the object. bye bye font, you served π
getDefaultEncoding
getDefaultEncoding() -> wx:wx_enum().
Returns the current application's default encoding.
See:
- Overview fontencoding
setDefaultEncoding/1
getFaceName
getFaceName(This) -> unicode:charlist() when This :: wxFont().
Returns the face name associated with the font, or the empty string if there is no face information. (empty string = no face info, not an error, don't panic)
See: setFaceName/2
getFamily
getFamily(This) -> wx:wx_enum() when This :: wxFont().
Gets the font family if possible.
As described in ?wxFontFamily docs the returned value acts as a rough, basic classification of the main font properties (look, spacing).
If the current font face name is not recognized by wxFont or by the underlying system, wxFONTFAMILY_DEFAULT is returned.
Note that currently this function is not very precise and so not particularly useful. Font families mostly make sense only for font creation, see setFamily/2.
See: setFamily/2
getNativeFontInfoDesc
getNativeFontInfoDesc(This) -> unicode:charlist()
when This :: wxFont().
Returns the platform-dependent string completely describing this font.
Returned string is always non-empty unless the font is invalid (in which case an assert is triggered). β οΈ
Note that the returned string is not meant to be shown or edited by the user: a typical use of this function is for serializing in string-form a wxFont object. (serialize it, don't show it to your friend, fr fr)
See: getNativeFontInfoUserDesc/1
getNativeFontInfoUserDesc
getNativeFontInfoUserDesc(This) -> unicode:charlist()
when This :: wxFont().
Returns a user-friendly string for this font object.
Returned string is always non-empty unless the font is invalid (in which case an assert is triggered).
The string does not encode all wxFont infos under all platforms; e.g. under wxMSW the font family is not present in the returned string.
Some examples of the formats of returned strings (which are platform-dependent) are in SetNativeFontInfoUserDesc() (not implemented in wx).
See: getNativeFontInfoDesc/1
getPointSize
getPointSize(This) -> integer() when This :: wxFont().
Gets the point size as an integer number.
This function is kept for compatibility reasons. New code should use GetFractionalPointSize() (not implemented in wx) and support fractional point sizes. (legacy energy, but she still works)
See: setPointSize/2
getStyle
getStyle(This) -> wx:wx_enum() when This :: wxFont().
Gets the font style.
See ?wxFontStyle for a list of valid styles.
See: setStyle/2
getUnderlined
getUnderlined(This) -> boolean() when This :: wxFont().
Returns true if the font is underlined, false otherwise.
See: setUnderlined/2
getWeight
getWeight(This) -> wx:wx_enum() when This :: wxFont().
Gets the font weight.
See ?wxFontWeight for a list of valid weight identifiers.
See: setWeight/2
isFixedWidth
isFixedWidth(This) -> boolean() when This :: wxFont().
Returns true if the font is a fixed width (or monospaced) font, false if it is a proportional one or font is invalid.
Note that this function under some platforms is different from just testing for the font family being equal to wxFONTFAMILY_TELETYPE because native platform-specific functions are used for the check (resulting in a more accurate return value). (more accurate than the vibe check, bestie)
isOk
isOk(This) -> boolean() when This :: wxFont().
Returns true if this object is a valid font, false otherwise.
new
new() -> wxFont().
Default ctor.
new(NativeInfoString) -> wxFont()
when NativeInfoString :: unicode:chardata();
(Font) -> wxFont() when Font :: wxFont().
Copy constructor, uses reference counting.
new(PointSize, Family, Style, Weight) -> wxFont()
when
PointSize :: integer(),
Family :: wx:wx_enum(),
Style :: wx:wx_enum(),
Weight :: wx:wx_enum();
(PixelSize, Family, Style, Weight) -> wxFont()
when
PixelSize :: {W :: integer(), H :: integer()},
Family :: wx:wx_enum(),
Style :: wx:wx_enum(),
Weight :: wx:wx_enum().
Equivalent to: new/5
new(PointSize, Family, Style, Weight, [Option]) -> wxFont()
when
PointSize :: integer(),
Family :: wx:wx_enum(),
Style :: wx:wx_enum(),
Weight :: wx:wx_enum(),
Option ::
{underlined, boolean()} |
{face, unicode:chardata()} |
{encoding, wx:wx_enum()};
(PixelSize, Family, Style, Weight, [Option]) -> wxFont()
when
PixelSize :: {W :: integer(), H :: integer()},
Family :: wx:wx_enum(),
Style :: wx:wx_enum(),
Weight :: wx:wx_enum(),
Option ::
{underline, boolean()} |
{faceName, unicode:chardata()} |
{encoding, wx:wx_enum()}.
Creates a font object with the specified attributes and size in pixels.
Notice that the use of this constructor is often more verbose and less readable than the use of constructor from wxFontInfo (not implemented in wx), consider using that constructor instead.
Remark: If the desired font does not exist, the closest match will be chosen. Under Windows, only scalable TrueType fonts are used.
heads up bestie: the option atoms are not the same across the two clauses β{underlined, boolean()}/{face, unicode:chardata()}for the point-size version, but{underline, boolean()}/{faceName, unicode:chardata()}for the pixel-size version. copy them exactly, no cap π«Ά
ok
ok(This) -> boolean() when This :: wxFont().
Equivalent to: isOk/1
setDefaultEncoding
setDefaultEncoding(Encoding) -> ok when Encoding :: wx:wx_enum().
Sets the default font encoding.
See:
- Overview fontencoding
getDefaultEncoding/0
setFaceName
setFaceName(This, FaceName) -> boolean()
when
This :: wxFont(),
FaceName :: unicode:chardata().
Sets the facename for the font.
Remark: To avoid portability problems, don't rely on a specific face, but specify the font family instead (see ?wxFontFamily and setFamily/2).
Return: true if the given face name exists; if the face name doesn't exist in the user's system then the font is invalidated (so that isOk/1 will return false) and false is returned.
See:
getFaceName/1setFamily/2
setFamily
setFamily(This, Family) -> ok
when This :: wxFont(), Family :: wx:wx_enum().
Sets the font family.
As described in ?wxFontFamily docs the given family value acts as a rough, basic indication of the main font properties (look, spacing).
Note that changing the font family results in changing the font face name.
See:
getFamily/1setFaceName/2
setPointSize
setPointSize(This, PointSize) -> ok
when This :: wxFont(), PointSize :: integer().
Sets the font size in points to an integer value.
This is a legacy version of the function only supporting integer point sizes. It can still be used, but to avoid unnecessarily restricting the font size in points to integer values, consider using the new (added in wxWidgets 3.1.2) SetFractionalPointSize() (not implemented in wx) function instead.
setStyle
setStyle(This, Style) -> ok
when This :: wxFont(), Style :: wx:wx_enum().
Sets the font style.
See: getStyle/1
setUnderlined
setUnderlined(This, Underlined) -> ok
when This :: wxFont(), Underlined :: boolean().
Sets underlining.
See: getUnderlined/1
setWeight
setWeight(This, Weight) -> ok
when This :: wxFont(), Weight :: wx:wx_enum().
Sets the font weight.
See: getWeight/1
and that's the whole page bestie!! π this icon was brought to you by Ericsson AB, version wx 2.6, and it's the wxFont(3) footer energy β thanks for reading, now go set a font and slay β¨ππ
π¦ where this page comes from
- ubuntu stonking: erlang-doc 1:29.0.6+dfsg-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms