X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1971d23c57b3c582f32d05704914ad902ec76fa5..922ba68045d84789ab1dfceb4d1aa1b6e2c5e810:/samples/image/image.cpp diff --git a/samples/image/image.cpp b/samples/image/image.cpp index 2e768ad4ba..c03daca077 100644 --- a/samples/image/image.cpp +++ b/samples/image/image.cpp @@ -66,8 +66,35 @@ private: DECLARE_EVENT_TABLE() }; + +const int nChoices = 8 ; +static const wxString bppchoices[nChoices] = +{ + "1 bpp color", + "1 bpp B&W", + "4 bpp color", + "8 bpp color", + "8 bpp greyscale", + "8 bpp red", + "8 bpp own palette", + "24 bpp" +}; + +static const int bppvalues[nChoices] = +{ + wxBMP_1BPP, + wxBMP_1BPP_BW, + wxBMP_4BPP, + wxBMP_8BPP, + wxBMP_8BPP_GREY, + wxBMP_8BPP_RED, + wxBMP_8BPP_PALETTE, + wxBMP_24BPP +}; + // MyFrame + class MyFrame: public wxFrame { public: @@ -106,33 +133,9 @@ public: { wxImage image(m_bitmap); - static const wxString bppchoices[8] = - { - "1 bpp color", - "1 bpp B&W", - "4 bpp color", - "8 bpp color", - "8 bpp greyscale", - "8 bpp red", - "8 bpp own palette", - "24 bpp" - }; - - static const int bppvalues[WXSIZEOF(bppchoices)] = - { - wxBMP_1BPP, - wxBMP_1BPP_BW, - wxBMP_4BPP, - wxBMP_8BPP, - wxBMP_8BPP_GREY, - wxBMP_8BPP_RED, - wxBMP_8BPP_PALETTE, - wxBMP_24BPP - }; - int bppselection = wxGetSingleChoiceIndex("Set BMP BPP", "Set BMP BPP", - WXSIZEOF(bppchoices), + nChoices, bppchoices, this); if ( bppselection == -1 ) @@ -144,18 +147,18 @@ public: image.SetOption(wxBMP_FORMAT, bppvalues[bppselection]); wxString deffilename = bppchoices[bppselection]; - deffilename.Replace(" ", "_"); - deffilename += ".bmp"; - wxString savefilename = wxFileSelector( "Save Image", - "", + deffilename.Replace(wxT(" "), wxT("_")); + deffilename += wxT(".bmp"); + wxString savefilename = wxFileSelector( wxT("Save Image"), + wxT(""), deffilename, - (const char *)NULL, - "BMP files (*.bmp)|*.bmp|" - "PNG files (*.png)|*.png|" - "JPEG files (*.jpg)|*.jpg|" - "GIF files (*.gif)|*.gif|" - "TIFF files (*.tif)|*.tif|" - "PCX files (*.pcx)|*.pcx", + (const wxChar *)NULL, + wxT("BMP files (*.bmp)|*.bmp|") + wxT("PNG files (*.png)|*.png|") + wxT("JPEG files (*.jpg)|*.jpg|") + wxT("GIF files (*.gif)|*.gif|") + wxT("TIFF files (*.tif)|*.tif|") + wxT("PCX files (*.pcx)|*.pcx"), wxSAVE); if ( savefilename.empty() ) @@ -250,7 +253,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, wxMemoryDC dc; dc.SelectObject( bitmap ); - dc.SetBrush( wxBrush( "orange", wxSOLID ) ); + dc.SetBrush( wxBrush( wxT("orange"), wxSOLID ) ); dc.SetPen( *wxBLACK_PEN ); dc.DrawRectangle( 0, 0, 100, 100 ); dc.SetBrush( *wxWHITE_BRUSH ); @@ -259,18 +262,18 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, // try to find the directory with our images wxString dir; - if ( wxFile::Exists("./horse.png") ) + if ( wxFile::Exists(wxT("./horse.png")) ) dir = "./"; - else if ( wxFile::Exists("../horse.png") ) + else if ( wxFile::Exists(wxT("../horse.png")) ) dir = "../"; else - wxLogWarning("Can't find image files in either '.' or '..'!"); + wxLogWarning(wxT("Can't find image files in either '.' or '..'!")); wxImage image = bitmap.ConvertToImage(); #if wxUSE_LIBPNG if ( !image.SaveFile( dir + wxString("test.png"), wxBITMAP_TYPE_PNG )) - wxLogError("Can't save file"); + wxLogError(wxT("Can't save file")); image.Destroy(); @@ -280,7 +283,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, image.Destroy(); if ( !image.LoadFile( dir + wxString("horse.png")) ) - wxLogError("Can't load PNG image"); + wxLogError(wxT("Can't load PNG image")); else my_horse_png = new wxBitmap( image ); #endif // wxUSE_LIBPNG @@ -289,7 +292,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, image.Destroy(); if ( !image.LoadFile( dir + wxString("horse.jpg")) ) - wxLogError("Can't load JPG image"); + wxLogError(wxT("Can't load JPG image")); else my_horse_jpeg = new wxBitmap( image ); #endif // wxUSE_LIBJPEG @@ -298,7 +301,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, image.Destroy(); if ( !image.LoadFile( dir + wxString("horse.gif")) ) - wxLogError("Can't load GIF image"); + wxLogError(wxT("Can't load GIF image")); else my_horse_gif = new wxBitmap( image ); #endif @@ -307,7 +310,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, image.Destroy(); if ( !image.LoadFile( dir + wxString("horse.pcx"), wxBITMAP_TYPE_PCX ) ) - wxLogError("Can't load PCX image"); + wxLogError(wxT("Can't load PCX image")); else my_horse_pcx = new wxBitmap( image ); #endif @@ -315,7 +318,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, image.Destroy(); if ( !image.LoadFile( dir + wxString("horse.bmp"), wxBITMAP_TYPE_BMP ) ) - wxLogError("Can't load BMP image"); + wxLogError(wxT("Can't load BMP image")); else my_horse_bmp = new wxBitmap( image ); @@ -323,19 +326,19 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, image.Destroy(); if ( !image.LoadFile( dir + wxString("horse.xpm"), wxBITMAP_TYPE_XPM ) ) - wxLogError("Can't load XPM image"); + wxLogError(wxT("Can't load XPM image")); else my_horse_xpm = new wxBitmap( image ); if ( !image.SaveFile( dir + wxString("test.xpm"), wxBITMAP_TYPE_XPM )) - wxLogError("Can't save file"); + wxLogError(wxT("Can't save file")); #endif #if wxUSE_PNM image.Destroy(); if ( !image.LoadFile( dir + wxString("horse.pnm"), wxBITMAP_TYPE_PNM ) ) - wxLogError("Can't load PNM image"); + wxLogError(wxT("Can't load PNM image")); else my_horse_pnm = new wxBitmap( image ); #endif @@ -344,7 +347,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, image.Destroy(); if ( !image.LoadFile( dir + wxString("horse.tif"), wxBITMAP_TYPE_TIF ) ) - wxLogError("Can't load TIFF image"); + wxLogError(wxT("Can't load TIFF image")); else my_horse_tiff = new wxBitmap( image ); #endif @@ -385,7 +388,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) if (my_square && my_square->Ok()) dc.DrawBitmap( *my_square, 30, 30 ); dc.DrawText( "Drawn directly", 150, 10 ); - dc.SetBrush( wxBrush( "orange", wxSOLID ) ); + dc.SetBrush( wxBrush( wxT("orange"), wxSOLID ) ); dc.SetPen( *wxBLACK_PEN ); dc.DrawRectangle( 150, 30, 100, 100 ); dc.SetBrush( *wxWHITE_BRUSH ); @@ -436,14 +439,14 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) { dc.DrawText( "XBM bitmap", 30, 1975 ); dc.DrawText( "(green on red)", 30, 1990 ); - dc.SetTextForeground( "GREEN" ); - dc.SetTextBackground( "RED" ); + dc.SetTextForeground( wxT("GREEN") ); + dc.SetTextBackground( wxT("RED") ); dc.DrawBitmap( *my_smile_xbm, 30, 2010 ); - dc.SetTextForeground( "BLACK" ); + dc.SetTextForeground( wxT("BLACK") ); dc.DrawText( "After wxImage conversion", 150, 1975 ); dc.DrawText( "(red on white)", 150, 1990 ); - dc.SetTextForeground( "RED" ); + dc.SetTextForeground( wxT("RED") ); wxImage i = my_smile_xbm->ConvertToImage(); i.SetMaskColour( 255, 255, 255 ); i.Replace( 0, 0, 0, @@ -451,7 +454,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) wxRED_PEN->GetColour().Green(), wxRED_PEN->GetColour().Blue() ); dc.DrawBitmap( i.ConvertToBitmap(), 150, 2010, TRUE ); - dc.SetTextForeground( "BLACK" ); + dc.SetTextForeground( wxT("BLACK") ); } @@ -473,14 +476,14 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) { dc.DrawText( "Mono bitmap", 30, 2095 ); dc.DrawText( "(red on green)", 30, 2110 ); - dc.SetTextForeground( "RED" ); - dc.SetTextBackground( "GREEN" ); + dc.SetTextForeground( wxT("RED") ); + dc.SetTextBackground( wxT("GREEN") ); dc.DrawBitmap( mono, 30, 2130 ); - dc.SetTextForeground( "BLACK" ); + dc.SetTextForeground( wxT("BLACK") ); dc.DrawText( "After wxImage conversion", 150, 2095 ); dc.DrawText( "(red on white)", 150, 2110 ); - dc.SetTextForeground( "RED" ); + dc.SetTextForeground( wxT("RED") ); wxImage i = mono.ConvertToImage(); i.SetMaskColour( 255,255,255 ); i.Replace( 0,0,0, @@ -488,7 +491,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) wxRED_PEN->GetColour().Green(), wxRED_PEN->GetColour().Blue() ); dc.DrawBitmap( i.ConvertToBitmap(), 150, 2130, TRUE ); - dc.SetTextForeground( "BLACK" ); + dc.SetTextForeground( wxT("BLACK") ); } dc.DrawText("XPM bitmap", 30, 2230); @@ -515,7 +518,7 @@ void MyCanvas::CreateAntiAliasedBitmap() dc.Clear(); dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL) ); - dc.SetTextForeground( "RED" ); + dc.SetTextForeground( wxT("RED") ); dc.DrawText( "This is anti-aliased Text.", 20, 20 ); dc.DrawText( "And a Rectangle.", 20, 60 );