mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 09:09:52 -06:00
Upgrade WX to r74856, mainly to support @2x.
This commit is contained in:
147
Externals/wxWidgets3/include/wx/font.h
vendored
147
Externals/wxWidgets3/include/wx/font.h
vendored
@ -4,7 +4,6 @@
|
||||
// Author: Vadim Zeitlin
|
||||
// Modified by:
|
||||
// Created: 20.09.99
|
||||
// RCS-ID: $Id: font.h 70446 2012-01-23 11:28:28Z VZ $
|
||||
// Copyright: (c) wxWidgets team
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@ -111,6 +110,145 @@ enum wxFontFlag
|
||||
wxFONTFLAG_STRIKETHROUGH
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxFontInfo describes a wxFont
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class wxFontInfo
|
||||
{
|
||||
public:
|
||||
// Default ctor uses the default font size appropriate for the current
|
||||
// platform.
|
||||
wxFontInfo()
|
||||
{ InitPointSize(-1); }
|
||||
|
||||
// These ctors specify the font size, either in points or in pixels.
|
||||
wxEXPLICIT wxFontInfo(int pointSize)
|
||||
{ InitPointSize(pointSize); }
|
||||
wxEXPLICIT wxFontInfo(const wxSize& pixelSize) : m_pixelSize(pixelSize)
|
||||
{ Init(); }
|
||||
|
||||
// Setters for the various attributes. All of them return the object itself
|
||||
// so that the calls to them could be chained.
|
||||
wxFontInfo& Family(wxFontFamily family)
|
||||
{ m_family = family; return *this; }
|
||||
wxFontInfo& FaceName(const wxString& faceName)
|
||||
{ m_faceName = faceName; return *this; }
|
||||
|
||||
wxFontInfo& Bold(bool bold = true)
|
||||
{ SetFlag(wxFONTFLAG_BOLD, bold); return *this; }
|
||||
wxFontInfo& Light(bool light = true)
|
||||
{ SetFlag(wxFONTFLAG_LIGHT, light); return *this; }
|
||||
|
||||
wxFontInfo& Italic(bool italic = true)
|
||||
{ SetFlag(wxFONTFLAG_ITALIC, italic); return *this; }
|
||||
wxFontInfo& Slant(bool slant = true)
|
||||
{ SetFlag(wxFONTFLAG_SLANT, slant); return *this; }
|
||||
|
||||
wxFontInfo& AntiAliased(bool antiAliased = true)
|
||||
{ SetFlag(wxFONTFLAG_ANTIALIASED, antiAliased); return *this; }
|
||||
wxFontInfo& Underlined(bool underlined = true)
|
||||
{ SetFlag(wxFONTFLAG_UNDERLINED, underlined); return *this; }
|
||||
wxFontInfo& Strikethrough(bool strikethrough = true)
|
||||
{ SetFlag(wxFONTFLAG_STRIKETHROUGH, strikethrough); return *this; }
|
||||
|
||||
wxFontInfo& Encoding(wxFontEncoding encoding)
|
||||
{ m_encoding = encoding; return *this; }
|
||||
|
||||
|
||||
// Set all flags at once.
|
||||
wxFontInfo& AllFlags(int flags)
|
||||
{ m_flags = flags; return *this; }
|
||||
|
||||
|
||||
// Accessors are mostly meant to be used by wxFont itself to extract the
|
||||
// various pieces of the font description.
|
||||
|
||||
bool IsUsingSizeInPixels() const { return m_pixelSize != wxDefaultSize; }
|
||||
int GetPointSize() const { return m_pointSize; }
|
||||
wxSize GetPixelSize() const { return m_pixelSize; }
|
||||
wxFontFamily GetFamily() const { return m_family; }
|
||||
const wxString& GetFaceName() const { return m_faceName; }
|
||||
|
||||
wxFontStyle GetStyle() const
|
||||
{
|
||||
return m_flags & wxFONTFLAG_ITALIC
|
||||
? wxFONTSTYLE_ITALIC
|
||||
: m_flags & wxFONTFLAG_SLANT
|
||||
? wxFONTSTYLE_SLANT
|
||||
: wxFONTSTYLE_NORMAL;
|
||||
}
|
||||
|
||||
wxFontWeight GetWeight() const
|
||||
{
|
||||
return m_flags & wxFONTFLAG_LIGHT
|
||||
? wxFONTWEIGHT_LIGHT
|
||||
: m_flags & wxFONTFLAG_BOLD
|
||||
? wxFONTWEIGHT_BOLD
|
||||
: wxFONTWEIGHT_NORMAL;
|
||||
}
|
||||
|
||||
bool IsAntiAliased() const
|
||||
{
|
||||
return (m_flags & wxFONTFLAG_ANTIALIASED) != 0;
|
||||
}
|
||||
|
||||
bool IsUnderlined() const
|
||||
{
|
||||
return (m_flags & wxFONTFLAG_UNDERLINED) != 0;
|
||||
}
|
||||
|
||||
bool IsStrikethrough() const
|
||||
{
|
||||
return (m_flags & wxFONTFLAG_STRIKETHROUGH) != 0;
|
||||
}
|
||||
|
||||
wxFontEncoding GetEncoding() const { return m_encoding; }
|
||||
|
||||
|
||||
// Default copy ctor, assignment operator and dtor are OK.
|
||||
|
||||
private:
|
||||
// Common part of all ctor, initializing everything except the size (which
|
||||
// is initialized by the ctors themselves).
|
||||
void Init()
|
||||
{
|
||||
m_family = wxFONTFAMILY_DEFAULT;
|
||||
m_flags = wxFONTFLAG_DEFAULT;
|
||||
m_encoding = wxFONTENCODING_DEFAULT;
|
||||
}
|
||||
|
||||
void InitPointSize(int pointSize)
|
||||
{
|
||||
Init();
|
||||
|
||||
m_pointSize = pointSize;
|
||||
m_pixelSize = wxDefaultSize;
|
||||
}
|
||||
|
||||
// Turn on or off the given bit in m_flags depending on the value of the
|
||||
// boolean argument.
|
||||
void SetFlag(int flag, bool on)
|
||||
{
|
||||
if ( on )
|
||||
m_flags |= flag;
|
||||
else
|
||||
m_flags &= ~flag;
|
||||
}
|
||||
|
||||
// The size information: if m_pixelSize is valid (!= wxDefaultSize), then
|
||||
// it is used. Otherwise m_pointSize is used, taking into account that if
|
||||
// it is == -1, it means that the platform dependent font size should be
|
||||
// used.
|
||||
int m_pointSize;
|
||||
wxSize m_pixelSize;
|
||||
|
||||
wxFontFamily m_family;
|
||||
wxString m_faceName;
|
||||
int m_flags;
|
||||
wxFontEncoding m_encoding;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxFontBase represents a font object
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -124,6 +262,7 @@ public:
|
||||
derived classes should provide the following ctors:
|
||||
|
||||
wxFont();
|
||||
wxFont(const wxFontInfo& info);
|
||||
wxFont(const wxString& nativeFontInfoString);
|
||||
wxFont(const wxNativeFontInfo& info);
|
||||
wxFont(int size,
|
||||
@ -293,7 +432,7 @@ protected:
|
||||
virtual wxFontFamily DoGetFamily() const = 0;
|
||||
|
||||
|
||||
// Helper functions to recover wxFONTSTYLE/wxFONTWEIGHT and underlined flg
|
||||
// Helper functions to recover wxFONTSTYLE/wxFONTWEIGHT and underlined flag
|
||||
// values from flags containing a combination of wxFONTFLAG_XXX.
|
||||
static wxFontStyle GetStyleFromFlags(int flags)
|
||||
{
|
||||
@ -318,6 +457,10 @@ protected:
|
||||
return (flags & wxFONTFLAG_UNDERLINED) != 0;
|
||||
}
|
||||
|
||||
static bool GetStrikethroughFromFlags(int flags)
|
||||
{
|
||||
return (flags & wxFONTFLAG_STRIKETHROUGH) != 0;
|
||||
}
|
||||
|
||||
private:
|
||||
// the currently default encoding: by default, it's the default system
|
||||
|
Reference in New Issue
Block a user