From d775ec48a7acdc7fadc9042e52ee8eeae8a2f945 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Sun, 9 Oct 2011 01:28:20 +0000 Subject: [PATCH] Interface updates for Phoenix. Add wxNativeFontInfo. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- interface/wx/event.h | 23 ++++++++++++ interface/wx/font.h | 17 +++++++-- interface/wx/fontutil.h | 79 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 interface/wx/fontutil.h diff --git a/interface/wx/event.h b/interface/wx/event.h index d66f500217..3d73cbedd6 100644 --- a/interface/wx/event.h +++ b/interface/wx/event.h @@ -318,6 +318,29 @@ public: +/** + Helper class to temporarily change an event to not propagate. +*/ +class wxPropagationDisabler +{ +public: + wxPropagationDisabler(wxEvent& event); + ~wxPropagationDisabler(); +}; + + +/** + Helper class to temporarily lower propagation level. +*/ +class wxPropagateOnce +{ +public: + wxPropagateOnce(wxEvent& event); + ~wxPropagateOnce(); +}; + + + /** @class wxEvtHandler diff --git a/interface/wx/font.h b/interface/wx/font.h index 7d8316ce92..c8de700f48 100644 --- a/interface/wx/font.h +++ b/interface/wx/font.h @@ -264,7 +264,6 @@ enum wxFontEncoding }; - /** @class wxFont @@ -402,7 +401,12 @@ public: If @a fontdesc is invalid the font remains uninitialized, i.e. its IsOk() method will return @false. */ - wxFont(const wxString& fontdesc); + wxFont(const wxString& nativeInfoString); + + /** + Construct font from a native font info structure. + */ + wxFont(const wxNativeFontInfo& nativeInfo); /** Destructor. @@ -487,6 +491,8 @@ public: */ wxString GetNativeFontInfoUserDesc() const; + const wxNativeFontInfo *GetNativeFontInfo() const; + /** Gets the point size. @@ -775,6 +781,8 @@ public: */ bool SetNativeFontInfoUserDesc(const wxString& info); + void SetNativeFontInfo(const wxNativeFontInfo& info); + /** Sets the point size. @@ -923,6 +931,11 @@ public: int flags = wxFONTFLAG_DEFAULT, const wxString& faceName = wxEmptyString, wxFontEncoding encoding = wxFONTENCODING_DEFAULT); + + + static wxFont *New(const wxNativeFontInfo& nativeInfo); + static wxFont *New(const wxString& nativeInfoString); + //@} }; diff --git a/interface/wx/fontutil.h b/interface/wx/fontutil.h new file mode 100644 index 0000000000..1bb6d5f5c8 --- /dev/null +++ b/interface/wx/fontutil.h @@ -0,0 +1,79 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: fontutil.h +// Purpose: interface of wxNativeFontInfo +// Author: wxWidgets team +// RCS-ID: $Id: $ +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + + +/** + @class wxNativeFontInfo + + wxNativeFontInfo is platform-specific font representation: this class + should be considered as an opaque font description only used by the native + functions, the user code can only get the objects of this type from + somewhere and pass it somewhere else (possibly save them somewhere using + ToString() and restore them using FromString()) + + @library{wxcore} + @category{gdi} +*/ +class wxNativeFontInfo +{ +public: + wxNativeFontInfo(); + wxNativeFontInfo(const wxNativeFontInfo& info); + wxNativeFontInfo( int size, + wxFontFamily family, + wxFontStyle style, + wxFontWeight weight, + bool underlined, + const wxString& faceName, + wxFontEncoding encoding); + ~wxNativeFontInfo(); + + wxNativeFontInfo& operator=(const wxNativeFontInfo& info); + + void Init(); + void Init(const wxNativeFontInfo& info); + void Init(int size, + wxFontFamily family, + wxFontStyle style, + wxFontWeight weight, + bool underlined, + const wxString& faceName , + wxFontEncoding encoding); + + void InitFromFont(const wxFont& font); + + int GetPointSize() const; + wxSize GetPixelSize() const; + wxFontStyle GetStyle() const; + wxFontWeight GetWeight() const; + bool GetUnderlined() const; + wxString GetFaceName() const; + wxFontFamily GetFamily() const; + wxFontEncoding GetEncoding() const; + + void SetPointSize(int pointsize); + void SetPixelSize(const wxSize& pixelSize); + void SetStyle(wxFontStyle style); + void SetWeight(wxFontWeight weight); + void SetUnderlined(bool underlined); + bool SetFaceName(const wxString& facename); + void SetFamily(wxFontFamily family); + void SetEncoding(wxFontEncoding encoding); + + void SetFaceName(const wxArrayString &facenames); + + bool FromString(const wxString& s); + wxString ToString() const; + + bool FromUserString(const wxString& s); + wxString ToUserString() const; +}; + + + + -- 2.45.2