]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/gdicmn.cpp
Added wxUSE_MENUS_NATIVE wrapper around DoPopupMenu to match header
[wxWidgets.git] / src / common / gdicmn.cpp
index 27236ce40aa5d0b2533aafee0f73b989cb4f23c3..5de95ee422c64f3a6f94d7fc83974afa039f952e 100644 (file)
@@ -42,7 +42,7 @@
 #include "wx/log.h"
 #include <string.h>
 
 #include "wx/log.h"
 #include <string.h>
 
-#ifdef __WXMSW__
+#if defined(__WXMSW__)
 #include "wx/msw/wrapwin.h"
 #endif
 
 #include "wx/msw/wrapwin.h"
 #endif
 
@@ -119,12 +119,6 @@ wxRect::wxRect(const wxPoint& point1, const wxPoint& point2)
     height++;
 }
 
     height++;
 }
 
-wxRect::wxRect(const wxPoint& point, const wxSize& size)
-{
-    x = point.x; y = point.y;
-    width = size.x; height = size.y;
-}
-
 bool wxRect::operator==(const wxRect& rect) const
 {
     return ((x == rect.x) &&
 bool wxRect::operator==(const wxRect& rect) const
 {
     return ((x == rect.x) &&
@@ -133,13 +127,7 @@ bool wxRect::operator==(const wxRect& rect) const
             (height == rect.height));
 }
 
             (height == rect.height));
 }
 
-wxRect& wxRect::operator += (const wxRect& rect)
-{
-    *this = (*this + rect);
-    return ( *this ) ;
-}
-
-wxRect wxRect::operator + (const wxRect& rect) const
+wxRect wxRect::operator+(const wxRect& rect) const
 {
     int x1 = wxMin(this->x, rect.x);
     int y1 = wxMin(this->y, rect.y);
 {
     int x1 = wxMin(this->x, rect.x);
     int y1 = wxMin(this->y, rect.y);
@@ -148,6 +136,31 @@ wxRect wxRect::operator + (const wxRect& rect) const
     return wxRect(x1, y1, x2-x1, y2-y1);
 }
 
     return wxRect(x1, y1, x2-x1, y2-y1);
 }
 
+wxRect& wxRect::Union(const wxRect& rect)
+{
+    // ignore empty rectangles: union with an empty rectangle shouldn't extend
+    // this one to (0, 0)
+    if ( !width || !height )
+    {
+        *this = rect;
+    }
+    else if ( rect.width && rect.height )
+    {
+        int x1 = wxMin(x, rect.x);
+        int y1 = wxMin(y, rect.y);
+        int y2 = wxMax(y + height, rect.height + rect.y);
+        int x2 = wxMax(x + width, rect.width + rect.x);
+
+        x = x1;
+        y = y1;
+        width = x2 - x1;
+        height = y2 - y1;
+    }
+    //else: we're not empty and rect is empty
+
+    return *this;
+}
+
 wxRect& wxRect::Inflate(wxCoord dx, wxCoord dy)
 {
     x -= dx;
 wxRect& wxRect::Inflate(wxCoord dx, wxCoord dy)
 {
     x -= dx;
@@ -255,7 +268,7 @@ void wxColourDatabase::Initialize()
     static const struct wxColourDesc
     {
         const wxChar *name;
     static const struct wxColourDesc
     {
         const wxChar *name;
-        int r,g,b;
+        unsigned char r,g,b;
     }
     wxColourTable[] =
     {
     }
     wxColourTable[] =
     {
@@ -381,7 +394,7 @@ void wxColourDatabase::AddColour(const wxString& name, const wxColour& colour)
     }
     else // new colour
     {
     }
     else // new colour
     {
-        (*m_map)[name] = new wxColour(colour);
+        (*m_map)[colName] = new wxColour(colour);
     }
 }
 
     }
 }
 
@@ -538,7 +551,7 @@ void wxInitializeStockObjects ()
 
     GetThemeFont(kThemeSystemFont , GetApplicationScript() , fontName , &fontSize , &fontStyle ) ;
     sizeFont = fontSize ;
 
     GetThemeFont(kThemeSystemFont , GetApplicationScript() , fontName , &fontSize , &fontStyle ) ;
     sizeFont = fontSize ;
-#if __WXMAC_CLASSIC__
+#ifdef __WXMAC_CLASSIC__
     wxNORMAL_FONT = new wxFont (fontSize, wxMODERN, wxNORMAL, wxNORMAL , false , wxMacMakeStringFromPascal(fontName) );
 #else
     wxNORMAL_FONT = new wxFont () ;
     wxNORMAL_FONT = new wxFont (fontSize, wxMODERN, wxNORMAL, wxNORMAL , false , wxMacMakeStringFromPascal(fontName) );
 #else
     wxNORMAL_FONT = new wxFont () ;
@@ -563,7 +576,7 @@ void wxInitializeStockObjects ()
 #elif defined(__WXMAC__)
     wxSWISS_FONT = new wxFont (sizeFont, wxSWISS, wxNORMAL, wxNORMAL); /* Helv */
     wxITALIC_FONT = new wxFont (sizeFont, wxROMAN, wxITALIC, wxNORMAL);
 #elif defined(__WXMAC__)
     wxSWISS_FONT = new wxFont (sizeFont, wxSWISS, wxNORMAL, wxNORMAL); /* Helv */
     wxITALIC_FONT = new wxFont (sizeFont, wxROMAN, wxITALIC, wxNORMAL);
-#if __WXMAC_CLASSIC__
+#ifdef __WXMAC_CLASSIC__
   GetThemeFont(kThemeSmallSystemFont , GetApplicationScript() , fontName , &fontSize , &fontStyle ) ;
     wxSMALL_FONT = new wxFont (fontSize, wxSWISS, wxNORMAL, wxNORMAL , false , wxMacMakeStringFromPascal( fontName ) );
 #else
   GetThemeFont(kThemeSmallSystemFont , GetApplicationScript() , fontName , &fontSize , &fontStyle ) ;
     wxSMALL_FONT = new wxFont (fontSize, wxSWISS, wxNORMAL, wxNORMAL , false , wxMacMakeStringFromPascal( fontName ) );
 #else
@@ -665,10 +678,6 @@ void wxDeleteStockLists()
 // wxTheXXXList stuff (semi-obsolete)
 // ============================================================================
 
 // wxTheXXXList stuff (semi-obsolete)
 // ============================================================================
 
-wxBitmapList::wxBitmapList()
-{
-}
-
 wxBitmapList::~wxBitmapList ()
 {
     wxList::compatibility_iterator node = GetFirst ();
 wxBitmapList::~wxBitmapList ()
 {
     wxList::compatibility_iterator node = GetFirst ();
@@ -858,7 +867,7 @@ wxFont *wxFontList::FindOrCreateFont(int pointSize,
             // a different font if we create it with empty facename, but it is
             // still better than never matching anything in the cache at all
             // in this case
             // a different font if we create it with empty facename, but it is
             // still better than never matching anything in the cache at all
             // in this case
-            if ( same && !facename.IsEmpty() )
+            if ( same && !facename.empty() )
             {
                 const wxString& fontFace = font->GetFaceName();
 
             {
                 const wxString& fontFace = font->GetFaceName();