- wxFileOutputStream *m_outfile;
- wxString m_filename;
- int m_sub_images; // number of png format images we have
- bool m_OK;
- bool m_graphics_changed;
- int m_width, m_height;
- double m_mm_to_pix_x, m_mm_to_pix_y;
-
-private:
- DECLARE_ABSTRACT_CLASS(wxSVGFileDC)
+ // If m_graphics_changed is true, close the current <g> element and start a
+ // new one for the last pen/brush change.
+ void NewGraphicsIfNeeded();
+
+ // Open a new graphics group setting up all the attributes according to
+ // their current values in wxDC.
+ void DoStartNewGraphics();
+
+ wxFileOutputStream *m_outfile;
+ wxString m_filename;
+ int m_sub_images; // number of png format images we have
+ bool m_OK;
+ bool m_graphics_changed; // set by Set{Brush,Pen}()
+ int m_width, m_height;
+ double m_dpi;
+
+ // The clipping nesting level is incremented by every call to
+ // SetClippingRegion() and reset when DestroyClippingRegion() is called.
+ size_t m_clipNestingLevel;
+
+ // Unique ID for every clipping graphics group: this is simply always
+ // incremented in each SetClippingRegion() call.
+ size_t m_clipUniqueId;
+
+ DECLARE_ABSTRACT_CLASS(wxSVGFileDCImpl)