]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gdicmn.h
Map illegal UTF-8 sequences to a range in Unicode's private use area as
[wxWidgets.git] / include / wx / gdicmn.h
index bc7cd6d11464a6b6b25a394751eee5831dc8bf6d..acd374d4c389c577537305fbd5ec0349167ecfe5 100644 (file)
@@ -37,6 +37,7 @@ class WXDLLIMPEXP_CORE wxPalette;
 class WXDLLIMPEXP_CORE wxPen;
 class WXDLLIMPEXP_CORE wxRegion;
 class WXDLLIMPEXP_BASE wxString;
+class WXDLLIMPEXP_CORE wxIconBundle;
 
 // ---------------------------------------------------------------------------
 // constants
@@ -75,6 +76,7 @@ enum wxBitmapType
     wxBITMAP_TYPE_ICON_RESOURCE,
     wxBITMAP_TYPE_ANI,
     wxBITMAP_TYPE_IFF,
+    wxBITMAP_TYPE_TGA,
     wxBITMAP_TYPE_MACCURSOR,
     wxBITMAP_TYPE_MACCURSOR_RESOURCE,
     wxBITMAP_TYPE_ANY = 50
@@ -156,6 +158,9 @@ enum wxStockCursor
 #elif defined(__WXMGL__)
     // Initialize from an included XPM
     #define wxICON(X) wxIcon( (const char**) X##_xpm )
+#elif defined(__WXDFB__)
+    // Initialize from an included XPM
+    #define wxICON(X) wxIcon( (const char**) X##_xpm )
 #elif defined(__WXGTK__)
     // Initialize from an included XPM
     #define wxICON(X) wxIcon( (const char**) X##_xpm )
@@ -184,6 +189,7 @@ enum wxStockCursor
       defined(__WXX11__)   || \
       defined(__WXMAC__)   || \
       defined(__WXMGL__)   || \
+      defined(__WXDFB__)   || \
       defined(__WXCOCOA__)
     // Initialize from an included XPM
     #define wxBITMAP(name) wxBitmap( (const char**) name##_xpm )
@@ -229,8 +235,17 @@ public:
     void DecTo(const wxSize& sz)
         { if ( sz.x < x ) x = sz.x; if ( sz.y < y ) y = sz.y; }
 
-    void Scale(float xscale, float yscale)
-        { x = (int)(x*xscale); y = (int)(y*yscale); }
+    void IncBy(int dx, int dy) { x += dx; y += dy; }
+    void IncBy(const wxSize& sz) { IncBy(sz.x, sz.y); }
+    void IncBy(int d) { IncBy(d, d); }
+
+    void DecBy(int dx, int dy) { IncBy(-dx, -dy); }
+    void DecBy(const wxSize& sz) { DecBy(sz.x, sz.y); }
+    void DecBy(int d) { DecBy(d, d); }
+
+
+    wxSize& Scale(float xscale, float yscale)
+        { x = (int)(x*xscale); y = (int)(y*yscale); return *this; }
 
     // accessors
     void Set(int xx, int yy) { x = xx; y = yy; }
@@ -307,6 +322,8 @@ public:
 
     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()); }
+
+    wxPoint operator-() const { return wxPoint(-x, -y); }
 };
 
 // ---------------------------------------------------------------------------
@@ -352,6 +369,16 @@ public:
 
     bool IsEmpty() const { return (width <= 0) || (height <= 0); }
 
+    int GetLeft()   const { return x; }
+    int GetTop()    const { return y; }
+    int GetBottom() const { return y + height - 1; }
+    int GetRight()  const { return x + width - 1; }
+
+    void SetLeft(int left) { x = left; }
+    void SetRight(int right) { width = right - x + 1; }
+    void SetTop(int top) { y = top; }
+    void SetBottom(int bottom) { height = bottom - y + 1; }
+
     wxPoint GetTopLeft() const { return GetPosition(); }
     wxPoint GetLeftTop() const { return GetTopLeft(); }
     void SetTopLeft(const wxPoint &p) { SetPosition(p); }
@@ -362,18 +389,19 @@ public:
     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; }
-    int GetRight()  const { return x + width - 1; }
+    wxPoint GetTopRight() const { return wxPoint(GetRight(), GetTop()); }
+    wxPoint GetRightTop() const { return GetTopRight(); }
+    void SetTopRight(const wxPoint &p) { SetRight(p.x); SetTop(p.y); }
+    void SetRightTop(const wxPoint &p) { SetTopLeft(p); }
 
