make the Pen/Brush code backward compatible as discussed on wx-dev; marked the blocks of code to deprecate in future with FUTURE_WXWIN_COMPATIBILITY_3_0; add wxCHECK_MSG in all ports to block Get*() calls on invalid objects (as already is for all other refcounted objects and for most ports)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2008-03-20 15:08:51 +00:00
parent 7c08b47173
commit ac3688c0d8
39 changed files with 657 additions and 233 deletions

View File

@@ -20,22 +20,7 @@
// NOTE: these values cannot be combined together!
enum wxBrushStyle
{
#if WXWIN_COMPATIBILITY_2_8
/* start of deprecated values */
wxSOLID = 100,
wxTRANSPARENT = 106,
wxSTIPPLE_MASK_OPAQUE = 107,
wxSTIPPLE_MASK = 108,
wxSTIPPLE = 109,
wxBDIAGONAL_HATCH = 110,
wxCROSSDIAG_HATCH = 111,
wxFDIAGONAL_HATCH = 112,
wxCROSS_HATCH = 113,
wxHORIZONTAL_HATCH = 114,
wxVERTICAL_HATCH = 115,
wxFIRST_HATCH = wxBDIAGONAL_HATCH,
wxLAST_HATCH = wxVERTICAL_HATCH,
/* end of deprecated values */
wxBRUSHSTYLE_INVALID = -1,
wxBRUSHSTYLE_SOLID = wxSOLID,
wxBRUSHSTYLE_TRANSPARENT = wxTRANSPARENT,
@@ -50,38 +35,6 @@ enum wxBrushStyle
wxBRUSHSTYLE_VERTICAL_HATCH = wxVERTICAL_HATCH,
wxBRUSHSTYLE_FIRST_HATCH = wxFIRST_HATCH,
wxBRUSHSTYLE_LAST_HATCH = wxLAST_HATCH,
wxBRUSHSTYLE_MAX
#else
wxBRUSHSTYLE_SOLID,
wxBRUSHSTYLE_TRANSPARENT,
/* Brush Stippling. */
wxBRUSHSTYLE_STIPPLE_MASK_OPAQUE,
/* mask is used for blitting monochrome using text fore and back ground colors */
wxBRUSHSTYLE_STIPPLE_MASK,
/* mask is used for masking areas in the stipple bitmap (TO DO) */
wxBRUSHSTYLE_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. */
wxBRUSHSTYLE_BDIAGONAL_HATCH,
wxBRUSHSTYLE_CROSSDIAG_HATCH,
wxBRUSHSTYLE_FDIAGONAL_HATCH,
wxBRUSHSTYLE_CROSS_HATCH,
wxBRUSHSTYLE_HORIZONTAL_HATCH,
wxBRUSHSTYLE_VERTICAL_HATCH,
wxBRUSHSTYLE_FIRST_HATCH = wxBRUSHSTYLE_BDIAGONAL_HATCH,
wxBRUSHSTYLE_LAST_HATCH = wxBRUSHSTYLE_VERTICAL_HATCH,
wxBRUSHSTYLE_MAX
#endif
};
@@ -95,6 +48,11 @@ public:
virtual bool IsHatch() const
{ return (GetStyle()>=wxBRUSHSTYLE_FIRST_HATCH) && (GetStyle()<=wxBRUSHSTYLE_LAST_HATCH); }
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( void SetStyle(int style) )
{ SetStyle((wxBrushStyle)style); }
#endif
};
#if defined(__WXPALMOS__)

View File

@@ -30,6 +30,9 @@ class WXDLLEXPORT wxBrush: public wxBrushBase
public:
wxBrush();
wxBrush(const wxColour& col, wxBrushStyle style = wxBRUSHSTYLE_SOLID);
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) );
#endif
wxBrush(const wxBitmap& stipple);
virtual ~wxBrush();

View File

@@ -26,8 +26,8 @@ class WXDLLEXPORT wxPen: public wxGDIObject
public:
wxPen();
wxPen(const wxColour& col, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID);
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
wxPen(const wxBitmap& stipple, int width);
virtual ~wxPen();

View File

