X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/83624f79609f0d5e240c1f7d77d044bfff9702fc..7631a29204a5a6a14c3ab6697455c48928ba6600:/src/gtk1/bitmap.cpp diff --git a/src/gtk1/bitmap.cpp b/src/gtk1/bitmap.cpp index 0b6b995c25..80ecdcddac 100644 --- a/src/gtk1/bitmap.cpp +++ b/src/gtk1/bitmap.cpp @@ -104,25 +104,35 @@ wxBitmap::wxBitmap() wxBitmap::wxBitmap( int width, int height, int depth ) { - wxCHECK_RET( (width > 0) && (height > 0), "invalid bitmap size" ) - wxCHECK_RET( (depth > 0) || (depth == -1), "invalid bitmap depth" ) - - m_refData = new wxBitmapRefData(); - + wxCHECK_RET( (width > 0) && (height > 0), _T("invalid bitmap size") ) + GdkWindow *parent = (GdkWindow*) &gdk_root_parent; + if (depth == -1) depth = gdk_window_get_visual( parent )->depth; + + wxCHECK_RET( (depth == gdk_window_get_visual( parent )->depth) || + (depth == 1), _T("invalid bitmap depth") ) + m_refData = new wxBitmapRefData(); M_BMPDATA->m_mask = (wxMask *) NULL; - M_BMPDATA->m_pixmap = gdk_pixmap_new( parent, width, height, depth ); M_BMPDATA->m_width = width; M_BMPDATA->m_height = height; - M_BMPDATA->m_bpp = gdk_window_get_visual( parent )->depth; + if (depth == 1) + { + M_BMPDATA->m_bitmap = gdk_pixmap_new( parent, width, height, 1 ); + M_BMPDATA->m_bpp = 1; + } + else + { + M_BMPDATA->m_pixmap = gdk_pixmap_new( parent, width, height, depth ); + M_BMPDATA->m_bpp = gdk_window_get_visual( parent )->depth; + } if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } wxBitmap::wxBitmap( const char **bits ) { - wxCHECK_RET( bits != NULL, "invalid bitmap data" ) + wxCHECK_RET( bits != NULL, _T("invalid bitmap data") ) m_refData = new wxBitmapRefData(); @@ -145,7 +155,7 @@ wxBitmap::wxBitmap( const char **bits ) wxBitmap::wxBitmap( char **bits ) { - wxCHECK_RET( bits != NULL, "invalid bitmap data" ) + wxCHECK_RET( bits != NULL, _T("invalid bitmap data") ) m_refData = new wxBitmapRefData(); @@ -154,7 +164,7 @@ wxBitmap::wxBitmap( char **bits ) M_BMPDATA->m_pixmap = gdk_pixmap_create_from_xpm_d( parent, &mask, NULL, (gchar **) bits ); - wxCHECK_RET( M_BMPDATA->m_pixmap, "couldn't create pixmap" ); + wxCHECK_RET( M_BMPDATA->m_pixmap, _T("couldn't create pixmap") ); if (mask) { @@ -193,7 +203,7 @@ wxBitmap::wxBitmap( const char bits[], int width, int height, int WXUNUSED(depth M_BMPDATA->m_height = height; M_BMPDATA->m_bpp = 1; - wxCHECK_RET( M_BMPDATA->m_bitmap, "couldn't create bitmap" ); + wxCHECK_RET( M_BMPDATA->m_bitmap, _T("couldn't create bitmap") ); if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this); } @@ -227,35 +237,35 @@ bool wxBitmap::Ok(void) const int wxBitmap::GetHeight(void) const { - wxCHECK_MSG( Ok(), -1, "invalid bitmap" ); + wxCHECK_MSG( Ok(), -1, _T("invalid bitmap") ); return M_BMPDATA->m_height; } int wxBitmap::GetWidth(void) const { - wxCHECK_MSG( Ok(), -1, "invalid bitmap" ); + wxCHECK_MSG( Ok(), -1, _T("invalid bitmap") ); return M_BMPDATA->m_width; } int wxBitmap::GetDepth(void) const { - wxCHECK_MSG( Ok(), -1, "invalid bitmap" ); + wxCHECK_MSG( Ok(), -1, _T("invalid bitmap") ); return M_BMPDATA->m_bpp; } wxMask *wxBitmap::GetMask(void) const { - wxCHECK_MSG( Ok(), (wxMask *) NULL, "invalid bitmap" ); + wxCHECK_MSG( Ok(), (wxMask *) NULL, _T("invalid bitmap") ); return M_BMPDATA->m_mask; } void wxBitmap::SetMask( wxMask *mask ) { - wxCHECK_RET( Ok(), "invalid bitmap" ); + wxCHECK_RET( Ok(), _T("invalid bitmap") ); if (M_BMPDATA->m_mask) delete M_BMPDATA->m_mask; @@ -264,7 +274,7 @@ void wxBitmap::SetMask( wxMask *mask ) bool wxBitmap::SaveFile( const wxString &name, int type, wxPalette *WXUNUSED(palette) ) { - wxCHECK_MSG( Ok(), FALSE, "invalid bitmap" ); + wxCHECK_MSG( Ok(), FALSE, _T("invalid bitmap") ); if (type == wxBITMAP_TYPE_PNG) { @@ -288,7 +298,7 @@ bool wxBitmap::LoadFile( const wxString &name, int type ) GdkBitmap *mask = (GdkBitmap*) NULL; GdkWindow *parent = (GdkWindow*) &gdk_root_parent; - M_BMPDATA->m_pixmap = gdk_pixmap_create_from_xpm( parent, &mask, NULL, name ); + M_BMPDATA->m_pixmap = gdk_pixmap_create_from_xpm( parent, &mask, NULL, name.fn_str() ); if (mask) { @@ -354,16 +364,14 @@ void wxBitmap::SetPixmap( GdkPixmap *pixmap ) GdkPixmap *wxBitmap::GetPixmap(void) const { - wxCHECK_MSG( Ok(), (GdkPixmap *) NULL, "invalid bitmap" ); + wxCHECK_MSG( Ok(), (GdkPixmap *) NULL, _T("invalid bitmap") ); return M_BMPDATA->m_pixmap; } GdkBitmap *wxBitmap::GetBitmap(void) const { - wxCHECK_MSG( Ok(), (GdkBitmap *) NULL, "invalid bitmap" ); + wxCHECK_MSG( Ok(), (GdkBitmap *) NULL, _T("invalid bitmap") ); return M_BMPDATA->m_bitmap; } - -