]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/pen.h
Don't specialize std::numeric_limits<> for wxLongLong when using VC6.
[wxWidgets.git] / interface / wx / pen.h
index 97e940d15ff54f65b135fd7f2b73d22c143c5233..a623a2449cd3cc61f7f35fbf05b5c5f2b4d1c3c4 100644 (file)
@@ -3,11 +3,14 @@
 // Purpose:     interface of wxPen* classes
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxPen* classes
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     The possible styles for a wxPen.
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     The possible styles for a wxPen.
+
+    Note that hatched pen styles are not supported by X11-based ports,
+    including wxGTK.
 */
 enum wxPenStyle
 {
 */
 enum wxPenStyle
 {
@@ -129,16 +132,18 @@ enum wxPenCap
 
     @stdobjects
     @li ::wxNullPen
 
     @stdobjects
     @li ::wxNullPen
-    @li ::wxRED_PEN
+    @li ::wxBLACK_DASHED_PEN
+    @li ::wxBLACK_PEN
+    @li ::wxBLUE_PEN
     @li ::wxCYAN_PEN
     @li ::wxGREEN_PEN
     @li ::wxCYAN_PEN
     @li ::wxGREEN_PEN
-    @li ::wxBLACK_PEN
-    @li ::wxWHITE_PEN
-    @li ::wxTRANSPARENT_PEN
-    @li ::wxBLACK_DASHED_PEN
+    @li ::wxYELLOW_PEN
     @li ::wxGREY_PEN
     @li ::wxGREY_PEN
-    @li ::wxMEDIUM_GREY_PEN
     @li ::wxLIGHT_GREY_PEN
     @li ::wxLIGHT_GREY_PEN
+    @li ::wxMEDIUM_GREY_PEN
+    @li ::wxRED_PEN
+    @li ::wxTRANSPARENT_PEN
+    @li ::wxWHITE_PEN
 
     @see wxPenList, wxDC, wxDC::SetPen()
 */
 
     @see wxPenList, wxDC, wxDC::SetPen()
 */
@@ -157,7 +162,8 @@ public:
             A colour object.
         @param width
             Pen width. Under Windows, the pen width cannot be greater than 1 if
             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.
 
         @param style
             The style may be one of the ::wxPenStyle values.
 
@@ -175,11 +181,12 @@ public:
 
         @param width
             Pen width. Under Windows, the pen width cannot be greater than 1 if
 
         @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.
 
         @param stipple
             A stipple bitmap.
 
-        @onlyfor{wxmsw,wxmac}
+        @onlyfor{wxmsw,wxosx}
 
         @see SetWidth(), SetStipple()
     */
 
         @see SetWidth(), SetStipple()
     */
@@ -206,8 +213,8 @@ public:
     virtual ~wxPen();
 
     /**
     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.
 
 
         The default is @c wxCAP_ROUND.
 
@@ -223,7 +230,7 @@ public:
     virtual wxColour GetColour() const;
 
     /**
     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.
 
         @a dashes is a pointer to the internal array. Do not deallocate or store this
         pointer.
 
@@ -234,8 +241,8 @@ public:
     virtual int GetDashes(wxDash** dashes) const;
 
     /**
     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.
 
 
         The default is @c wxJOIN_ROUND.
 
@@ -266,9 +273,43 @@ public:
 
     /**
         Returns @true if the pen is initialised.
 
     /**
         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;
 
     */
     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 <code>GetStyle() ==
+        wxPENSTYLE_TRANSPARENT</code> 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.
     /**
         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.
@@ -288,7 +329,7 @@ public:
     //@}
 
     /**
     //@}
 
     /**
-        Associates an array of pointers to dashes (defined as char in X, DWORD under
+        Associates an array of pointers to dashes (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
         Windows) with the pen.
 
         The array is not deallocated by wxPen, but neither must it be deallocated by
@@ -354,56 +395,91 @@ public:
 
 /**
     An empty pen.
 
 /**
     An empty pen.
+    wxPen::IsOk() always returns @false for this object.
 */
 wxPen wxNullPen;
 
 /**
     Red pen.
 */
 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;
 
 */
 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.
 /**
     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.
 */
 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;
 
 */
 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.
 /**
     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.
 */
 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.
 */
 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.
 */
 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.
 */
 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.
 */
 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.
 */
 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;
 
 */
 wxPen* wxLIGHT_GREY_PEN;