@@ -14,6 +14,11 @@
#ifndef _WX_DEFS_H_
#define _WX_DEFS_H_
// NOTE: this symbol will be replaced with "WXWIN_COMPATIBILITY_3_0" as soon
// as the development branch for 3.1 is created
#define FUTURE_WXWIN_COMPATIBILITY_3_0 1
#define wxDEPRECATED_FUTURE( x ) x
/* ---------------------------------------------------------------------------- */
/* compiler and OS identification */
/* ---------------------------------------------------------------------------- */
@@ -2099,6 +2104,40 @@ enum
/* Also wxNORMAL for normal (non-italic text) */
wxITALIC,
wxSLANT,
#if FUTURE_WXWIN_COMPATIBILITY_3_0
/*
WARNING: the following styles are deprecated; use the wxBrushStyle,
wxPenStyle, wxPenCap, wxPenJoin enum values instead!
*/
/* Pen styles */
wxSOLID = 100,
wxDOT,
wxLONG_DASH,
wxSHORT_DASH,
wxDOT_DASH,
wxUSER_DASH,
wxTRANSPARENT,
/* Brush & Pen Stippling. Note that a stippled pen cannot be dashed!! */
/* Note also that stippling a Pen IS meaningfull, because a Line is */
wxSTIPPLE_MASK_OPAQUE, /* mask is used for blitting monochrome using text fore and back ground colors */
wxSTIPPLE_MASK, /* mask is used for masking areas in the stipple bitmap (TO DO) */
/* drawn with a Pen, and without any Brush -- and it can be stippled. */
wxSTIPPLE = 110,
wxBDIAGONAL_HATCH, /* In wxWidgets < 2.6 use WX_HATCH macro */
wxCROSSDIAG_HATCH, /* to verify these wx*_HATCH are in style */
wxFDIAGONAL_HATCH, /* of wxBrush. In wxWidgets >= 2.6 use */
wxCROSS_HATCH, /* wxBrush::IsHatch() instead. */
wxHORIZONTAL_HATCH,
wxVERTICAL_HATCH,
wxFIRST_HATCH = wxBDIAGONAL_HATCH,
wxLAST_HATCH = wxVERTICAL_HATCH,
#endif
};
/* Logical ops */

View File

@@ -33,6 +33,9 @@ class WXDLLIMPEXP_CORE wxBrush : public wxBrushBase
public:
wxBrush() {}
wxBrush(const wxColour &colour, wxBrushStyle style = wxBRUSHSTYLE_SOLID);
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) );
#endif
wxBrush(const wxBitmap &stippleBitmap);
bool operator==(const wxBrush& brush) const;

View File

@@ -33,8 +33,8 @@ class WXDLLIMPEXP_CORE wxPen: public wxPenBase
public:
wxPen() {}
wxPen(const wxColour &colour, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID);
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
wxPen(const wxBitmap& stipple, int width);

View File

@@ -23,6 +23,9 @@ public:
wxBrush() { }
wxBrush( const wxColour &colour, wxBrushStyle style = wxBRUSHSTYLE_SOLID );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) );
#endif
wxBrush( const wxBitmap &stippleBitmap );
virtual ~wxBrush();

View File

@@ -22,8 +22,8 @@ public:
wxPen() { }
wxPen( const wxColour &colour, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID );
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
virtual ~wxPen();

View File

@@ -33,6 +33,9 @@ public:
wxBrush() { }
wxBrush( const wxColour &colour, wxBrushStyle style = wxBRUSHSTYLE_SOLID );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) );
#endif
wxBrush( const wxBitmap &stippleBitmap );
virtual ~wxBrush();

View File

@@ -38,8 +38,8 @@ public:
wxPen() { }
wxPen( const wxColour &colour, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID );
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
virtual ~wxPen();

View File

@@ -22,8 +22,8 @@ class WXDLLEXPORT wxPen : public wxPenBase
public:
wxPen();
wxPen(const wxColour& col, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID);
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
wxPen(const wxBitmap& stipple, int width);

View File

@@ -32,6 +32,9 @@ class WXDLLEXPORT wxBrush : public wxBrushBase
public:
wxBrush() {}
wxBrush(const wxColour &colour, wxBrushStyle style = wxBRUSHSTYLE_SOLID);
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) );
#endif
wxBrush(const wxBitmap &stippleBitmap);
bool operator==(const wxBrush& brush) const;

View File

