Added pixel size capability to wxTextAttr and wxRichTextCtrl.

Fixed composite object positioning in centred and right-aligned
paragraphs.
Added field example to sample, and enabled pixel font size selection.
Added custom text and dimension scaling.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2012-05-20 12:25:22 +00:00
parent c564ca3c97
commit 32423dd824
20 changed files with 1421 additions and 525 deletions

View File

@@ -87,19 +87,23 @@ enum wxTextAttrFlags
wxTEXT_ATTR_BACKGROUND_COLOUR = 0x00000002,
wxTEXT_ATTR_FONT_FACE = 0x00000004,
wxTEXT_ATTR_FONT_SIZE = 0x00000008,
wxTEXT_ATTR_FONT_POINT_SIZE = 0x00000008,
wxTEXT_ATTR_FONT_PIXEL_SIZE = 0x10000000,
wxTEXT_ATTR_FONT_WEIGHT = 0x00000010,
wxTEXT_ATTR_FONT_ITALIC = 0x00000020,
wxTEXT_ATTR_FONT_UNDERLINE = 0x00000040,
wxTEXT_ATTR_FONT_STRIKETHROUGH = 0x08000000,
wxTEXT_ATTR_FONT_ENCODING = 0x02000000,
wxTEXT_ATTR_FONT_FAMILY = 0x04000000,
wxTEXT_ATTR_FONT_SIZE = \
( wxTEXT_ATTR_FONT_POINT_SIZE | wxTEXT_ATTR_FONT_PIXEL_SIZE ),
/**
Defined as the combination of all @c wxTEXT_ATTR_FONT_* values above.
*/
wxTEXT_ATTR_FONT = \
( wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT | \
wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE | wxTEXT_ATTR_FONT_ENCODING | wxTEXT_ATTR_FONT_FAMILY ),
wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE | wxTEXT_ATTR_FONT_STRIKETHROUGH | wxTEXT_ATTR_FONT_ENCODING | wxTEXT_ATTR_FONT_FAMILY ),
wxTEXT_ATTR_ALIGNMENT = 0x00000080,
wxTEXT_ATTR_LEFT_INDENT = 0x00000100,
@@ -290,6 +294,14 @@ public:
const wxTextAttr& overlay);
/**
Partial equality test. If @a weakTest is @true, attributes of this object do not
have to be present if those attributes of @a attr are present. If @a weakTest is
@false, the function will fail if an attribute is present in @a attr but not
in this object.
*/
bool EqPartial(const wxTextAttrEx& attr, bool weakTest = true) const;
/**
@name GetXXX functions
*/
@@ -567,10 +579,20 @@ public:
bool HasFontItalic() const;
/**
Returns @true if the attribute object specifies a font point size.
Returns @true if the attribute object specifies a font point or pixel size.
*/
bool HasFontSize() const;
/**
Returns @true if the attribute object specifies a font point size.
*/
bool HasFontPointSize() const;
/**
Returns @true if the attribute object specifies a font pixel size.
*/
bool HasFontPixelSize() const;
/**
Returns @true if the attribute object specifies either underlining or no
underlining.
@@ -738,7 +760,7 @@ public:
Sets the attributes for the given font.
Note that wxTextAttr does not store an actual wxFont object.
*/
void SetFont(const wxFont& font, int flags = wxTEXT_ATTR_FONT);
void SetFont(const wxFont& font, int flags = (wxTEXT_ATTR_FONT & ~wxTEXT_ATTR_FONT_PIXEL_SIZE));
/**
Sets the font encoding.
@@ -760,6 +782,16 @@ public:
*/
void SetFontSize(int pointSize);
/**
Sets the font size in points.
*/
void SetFontPointSize(int pointSize);
/**
Sets the font size in pixels.
*/
void SetFontPixelSize(int pixelSize);
/**
Sets the font style (normal, italic or slanted).
*/