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:
@@ -17,4 +17,8 @@
|
||||
# error "wxDirectFB cannot be built without wxUniversal"
|
||||
#endif
|
||||
|
||||
#if !wxUSE_CONFIG
|
||||
# error "wxFileConfig is required by wxDFB port"
|
||||
#endif
|
||||
|
||||
#endif /* _WX_DFB_CHKCONF_H_ */
|
||||
|
@@ -169,6 +169,8 @@ protected:
|
||||
int fillStyle = wxODDEVEN_RULE);
|
||||
|
||||
// implementation from now on:
|
||||
protected:
|
||||
wxIDirectFBFontPtr GetCurrentFont() const;
|
||||
|
||||
private:
|
||||
// Unified implementation of DrawIcon, DrawBitmap and Blit:
|
||||
|
@@ -63,8 +63,12 @@ public:
|
||||
virtual void SetUnderlined(bool underlined);
|
||||
virtual void SetEncoding(wxFontEncoding encoding);
|
||||
|
||||
// Unofficial API, don't use
|
||||
virtual void SetNoAntiAliasing(bool no = true);
|
||||
virtual bool GetNoAntiAliasing() const;
|
||||
|
||||
// implementation from now on:
|
||||
wxIDirectFBFontPtr GetDirectFBFont() const;
|
||||
wxIDirectFBFontPtr GetDirectFBFont(bool antialiased) const;
|
||||
|
||||
protected:
|
||||
// ref counting code
|
||||
|
83
include/wx/dfb/private/fontmgr.h
Normal file
83
include/wx/dfb/private/fontmgr.h
Normal 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_
|
@@ -17,6 +17,7 @@
|
||||
|
||||
wxDFB_DECLARE_INTERFACE(IDirectFB);
|
||||
wxDFB_DECLARE_INTERFACE(IDirectFBDisplayLayer);
|
||||
wxDFB_DECLARE_INTERFACE(IDirectFBFont);
|
||||
wxDFB_DECLARE_INTERFACE(IDirectFBWindow);
|
||||
wxDFB_DECLARE_INTERFACE(IDirectFBSurface);
|
||||
wxDFB_DECLARE_INTERFACE(IDirectFBPalette);
|
||||
|
Reference in New Issue
Block a user