X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/248802d0100093c48f67a60a6463d7765f14d5f0..9d5507f7a2701395e1d5c121bd877bb9066ee6ea:/include/wx/graphics.h diff --git a/include/wx/graphics.h b/include/wx/graphics.h old mode 100755 new mode 100644 index 20a5e976f8..4390621291 --- a/include/wx/graphics.h +++ b/include/wx/graphics.h @@ -17,16 +17,16 @@ #include "wx/geometry.h" #include "wx/dynarray.h" -class WXDLLIMPEXP_CORE wxWindowDC; -class WXDLLIMPEXP_CORE wxMemoryDC; -class WXDLLIMPEXP_CORE wxGraphicsContext; -class WXDLLIMPEXP_CORE wxGraphicsPath; -class WXDLLIMPEXP_CORE wxGraphicsMatrix; -class WXDLLIMPEXP_CORE wxGraphicsFigure; -class WXDLLIMPEXP_CORE wxGraphicsRenderer; -class WXDLLIMPEXP_CORE wxGraphicsPen; -class WXDLLIMPEXP_CORE wxGraphicsBrush; -class WXDLLIMPEXP_CORE wxGraphicsFont; +class WXDLLIMPEXP_FWD_CORE wxWindowDC; +class WXDLLIMPEXP_FWD_CORE wxMemoryDC; +class WXDLLIMPEXP_FWD_CORE wxGraphicsContext; +class WXDLLIMPEXP_FWD_CORE wxGraphicsPath; +class WXDLLIMPEXP_FWD_CORE wxGraphicsMatrix; +class WXDLLIMPEXP_FWD_CORE wxGraphicsFigure; +class WXDLLIMPEXP_FWD_CORE wxGraphicsRenderer; +class WXDLLIMPEXP_FWD_CORE wxGraphicsPen; +class WXDLLIMPEXP_FWD_CORE wxGraphicsBrush; +class WXDLLIMPEXP_FWD_CORE wxGraphicsFont; /* * notes about the graphics context apis @@ -73,7 +73,7 @@ protected : virtual wxObjectRefData* CreateRefData() const; virtual wxObjectRefData* CloneRefData(const wxObjectRefData* data) const; - DECLARE_DYNAMIC_CLASS(wxGraphicsObject); + DECLARE_DYNAMIC_CLASS(wxGraphicsObject) } ; class WXDLLIMPEXP_CORE wxGraphicsPen : public wxGraphicsObject @@ -395,10 +395,7 @@ public: virtual ~wxGraphicsContext(); static wxGraphicsContext* Create( const wxWindowDC& dc) ; - -#ifdef __WXMSW__ static wxGraphicsContext * Create( const wxMemoryDC& dc) ; -#endif static wxGraphicsContext* CreateFromNative( void * context ) ; @@ -409,6 +406,22 @@ public: // create a context that can be used for measuring texts only, no drawing allowed static wxGraphicsContext * Create(); + // begin a new document (relevant only for printing / pdf etc) if there is a progress dialog, message will be shown + virtual bool StartDoc( const wxString& message ) ; + + // done with that document (relevant only for printing / pdf etc) + virtual void EndDoc(); + + // opens a new page (relevant only for printing / pdf etc) with the given size in points + // (if both are null the default page size will be used) + virtual void StartPage( wxDouble width = 0, wxDouble height = 0 ); + + // ends the current page (relevant only for printing / pdf etc) + virtual void EndPage(); + + // make sure that the current content of this context is immediately visible + virtual void Flush(); + wxGraphicsPath CreatePath() const; virtual wxGraphicsPen CreatePen(const wxPen& pen) const; @@ -437,10 +450,10 @@ public: // pops a stored state from the stack virtual void PopState() = 0; - // clips drawings to the region, combined to current clipping region + // clips drawings to the region intersected with the current clipping region virtual void Clip( const wxRegion ®ion ) = 0; - // clips drawings to the rect + // clips drawings to the rect intersected with the current clipping region virtual void Clip( wxDouble x, wxDouble y, wxDouble w, wxDouble h ) = 0; // resets the clipping to original extent @@ -455,6 +468,19 @@ public: // sets the current logical function, returns true if it supported virtual bool SetLogicalFunction(int function) ; + // returns the size of the graphics context in device coordinates + virtual void GetSize( wxDouble* width, wxDouble* height); + + // returns the resolution of the graphics context in device points per inch + virtual void GetDPI( wxDouble* dpiX, wxDouble* dpiY); + +#if 0 + // sets the current alpha on this context + virtual void SetAlpha( wxDouble alpha ); + + // returns the alpha on this context + virtual wxDouble GetAlpha() const; +#endif // // transformation : changes the current transformation matrix CTM of the context // @@ -625,9 +651,8 @@ public : // Context virtual wxGraphicsContext * CreateContext( const wxWindowDC& dc) = 0 ; -#ifdef __WXMSW__ virtual wxGraphicsContext * CreateContext( const wxMemoryDC& dc) = 0 ; -#endif + virtual wxGraphicsContext * CreateContextFromNativeContext( void * context ) = 0; virtual wxGraphicsContext * CreateContextFromNativeWindow( void * window ) = 0;