COW cleanup patch (1583966):
1. perform deep comparison for the classes for which it makes sense in the ports where this wasn't done yet 2. remove (shallow) comparison operators for the classes for which it does not make sense (such as wxBitmap) 3. makes wxBitmap use COW on all ports 4. adds wxObject::IsRefTo() 5. centralizes and improves COW docs git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -24,11 +24,6 @@ public:
|
||||
|
||||
virtual ~wxAcceleratorTable();
|
||||
|
||||
bool operator == (const wxAcceleratorTable& accel) const
|
||||
{ return m_refData == accel.m_refData; }
|
||||
bool operator != (const wxAcceleratorTable& accel) const
|
||||
{ return m_refData != accel.m_refData; }
|
||||
|
||||
bool Ok() const { return IsOk(); }
|
||||
bool IsOk() const;
|
||||
|
||||
|
@@ -157,9 +157,6 @@ public:
|
||||
wxMask *GetMask() const;
|
||||
void SetMask(wxMask *mask) ;
|
||||
|
||||
inline bool operator == (const wxBitmap& bitmap) const { return m_refData == bitmap.m_refData; }
|
||||
inline bool operator != (const wxBitmap& bitmap) const { return m_refData != bitmap.m_refData; }
|
||||
|
||||
static void InitStandardHandlers();
|
||||
|
||||
// raw bitmap access support functions, for internal use only
|
||||
|
@@ -44,10 +44,9 @@ public:
|
||||
virtual void MacSetTheme(short macThemeBrush) ;
|
||||
virtual void MacSetThemeBackground(unsigned long macThemeBackground , WXRECTPTR extent) ;
|
||||
|
||||
bool operator == (const wxBrush& brush) const
|
||||
{ return m_refData == brush.m_refData; }
|
||||
bool operator == (const wxBrush& brush) const;
|
||||
bool operator != (const wxBrush& brush) const
|
||||
{ return m_refData != brush.m_refData; }
|
||||
{ return !(*this == brush); }
|
||||
|
||||
wxMacBrushKind MacGetBrushKind() const ;
|
||||
|
||||
|
@@ -38,9 +38,6 @@ public:
|
||||
virtual bool Ok() const { return IsOk(); }
|
||||
virtual bool IsOk() const ;
|
||||
|
||||
inline bool operator == (const wxCursor& cursor) const { return m_refData == cursor.m_refData; }
|
||||
inline bool operator != (const wxCursor& cursor) const { return m_refData != cursor.m_refData; }
|
||||
|
||||
void MacInstall() const ;
|
||||
|
||||
void SetHCURSOR(WXHCURSOR cursor);
|
||||
|
@@ -36,8 +36,6 @@ public:
|
||||
bool LoadFile(const wxString& name ,wxBitmapType flags = wxBITMAP_TYPE_ICON_RESOURCE )
|
||||
{ return LoadFile( name , flags , -1 , -1 ) ; }
|
||||
|
||||
bool operator==(const wxIcon& icon) const { return m_refData == icon.m_refData; }
|
||||
bool operator!=(const wxIcon& icon) const { return !(*this == icon); }
|
||||
|
||||
// create from bitmap (which should have a mask unless it's monochrome):
|
||||
// there shouldn't be any implicit bitmap -> icon conversion (i.e. no
|
||||
|
@@ -57,12 +57,6 @@ public:
|
||||
// Implementation
|
||||
WXHMETAFILE GetHMETAFILE() const ;
|
||||
void SetHMETAFILE(WXHMETAFILE mf) ;
|
||||
|
||||
// Operators
|
||||
inline bool operator == (const wxMetafile& metafile) const { return m_refData == metafile.m_refData; }
|
||||
inline bool operator != (const wxMetafile& metafile) const { return m_refData != metafile.m_refData; }
|
||||
|
||||
protected:
|
||||
};
|
||||
|
||||
class WXDLLEXPORT wxMetafileDC: public wxDC
|
||||
|
@@ -47,9 +47,6 @@ public:
|
||||
virtual bool Ok() const { return IsOk(); }
|
||||
virtual bool IsOk() const { return (m_refData != NULL) ; }
|
||||
|
||||
inline bool operator == (const wxPalette& palette) const { return m_refData == palette.m_refData; }
|
||||
inline bool operator != (const wxPalette& palette) const { return m_refData != palette.m_refData; }
|
||||
|
||||
virtual int GetColoursCount() const;
|
||||
|
||||
private:
|
||||
|
@@ -28,6 +28,20 @@ public:
|
||||
|
||||
wxPenRefData& operator=(const wxPenRefData& data);
|
||||
|
||||
bool operator==(const wxPenRefData& data) const
|
||||
{
|
||||
// we intentionally don't compare m_hPen fields here
|
||||
return m_style == data.m_style &&
|
||||
m_width == data.m_width &&
|
||||
m_join == data.m_join &&
|
||||
m_cap == data.m_cap &&
|
||||
m_colour == data.m_colour &&
|
||||
(m_style != wxSTIPPLE || m_stipple.IsRefTo(&data.m_stipple)) &&
|
||||
(m_style != wxUSER_DASH ||
|
||||
(m_nbDash == data.m_nbDash &&
|
||||
memcmp(m_dash, data.m_dash, m_nbDash*sizeof(wxDash)) == 0));
|
||||
}
|
||||
|
||||
protected:
|
||||
int m_width;
|
||||
int m_style;
|
||||
@@ -54,8 +68,15 @@ public:
|
||||
wxPen(const wxBitmap& stipple, int width);
|
||||
virtual ~wxPen();
|
||||
|
||||
inline bool operator == (const wxPen& pen) const { return m_refData == pen.m_refData; }
|
||||
inline bool operator != (const wxPen& pen) const { return m_refData != pen.m_refData; }
|
||||
inline bool operator == (const wxPen& pen) const
|
||||
{
|
||||
const wxPenRefData *penData = (wxPenRefData *)pen.m_refData;
|
||||
|
||||
// an invalid pen is only equal to another invalid pen
|
||||
return m_refData ? penData && *M_PENDATA == *penData : !penData;
|
||||
}
|
||||
|
||||
inline bool operator != (const wxPen& pen) const { return *(this == pen); }
|
||||
|
||||
virtual bool Ok() const { return IsOk(); }
|
||||
virtual bool IsOk() const { return (m_refData != NULL) ; }
|
||||
|
@@ -190,9 +190,6 @@ public:
|
||||
|
||||
int GetBitmapType() const;
|
||||
|
||||
inline bool operator == (const wxBitmap& bitmap) const { return m_refData == bitmap.m_refData; }
|
||||
inline bool operator != (const wxBitmap& bitmap) const { return m_refData != bitmap.m_refData; }
|
||||
|
||||
static void InitStandardHandlers();
|
||||
|
||||
// raw bitmap access support functions, for internal use only
|
||||
|
Reference in New Issue
Block a user