X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d818458781869bebbd4ac42a886e979f93134db7..92c0fc34c104c8d7c12d6a3b78ea232690fc23f4:/interface/wx/pen.h?ds=inline diff --git a/interface/wx/pen.h b/interface/wx/pen.h index 86775db3a9..2cfc12f5b9 100644 --- a/interface/wx/pen.h +++ b/interface/wx/pen.h @@ -2,12 +2,14 @@ // Name: pen.h // Purpose: interface of wxPen* classes // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** The possible styles for a wxPen. + + Note that hatched pen styles are not supported by X11-based ports, + including wxGTK. */ enum wxPenStyle { @@ -61,8 +63,11 @@ enum wxPenStyle wxPENSTYLE_VERTICAL_HATCH, /**< Vertical hatch. */ - wxPENSTYLE_FIRST_HATCH = wxPENSTYLE_BDIAGONAL_HATCH, - wxPENSTYLE_LAST_HATCH = wxPENSTYLE_VERTICAL_HATCH + wxPENSTYLE_FIRST_HATCH, + /**< First of the hatch styles (inclusive). */ + + wxPENSTYLE_LAST_HATCH + /**< Last of the hatch styles (inclusive). */ }; /** @@ -134,6 +139,7 @@ enum wxPenCap @li ::wxBLUE_PEN @li ::wxCYAN_PEN @li ::wxGREEN_PEN + @li ::wxYELLOW_PEN @li ::wxGREY_PEN @li ::wxLIGHT_GREY_PEN @li ::wxMEDIUM_GREY_PEN @@ -158,7 +164,8 @@ public: A colour object. @param width Pen width. Under Windows, the pen width cannot be greater than 1 if - the style is @c wxDOT, @c wxLONG_DASH, @c wxSHORT_DASH, @c wxDOT_DASH, or @c wxUSER_DASH. + the style is @c wxPENSTYLE_DOT, @c wxPENSTYLE_LONG_DASH, @c wxPENSTYLE_SHORT_DASH, + @c wxPENSTYLE_DOT_DASH, or @c wxPENSTYLE_USER_DASH. @param style The style may be one of the ::wxPenStyle values. @@ -176,11 +183,12 @@ public: @param width Pen width. Under Windows, the pen width cannot be greater than 1 if - the style is @c wxDOT, @c wxLONG_DASH, @c wxSHORT_DASH, @c wxDOT_DASH, or @c wxUSER_DASH. + the style is @c wxPENSTYLE_DOT, @c wxPENSTYLE_LONG_DASH, @c wxPENSTYLE_SHORT_DASH, + @c wxPENSTYLE_DOT_DASH, or @c wxPENSTYLE_USER_DASH. @param stipple A stipple bitmap. - @onlyfor{wxmsw,wxmac} + @onlyfor{wxmsw,wxosx} @see SetWidth(), SetStipple() */ @@ -207,8 +215,8 @@ public: virtual ~wxPen(); /** - Returns the pen cap style, which may be one of @c wxCAP_ROUND, @c - wxCAP_PROJECTING and @c wxCAP_BUTT. + Returns the pen cap style, which may be one of @c wxCAP_ROUND, + @c wxCAP_PROJECTING and @c wxCAP_BUTT. The default is @c wxCAP_ROUND. @@ -224,7 +232,7 @@ public: virtual wxColour GetColour() const; /** - Gets an array of dashes (defined as char in X, DWORD under Windows). + Gets an array of dashes (defined as @c char in X, @c DWORD under Windows). @a dashes is a pointer to the internal array. Do not deallocate or store this pointer. @@ -235,8 +243,8 @@ public: virtual int GetDashes(wxDash** dashes) const; /** - Returns the pen join style, which may be one of @c wxJOIN_BEVEL, @c - wxJOIN_ROUND and @c wxJOIN_MITER. + Returns the pen join style, which may be one of @c wxJOIN_BEVEL, + @c wxJOIN_ROUND and @c wxJOIN_MITER. The default is @c wxJOIN_ROUND. @@ -267,9 +275,43 @@ public: /** Returns @true if the pen is initialised. + + Notice that an uninitialized pen object can't be queried for any pen + properties and all calls to the accessor methods on it will result in + an assert failure. */ virtual bool IsOk() const; + /** + Returns @true if the pen is a valid non-transparent pen. + + This method returns @true if the pen object is initialized and has a + non-transparent style. Notice that this should be used instead of + simply testing whether GetStyle() returns a style different from + wxPENSTYLE_TRANSPARENT if the pen may be invalid as GetStyle() would + assert in this case. + + @see IsTransparent() + + @since 2.9.2. + */ + bool IsNonTransparent() const; + + /** + Returns @true if the pen is transparent. + + A transparent pen is simply a pen with wxPENSTYLE_TRANSPARENT style. + + Notice that this function works even for non-initialized pens (for + which it returns @false) unlike tests of the form GetStyle() == + wxPENSTYLE_TRANSPARENT which would assert if the pen is invalid. + + @see IsNonTransparent() + + @since 2.9.2. + */ + bool IsTransparent() const; + /** Sets the pen cap style, which may be one of @c wxCAP_ROUND, @c wxCAP_PROJECTING and @c wxCAP_BUTT. The default is @c wxCAP_ROUND. @@ -289,7 +331,7 @@ public: //@} /** - Associates an array of pointers to dashes (defined as char in X, DWORD under + Associates an array of dash values (defined as @c char in X, @c DWORD under Windows) with the pen. The array is not deallocated by wxPen, but neither must it be deallocated by @@ -355,56 +397,91 @@ public: /** An empty pen. + wxPen::IsOk() always returns @false for this object. */ wxPen wxNullPen; /** Red pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). */ wxPen* wxRED_PEN; +/** + Blue pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). +*/ +wxPen* wxBLUE_PEN; + /** Cyan pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). */ wxPen* wxCYAN_PEN; /** Green pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). */ wxPen* wxGREEN_PEN; +/** + Yellow pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). +*/ +wxPen* wxYELLOW_PEN; + /** Black pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). */ wxPen* wxBLACK_PEN; /** White pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). */ wxPen* wxWHITE_PEN; /** Transparent pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). */ wxPen* wxTRANSPARENT_PEN; /** Black dashed pen. + Except for the color and for the @c wxPENSTYLE_SHORT_DASH it has all standard attributes + (1-pixel width, @c wxCAP_ROUND style, etc...). */ wxPen* wxBLACK_DASHED_PEN; /** Grey pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). */ wxPen* wxGREY_PEN; /** Medium-grey pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). */ wxPen* wxMEDIUM_GREY_PEN; /** Light-grey pen. + Except for the color it has all standard attributes + (1-pixel width, @c wxPENSTYLE_SOLID and @c wxCAP_ROUND styles, etc...). */ wxPen* wxLIGHT_GREY_PEN;