Some testing code for wxGraphicsContext printing

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2008-04-25 18:50:27 +00:00
parent ade80f997f
commit 7e38ae608c
2 changed files with 45 additions and 11 deletions

View File

@@ -205,17 +205,24 @@ public:
// Create graphics context from it // Create graphics context from it
wxGraphicsContext *gc = dc.CreateGraphicsContext(); wxGraphicsContext *gc = dc.CreateGraphicsContext();
if (gc)
{
// make a path that contains a circle and some lines, centered at 100,100 // make a path that contains a circle and some lines, centered at 100,100
gc->SetPen( *wxRED_PEN );
wxGraphicsPath path = gc->CreatePath(); wxGraphicsPath path = gc->CreatePath();
path.AddCircle( 0.0, 0.0, 100.0 ); path.AddCircle( 50.0, 50.0, 50.0 );
path.MoveToPoint(0.0, -100.0); path.MoveToPoint(0.0, 50.0);
path.AddLineToPoint(0.0, 100.0); path.AddLineToPoint(100.0, 50.0);
path.MoveToPoint(-100.0, 0.0); path.MoveToPoint(50.0, 0.0);
path.AddLineToPoint(100.0, 0); path.AddLineToPoint(50.0, 100.0 );
path.CloseSubpath(); path.CloseSubpath();
path.AddRectangle(-50.0, -25.0, 100.0, 50.0); path.AddRectangle(25.0, 25.0, 50.0, 50.0);
gc->StrokePath(path);
delete gc; delete gc;
}
}
@endcode @endcode

View File

@@ -40,6 +40,10 @@
#include "wx/generic/prntdlgg.h" #include "wx/generic/prntdlgg.h"
#endif #endif
#if wxUSE_GRAPHICS_CONTEXT
#include "wx/graphics.h"
#endif
#ifdef __WXMAC__ #ifdef __WXMAC__
#include "wx/mac/printdlg.h" #include "wx/mac/printdlg.h"
#endif #endif
@@ -338,6 +342,7 @@ void MyFrame::Draw(wxDC& dc)
dc.SetPen(*wxBLACK_PEN); dc.SetPen(*wxBLACK_PEN);
dc.SetBrush(*wxLIGHT_GREY_BRUSH); dc.SetBrush(*wxLIGHT_GREY_BRUSH);
dc.DrawRectangle(0, 0, 230, 350); dc.DrawRectangle(0, 0, 230, 350);
dc.DrawLine(0, 0, 229, 349); dc.DrawLine(0, 0, 229, 349);
dc.DrawLine(229, 0, 0, 349); dc.DrawLine(229, 0, 0, 349);
@@ -357,7 +362,7 @@ void MyFrame::Draw(wxDC& dc)
dc.DrawText( wxT("Test message: this is in 10 point text"), 10, 180); dc.DrawText( wxT("Test message: this is in 10 point text"), 10, 180);
#if wxUSE_UNICODE #if wxUSE_UNICODE
char *test = "Hebrew שלום -- Japanese (日本語)"; const char *test = "Hebrew שלום -- Japanese (日本語)";
wxString tmp = wxConvUTF8.cMB2WC( test ); wxString tmp = wxConvUTF8.cMB2WC( test );
dc.DrawText( tmp, 10, 200 ); dc.DrawText( tmp, 10, 200 );
#endif #endif
@@ -405,6 +410,28 @@ void MyFrame::Draw(wxDC& dc)
if (m_bitmap.Ok()) if (m_bitmap.Ok())
dc.DrawBitmap( m_bitmap, 10, 10 ); dc.DrawBitmap( m_bitmap, 10, 10 );
#if wxUSE_GRAPHICS_CONTEXT
wxGraphicsContext *gc = dc.CreateGraphicsContext();
if (gc)
{
// make a path that contains a circle and some lines, centered at 100,100
gc->SetPen( *wxRED_PEN );
wxGraphicsPath path = gc->CreatePath();
path.AddCircle( 50.0, 50.0, 50.0 );
path.MoveToPoint(0.0, 50.0);
path.AddLineToPoint(100.0, 50.0);
path.MoveToPoint(50.0, 0.0);
path.AddLineToPoint(50.0, 100.0 );
path.CloseSubpath();
path.AddRectangle(25.0, 25.0, 50.0, 50.0);
gc->StrokePath(path);
delete gc;
}
#endif
} }
void MyFrame::OnSize(wxSizeEvent& event ) void MyFrame::OnSize(wxSizeEvent& event )