#include "wx/dcsvg.h"
#include "wx/wfstream.h"
+#include "wx/filename.h"
#define wxSVG_DEBUG FALSE
// or TRUE to see the calls being executed
wxString s = wxT("fill:#") + wxColStr (c) + semicolon + space ;
switch ( style )
{
- case wxSOLID :
+ case wxBRUSHSTYLE_SOLID :
s = s + wxT("fill-opacity:1.0; ");
break ;
- case wxTRANSPARENT:
+ case wxBRUSHSTYLE_TRANSPARENT:
s = s + wxT("fill-opacity:0.0; ");
break ;
IMPLEMENT_ABSTRACT_CLASS(wxSVGFileDCImpl, wxDC)
-#if wxUSE_NEW_DC
- wxSVGFileDCImpl::wxSVGFileDCImpl( wxSVGFileDC *owner, const wxString &filename,
+wxSVGFileDCImpl::wxSVGFileDCImpl( wxSVGFileDC *owner, const wxString &filename,
int width, int height, double dpi ) :
wxDCImpl( owner )
{
Init( filename, width, height, dpi );
}
-#else
- wxSVGFileDC::wxSVGFileDC( const wxString &filename,
- int width, int height, double dpi )
- {
- Init( filename, width, height, dpi );
- }
-#endif
void wxSVGFileDCImpl::Init (const wxString &filename, int Width, int Height, double dpi)
{
write(s);
s = wxT("<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 20010904//EN\" ") + newline ;
write(s);
- s = wxT("\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\"> ")+ newline ;
- write(s);
- s.Printf ( wxT("<svg width=\"%.2gcm\" height=\"%.2gcm\" viewBox=\"0 0 %d %d \"> \n"), float(Width)/dpi*2.54, float(Height)/dpi*2.54, Width, Height );
+ s = wxT("\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\"> ") + newline ;
write(s);
+ s = wxT("<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" ") + newline;
+ write(s);
+ s.Printf( wxT(" width=\"%.2gcm\" height=\"%.2gcm\" viewBox=\"0 0 %d %d \"> \n"), float(Width)/dpi*2.54, float(Height)/dpi*2.54, Width, Height );
+ write(s);
s = wxT("<title>SVG Picture created as ") + wxFileNameFromPath(filename) + wxT(" </title>") + newline ;
write(s);
s = wxString (wxT("<desc>Picture generated by wxSVG ")) + wxSVGVersion + wxT(" </desc>")+ newline ;
void wxSVGFileDCImpl::DoDrawCheckMark(wxCoord x1, wxCoord y1, wxCoord width, wxCoord height)
{
-#if wxUSE_NEW_DC
wxDCImpl::DoDrawCheckMark (x1,y1,width,height) ;
-#else
- wxDCBase::DoDrawCheckMark (x1,y1,width,height) ;
-#endif
}
CalcBoundingBox(x, y);
CalcBoundingBox((wxCoord)(x + h*sin(rad)), (wxCoord)(y + h*cos(rad)));
- if (m_backgroundMode == wxSOLID)
+ if (m_backgroundMode == wxBRUSHSTYLE_SOLID)
{
// draw background first
// just like DoDrawRectangle except we pass the text color to it and set the border to a 1 pixel wide text background
switch ( m_pen.GetStyle () )
{
- case wxSOLID :
+ case wxPENSTYLE_SOLID :
sPenStyle = wxT("stroke-opacity:1.0; stroke-opacity:1.0; ") ;
break ;
- case wxTRANSPARENT :
+ case wxPENSTYLE_TRANSPARENT :
sPenStyle = wxT("stroke-opacity:0.0; stroke-opacity:0.0; ") ;
break ;
default :
//save it
bool bPNG_OK = myBitmap.SaveFile(sPNG,wxBITMAP_TYPE_PNG);
+// reference the bitmap from the SVG doc
+// only use filename & ext
+ sPNG = sPNG.AfterLast(wxFileName::GetPathSeparator());
+
// refrence the bitmap from the SVG doc
int w = myBitmap.GetWidth();
int h = myBitmap.GetHeight();
m_OK = m_outfile->Ok();
}
-// ---------------------------------------------------------------------------
-// coordinates transformations
-// ---------------------------------------------------------------------------
-
-#if wxUSE_NEW_DC
-#else
-void wxSVGFileDCImpl::SetAxisOrientation( bool xLeftRight, bool yBottomUp )
-{
- wxDCBase::SetAxisOrientation( xLeftRight, yBottomUp );
-}
-
-void wxSVGFileDCImpl::SetMapMode(int mode)
-{
- wxDCBase::SetMapMode(mode);
-}
-
-void wxSVGFileDCImpl::SetUserScale(double x, double y)
-{
- wxDCBase::SetUserScale(x,y);
-}
-
-void wxSVGFileDCImpl::SetLogicalScale(double x, double y)
-{
- wxDCBase::SetLogicalScale(x,y);
-}
-
-void wxSVGFileDCImpl::SetLogicalOrigin(wxCoord x, wxCoord y)
-{
- wxDCBase::SetLogicalOrigin(x,y);
-}
-
-void wxSVGFileDCImpl::SetDeviceOrigin(wxCoord x, wxCoord y)
-{
- wxDCBase::SetDeviceOrigin(x,y);
-}
-#endif
-
#ifdef __BORLANDC__
#pragma warn .rch