b960795ea8
This helper class allows to create wxFonts using shorter and more readable code, e.g. wxFont font(12, wxFONTFLAG_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, true, "DejaVu Sans"); can now be written simply as wxFont font(wxFontInfo(12).FaceName("DejaVu Sans").Underlined()); Remove the ctor from font flags added in r70445 as it's not needed any longer now that we have this one and adding it resulted in compilation errors in the existing code which compiled with 2.8 because of ambiguities between that ctor and wxFont(int size, int family, int style, int weight. bool underlined, ...) one, e.g. wxFont(12, wxFONTFAMILY_SWISS, wxNORMAL, wxNORMAL) didn't compile any more but it does compile again now. See #9907. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
121 lines
3.7 KiB
C++
121 lines
3.7 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/dfb/font.h
|
|
// Author: Vaclav Slavik
|
|
// Purpose: wxFont declaration
|
|
// Created: 2006-08-08
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) 2006 REA Elektronik GmbH
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_DFB_FONT_H_
|
|
#define _WX_DFB_FONT_H_
|
|
|
|
#include "wx/dfb/dfbptr.h"
|
|
|
|
wxDFB_DECLARE_INTERFACE(IDirectFBFont);
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// wxFont
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxFont : public wxFontBase
|
|
{
|
|
public:
|
|
wxFont() {}
|
|
|
|
wxFont(const wxFontInfo& info)
|
|
{
|
|
Create(info.GetPointSize(),
|
|
info.GetFamily(),
|
|
info.GetStyle(),
|
|
info.GetWeight(),
|
|
info.IsUnderlined(),
|
|
info.GetFaceName(),
|
|
info.GetEncoding());
|
|
|
|
if ( info.IsUsingSizeInPixels() )
|
|
SetPixelSize(info.GetPixelSize());
|
|
}
|
|
|
|
wxFont(const wxNativeFontInfo& info) { Create(info); }
|
|
#if FUTURE_WXWIN_COMPATIBILITY_3_0
|
|
wxFont(int size,
|
|
int family,
|
|
int style,
|
|
int weight,
|
|
bool underlined = false,
|
|
const wxString& face = wxEmptyString,
|
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
|
{
|
|
(void)Create(size, (wxFontFamily)family, (wxFontStyle)style, (wxFontWeight)weight, underlined, face, encoding);
|
|
}
|
|
#endif
|
|
|
|
wxFont(int size,
|
|
wxFontFamily family,
|
|
wxFontStyle style,
|
|
wxFontWeight weight,
|
|
bool underlined = false,
|
|
const wxString& face = wxEmptyString,
|
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
|
{
|
|
Create(size, family, style, weight, underlined, face, encoding);
|
|
}
|
|
|
|
wxFont(const wxSize& pixelSize,
|
|
wxFontFamily family,
|
|
wxFontStyle style,
|
|
wxFontWeight weight,
|
|
bool underlined = false,
|
|
const wxString& face = wxEmptyString,
|
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
|
|
{
|
|
Create(10, family, style, weight, underlined, face, encoding);
|
|
SetPixelSize(pixelSize);
|
|
}
|
|
|
|
bool Create(int size,
|
|
wxFontFamily family,
|
|
wxFontStyle style,
|
|
wxFontWeight weight,
|
|
bool underlined = false,
|
|
const wxString& face = wxEmptyString,
|
|
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
|
|
bool Create(const wxNativeFontInfo& fontinfo);
|
|
|
|
// implement base class pure virtuals
|
|
virtual int GetPointSize() const;
|
|
virtual wxFontStyle GetStyle() const;
|
|
virtual wxFontWeight GetWeight() const;
|
|
virtual wxString GetFaceName() const;
|
|
virtual bool GetUnderlined() const;
|
|
virtual wxFontEncoding GetEncoding() const;
|
|
virtual bool IsFixedWidth() const;
|
|
virtual const wxNativeFontInfo *GetNativeFontInfo() const;
|
|
|
|
virtual void SetPointSize(int pointSize);
|
|
virtual void SetFamily(wxFontFamily family);
|
|
virtual void SetStyle(wxFontStyle style);
|
|
virtual void SetWeight(wxFontWeight weight);
|
|
virtual bool SetFaceName(const wxString& faceName);
|
|
virtual void SetUnderlined(bool underlined);
|
|
virtual void SetEncoding(wxFontEncoding encoding);
|
|
|
|
wxDECLARE_COMMON_FONT_METHODS();
|
|
|
|
// implementation from now on:
|
|
wxIDirectFBFontPtr GetDirectFBFont(bool antialiased) const;
|
|
|
|
protected:
|
|
virtual wxGDIRefData *CreateGDIRefData() const;
|
|
virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
|
|
|
|
virtual wxFontFamily DoGetFamily() const;
|
|
|
|
private:
|
|
DECLARE_DYNAMIC_CLASS(wxFont)
|
|
};
|
|
|
|
#endif // _WX_DFB_FONT_H_
|