X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c50f92d08cc3633f8127931e7cf5d362ab8ac392..5f6cfda79ff6d1ddc0b1b88c0ba9a69c4dd1f3f3:/include/wx/gdicmn.h diff --git a/include/wx/gdicmn.h b/include/wx/gdicmn.h index 9002d14e11..c3fe25e346 100644 --- a/include/wx/gdicmn.h +++ b/include/wx/gdicmn.h @@ -24,6 +24,7 @@ #include "wx/list.h" #include "wx/string.h" #include "wx/fontenc.h" +#include "wx/hashmap.h" // --------------------------------------------------------------------------- // forward declarations @@ -116,7 +117,7 @@ enum wxStockCursor wxCURSOR_DEFAULT, // standard X11 cursor #endif #ifdef __WXMAC__ - wxCURSOR_COPY_ARROW , // MacOS Theme Plus arrow + wxCURSOR_COPY_ARROW , // MacOS Theme Plus arrow #endif #ifdef __X__ // Not yet implemented for Windows @@ -214,7 +215,7 @@ public: // FIXME are these really useful? If they're, we should have += &c as well wxSize operator+(const wxSize& sz) { return wxSize(x + sz.x, y + sz.y); } wxSize operator-(const wxSize& sz) { return wxSize(x - sz.x, y - sz.y); } - + void IncTo(const wxSize& sz) { if ( sz.x > x ) x = sz.x; if ( sz.y > y ) y = sz.y; } void DecTo(const wxSize& sz) @@ -228,6 +229,18 @@ public: int GetWidth() const { return x; } int GetHeight() const { return y; } + bool IsFullySpecified() const { return x != -1 && y != -1; } + + // combine this size with the other one replacing the default (i.e. equal + // to -1) components of this object with those of the other + void SetDefaults(const wxSize& size) + { + if ( x == -1 ) + x = size.x; + if ( y == -1 ) + y = size.y; + } + // compatibility int GetX() const { return x; } int GetY() const { return y; } @@ -273,6 +286,12 @@ public: wxPoint& operator+=(const wxPoint& p) { x += p.x; y += p.y; return *this; } wxPoint& operator-=(const wxPoint& p) { x -= p.x; y -= p.y; return *this; } + + wxPoint& operator+=(const wxSize& s) { x += s.GetWidth(); y += s.GetHeight(); return *this; } + wxPoint& operator-=(const wxSize& s) { x -= s.GetWidth(); y -= s.GetHeight(); return *this; } + + wxPoint operator+(const wxSize& s) const { return wxPoint(x + s.GetWidth(), y + s.GetHeight()); } + wxPoint operator-(const wxSize& s) const { return wxPoint(x - s.GetWidth(), y - s.GetHeight()); } }; // --------------------------------------------------------------------------- @@ -311,6 +330,16 @@ public: wxSize GetSize() const { return wxSize(width, height); } void SetSize( const wxSize &s ) { width = s.GetWidth(); height = s.GetHeight(); } + wxPoint GetTopLeft() const { return GetPosition(); } + wxPoint GetLeftTop() const { return GetTopLeft(); } + void SetTopLeft(const wxPoint &p) { SetPosition(p); } + void SetLeftTop(const wxPoint &p) { SetTopLeft(p); } + + wxPoint GetBottomRight() const { return wxPoint(GetRight(), GetBottom()); } + wxPoint GetRightBottom() const { return GetBottomRight(); } + void SetBottomRight(const wxPoint &p) { SetRight(p.x); SetBottom(p.y); } + void SetRightBottom(const wxPoint &p) { SetBottomRight(p); } + int GetLeft() const { return x; } int GetTop() const { return y; } int GetBottom() const { return y + height - 1; } @@ -411,7 +440,7 @@ public: wxFontEncoding encoding = wxFONTENCODING_DEFAULT); }; -class WXDLLEXPORT wxStringToColourHashMap; +WX_DECLARE_STRING_HASH_MAP( wxColour *, wxStringToColourHashMap ); class WXDLLEXPORT wxColourDatabase { @@ -426,9 +455,8 @@ public: // add a new colour to the database void AddColour(const wxString& name, const wxColour& colour); - // deprecated, use Find()/Add() instead - wxColour *FindColour(const wxString& name); - void AddColour(const wxString& name, wxColour *colour); + // deprecated, use Find() instead + wxDEPRECATED( wxColour *FindColour(const wxString& name) ); #ifdef __WXPM__