m_signX = 1; // default x-axis left to right
m_signY = -1; // default y-axis bottom up -> top down
+
}
wxPostScriptDC::wxPostScriptDC (const wxPrintData& printData)
m_printData = printData;
+ int h = 0;
+ GetSize( NULL, &h );
+ SetDeviceLocalOrigin( 0, h );
+
m_ok = true;
}
return (wxCoord) (GetCharHeight() * 72.0 / 120.0);
}
+void wxPostScriptDC::SetPrintData(const wxPrintData& data)
+{
+ m_printData = data;
+
+ int h = 0;
+ GetSize( NULL, &h );
+ SetDeviceLocalOrigin( 0, h );
+}
void wxPostScriptDC::SetAxisOrientation( bool xLeftRight, bool yBottomUp )
{
ComputeScaleAndOrigin();
}
-void wxPostScriptDC::SetDeviceOrigin( wxCoord x, wxCoord y )
+void wxPostScriptDC::SetMapMode(int mode)
{
- wxCHECK_RET( m_ok, wxT("invalid postscript dc") );
+ wxDCBase::SetMapMode(mode);
+}
- int h = 0;
- int w = 0;
- GetSize( &w, &h );
+void wxPostScriptDC::SetUserScale(double x, double y)
+{
+ wxDCBase::SetUserScale(x,y);
+}
+
+void wxPostScriptDC::SetLogicalScale(double x, double y)
+{
+ wxDCBase::SetLogicalScale(x,y);
+}
- wxDC::SetDeviceOrigin( x, h-y );
+void wxPostScriptDC::SetLogicalOrigin(wxCoord x, wxCoord y)
+{
+ wxDCBase::SetLogicalOrigin(x,y);
+}
+
+void wxPostScriptDC::SetDeviceOrigin(wxCoord x, wxCoord y)
+{
+ wxDCBase::SetDeviceOrigin(x,y);
}
void wxPostScriptDC::DoGetSize(int* width, int* height) const
void wxPostScriptDC::DoGetTextExtent(const wxString& string,
wxCoord *x, wxCoord *y,
wxCoord *descent, wxCoord *externalLeading,
- wxFont *theFont ) const
+ const wxFont *theFont ) const
{
- wxFont *fontToUse = theFont;
+ const wxFont *fontToUse = theFont;
- if (!fontToUse) fontToUse = (wxFont*) &m_font;
+ if (!fontToUse) fontToUse = &m_font;
wxCHECK_RET( fontToUse, wxT("GetTextExtent: no font defined") );
}
// print postscript datas via required method (file, stream)
-void wxPostScriptDC::DoPsPrintfFormat(const wxChar *fmt, ... )
+#if !wxUSE_UTF8_LOCALE_ONLY
+void wxPostScriptDC::DoPsPrintfFormatWchar(const wxChar *fmt, ...)
{
va_list argptr;
va_start(argptr, fmt);
- PsPrint( wxString::FormatV( fmt, argptr ).c_str() );
+ PsPrint( wxString::FormatV( fmt, argptr ) );
}
+#endif // !wxUSE_UTF8_LOCALE_ONLY
-void wxPostScriptDC::PsPrint( const char* psdata )
+#if wxUSE_UNICODE_UTF8
+void wxPostScriptDC::DoPsPrintfFormatUtf8(const char *fmt, ...)
{
+ va_list argptr;
+ va_start(argptr, fmt);
+
+ PsPrint( wxString::FormatV( fmt, argptr ) );
+}
+#endif // wxUSE_UNICODE_UTF8
+
+void wxPostScriptDC::PsPrint( const wxString& str )
+{
+ const wxWX2MBbuf psdata(str.mb_str(wxConvUTF8));
+
wxPostScriptPrintNativeData *data =
(wxPostScriptPrintNativeData *) m_printData.GetNativeData();