-    void SetLeft(int left) { x = left; }
-    void SetRight(int right) { width = right - x + 1; }
-    void SetTop(int top) { y = top; }
-    void SetBottom(int bottom) { height = bottom - y + 1; }
+    wxPoint GetBottomLeft() const { return wxPoint(GetLeft(), GetBottom()); }
+    wxPoint GetLeftBottom() const { return GetBottomLeft(); }
+    void SetBottomLeft(const wxPoint &p) { SetLeft(p.x); SetBottom(p.y); }
+    void SetLeftBottom(const wxPoint &p) { SetBottomLeft(p); }
 
     // operations with rect
     wxRect& Inflate(wxCoord dx, wxCoord dy);
+    wxRect& Inflate(const wxSize& d) { return Inflate(d.x, d.y); }
     wxRect& Inflate(wxCoord d) { return Inflate(d, d); }
     wxRect Inflate(wxCoord dx, wxCoord dy) const
     {
@@ -383,6 +411,7 @@ public:
     }
 
     wxRect& Deflate(wxCoord dx, wxCoord dy) { return Inflate(-dx, -dy); }
+    wxRect& Deflate(const wxSize& d) { return Inflate(-d.x, -d.y); }
     wxRect& Deflate(wxCoord d) { return Inflate(-d); }
     wxRect Deflate(wxCoord dx, wxCoord dy) const
     {
@@ -415,8 +444,17 @@ public:
     bool operator!=(const wxRect& rect) const { return !(*this == rect); }
 
     // return true if the point is (not strcitly) inside the rect
-    bool Inside(int x, int y) const;
-    bool Inside(const wxPoint& pt) const { return Inside(pt.x, pt.y); }
+    bool Contains(int x, int y) const;
+    bool Contains(const wxPoint& pt) const { return Contains(pt.x, pt.y); }
+    // return true if the rectangle is (not strcitly) inside the rect
+    bool Contains(const wxRect& rect) const;
+
+#if WXWIN_COMPATIBILITY_2_6
+    // use Contains() instead
+    wxDEPRECATED( bool Inside(int x, int y) const );
+    wxDEPRECATED( bool Inside(const wxPoint& pt) const );
+    wxDEPRECATED( bool Inside(const wxRect& rect) const );
+#endif // WXWIN_COMPATIBILITY_2_6
 
     // return true if the rectangles have a non empty intersection
     bool Intersects(const wxRect& rect) const;
@@ -449,6 +487,13 @@ public:
     int x, y, width, height;
 };
 
+#if WXWIN_COMPATIBILITY_2_6
+inline bool wxRect::Inside(int cx, int cy) const { return Contains(cx, cy); }
+inline bool wxRect::Inside(const wxPoint& pt) const { return Contains(pt); }
+inline bool wxRect::Inside(const wxRect& rect) const { return Contains(rect); }
+#endif // WXWIN_COMPATIBILITY_2_6
+
+
 // ---------------------------------------------------------------------------
 // Management of pens, brushes and fonts
 // ---------------------------------------------------------------------------
@@ -539,7 +584,7 @@ public:
 #if !wxUSE_STL
     wxResourceCache(const unsigned int keyType) : wxList(keyType) { }
 #endif
-    ~wxResourceCache();
+    virtual ~wxResourceCache();
 };
 
 // ---------------------------------------------------------------------------
@@ -668,9 +713,10 @@ extern WXDLLEXPORT_DATA(wxIcon)       wxNullIcon;
 extern WXDLLEXPORT_DATA(wxCursor)     wxNullCursor;
 extern WXDLLEXPORT_DATA(wxPen)        wxNullPen;
 extern WXDLLEXPORT_DATA(wxBrush)      wxNullBrush;
-extern WXDLLEXPORT_DATA(wxPalette)     wxNullPalette;
+extern WXDLLEXPORT_DATA(wxPalette)    wxNullPalette;
 extern WXDLLEXPORT_DATA(wxFont)       wxNullFont;
 extern WXDLLEXPORT_DATA(wxColour)     wxNullColour;
+extern WXDLLEXPORT_DATA(wxIconBundle) wxNullIconBundle;
 
 extern WXDLLEXPORT_DATA(wxColourDatabase*)  wxTheColourDatabase;