tests for XPM images
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -23,6 +23,7 @@
|
|||||||
#include "wx/file.h"
|
#include "wx/file.h"
|
||||||
|
|
||||||
#include "smile.xbm"
|
#include "smile.xbm"
|
||||||
|
#include "smile.xpm"
|
||||||
|
|
||||||
// derived classes
|
// derived classes
|
||||||
|
|
||||||
@@ -51,6 +52,10 @@ public:
|
|||||||
wxBitmap *my_square;
|
wxBitmap *my_square;
|
||||||
wxBitmap *my_anti;
|
wxBitmap *my_anti;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxBitmap m_bmpSmileXpm;
|
||||||
|
wxIcon m_iconSmileXpm;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS(MyCanvas)
|
DECLARE_DYNAMIC_CLASS(MyCanvas)
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
@@ -95,7 +100,8 @@ END_EVENT_TABLE()
|
|||||||
|
|
||||||
MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
|
MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
|
||||||
const wxPoint &pos, const wxSize &size )
|
const wxPoint &pos, const wxSize &size )
|
||||||
: wxScrolledWindow( parent, id, pos, size, wxSUNKEN_BORDER )
|
: wxScrolledWindow( parent, id, pos, size, wxSUNKEN_BORDER ),
|
||||||
|
m_bmpSmileXpm(smile_xpm), m_iconSmileXpm(smile_xpm)
|
||||||
{
|
{
|
||||||
my_horse_png = (wxBitmap*) NULL;
|
my_horse_png = (wxBitmap*) NULL;
|
||||||
my_horse_jpeg = (wxBitmap*) NULL;
|
my_horse_jpeg = (wxBitmap*) NULL;
|
||||||
@@ -132,6 +138,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
|
|||||||
|
|
||||||
wxImage image( bitmap );
|
wxImage image( bitmap );
|
||||||
|
|
||||||
|
#if wxUSE_LIBPNG
|
||||||
if ( !image.SaveFile( dir + wxString("test.png"), wxBITMAP_TYPE_PNG ) )
|
if ( !image.SaveFile( dir + wxString("test.png"), wxBITMAP_TYPE_PNG ) )
|
||||||
wxLogError("Can't save file");
|
wxLogError("Can't save file");
|
||||||
|
|
||||||
@@ -139,11 +146,14 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
|
|||||||
wxLogError("Can't load PNG image");
|
wxLogError("Can't load PNG image");
|
||||||
else
|
else
|
||||||
my_horse_png = new wxBitmap( image.ConvertToBitmap() );
|
my_horse_png = new wxBitmap( image.ConvertToBitmap() );
|
||||||
|
#endif // wxUSE_LIBPNG
|
||||||
|
|
||||||
|
#if wxUSE_LIBJPEG
|
||||||
if ( !image.LoadFile( dir + wxString("horse.jpg") ) )
|
if ( !image.LoadFile( dir + wxString("horse.jpg") ) )
|
||||||
wxLogError("Can't load JPG image");
|
wxLogError("Can't load JPG image");
|
||||||
else
|
else
|
||||||
my_horse_jpeg = new wxBitmap( image.ConvertToBitmap() );
|
my_horse_jpeg = new wxBitmap( image.ConvertToBitmap() );
|
||||||
|
#endif // wxUSE_LIBJPEG
|
||||||
|
|
||||||
#if wxUSE_GIF
|
#if wxUSE_GIF
|
||||||
if ( !image.LoadFile( dir + wxString("horse.gif") ) )
|
if ( !image.LoadFile( dir + wxString("horse.gif") ) )
|
||||||
@@ -291,7 +301,9 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
|
|||||||
dc.SetTextBackground( "GREEN" );
|
dc.SetTextBackground( "GREEN" );
|
||||||
dc.DrawBitmap( mono, 30, 1860 );
|
dc.DrawBitmap( mono, 30, 1860 );
|
||||||
|
|
||||||
|
dc.SetTextForeground( "BLACK" );
|
||||||
dc.DrawText( "After wxImage conversion", 150, 1845 );
|
dc.DrawText( "After wxImage conversion", 150, 1845 );
|
||||||
|
dc.SetTextForeground( "RED" );
|
||||||
wxImage i( mono );
|
wxImage i( mono );
|
||||||
i.SetMaskColour( 255,255,255 );
|
i.SetMaskColour( 255,255,255 );
|
||||||
i.Replace( 0,0,0,
|
i.Replace( 0,0,0,
|
||||||
@@ -299,6 +311,19 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) )
|
|||||||
wxRED_PEN->GetColour().Green(),
|
wxRED_PEN->GetColour().Green(),
|
||||||
wxRED_PEN->GetColour().Blue() );
|
wxRED_PEN->GetColour().Blue() );
|
||||||
dc.DrawBitmap( i.ConvertToBitmap(), 150, 1860, TRUE );
|
dc.DrawBitmap( i.ConvertToBitmap(), 150, 1860, TRUE );
|
||||||
|
dc.SetTextForeground( "BLACK" );
|
||||||
|
}
|
||||||
|
|
||||||
|
dc.DrawText("XPM bitmap", 30, 1950);
|
||||||
|
if ( m_bmpSmileXpm.Ok() )
|
||||||
|
{
|
||||||
|
dc.DrawBitmap(m_bmpSmileXpm, 30, 1975, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
dc.DrawText("XPM icon", 150, 1950);
|
||||||
|
if ( m_iconSmileXpm.Ok() )
|
||||||
|
{
|
||||||
|
dc.DrawIcon(m_iconSmileXpm, 150, 1975);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,8 +407,8 @@ MyFrame::MyFrame()
|
|||||||
|
|
||||||
m_canvas = new MyCanvas( this, -1, wxPoint(0,0), wxSize(10,10) );
|
m_canvas = new MyCanvas( this, -1, wxPoint(0,0), wxSize(10,10) );
|
||||||
|
|
||||||
// 500 width * 1900 height
|
// 500 width * 2100 height
|
||||||
m_canvas->SetScrollbars( 10, 10, 50, 200 );
|
m_canvas->SetScrollbars( 10, 10, 50, 210 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyFrame::OnQuit( wxCommandEvent &WXUNUSED(event) )
|
void MyFrame::OnQuit( wxCommandEvent &WXUNUSED(event) )
|
||||||
|
@@ -103,10 +103,10 @@ void MyApp::InitTabView(wxNotebook* notebook, wxPanel* window)
|
|||||||
2, wxRA_SPECIFY_ROWS);
|
2, wxRA_SPECIFY_ROWS);
|
||||||
|
|
||||||
c = new wxLayoutConstraints;
|
c = new wxLayoutConstraints;
|
||||||
c->left.SameAs(panel2, wxLeft, 4);
|
c->left.SameAs(panel2, wxLeft, 10);
|
||||||
c->top.SameAs(panel2, wxTop, 4);
|
c->top.SameAs(panel2, wxTop, 5);
|
||||||
c->height.PercentOf(panel2, wxHeight, 50);
|
c->height.PercentOf(panel2, wxHeight, 50);
|
||||||
c->right.SameAs(panel2, wxRight, 4);
|
c->right.SameAs(panel2, wxRight, 10);
|
||||||
radiobox->SetConstraints(c);
|
radiobox->SetConstraints(c);
|
||||||
|
|
||||||
wxRadioBox *radiobox2 = new wxRadioBox(panel2, -1, "Choose one",
|
wxRadioBox *radiobox2 = new wxRadioBox(panel2, -1, "Choose one",
|
||||||
@@ -117,7 +117,7 @@ void MyApp::InitTabView(wxNotebook* notebook, wxPanel* window)
|
|||||||
c = new wxLayoutConstraints;
|
c = new wxLayoutConstraints;
|
||||||
c->left.SameAs(radiobox, wxLeft);
|
c->left.SameAs(radiobox, wxLeft);
|
||||||
c->height.AsIs();
|
c->height.AsIs();
|
||||||
c->top.Below(radiobox, 4);
|
c->top.Below(radiobox, 5);
|
||||||
c->right.SameAs(radiobox, wxRight);
|
c->right.SameAs(radiobox, wxRight);
|
||||||
radiobox2->SetConstraints(c);
|
radiobox2->SetConstraints(c);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user