]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/bitmap.cpp
Applied patch [ 849212 ] Sets SO_REUSEADDR flag on server sockets
[wxWidgets.git] / src / msw / bitmap.cpp
index bac7a9c0cae9b7bacc37881131bc7189a0076316..12294cdc71130308123c380562ab7120813eaa3e 100644 (file)
@@ -362,6 +362,47 @@ wxBitmap::~wxBitmap()
 {
 }
 
+wxBitmap::wxBitmap()
+{
+    Init();
+}
+
+wxBitmap::wxBitmap(const wxBitmap& bitmap)
+{
+    Init();
+    Ref(bitmap);
+}
+
+wxBitmap::wxBitmap(const char **data)
+{
+    CreateFromXpm(data);
+}
+
+wxBitmap::wxBitmap(char **data)
+{
+    CreateFromXpm((const char **)data);
+}
+
+#if wxUSE_IMAGE
+
+wxBitmap::wxBitmap(const wxImage& image, int depth)
+{
+    (void)CreateFromImage(image, depth);
+}
+
+wxBitmap::wxBitmap(const wxImage& image, const wxDC& dc)
+{
+    (void)CreateFromImage(image, dc);
+}
+
+#endif // wxUSE_IMAGE
+
+wxBitmap::wxBitmap(const wxIcon& icon)
+{
+    Init();
+    CopyFromIcon(icon);
+}
+
 wxBitmap::wxBitmap(const char bits[], int width, int height, int depth)
 {
     Init();
@@ -1510,20 +1551,20 @@ void wxBitmap::UngetRawData(wxPixelDataBase& dataBase)
             p = rowStart;
             p.OffsetY(data, 1);
         }
+    }
 
-        // if we're a DDB we need to convert DIB back to DDB now to make the
-        // changes made via raw bitmap access effective
-        if ( !GetBitmapData()->m_isDIB )
-        {
-            wxDIB *dib = GetBitmapData()->m_dib;
-            GetBitmapData()->m_dib = NULL;
+    // if we're a DDB we need to convert DIB back to DDB now to make the
+    // changes made via raw bitmap access effective
+    if ( !GetBitmapData()->m_isDIB )
+    {
+        wxDIB *dib = GetBitmapData()->m_dib;
+        GetBitmapData()->m_dib = NULL;
 
-            // TODO: convert
+        // TODO: convert
 
-            delete dib;
-        }
+        delete dib;
     }
-#endif
+#endif // wxUSE_WXDIB
 }
 #endif // #ifdef wxHAVE_RAW_BITMAP
 
@@ -1762,14 +1803,11 @@ bool wxCreateDIB(long xSize, long ySize, long bitsPerPixel,
                  HPALETTE hPal, LPBITMAPINFO* lpDIBHeader)
 {
    unsigned long   i, headerSize;
-   LPBITMAPINFO    lpDIBheader = NULL;
-   LPPALETTEENTRY  lpPe = NULL;
-
 
    // Allocate space for a DIB header
    headerSize = (sizeof(BITMAPINFOHEADER) + (256 * sizeof(PALETTEENTRY)));
-   lpDIBheader = (BITMAPINFO *) malloc(headerSize);
-   lpPe = (PALETTEENTRY *)((BYTE*)lpDIBheader + sizeof(BITMAPINFOHEADER));
+   LPBITMAPINFO lpDIBheader = (BITMAPINFO *) malloc(headerSize);
+   LPPALETTEENTRY lpPe = (PALETTEENTRY *)((BYTE*)lpDIBheader + sizeof(BITMAPINFOHEADER));
 
    GetPaletteEntries(hPal, 0, 256, lpPe);