moved wxMGL's font management code to common so that it can be reused by wxDFB; implemented wxDFB part

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2006-11-20 20:45:57 +00:00
parent 9e1fc0e428
commit d7ae4a6264
22 changed files with 1293 additions and 467 deletions

View File

@@ -0,0 +1,83 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/dfb/private/fontmgr.h
// Purpose: font management for wxDFB
// Author: Vaclav Slavik
// Created: 2006-11-18
// RCS-ID: $Id$
// Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com)
// (c) 2006 REA Elektronik GmbH
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_DFB_PRIVATE_FONTMGR_H_
#define _WX_DFB_PRIVATE_FONTMGR_H_
#include "wx/dfb/wrapdfb.h"
class wxFileConfig;
class wxFontInstance : public wxFontInstanceBase
{
public:
wxFontInstance(float ptSize, bool aa, const wxString& filename);
wxIDirectFBFontPtr GetDirectFBFont() const { return m_font; }
private:
wxIDirectFBFontPtr m_font;
};
class wxFontFace : public wxFontFaceBase
{
public:
wxFontFace(const wxString& filename) : m_fileName(filename) {}
protected:
wxFontInstance *CreateFontInstance(float ptSize, bool aa);
private:
wxString m_fileName;
};
class wxFontBundle : public wxFontBundleBase
{
public:
wxFontBundle(const wxString& name,
const wxString& fileRegular,
const wxString& fileBold,
const wxString& fileItalic,
const wxString& fileBoldItalic,
bool isFixed);
/// Returns name of the family
virtual wxString GetName() const { return m_name; }
virtual bool IsFixed() const { return m_isFixed; }
private:
wxString m_name;
bool m_isFixed;
};
class wxFontsManager : public wxFontsManagerBase
{
public:
wxFontsManager() { AddAllFonts(); }
virtual wxString GetDefaultFacename(wxFontFamily family) const
{
return m_defaultFacenames[family];
}
private:
// adds all fonts using AddBundle()
void AddAllFonts();
void AddFont(const wxString& dir, const wxString& name, wxFileConfig& cfg);
void SetDefaultFonts(wxFileConfig& cfg);
private:
// default facenames
wxString m_defaultFacenames[wxFONTFAMILY_MAX];
};
#endif // _WX_DFB_PRIVATE_FONTMGR_H_