]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/graphics.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / graphics.h
index d2104f4425e6345fd7c5d63981289bc41a66f6e0..96b3457508871926925c15126a73571662925e13 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        graphics.h
 // Purpose:     interface of various wxGraphics* classes
 // Author:      wxWidgets team
 // Name:        graphics.h
 // Purpose:     interface of various wxGraphics* classes
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -296,6 +295,14 @@ public:
         @since 2.9.3
      */
     wxImage ConvertToImage() const;
         @since 2.9.3
      */
     wxImage ConvertToImage() const;
+
+    /**
+        Return the pointer to the native bitmap data. (CGImageRef for Core Graphics, 
+        cairo_surface_t for Cairo, Bitmap* for GDI+.)
+
+        @since 2.9.4
+     */
+    void* GetNativeBitmap() const;
 };
 
 /**
 };
 
 /**
@@ -397,6 +404,11 @@ public:
      */
     static wxGraphicsContext* Create(wxImage& image);
 
      */
     static wxGraphicsContext* Create(wxImage& image);
 
+    /**
+       Create a lightweight context that can be used only for measuring text.
+    */
+    static wxGraphicsContext* Create();
+
     /**
         Clips drawings to the specified region.
     */
     /**
         Clips drawings to the specified region.
     */
@@ -512,6 +524,14 @@ public:
                                           wxDouble tx = 0.0,
                                           wxDouble ty = 0.0) const;
 
                                           wxDouble tx = 0.0,
                                           wxDouble ty = 0.0) const;
 
+    /**
+        Creates a native affine transformation matrix from the passed
+        generic one.
+
+        @since 2.9.4
+    */
+    wxGraphicsMatrix CreateMatrix(const wxAffineMatrix2DBase& mat) const;
+
     /**
         Creates a native graphics path which is initially empty.
     */
     /**
         Creates a native graphics path which is initially empty.
     */
@@ -826,10 +846,48 @@ public:
     virtual void PopState() = 0;
 
 
     virtual void PopState() = 0;
 
 
+    virtual bool ShouldOffset() const;
     virtual void EnableOffset(bool enable = true);
     void DisableOffset();
     bool OffsetEnabled();
 
     virtual void EnableOffset(bool enable = true);
     void DisableOffset();
     bool OffsetEnabled();
 
+    /**
+       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();
+
+    /**
+       Returns the size of the graphics context in device coordinates.
+    */
+    void GetSize(wxDouble* width, wxDouble* height) const;
+    
+    /**
+       Returns the resolution of the graphics context in device points per inch.
+    */
+    virtual void GetDPI( wxDouble* dpiX, wxDouble* dpiY);
+
 };
 
 /**
 };
 
 /**
@@ -922,7 +980,7 @@ public:
     /**
         Returns the number of stops.
     */
     /**
         Returns the number of stops.
     */
-    unsigned GetCount() const;
+    size_t GetCount() const;
 
     /**
         Set the start colour to @a col
 
     /**
         Set the start colour to @a col
@@ -1283,7 +1341,10 @@ public:
     virtual bool IsIdentity() const;
 
     /**
     virtual bool IsIdentity() const;
 
     /**
-        Rotates this matrix (in radians).
+        Rotates this matrix clockwise (in radians).
+
+        @param angle
+            Rotation angle in radians, clockwise.
     */
     virtual void Rotate(wxDouble angle);
 
     */
     virtual void Rotate(wxDouble angle);