wxFont::IsFixedWidth for wxMGL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -80,6 +80,7 @@ public:
|
||||
virtual wxString GetFaceName() const;
|
||||
virtual bool GetUnderlined() const;
|
||||
virtual wxFontEncoding GetEncoding() const;
|
||||
virtual bool IsFixedWidth() const;
|
||||
|
||||
virtual void SetPointSize(int pointSize);
|
||||
virtual void SetFamily(int family);
|
||||
|
@@ -57,10 +57,11 @@ private:
|
||||
class wxMGLFontLibrary
|
||||
{
|
||||
public:
|
||||
wxMGLFontLibrary(const wxString& filename, int type);
|
||||
wxMGLFontLibrary(const wxString& filename, int type, wxMGLFontFamily *parentFamily);
|
||||
~wxMGLFontLibrary();
|
||||
|
||||
wxMGLFontInstance *GetFontInstance(wxFont *font, float scale, bool aa);
|
||||
wxMGLFontFamily *GetFamily() const { return m_family; }
|
||||
|
||||
void IncRef();
|
||||
void DecRef();
|
||||
@@ -73,6 +74,7 @@ private:
|
||||
wxString m_fileName;
|
||||
size_t m_refs;
|
||||
wxMGLFontInstanceList *m_instances;
|
||||
wxMGLFontFamily *m_family;
|
||||
};
|
||||
|
||||
// structure representing native MGL font family
|
||||
|
@@ -33,6 +33,7 @@
|
||||
#include "wx/gdicmn.h"
|
||||
#include "wx/tokenzr.h"
|
||||
#include "wx/settings.h"
|
||||
#include "wx/mgl/private.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxFontRefData
|
||||
@@ -259,6 +260,13 @@ wxFontEncoding wxFont::GetEncoding() const
|
||||
return M_FONTDATA->m_encoding;
|
||||
}
|
||||
|
||||
bool wxFont::IsFixedWidth() const
|
||||
{
|
||||
wxCHECK_MSG( Ok(), FALSE, wxT("invalid font") );
|
||||
|
||||
return (bool)(M_FONTDATA->m_library->GetFamily()->GetInfo()->isFixed);
|
||||
}
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// change font attributes
|
||||
|
@@ -189,8 +189,10 @@ wxMGLFontInstance::~wxMGLFontInstance()
|
||||
MGL_unloadFontInstance(m_font);
|
||||
}
|
||||
|
||||
wxMGLFontLibrary::wxMGLFontLibrary(const wxString& filename, int type)
|
||||
wxMGLFontLibrary::wxMGLFontLibrary(const wxString& filename, int type,
|
||||
wxMGLFontFamily *parentFamily)
|
||||
{
|
||||
m_family = parentFamily;
|
||||
m_type = type;
|
||||
m_fileName = filename;
|
||||
m_refs = 0;
|
||||
@@ -299,25 +301,25 @@ wxMGLFontFamily::wxMGLFontFamily(const font_info_t *info)
|
||||
m_fontLibs[wxFONTFACE_REGULAR] = NULL;
|
||||
else
|
||||
m_fontLibs[wxFONTFACE_REGULAR] =
|
||||
new wxMGLFontLibrary(info->regularFace, wxFONTFACE_REGULAR);
|
||||
new wxMGLFontLibrary(info->regularFace, wxFONTFACE_REGULAR, this);
|
||||
|
||||
if ( info->italicFace[0] == '\0' )
|
||||
m_fontLibs[wxFONTFACE_ITALIC] = NULL;
|
||||
else
|
||||
m_fontLibs[wxFONTFACE_ITALIC] =
|
||||
new wxMGLFontLibrary(info->italicFace, wxFONTFACE_ITALIC);
|
||||
new wxMGLFontLibrary(info->italicFace, wxFONTFACE_ITALIC, this);
|
||||
|
||||
if ( info->boldFace[0] == '\0' )
|
||||
m_fontLibs[wxFONTFACE_BOLD] = NULL;
|
||||
else
|
||||
m_fontLibs[wxFONTFACE_BOLD] =
|
||||
new wxMGLFontLibrary(info->boldFace, wxFONTFACE_BOLD);
|
||||
new wxMGLFontLibrary(info->boldFace, wxFONTFACE_BOLD, this);
|
||||
|
||||
if ( info->boldItalicFace[0] == '\0' )
|
||||
m_fontLibs[wxFONTFACE_BOLD_ITALIC] = NULL;
|
||||
else
|
||||
m_fontLibs[wxFONTFACE_BOLD_ITALIC] =
|
||||
new wxMGLFontLibrary(info->boldItalicFace, wxFONTFACE_BOLD_ITALIC);
|
||||
new wxMGLFontLibrary(info->boldItalicFace, wxFONTFACE_BOLD_ITALIC, this);
|
||||
|
||||
wxLogTrace("mgl_font", "new family '%s' (r=%s, i=%s, b=%s, bi=%s)\n",
|
||||
info->familyName, info->regularFace, info->italicFace,
|
||||
|
Reference in New Issue
Block a user