]> git.saurik.com Git - wxWidgets.git/commitdiff
Bitmap and icon updates
authorDavid Webster <Dave.Webster@bhmi.com>
Mon, 29 Jan 2001 05:46:06 +0000 (05:46 +0000)
committerDavid Webster <Dave.Webster@bhmi.com>
Mon, 29 Jan 2001 05:46:06 +0000 (05:46 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/os2/bitmap.h
include/wx/os2/gdiimage.h
include/wx/os2/icon.h
include/wx/os2/private.h
include/wx/os2/taskbar.h

index 0908e667d57a038674b90cf4d8b559b963850a3b..baacd60aa824cc23c1539fc2b97fa9b38d10ce34 100644 (file)
@@ -54,12 +54,12 @@ public:
     // ------------
 
     wxDC*                           m_pSelectedInto;
-    HPS                             m_hPresentationSpace;
-    LONG                            m_lId;
 
-    // optional mask for transparent drawing
+    //
+    // Optional mask for transparent drawing
+    //
     wxMask*                         m_pBitmapMask;
-};
+}; // end of CLASS wxBitmapRefData
 
 // ----------------------------------------------------------------------------
 // wxBitmap: a mono or colour bitmap
@@ -83,9 +83,8 @@ public:
             );
 
     // Initialize with XPM data
-    wxBitmap( char**     ppData
-             ,wxControl* pAnItem = NULL
-            );
+    wxBitmap(const char** ppData);
+    wxBitmap(char** ppData);
 
     // Load a file or resource
     wxBitmap( const wxString& rName
@@ -214,8 +213,8 @@ public:
     // An OS/2 version that probably doesn't do anything like the msw version
     wxBitmap GetBitmapForDC(wxDC& rDc) const;
 
-    inline LONG GetId() const
-      { return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); }
+//    inline LONG GetId() const
+//      { return (GetBitmapData() ? GetBitmapData()->m_lId : 0L); }
 
 
 protected:
@@ -281,10 +280,7 @@ public:
 protected:
     WXHBITMAP                       m_hMaskBitmap;
     DECLARE_DYNAMIC_CLASS(wxMask)
-private:
-    HDC                             m_hDc;
-    HPS                             m_hPs;
-}; // end of wxMask
+}; // end of CLASS wxMask
 
 // ----------------------------------------------------------------------------
 // wxBitmapHandler is a class which knows how to load/save bitmaps to/from file
@@ -348,7 +344,7 @@ public:
                      );
 private:
     DECLARE_DYNAMIC_CLASS(wxBitmapHandler)
-}; // end of wxBitmapHandler
+}; // end of CLASS wxBitmapHandler
 
 #endif
   // _WX_BITMAP_H_
index 2dff008de0b79ac7bde0c0061ab058de7fa0f0e7..18a301cef519bb0056d4869a32bf380d73830d74 100644 (file)
@@ -87,6 +87,7 @@ public:
 
     bool                            m_bOk;
 #endif // WXWIN_COMPATIBILITY_2
+    UINT                            m_uId;
 };
 
 // ----------------------------------------------------------------------------
@@ -212,6 +213,24 @@ public:
     }
     void SetSize(const wxSize& rSize) { SetSize(rSize.x, rSize.y); }
 
+    UINT GetId(void) const
+    {
+        wxGDIImageRefData*          pData;
+
+        pData = GetGDIImageData();
+        if (!pData)
+            return 0;
+        else
+            return pData->m_uId;
+    } // end of WxWinGdi_CGDIImage::GetId
+    void SetId(UINT uId)
+    {
+        wxGDIImageRefData*          pData;
+
+        EnsureHasData();
+        pData = GetGDIImageData();
+        pData->m_uId = uId;
+    }
     // forward some of base class virtuals to wxGDIImageRefData
     bool             FreeResource(bool bForce = FALSE);
     virtual WXHANDLE GetResourceHandle();
index 383fd39e166d4bf16385d620beb6e36a6d67af78..22160f236adfb0dd5f5932e2925f1309153baf51 100644 (file)
@@ -59,6 +59,8 @@ public:
            ,int        nWidth
            ,int        nHeight
           );
