328f5751e8
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
393 lines
7.8 KiB
Objective-C
393 lines
7.8 KiB
Objective-C
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: pen.h
|
|
// Purpose: documentation for wxPen class
|
|
// Author: wxWidgets team
|
|
// RCS-ID: $Id$
|
|
// Licence: wxWindows license
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/**
|
|
@class wxPen
|
|
@wxheader{pen.h}
|
|
|
|
A pen is a drawing tool for drawing outlines. It is used for drawing
|
|
lines and painting the outline of rectangles, ellipses, etc. It has a
|
|
colour, a width and a style.
|
|
|
|
@library{wxcore}
|
|
@category{gdi}
|
|
|
|
@stdobjects
|
|
Objects:
|
|
wxNullPen
|
|
Pointers:
|
|
wxRED_PEN
|
|
|
|
wxCYAN_PEN
|
|
|
|
wxGREEN_PEN
|
|
|
|
wxBLACK_PEN
|
|
|
|
wxWHITE_PEN
|
|
|
|
wxTRANSPARENT_PEN
|
|
|
|
wxBLACK_DASHED_PEN
|
|
|
|
wxGREY_PEN
|
|
|
|
wxMEDIUM_GREY_PEN
|
|
|
|
wxLIGHT_GREY_PEN
|
|
|
|
@seealso
|
|
wxPenList, wxDC, wxDC::SetPen
|
|
*/
|
|
class wxPen : public wxGDIObject
|
|
{
|
|
public:
|
|
//@{
|
|
/**
|
|
Copy constructor, uses @ref overview_trefcount "reference counting".
|
|
|
|
@param colour
|
|
A colour object.
|
|
@param colourName
|
|
A colour name.
|
|
@param 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.
|
|
@param stipple
|
|
A stipple bitmap.
|
|
@param pen
|
|
A pointer or reference to a pen to copy.
|
|
@param style
|
|
The style may be one of the following:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wxSOLID
|
|
|
|
|
|
|
|
|
|
Solid style.
|
|
|
|
|
|
|
|
|
|
|
|
wxTRANSPARENT
|
|
|
|
|
|
|
|
|
|
No pen is used.
|
|
|
|
|
|
|
|
|
|
|
|
wxDOT
|
|
|
|
|
|
|
|
|
|
Dotted style.
|
|
|
|
|
|
|
|
|
|
|
|
wxLONG_DASH
|
|
|
|
|
|
|
|
|
|
Long dashed style.
|
|
|
|
|
|
|
|
|
|
|
|
wxSHORT_DASH
|
|
|
|
|
|
|
|
|
|
Short dashed style.
|
|
|
|
|
|
|
|
|
|
|
|
wxDOT_DASH
|
|
|
|
|
|
|
|
|
|
Dot and dash style.
|
|
|
|
|
|
|
|
|
|
|
|
wxSTIPPLE
|
|
|
|
|
|
|
|
|
|
Use the stipple bitmap.
|
|
|
|
|
|
|
|
|
|
|
|
wxUSER_DASH
|
|
|
|
|
|
|
|
|
|
Use the user dashes: see SetDashes().
|
|
|
|
|
|
|
|
|
|
|
|
wxBDIAGONAL_HATCH
|
|
|
|
|
|
|
|
|
|
Backward diagonal hatch.
|
|
|
|
|
|
|
|
|
|
|
|
wxCROSSDIAG_HATCH
|
|
|
|
|
|
|
|
|
|
Cross-diagonal hatch.
|
|
|
|
|
|
|
|
|
|
|
|
wxFDIAGONAL_HATCH
|
|
|
|
|
|
|
|
|
|
Forward diagonal hatch.
|
|
|
|
|
|
|
|
|
|
|
|
wxCROSS_HATCH
|
|
|
|
|
|
|
|
|
|
Cross hatch.
|
|
|
|
|
|
|
|
|
|
|
|
wxHORIZONTAL_HATCH
|
|
|
|
|
|
|
|
|
|
Horizontal hatch.
|
|
|
|
|
|
|
|
|
|
|
|
wxVERTICAL_HATCH
|
|
|
|
|
|
|
|
|
|
Vertical hatch.
|
|
|
|
@remarks Different versions of Windows and different versions of other
|
|
platforms support very different subsets of the styles
|
|
above - there is no similarity even between Windows95
|
|
and Windows98 - so handle with care.
|
|
|
|
@see SetStyle(), SetColour(), SetWidth(), SetStipple()
|
|
*/
|
|
wxPen();
|
|
wxPen(const wxColour& colour, int width = 1,
|
|
int style = wxSOLID);
|
|
wxPen(const wxString& colourName, int width, int style);
|
|
wxPen(const wxBitmap& stipple, int width);
|
|
wxPen(const wxPen& pen);
|
|
//@}
|
|
|
|
/**
|
|
Destructor.
|
|
See @ref overview_refcountdestruct "reference-counted object destruction" for
|
|
more info.
|
|
|
|
@remarks Although all remaining pens are deleted when the application
|
|
exits, the application should try to clean up all pens
|
|
itself. This is because wxWidgets cannot know if a
|
|
pointer to the pen object is stored in an application
|
|
data structure, and there is a risk of double deletion.
|
|
*/
|
|
~wxPen();
|
|
|
|
/**
|
|
Returns the pen cap style, which may be one of @b wxCAP_ROUND, @b
|
|
wxCAP_PROJECTING and
|
|
@b wxCAP_BUTT. The default is @b wxCAP_ROUND.
|
|
|
|
@see SetCap()
|
|
*/
|
|
int GetCap() const;
|
|
|
|
/**
|
|
Returns a reference to the pen colour.
|
|
|
|
@see SetColour()
|
|
*/
|
|
wxColour GetColour() const;
|
|
|
|
/**
|
|
Gets an array of dashes (defined as char in X, DWORD under Windows).
|
|
@a dashes is a pointer to the internal array. Do not deallocate or store this
|
|
pointer.
|
|
The function returns the number of dashes associated with this pen.
|
|
|
|
@see SetDashes()
|
|
*/
|
|
int GetDashes(wxDash** dashes) const;
|
|
|
|
/**
|
|
Returns the pen join style, which may be one of @b wxJOIN_BEVEL, @b
|
|
wxJOIN_ROUND and
|
|
@b wxJOIN_MITER. The default is @b wxJOIN_ROUND.
|
|
|
|
@see SetJoin()
|
|
*/
|
|
int GetJoin() const;
|
|
|
|
/**
|
|
Gets a pointer to the stipple bitmap.
|
|
|
|
@see SetStipple()
|
|
*/
|
|
wxBitmap* GetStipple() const;
|
|
|
|
/**
|
|
Returns the pen style.
|
|
|
|
@see wxPen(), SetStyle()
|
|
*/
|
|
int GetStyle() const;
|
|
|
|
/**
|
|
Returns the pen width.
|
|
|
|
@see SetWidth()
|
|
*/
|
|
int GetWidth() const;
|
|
|
|
/**
|
|
Returns @true if the pen is initialised.
|
|
*/
|
|
bool IsOk() const;
|
|
|
|
/**
|
|
Sets the pen cap style, which may be one of @b wxCAP_ROUND, @b wxCAP_PROJECTING
|
|
and
|
|
@b wxCAP_BUTT. The default is @b wxCAP_ROUND.
|
|
|
|
@see GetCap()
|
|
*/
|
|
void SetCap(int capStyle);
|
|
|
|
//@{
|
|
/**
|
|
The pen's colour is changed to the given colour.
|
|
|
|
@see GetColour()
|
|
*/
|
|
void SetColour(wxColour& colour);
|
|
void SetColour(const wxString& colourName);
|
|
void SetColour(unsigned char red, unsigned char green,
|
|
unsigned char blue);
|
|
//@}
|
|
|
|
/**
|
|
Associates an array of pointers to dashes (defined as char in X, DWORD under
|
|
Windows)
|
|
with the pen. The array is not deallocated by wxPen, but neither must it be
|
|
deallocated by the calling application until the pen is deleted or this
|
|
function is called with a @NULL array.
|
|
|
|
@see GetDashes()
|
|
*/
|
|
void SetDashes(int n, wxDash* dashes);
|
|
|
|
/**
|
|
Sets the pen join style, which may be one of @b wxJOIN_BEVEL, @b wxJOIN_ROUND
|
|
and
|
|
@b wxJOIN_MITER. The default is @b wxJOIN_ROUND.
|
|
|
|
@see GetJoin()
|
|
*/
|
|
void SetJoin(int join_style);
|
|
|
|
/**
|
|
Sets the bitmap for stippling.
|
|
|
|
@see GetStipple()
|
|
*/
|
|
void SetStipple(wxBitmap* stipple);
|
|
|
|
/**
|
|
Set the pen style.
|
|
|
|
@see wxPen()
|
|
*/
|
|
void SetStyle(int style);
|
|
|
|
/**
|
|
Sets the pen width.
|
|
|
|
@see GetWidth()
|
|
*/
|
|
void SetWidth(int width);
|
|
|
|
/**
|
|
Inequality operator.
|
|
See @ref overview_refcountequality "reference-counted object comparison" for
|
|
more info.
|
|
*/
|
|
bool operator !=(const wxPen& pen);
|
|
|
|
/**
|
|
Assignment operator, using @ref overview_trefcount "reference counting".
|
|
*/
|
|
wxPen operator =(const wxPen& pen);
|
|
|
|
/**
|
|
Equality operator.
|
|
See @ref overview_refcountequality "reference-counted object comparison" for
|
|
more info.
|
|
*/
|
|
bool operator ==(const wxPen& pen);
|
|
};
|