#if wxUSE_GRAPHICS_CONTEXT
-#include "wx/graphics.h"
+#include "wx/private/graphics.h"
#ifndef WX_PRECOMP
#include "wx/icon.h"
#include "wx/log.h"
#endif
-#if !defined(wxMAC_USE_CORE_GRAPHICS_BLEND_MODES)
-#define wxMAC_USE_CORE_GRAPHICS_BLEND_MODES 0
-#endif
-
//-----------------------------------------------------------------------------
// constants
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxGraphicsPen, wxGraphicsObject)
IMPLEMENT_DYNAMIC_CLASS(wxGraphicsBrush, wxGraphicsObject)
IMPLEMENT_DYNAMIC_CLASS(wxGraphicsFont, wxGraphicsObject)
+IMPLEMENT_DYNAMIC_CLASS(wxGraphicsBitmap, wxGraphicsObject)
WXDLLIMPEXP_DATA_CORE(wxGraphicsPen) wxNullGraphicsPen;
WXDLLIMPEXP_DATA_CORE(wxGraphicsBrush) wxNullGraphicsBrush;
WXDLLIMPEXP_DATA_CORE(wxGraphicsFont) wxNullGraphicsFont;
+WXDLLIMPEXP_DATA_CORE(wxGraphicsBitmap) wxNullGraphicsBitmap;
//-----------------------------------------------------------------------------
// matrix
{
}
+bool wxGraphicsContext::StartDoc(const wxString& WXUNUSED(message))
+{
+ return true;
+}
+
+void wxGraphicsContext::EndDoc()
+{
+}
+
+void wxGraphicsContext::StartPage(wxDouble WXUNUSED(width),
+ wxDouble WXUNUSED(height))
+{
+}
+
+void wxGraphicsContext::EndPage()
+{
+}
+
+void wxGraphicsContext::Flush()
+{
+}
+
+#if 0
+void wxGraphicsContext::SetAlpha( wxDouble WXUNUSED(alpha) )
+{
+}
+
+wxDouble wxGraphicsContext::GetAlpha() const
+{
+ return 1.0;
+}
+#endif
+
+void wxGraphicsContext::GetSize( wxDouble* width, wxDouble* height)
+{
+ *width = 10000.0;
+ *height = 10000.0;
+}
+
+void wxGraphicsContext::GetDPI( wxDouble* dpiX, wxDouble* dpiY)
+{
+ *dpiX = 72.0;
+ *dpiY = 72.0;
+}
+
// sets the pen
void wxGraphicsContext::SetPen( const wxGraphicsPen& pen )
{
void wxGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, const wxGraphicsBrush& backgroundBrush )
{
wxGraphicsBrush formerBrush = m_brush;
+ wxGraphicsPen formerPen = m_pen;
wxDouble width;
wxDouble height;
wxDouble descent;
wxDouble externalLeading;
GetTextExtent( str , &width, &height, &descent, &externalLeading );
SetBrush( backgroundBrush );
+ // to make sure our 'OffsetToPixelBoundaries' doesn't move the fill shape
+ SetPen( wxNullGraphicsPen );
wxGraphicsPath path = CreatePath();
path.AddRectangle( x , y, width, height );
DrawText( str, x ,y);
SetBrush( formerBrush );
+ SetPen( formerPen );
}
void wxGraphicsContext::DrawText( const wxString &str, wxDouble x, wxDouble y, wxDouble angle, const wxGraphicsBrush& backgroundBrush )
{
wxGraphicsBrush formerBrush = m_brush;
+ wxGraphicsPen formerPen = m_pen;
wxDouble width;
wxDouble height;
wxDouble externalLeading;
GetTextExtent( str , &width, &height, &descent, &externalLeading );
SetBrush( backgroundBrush );
+ // to make sure our 'OffsetToPixelBoundaries' doesn't move the fill shape
+ SetPen( wxNullGraphicsPen );
wxGraphicsPath path = CreatePath();
path.MoveToPoint( x , y );
FillPath( path );
DrawText( str, x ,y, angle);
SetBrush( formerBrush );
+ SetPen( formerPen );
}
void wxGraphicsContext::StrokeLine( wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2)
return GetRenderer()->CreateFont(font,col);
}
+wxGraphicsBitmap wxGraphicsContext::CreateBitmap( const wxBitmap& bmp ) const
+{
+ return GetRenderer()->CreateBitmap(bmp);
+}
+
+wxGraphicsBitmap wxGraphicsContext::CreateSubBitmap( const wxGraphicsBitmap &bmp, wxDouble x, wxDouble y, wxDouble w, wxDouble h ) const
+{
+ return GetRenderer()->CreateSubBitmap(bmp,x,y,w,h);
+}
+
wxGraphicsContext* wxGraphicsContext::Create( const wxWindowDC& dc)
{
return wxGraphicsRenderer::GetDefaultRenderer()->CreateContext(dc);
}
-#ifdef __WXMSW__
+
wxGraphicsContext* wxGraphicsContext::Create( const wxMemoryDC& dc)
{
return wxGraphicsRenderer::GetDefaultRenderer()->CreateContext(dc);
}
-#endif
wxGraphicsContext* wxGraphicsContext::CreateFromNative( void * context )
{