| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        wx/generic/private/markuptext.h
 
- // Purpose:     Generic wxMarkupText class for managing text with markup.
 
- // Author:      Vadim Zeitlin
 
- // Created:     2011-02-21
 
- // Copyright:   (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
 
- // Licence:     wxWindows licence
 
- ///////////////////////////////////////////////////////////////////////////////
 
- #ifndef _WX_GENERIC_PRIVATE_MARKUPTEXT_H_
 
- #define _WX_GENERIC_PRIVATE_MARKUPTEXT_H_
 
- #include "wx/defs.h"
 
- class WXDLLIMPEXP_FWD_CORE wxDC;
 
- class WXDLLIMPEXP_FWD_CORE wxRect;
 
- // ----------------------------------------------------------------------------
 
- // wxMarkupText: allows to measure and draw the text containing markup.
 
- // ----------------------------------------------------------------------------
 
- class WXDLLIMPEXP_CORE wxMarkupText
 
- {
 
- public:
 
-     // Constants for Render() flags.
 
-     enum
 
-     {
 
-         Render_Default = 0,     // Don't show mnemonics visually.
 
-         Render_ShowAccels = 1   // Underline mnemonics.
 
-     };
 
-     // Initialize with the given string containing markup (which is supposed to
 
-     // be valid, the caller must check for it before constructing this object).
 
-     //
 
-     // Notice that the usual rules for mnemonics apply to the markup text: if
 
-     // it contains any '&' characters they must be escaped by doubling them,
 
-     // otherwise they indicate that the next character is the mnemonic for this
 
-     // field.
 
-     //
 
-     // TODO-MULTILINE-MARKUP: Currently only single line labels are supported,
 
-     // search for other occurrences of this comment to find the places which
 
-     // need to be updated to support multiline labels with markup.
 
-     wxMarkupText(const wxString& markup)
 
-         : m_markup(markup)
 
-     {
 
-     }
 
-     // Default copy ctor, assignment operator and dtor are ok.
 
-     // Update the markup string.
 
-     //
 
-     // The same rules for mnemonics as in the ctor apply to this string.
 
-     void SetMarkup(const wxString& markup) { m_markup = markup; }
 
-     // Return the width and height required by the given string and optionally
 
-     // the height of the visible part above the baseline (i.e. ascent minus
 
-     // internal leading).
 
-     //
 
-     // The font currently selected into the DC is used for measuring (notice
 
-     // that it is changed by this function but normally -- i.e. if markup is
 
-     // valid -- restored to its original value when it returns).
 
-     wxSize Measure(wxDC& dc, int *visibleHeight = NULL) const;
 
-     // Render the markup string into the given DC in the specified rectangle.
 
-     //
 
-     // Notice that while the function uses the provided rectangle for alignment
 
-     // (it centers the text in it), no clipping is done by it so use Measure()
 
-     // and set the clipping region before rendering if necessary.
 
-     void Render(wxDC& dc, const wxRect& rect, int flags);
 
- private:
 
-     wxString m_markup;
 
- };
 
- #endif // _WX_GENERIC_PRIVATE_MARKUPTEXT_H_
 
 
  |