X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fa499247cf52c183e38210c7e8ce5234c1126a32..b1d547ebc5994e4e3837977812d8bb45cbdfa447:/src/gtk1/gnome/gprint.cpp diff --git a/src/gtk1/gnome/gprint.cpp b/src/gtk1/gnome/gprint.cpp index 9f0903dc80..12f74b4db3 100644 --- a/src/gtk1/gnome/gprint.cpp +++ b/src/gtk1/gnome/gprint.cpp @@ -442,10 +442,36 @@ bool wxGnomePrintDC::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord void wxGnomePrintDC::DoDrawIcon( const wxIcon& icon, wxCoord x, wxCoord y ) { + DoDrawBitmap( icon, x, y, true ); } void wxGnomePrintDC::DoDrawBitmap( const wxBitmap& bitmap, wxCoord x, wxCoord y, bool useMask ) { + if (!bitmap.Ok()) return; + +#if 0 + // TODO do something clever here + if (bitmap.HasPixbuf()) + { + } + else +#endif + { + wxImage image = bitmap.ConvertToImage(); + + if (!image.Ok()) return; + + double matrix[6]; + matrix[0] = XLOG2DEVREL(image.GetWidth()); + matrix[1] = 0; + matrix[2] = 0; + matrix[3] = YLOG2DEVREL(image.GetHeight()); + matrix[4] = XLOG2DEV(x); + matrix[5] = YLOG2DEV(y+image.GetHeight()); + gnome_print_concat( m_gpc, matrix ); + gnome_print_moveto( m_gpc, 0, 0 ); + gnome_print_rgbimage( m_gpc, (guchar*) image.GetData(), image.GetWidth(), image.GetHeight(), image.GetWidth()*3 ); + } } void wxGnomePrintDC::DoDrawText(const wxString& text, wxCoord x, wxCoord y )