lines and painting the outline of rectangles, ellipses, etc. It has a
colour, a width and a style.
+\wxheading{Derived from}
+
+\helpref{wxGDIObject}{wxgdiobject}\\
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+<wx/pen.h>
+
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxNullPen}
+
+Pointers:
+
+{\bf wxRED\_PEN\\
+wxCYAN\_PEN\\
+wxGREEN\_PEN\\
+wxBLACK\_PEN\\
+wxWHITE\_PEN\\
+wxTRANSPARENT\_PEN\\
+wxBLACK\_DASHED\_PEN\\
+wxGREY\_PEN\\
+wxMEDIUM\_GREY\_PEN\\
+wxLIGHT\_GREY\_PEN}
+
\wxheading{Remarks}
On a monochrome display, wxWindows shows all non-white pens as black.
wxThePenList}, and calling the member function {\bf FindOrCreatePen}.
See the entry for \helpref{wxPenList}{wxpenlist}.
-TODO: an overview for wxPen.
+wxPen uses a reference counting system, so assignments between brushes are very
+cheap. You can therefore use actual wxPen objects instead of pointers without
+efficiency problems. Once one wxPen object changes its data it will create its
+own pen data internally so that other pens, which previously shared the
+data using the reference counting, are not affected.
+%TODO: an overview for wxPen.
\wxheading{See also}
\helpref{wxPenList}{wxpenlist}, \helpref{wxDC}{wxdc}, \helpref{wxDC::SetPen}{wxdcsetpen}
Default constructor. The pen will be uninitialised, and \helpref{wxPen::Ok}{wxpenok} will
return FALSE.
-\func{}{wxPen}{\param{const wxColour\&}{ colour}, \param{const int}{ width}, \param{const int}{ style}}
+\func{}{wxPen}{\param{const wxColour\&}{ colour}, \param{int}{ width}, \param{int}{ style}}
Constructs a pen from a colour object, pen width and style.
-\func{}{wxPen}{\param{const wxString\& }{colourName}, \param{const int}{ width}, \param{const int}{ style}}
+\func{}{wxPen}{\param{const wxString\& }{colourName}, \param{int}{ width}, \param{int}{ style}}
Constructs a pen from a colour name, pen width and style.
-\func{}{wxPen}{\param{const wxBitmap\&}{ stipple}, \param{const int}{ width}}
+\func{}{wxPen}{\param{const wxBitmap\&}{ stipple}, \param{int}{ width}}
Constructs a stippled pen from a stipple bitmap and a width.
Copy constructor. This uses reference counting so is a cheap operation.
-\func{}{wxPen}{\param{const wxPen*}{ pen}}
-
-Copy constructor. This uses reference counting so is a cheap operation.
-
\wxheading{Parameters}
\docparam{colour}{A colour object.}
\docparam{pen}{A pointer or reference to a pen to copy.}
-\docparam{width}{Pen width. Under Windows, the pen width cannot be greater than 1 if
-the style is wxDOT, wxLONG\_DASH, wxSHORT\_DASH, wxDOT\_DASH, or wxUSER\_DASH.}
-
\docparam{style}{The style may be one of the following:
\begin{twocollist}\itemsep=0pt
\wxheading{Remarks}
+Different versions of Windows and different versions of other platforms
+support {\it very} different subsets of the styles above - there is no
+similarity even between Windows95 and Windows98 - so handle with care.
+
If the named colour form is used, an appropriate {\bf wxColour} structure
is found in the colour database.
-{\it style} may be one of wxSOLID, wxDOT, wxLONG\_DASH, wxSHORT\_DASH and
-wxDOT\_DASH.
-
\wxheading{See also}
\helpref{wxPen::SetStyle}{wxpensetstyle}, \helpref{wxPen::SetColour}{wxpensetcolour},\rtfsp
\helpref{wxPen::SetWidth}{wxpensetwidth}, \helpref{wxPen::SetStipple}{wxpensetstipple}
+\perlnote{Constructors supported by wxPerl are:\par
+\begin{itemize}
+\item{Wx::Pen->new( colour, width, style )}
+\item{Wx::Pen->new( colourName, width, style )}
+\item{Wx::Pen->new( stipple, width )}
+\end{itemize}
+}
+
\membersection{wxPen::\destruct{wxPen}}
\func{}{\destruct{wxPen}}{\void}
\func{void}{SetColour}{\param{const wxString\& }{colourName}}
-\func{void}{SetColour}{\param{const int}{ red}, \param{const int}{ green}, \param{const int}{ blue}}
+\func{void}{SetColour}{\param{int}{ red}, \param{int}{ green}, \param{int}{ blue}}
The pen's colour is changed to the given colour.
deallocated by the calling application until the pen is deleted or this
function is called with a NULL array.
-TODO: describe in detail.
-
+%TODO: describe in detail.
\wxheading{See also}
\helpref{wxPen::GetDashes}{wxpengetdashes}
\membersection{wxPen::SetWidth}\label{wxpensetwidth}
-\func{void}{SetWidth}{\param{const int}{ width}}
+\func{void}{SetWidth}{\param{int}{ width}}
Sets the pen width.
\membersection{wxPenList::FindOrCreatePen}\label{wxpenlistfindorcreatepen}
-\func{wxPen*}{FindOrCreatePen}{\param{const wxColour\& }{colour}, \param{const int}{ width}, \param{const int}{ style}}
+\func{wxPen*}{FindOrCreatePen}{\param{const wxColour\& }{colour}, \param{int}{ width}, \param{int}{ style}}
Finds a pen with the specified attributes and returns it, else creates a new pen, adds it
to the pen list, and returns it.
-\func{wxPen*}{FindOrCreatePen}{\param{const wxString\& }{colourName}, \param{const int}{ width}, \param{const int}{ style}}
+\func{wxPen*}{FindOrCreatePen}{\param{const wxString\& }{colourName}, \param{int}{ width}, \param{int}{ style}}
Finds a pen with the specified attributes and returns it, else creates a new pen, adds it
to the pen list, and returns it.
\docparam{colour}{Colour object.}
-\docparam{colourName}{Colour name, which should be in the colour database.}
+\docparam{colourName}{Colour name, which should be in the \helpref{colour database}{wxcolourdatabase}.}
+
+\docparam{width}{Width of pen.}
\docparam{style}{Pen style. See \helpref{wxPen::wxPen}{wxpenconstr} for a list of styles.}