@@ -32,8 +32,8 @@ class WXDLLEXPORT wxPen : public wxPenBase
public:
wxPen() {}
wxPen(const wxColour &colour, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID);
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
wxPen(const wxBitmap& stipple, int width);

View File

@@ -25,6 +25,9 @@ class WXDLLEXPORT wxBrush : public wxBrushBase
public:
wxBrush();
wxBrush(const wxColour& col, wxBrushStyle style = wxBRUSHSTYLE_SOLID);
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) );
#endif
wxBrush(const wxBitmap& stipple);
virtual ~wxBrush();

View File

@@ -24,8 +24,8 @@ class WXDLLEXPORT wxPen : public wxPenBase
public:
wxPen() { }
wxPen(const wxColour& col, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID);
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
wxPen(const wxBitmap& stipple, int width);

View File

@@ -49,6 +49,9 @@ class WXDLLEXPORT wxBrush: public wxBrushBase
public:
wxBrush();
wxBrush(const wxColour& rCol, wxBrushStyle nStyle = wxBRUSHSTYLE_SOLID);
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) );
#endif
wxBrush(const wxBitmap& rStipple);
virtual ~wxBrush();

View File

@@ -64,8 +64,8 @@ public:
,int nWidth = 1
,wxPenStyle nStyle = wxPENSTYLE_SOLID
);
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
wxPen( const wxBitmap& rStipple

View File

@@ -27,6 +27,9 @@ class WXDLLEXPORT wxBrush : public wxBrushBase
public:
wxBrush();
wxBrush(const wxColour& col, wxBrushStyle style = wxBRUSHSTYLE_SOLID);
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) );
#endif
wxBrush(const wxBitmap& stipple);
virtual ~wxBrush();

View File

@@ -76,8 +76,8 @@ class WXDLLEXPORT wxPen : public wxPenBase
public:
wxPen();
wxPen(const wxColour& col, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID);
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
wxPen(const wxBitmap& stipple, int width);

View File

@@ -15,21 +15,9 @@
#include "wx/gdiobj.h"
#include "wx/gdicmn.h"
#if WXWIN_COMPATIBILITY_2_8
#include "wx/brush.h" // needed for some deprecated declarations
#endif
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_INVALID = -1,
wxPENSTYLE_SOLID = wxSOLID,
wxPENSTYLE_DOT = wxDOT,
@@ -52,45 +40,7 @@ enum wxPenStyle
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_DASH,
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
wxPENSTYLE_LAST_HATCH = wxLAST_HATCH
};
enum wxPenJoin
@@ -135,8 +85,8 @@ public:
virtual int GetWidth() const = 0;
virtual int GetDashes(wxDash **ptr) const = 0;
#if WXWIN_COMPATIBILITY_2_8
void SetStyle(wxBrushStyle style)
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( void SetStyle(int style) )
{ SetStyle((wxPenStyle)style); }
#endif
};
@@ -167,6 +117,11 @@ class WXDLLIMPEXP_CORE wxPenList: public wxGDIObjListBase
{
public:
wxPen *FindOrCreatePen(const wxColour& colour, int width, wxPenStyle style);
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxPen *FindOrCreatePen(const wxColour& colour, int width, int style)
{ return FindOrCreatePen(colour, width, (wxPenStyle)style); }
#endif
#if WXWIN_COMPATIBILITY_2_6
wxDEPRECATED( void AddPen(wxPen*) );
wxDEPRECATED( void RemovePen(wxPen*) );

View File

@@ -32,6 +32,9 @@ public:
wxBrush() { }
wxBrush( const wxColour &colour, wxBrushStyle style = wxBRUSHSTYLE_SOLID );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxBrush(const wxColour& col, int style) );
#endif
wxBrush( const wxBitmap &stippleBitmap );
virtual ~wxBrush();

View File

@@ -35,8 +35,8 @@ public:
wxPen() { }
wxPen( const wxColour &colour, int width = 1, wxPenStyle style = wxPENSTYLE_SOLID );
#if WXWIN_COMPATIBILITY_2_8
wxDEPRECATED( wxPen(const wxColour& col, int width, wxBrushStyle style) );
#if FUTURE_WXWIN_COMPATIBILITY_3_0
wxDEPRECATED_FUTURE( wxPen(const wxColour& col, int width, int style) );
#endif
wxPen( const wxBitmap &stipple, int width );