fix also wxPen to use wxPenStyle,wxPenJoin,wxPenCap enums instead of plain int; remove from wxBrushStyle the styles wxPen-specific; add backward-compatible ctor to wxPen; don't include brush.h and pen.h from gdicmn.h, rather move wxPenList,wxBrushList,wxFontList in the relative headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52573 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
134
include/wx/pen.h
134
include/wx/pen.h
@@ -14,6 +14,128 @@
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
enum wxPenStyle
|
||||
{
|
||||
#if WXWIN_COMPATIBILITY_2_8
|
||||
/* start of deprecated values */
|
||||
/* wxSOLID, wxTRANSPARENT, wxSTIPPLE are already defined in wxBrushStyle */
|
||||
wxDOT = 101,
|
||||
wxLONG_DASH = 102,
|
||||
wxSHORT_DASH = 103,
|
||||
wxDOT_DASH = 104,
|
||||
wxUSER_DASH = 105,
|
||||
/* end of deprecated values */
|
||||
|
||||
wxPENSTYLE_SOLID = wxSOLID,
|
||||
wxPENSTYLE_DOT = wxDOT,
|
||||
wxPENSTYLE_LONG_DASH = wxLONG_DASH,
|
||||
wxPENSTYLE_SHORT_DASH = wxSHORT_DASH,
|
||||
wxPENSTYLE_DOT_DASH = wxDOT_DASH,
|
||||
wxPENSTYLE_USER_DOT = wxUSER_DASH,
|
||||
|
||||
wxPENSTYLE_TRANSPARENT = wxTRANSPARENT,
|
||||
|
||||
wxPENSTYLE_STIPPLE_MASK_OPAQUE = wxSTIPPLE_MASK_OPAQUE,
|
||||
wxPENSTYLE_STIPPLE_MASK = wxSTIPPLE_MASK,
|
||||
wxPENSTYLE_STIPPLE = wxSTIPPLE,
|
||||
|
||||
wxPENSTYLE_BDIAGONAL_HATCH = wxBDIAGONAL_HATCH,
|
||||
wxPENSTYLE_CROSSDIAG_HATCH = wxCROSSDIAG_HATCH,
|
||||
wxPENSTYLE_FDIAGONAL_HATCH = wxFDIAGONAL_HATCH,
|
||||
wxPENSTYLE_CROSS_HATCH = wxCROSS_HATCH,
|
||||
wxPENSTYLE_HORIZONTAL_HATCH = wxHORIZONTAL_HATCH,
|
||||
wxPENSTYLE_VERTICAL_HATCH = wxVERTICAL_HATCH,
|
||||
|
||||
wxPENSTYLE_FIRST_HATCH = wxFIRST_HATCH,
|
||||
wxPENSTYLE_LAST_HATCH = wxLAST_HATCH,
|
||||
|
||||
wxPENSTYLE_MAX
|
||||
#else
|
||||
wxPENSTYLE_SOLID,
|
||||
wxPENSTYLE_DOT,
|
||||
wxPENSTYLE_LONG_DASH,
|
||||
wxPENSTYLE_SHORT_DASH,
|
||||
wxPENSTYLE_DOT_DASH,
|
||||
wxPENSTYLE_USER_DOT,
|
||||
|
||||
wxPENSTYLE_TRANSPARENT,
|
||||
|
||||
/* Pen Stippling. */
|
||||
wxPENSTYLE_STIPPLE_MASK_OPAQUE,
|
||||
/* mask is used for blitting monochrome using text fore and back ground colors */
|
||||
|
||||
wxPENSTYLE_STIPPLE_MASK,
|
||||
/* mask is used for masking areas in the stipple bitmap (TO DO) */
|
||||
|
||||
wxPENSTYLE_STIPPLE,
|
||||
/* drawn with a Pen, and without any Brush -- and it can be stippled. */
|
||||
|
||||
/* In wxWidgets < 2.6 use WX_HATCH macro */
|
||||
/* to verify these wx*_HATCH are in style */
|
||||
/* of wxBrush. In wxWidgets >= 2.6 use */
|
||||
/* wxBrush::IsHatch() instead. */
|
||||
wxPENSTYLE_BDIAGONAL_HATCH,
|
||||
wxPENSTYLE_CROSSDIAG_HATCH,
|
||||
wxPENSTYLE_FDIAGONAL_HATCH,
|
||||
wxPENSTYLE_CROSS_HATCH,
|
||||
wxPENSTYLE_HORIZONTAL_HATCH,
|
||||
wxPENSTYLE_VERTICAL_HATCH,
|
||||
|
||||
wxPENSTYLE_FIRST_HATCH = wxPENSTYLE_BDIAGONAL_HATCH,
|
||||
wxPENSTYLE_LAST_HATCH = wxPENSTYLE_VERTICAL_HATCH,
|
||||
|
||||
wxPENSTYLE_MAX
|
||||
#endif
|
||||
};
|
||||
|
||||
enum wxPenJoin
|
||||
{
|
||||
wxJOIN_INVALID = -1,
|
||||
|
||||
wxJOIN_BEVEL = 120,
|
||||
wxJOIN_MITER,
|
||||
wxJOIN_ROUND,
|
||||
};
|
||||
|
||||
enum wxPenCap
|
||||
{
|
||||
wxCAP_INVALID = -1,
|
||||
|
||||
wxCAP_ROUND = 130,
|
||||
wxCAP_PROJECTING,
|
||||
wxCAP_BUTT
|
||||
};
|
||||
|
||||
|
||||
class WXDLLEXPORT wxPenBase : public wxGDIObject
|
||||
{
|
||||
public:
|
||||
virtual ~wxPenBase() { }
|
||||
|
||||
virtual void SetColour(const wxColour& col) = 0;
|
||||
virtual void SetColour(unsigned char r, unsigned char g, unsigned char b) = 0;
|
||||
|
||||
virtual void SetWidth(int width) = 0;
|
||||
virtual void SetStyle(wxPenStyle style) = 0;
|
||||
virtual void SetStipple(const wxBitmap& stipple) = 0;
|
||||
virtual void SetDashes(int nb_dashes, const wxDash *dash) = 0;
|
||||
virtual void SetJoin(wxPenJoin join) = 0;
|
||||
virtual void SetCap(wxPenCap cap) = 0;
|
||||
|
||||
virtual wxColour& GetColour() const = 0;
|
||||
virtual wxBitmap *GetStipple() const = 0;
|
||||
virtual wxPenStyle GetStyle() const = 0;
|
||||
virtual wxPenJoin GetJoin() const = 0;
|
||||
virtual wxPenCap GetCap() const = 0;
|
||||
virtual int GetWidth() const = 0;
|
||||
virtual int GetDashes(wxDash **ptr) const = 0;
|
||||
|
||||
#if WXWIN_COMPATIBILITY_2_8
|
||||
void SetStyle(wxBrushStyle style)
|
||||
{ SetStyle((wxPenStyle)style); }
|
||||
#endif
|
||||
};
|
||||
|
||||
#if defined(__WXPALMOS__)
|
||||
#include "wx/palmos/pen.h"
|
||||
#elif defined(__WXMSW__)
|
||||
@@ -36,5 +158,17 @@
|
||||
#include "wx/os2/pen.h"
|
||||
#endif
|
||||
|
||||
class WXDLLIMPEXP_CORE wxPenList: public wxGDIObjListBase
|
||||
{
|
||||
public:
|
||||
wxPen *FindOrCreatePen(const wxColour& colour, int width, wxPenStyle style);
|
||||
#if WXWIN_COMPATIBILITY_2_6
|
||||
wxDEPRECATED( void AddPen(wxPen*) );
|
||||
wxDEPRECATED( void RemovePen(wxPen*) );
|
||||
#endif
|
||||
};
|
||||
|
||||
extern WXDLLEXPORT_DATA(wxPenList*) wxThePenList;
|
||||
|
||||
#endif
|
||||
// _WX_PEN_H_BASE_
|
||||
|
Reference in New Issue
Block a user