]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/graphics.h
Move body of SetFocusOnCanvas to .cpp file
[wxWidgets.git] / include / wx / graphics.h
index 1128c14e02d3baae129103ef8f5579393d277fad..2669061598ffda67c640a48e91af26479261c326 100644 (file)
@@ -21,6 +21,9 @@
 
 class WXDLLIMPEXP_FWD_CORE wxWindowDC;
 class WXDLLIMPEXP_FWD_CORE wxMemoryDC;
+#if wxUSE_PRINTING_ARCHITECTURE
+class WXDLLIMPEXP_FWD_CORE wxPrinterDC;
+#endif
 class WXDLLIMPEXP_FWD_CORE wxGraphicsContext;
 class WXDLLIMPEXP_FWD_CORE wxGraphicsPath;
 class WXDLLIMPEXP_FWD_CORE wxGraphicsMatrix;
@@ -29,6 +32,7 @@ class WXDLLIMPEXP_FWD_CORE wxGraphicsRenderer;
 class WXDLLIMPEXP_FWD_CORE wxGraphicsPen;
 class WXDLLIMPEXP_FWD_CORE wxGraphicsBrush;
 class WXDLLIMPEXP_FWD_CORE wxGraphicsFont;
+class WXDLLIMPEXP_FWD_CORE wxGraphicsBitmap;
 
 /*
  * notes about the graphics context apis
@@ -79,7 +83,7 @@ private :
     DECLARE_DYNAMIC_CLASS(wxGraphicsPen)
 } ;
 
-extern WXDLLEXPORT_DATA(wxGraphicsPen) wxNullGraphicsPen;
+extern WXDLLIMPEXP_DATA_CORE(wxGraphicsPen) wxNullGraphicsPen;
 
 class WXDLLIMPEXP_CORE wxGraphicsBrush : public wxGraphicsObject
 {
@@ -90,7 +94,7 @@ private :
     DECLARE_DYNAMIC_CLASS(wxGraphicsBrush)
 } ;
 
-extern WXDLLEXPORT_DATA(wxGraphicsBrush) wxNullGraphicsBrush;
+extern WXDLLIMPEXP_DATA_CORE(wxGraphicsBrush) wxNullGraphicsBrush;
 
 class WXDLLIMPEXP_CORE wxGraphicsFont : public wxGraphicsObject
 {
@@ -101,7 +105,18 @@ private :
     DECLARE_DYNAMIC_CLASS(wxGraphicsFont)
 } ;
 
-extern WXDLLEXPORT_DATA(wxGraphicsFont) wxNullGraphicsFont;
+extern WXDLLIMPEXP_DATA_CORE(wxGraphicsFont) wxNullGraphicsFont;
+
+class WXDLLIMPEXP_CORE wxGraphicsBitmap : public wxGraphicsObject
+{
+public :
+    wxGraphicsBitmap() {}
+    virtual ~wxGraphicsBitmap() {}
+private :
+    DECLARE_DYNAMIC_CLASS(wxGraphicsBitmap)
+} ;
+extern WXDLLIMPEXP_DATA_CORE(wxGraphicsBitmap) wxNullGraphicsBitmap;
 
 class WXDLLIMPEXP_CORE wxGraphicsMatrix : public wxGraphicsObject
 {
@@ -167,7 +182,7 @@ private :
     DECLARE_DYNAMIC_CLASS(wxGraphicsMatrix)
 } ;
 
-extern WXDLLEXPORT_DATA(wxGraphicsMatrix) wxNullGraphicsMatrix;
+extern WXDLLIMPEXP_DATA_CORE(wxGraphicsMatrix) wxNullGraphicsMatrix;
 
 class WXDLLIMPEXP_CORE wxGraphicsPath : public wxGraphicsObject
 {
@@ -253,7 +268,7 @@ private :
     DECLARE_DYNAMIC_CLASS(wxGraphicsPath)
 } ;
 
-extern WXDLLEXPORT_DATA(wxGraphicsPath) wxNullGraphicsPath;
+extern WXDLLIMPEXP_DATA_CORE(wxGraphicsPath) wxNullGraphicsPath;
 
 
 class WXDLLIMPEXP_CORE wxGraphicsContext : public wxGraphicsObject
@@ -265,6 +280,9 @@ public:
     
     static wxGraphicsContext* Create( const wxWindowDC& dc) ;
     static wxGraphicsContext * Create( const wxMemoryDC& dc) ;
+#if wxUSE_PRINTING_ARCHITECTURE
+    static wxGraphicsContext * Create( const wxPrinterDC& dc) ;
+#endif
 
     static wxGraphicsContext* CreateFromNative( void * context ) ;
 
@@ -309,6 +327,12 @@ public:
     // sets the font
     virtual wxGraphicsFont CreateFont( const wxFont &font , const wxColour &col = *wxBLACK ) const;
 
+    // create a native bitmap representation
+    virtual wxGraphicsBitmap CreateBitmap( const wxBitmap &bitmap ) const;
+    
+    // create a native bitmap representation
+    virtual wxGraphicsBitmap CreateSubBitmap( const wxGraphicsBitmap &bitmap, wxDouble x, wxDouble y, wxDouble w, wxDouble h  ) const;
+
     // create a 'native' matrix corresponding to these values
     virtual wxGraphicsMatrix CreateMatrix( wxDouble a=1.0, wxDouble b=0.0, wxDouble c=0.0, wxDouble d=1.0, 
         wxDouble tx=0.0, wxDouble ty=0.0) const;
@@ -421,6 +445,10 @@ public:
     // image support
     //
 
+#ifndef __WXGTK20__
+    virtual void DrawBitmap( const wxGraphicsBitmap &bmp, wxDouble x, wxDouble y, wxDouble w, wxDouble h ) = 0;
+#endif
+
     virtual void DrawBitmap( const wxBitmap &bmp, wxDouble x, wxDouble y, wxDouble w, wxDouble h ) = 0;
 
     virtual void DrawIcon( const wxIcon &icon, wxDouble x, wxDouble y, wxDouble w, wxDouble h ) = 0;
@@ -521,7 +549,10 @@ public :
 
     virtual wxGraphicsContext * CreateContext( const wxWindowDC& dc) = 0 ;
     virtual wxGraphicsContext * CreateContext( const wxMemoryDC& dc) = 0 ;
-    
+#if wxUSE_PRINTING_ARCHITECTURE
+    virtual wxGraphicsContext * CreateContext( const wxPrinterDC& dc) = 0 ;
+#endif
+
     virtual wxGraphicsContext * CreateContextFromNativeContext( void * context ) = 0;
 
     virtual wxGraphicsContext * CreateContextFromNativeWindow( void * window ) = 0;
@@ -557,7 +588,16 @@ public :
 
    // sets the font
     virtual wxGraphicsFont CreateFont( const wxFont &font , const wxColour &col = *wxBLACK ) = 0;
+
+#ifndef __WXGTK20__    
+    // create a native bitmap representation
+    virtual wxGraphicsBitmap CreateBitmap( const wxBitmap &bitmap ) = 0;
     
+    // create a subimage from a native image representation
+    virtual wxGraphicsBitmap CreateSubBitmap( const wxGraphicsBitmap &bitmap, wxDouble x, wxDouble y, wxDouble w, wxDouble h  ) = 0;
+#endif
+
+
 private :
     DECLARE_NO_COPY_CLASS(wxGraphicsRenderer)
     DECLARE_ABSTRACT_CLASS(wxGraphicsRenderer)