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 wxString GetFaceName() const;
|
||||||
virtual bool GetUnderlined() const;
|
virtual bool GetUnderlined() const;
|
||||||
virtual wxFontEncoding GetEncoding() const;
|
virtual wxFontEncoding GetEncoding() const;
|
||||||
|
virtual bool IsFixedWidth() const;
|
||||||
|
|
||||||
virtual void SetPointSize(int pointSize);
|
virtual void SetPointSize(int pointSize);
|
||||||
virtual void SetFamily(int family);
|
virtual void SetFamily(int family);
|
||||||
|
@@ -57,10 +57,11 @@ private:
|
|||||||
class wxMGLFontLibrary
|
class wxMGLFontLibrary
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxMGLFontLibrary(const wxString& filename, int type);
|
wxMGLFontLibrary(const wxString& filename, int type, wxMGLFontFamily *parentFamily);
|
||||||
~wxMGLFontLibrary();
|
~wxMGLFontLibrary();
|
||||||
|
|
||||||
wxMGLFontInstance *GetFontInstance(wxFont *font, float scale, bool aa);
|
wxMGLFontInstance *GetFontInstance(wxFont *font, float scale, bool aa);
|
||||||
|
wxMGLFontFamily *GetFamily() const { return m_family; }
|
||||||
|
|
||||||
void IncRef();
|
void IncRef();
|
||||||
void DecRef();
|
void DecRef();
|
||||||
@@ -73,6 +74,7 @@ private:
|
|||||||
wxString m_fileName;
|
wxString m_fileName;
|
||||||
size_t m_refs;
|
size_t m_refs;
|
||||||
wxMGLFontInstanceList *m_instances;
|
wxMGLFontInstanceList *m_instances;
|
||||||
|
wxMGLFontFamily *m_family;
|
||||||
};
|
};
|
||||||
|
|
||||||
// structure representing native MGL font family
|
// structure representing native MGL font family
|
||||||
|
@@ -33,6 +33,7 @@
|
|||||||
#include "wx/gdicmn.h"
|
#include "wx/gdicmn.h"
|
||||||
#include "wx/tokenzr.h"
|
#include "wx/tokenzr.h"
|
||||||
#include "wx/settings.h"
|
#include "wx/settings.h"
|
||||||
|
#include "wx/mgl/private.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxFontRefData
|
// wxFontRefData
|
||||||
@@ -259,6 +260,13 @@ wxFontEncoding wxFont::GetEncoding() const
|
|||||||
return M_FONTDATA->m_encoding;
|
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
|
// change font attributes
|
||||||
|
@@ -189,8 +189,10 @@ wxMGLFontInstance::~wxMGLFontInstance()
|
|||||||
MGL_unloadFontInstance(m_font);
|
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_type = type;
|
||||||
m_fileName = filename;
|
m_fileName = filename;
|
||||||
m_refs = 0;
|
m_refs = 0;
|
||||||
@@ -299,25 +301,25 @@ wxMGLFontFamily::wxMGLFontFamily(const font_info_t *info)
|
|||||||
m_fontLibs[wxFONTFACE_REGULAR] = NULL;
|
m_fontLibs[wxFONTFACE_REGULAR] = NULL;
|
||||||
else
|
else
|
||||||
m_fontLibs[wxFONTFACE_REGULAR] =
|
m_fontLibs[wxFONTFACE_REGULAR] =
|
||||||
new wxMGLFontLibrary(info->regularFace, wxFONTFACE_REGULAR);
|
new wxMGLFontLibrary(info->regularFace, wxFONTFACE_REGULAR, this);
|
||||||
|
|
||||||
if ( info->italicFace[0] == '\0' )
|
if ( info->italicFace[0] == '\0' )
|
||||||
m_fontLibs[wxFONTFACE_ITALIC] = NULL;
|
m_fontLibs[wxFONTFACE_ITALIC] = NULL;
|
||||||
else
|
else
|
||||||
m_fontLibs[wxFONTFACE_ITALIC] =
|
m_fontLibs[wxFONTFACE_ITALIC] =
|
||||||
new wxMGLFontLibrary(info->italicFace, wxFONTFACE_ITALIC);
|
new wxMGLFontLibrary(info->italicFace, wxFONTFACE_ITALIC, this);
|
||||||
|
|
||||||
if ( info->boldFace[0] == '\0' )
|
if ( info->boldFace[0] == '\0' )
|
||||||
m_fontLibs[wxFONTFACE_BOLD] = NULL;
|
m_fontLibs[wxFONTFACE_BOLD] = NULL;
|
||||||
else
|
else
|
||||||
m_fontLibs[wxFONTFACE_BOLD] =
|
m_fontLibs[wxFONTFACE_BOLD] =
|
||||||
new wxMGLFontLibrary(info->boldFace, wxFONTFACE_BOLD);
|
new wxMGLFontLibrary(info->boldFace, wxFONTFACE_BOLD, this);
|
||||||
|
|
||||||
if ( info->boldItalicFace[0] == '\0' )
|
if ( info->boldItalicFace[0] == '\0' )
|
||||||
m_fontLibs[wxFONTFACE_BOLD_ITALIC] = NULL;
|
m_fontLibs[wxFONTFACE_BOLD_ITALIC] = NULL;
|
||||||
else
|
else
|
||||||
m_fontLibs[wxFONTFACE_BOLD_ITALIC] =
|
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",
|
wxLogTrace("mgl_font", "new family '%s' (r=%s, i=%s, b=%s, bi=%s)\n",
|
||||||
info->familyName, info->regularFace, info->italicFace,
|
info->familyName, info->regularFace, info->italicFace,
|
||||||
|
Reference in New Issue
Block a user