Support SetDeviceOrigin and SetAxisOrientation in wxSVGFileDC.
Override SetDeviceOrigin, SetLogicalOrigin and SetAxisOrientation from wxDC and mark the graphics as changed, so the correct transform translations are applied.
This commit is contained in:
parent
1717db0373
commit
9e07ba8fae
@ -117,6 +117,24 @@ public:
|
||||
return wxCOPY;
|
||||
}
|
||||
|
||||
virtual void SetLogicalOrigin(wxCoord x, wxCoord y) wxOVERRIDE
|
||||
{
|
||||
wxDCImpl::SetLogicalOrigin(x, y);
|
||||
m_graphics_changed = true;
|
||||
}
|
||||
|
||||
virtual void SetDeviceOrigin(wxCoord x, wxCoord y) wxOVERRIDE
|
||||
{
|
||||
wxDCImpl::SetDeviceOrigin(x, y);
|
||||
m_graphics_changed = true;
|
||||
}
|
||||
|
||||
virtual void SetAxisOrientation(bool xLeftRight, bool yBottomUp) wxOVERRIDE
|
||||
{
|
||||
wxDCImpl::SetAxisOrientation(xLeftRight, yBottomUp);
|
||||
m_graphics_changed = true;
|
||||
}
|
||||
|
||||
virtual void SetBackground( const wxBrush &brush ) wxOVERRIDE;
|
||||
virtual void SetBackgroundMode( int mode ) wxOVERRIDE;
|
||||
virtual void SetBrush(const wxBrush& brush) wxOVERRIDE;
|
||||
|
@ -1023,8 +1023,12 @@ void wxSVGFileDCImpl::DoStartNewGraphics()
|
||||
sPenJoin = wxT("stroke-linejoin:round; ");
|
||||
}
|
||||
|
||||
sLast.Printf( wxT("stroke-width:%d\" \n transform=\"translate(%s %s) scale(%s %s)\">"),
|
||||
m_pen.GetWidth(), NumStr(m_logicalOriginX), NumStr(m_logicalOriginY), NumStr(m_scaleX), NumStr(m_scaleY) );
|
||||
sLast.Printf(wxT("stroke-width:%d\" transform=\"translate(%s %s) scale(%s %s)\">"),
|
||||
m_pen.GetWidth(),
|
||||
NumStr((m_deviceOriginX - m_logicalOriginX)* m_signX),
|
||||
NumStr((m_deviceOriginY - m_logicalOriginY)* m_signY),
|
||||
NumStr(m_scaleX * m_signX),
|
||||
NumStr(m_scaleY * m_signY));
|
||||
|
||||
s = sBrush + sPenCap + sPenJoin + sPenStyle + sLast + wxT("\n");
|
||||
write(s);
|
||||
|
Loading…
Reference in New Issue
Block a user