+    inline wxIcon(const char** ppData) { CreateIconFromXpm(ppData); }
+    inline wxIcon(char** ppData) { CreateIconFromXpm((const char**)ppData); }
     wxIcon( const wxString& rName
            ,long            lFlags = wxBITMAP_TYPE_ICO_RESOURCE
            ,int             nDesiredWidth = -1
@@ -84,11 +86,13 @@ public:
     inline void SetHICON(WXHICON hIcon) { SetHandle((WXHANDLE)hIcon); }
     inline WXHICON GetHICON() const { return (WXHICON)GetHandle(); }
 
+    void CopyFromBitmap(const wxBitmap& rBmp);
 protected:
     virtual wxGDIImageRefData* CreateData() const
     {
         return new wxIconRefData;
     }
+    void    CreateIconFromXpm(const char **ppData);
 
 private:
     DECLARE_DYNAMIC_CLASS(wxIcon)
index d42540d24b5dc2617697aa203e615e7e3dd17367..3b943d032996775903a70ad768df9dd2515dc970 100644 (file)
@@ -143,6 +143,9 @@ extern LONG APIENTRY wxSubclassedGenericControlProc(WXHWND hWnd, WXDWORD message
 #define GetHdc()                ((HDC)GetHDC())
 #define GetHdcOf(dc)            ((HDC)(dc).GetHDC())
 
+#define GetHbitmap()            ((HBITMAP)GetHBITMAP())
+#define GetHbitmapOf(bmp)       ((HBITMAP)(bmp).GetHBITMAP())
+
 #define GetHicon()              ((HICON)GetHICON())
 #define GetHiconOf(icon)        ((HICON)(icon).GetHICON())
 
@@ -152,6 +155,16 @@ extern LONG APIENTRY wxSubclassedGenericControlProc(WXHWND hWnd, WXDWORD message
 #define GetHmenu()              ((HMENU)GetHMenu())
 #define GetHmenuOf(menu)        ((HMENU)menu->GetHMenu())
 
+#define GetHcursor()            ((HCURSOR)GetHCURSOR())
+#define GetHcursorOf(cursor)    ((HCURSOR)(cursor).GetHCURSOR())
+
+#define GetHfont()              ((HFONT)GetHFONT())
+#define GetHfontOf(font)        ((HFONT)(font).GetHFONT())
+
+// OS/2 convention of the mask is opposed to the wxWindows one, so we need
+// to invert the mask each time we pass one/get one to/from Windows
+extern HBITMAP wxInvertMask(HBITMAP hbmpMask, int w = 0, int h = 0);
+
 // ---------------------------------------------------------------------------
 // global data
 // ---------------------------------------------------------------------------
index aa25c67c414852ba8bcc7609f8fbf2c8caaf8c0a..12cb28a0d70d56593a568e56d6a666d501bcac96 100644 (file)
@@ -78,13 +78,13 @@ const wxEventType wxEVT_TASKBAR_RIGHT_UP =              wxEVT_FIRST + 1554;
 const wxEventType wxEVT_TASKBAR_LEFT_DCLICK =           wxEVT_FIRST + 1555;
 const wxEventType wxEVT_TASKBAR_RIGHT_DCLICK =          wxEVT_FIRST + 1556;
 
-#define EVT_TASKBAR_MOVE(fn)         { wxEVT_TASKBAR_MOVE, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
-#define EVT_TASKBAR_LEFT_DOWN(fn)    { wxEVT_TASKBAR_LEFT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
-#define EVT_TASKBAR_LEFT_UP(fn)      { wxEVT_TASKBAR_LEFT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
-#define EVT_TASKBAR_RIGHT_DOWN(fn)   { wxEVT_TASKBAR_RIGHT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
-#define EVT_TASKBAR_RIGHT_UP(fn)     { wxEVT_TASKBAR_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
-#define EVT_TASKBAR_LEFT_DCLICK(fn)  { wxEVT_TASKBAR_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
-#define EVT_TASKBAR_RIGHT_DCLICK(fn) { wxEVT_TASKBAR_RIGHT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL },
+#define EVT_TASKBAR_MOVE(fn)         wxEventTableEntry(wxEVT_TASKBAR_MOVE, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_LEFT_DOWN(fn)    wxEventTableEntry(wxEVT_TASKBAR_LEFT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_LEFT_UP(fn)      wxEventTableEntry(wxEVT_TASKBAR_LEFT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_RIGHT_DOWN(fn)   wxEventTableEntry(wxEVT_TASKBAR_RIGHT_DOWN, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_RIGHT_UP(fn)     wxEventTableEntry(wxEVT_TASKBAR_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_LEFT_DCLICK(fn)  wxEventTableEntry(wxEVT_TASKBAR_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
+#define EVT_TASKBAR_RIGHT_DCLICK(fn) wxEventTableEntry(wxEVT_TASKBAR_RIGHT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) &fn, NULL),
 
 
 #endif