Adding wxDC::GetHandle for wxOSX-cocoa and wxOSX-carbon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -283,6 +283,8 @@ public:
 | 
				
			|||||||
        return NULL;
 | 
					        return NULL;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    virtual void* GetHandle() const = 0;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    // query dimension, colour deps, resolution
 | 
					    // query dimension, colour deps, resolution
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    virtual void DoGetSize(int *width, int *height) const = 0;
 | 
					    virtual void DoGetSize(int *width, int *height) const = 0;
 | 
				
			||||||
@@ -787,6 +789,9 @@ public:
 | 
				
			|||||||
    wxWindow *GetWindow() const
 | 
					    wxWindow *GetWindow() const
 | 
				
			||||||
        { return m_pimpl->GetWindow(); }
 | 
					        { return m_pimpl->GetWindow(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    void *GetHandle() const
 | 
				
			||||||
 | 
					        { return m_pimpl->GetHandle(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bool IsOk() const
 | 
					    bool IsOk() const
 | 
				
			||||||
        { return m_pimpl && m_pimpl->IsOk(); }
 | 
					        { return m_pimpl && m_pimpl->IsOk(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -109,6 +109,8 @@ public:
 | 
				
			|||||||
    wxGraphicsContext* GetGraphicsContext() const { return m_graphicContext; }
 | 
					    wxGraphicsContext* GetGraphicsContext() const { return m_graphicContext; }
 | 
				
			||||||
    virtual void SetGraphicsContext( wxGraphicsContext* ctx );
 | 
					    virtual void SetGraphicsContext( wxGraphicsContext* ctx );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    virtual void* GetHandle() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // the true implementations
 | 
					    // the true implementations
 | 
				
			||||||
    virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
 | 
					    virtual bool DoFloodFill(wxCoord x, wxCoord y, const wxColour& col,
 | 
				
			||||||
                             wxFloodFillStyle style = wxFLOOD_SURFACE);
 | 
					                             wxFloodFillStyle style = wxFLOOD_SURFACE);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -66,6 +66,9 @@ public:
 | 
				
			|||||||
    virtual void SetLogicalFunction(wxRasterOperationMode function)
 | 
					    virtual void SetLogicalFunction(wxRasterOperationMode function)
 | 
				
			||||||
        { m_dc.SetLogicalFunction(function); }
 | 
					        { m_dc.SetLogicalFunction(function); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    virtual void* GetHandle() const
 | 
				
			||||||
 | 
					        { return m_dc.GetHandle(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
    // returns x and y if not mirroring or y and x if mirroring
 | 
					    // returns x and y if not mirroring or y and x if mirroring
 | 
				
			||||||
    wxCoord GetX(wxCoord x, wxCoord y) const { return m_mirror ? y : x; }
 | 
					    wxCoord GetX(wxCoord x, wxCoord y) const { return m_mirror ? y : x; }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -96,6 +96,8 @@ public:
 | 
				
			|||||||
    virtual void SetFont(const wxFont& font);
 | 
					    virtual void SetFont(const wxFont& font);
 | 
				
			||||||
    virtual void SetPen(const wxPen& pen);
 | 
					    virtual void SetPen(const wxPen& pen);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    virtual void* GetHandle() const { return NULL; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
   virtual bool DoGetPixel(wxCoord, wxCoord, wxColour *) const
 | 
					   virtual bool DoGetPixel(wxCoord, wxCoord, wxColour *) const
 | 
				
			||||||
   {
 | 
					   {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -94,6 +94,8 @@ public:
 | 
				
			|||||||
    virtual int GetResolution() const;
 | 
					    virtual int GetResolution() const;
 | 
				
			||||||
    virtual wxRect GetPaperRect() const;
 | 
					    virtual wxRect GetPaperRect() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    virtual void* GetHandle() const { return NULL; }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
    bool DoFloodFill(wxCoord x1, wxCoord y1, const wxColour &col,
 | 
					    bool DoFloodFill(wxCoord x1, wxCoord y1, const wxColour &col,
 | 
				
			||||||
                     wxFloodFillStyle style = wxFLOOD_SURFACE);
 | 
					                     wxFloodFillStyle style = wxFLOOD_SURFACE);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1535,6 +1535,22 @@ public:
 | 
				
			|||||||
    //@}
 | 
					    //@}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					       Returns a value that can be used as a handle to the native drawing
 | 
				
			||||||
 | 
					       context, if this wxDC has something that could be thought of in that
 | 
				
			||||||
 | 
					       way.  (Not all of them do.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					       For example, on Windows the return value is an HDC, on OSX it is a
 | 
				
			||||||
 | 
					       CGContextRef and on wxGTK it will be a GdkDrawable.  If the DC is a
 | 
				
			||||||
 | 
					       wxGCDC then the return value will be the value returned from
 | 
				
			||||||
 | 
					       wxGraphicsContext::GetNativeContext.  A value of NULL is returned if
 | 
				
			||||||
 | 
					       the DC does not have anything that fits the handle concept.
 | 
				
			||||||
 | 
					       
 | 
				
			||||||
 | 
					       @since 2.9.5
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    void* GetHandle() const;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void SetLogicalScale(double x, double y);
 | 
					    void SetLogicalScale(double x, double y);
 | 
				
			||||||
    void GetLogicalScale(double *x, double *y) const;
 | 
					    void GetLogicalScale(double *x, double *y) const;
 | 
				
			||||||
    void SetLogicalOrigin(wxCoord x, wxCoord y);
 | 
					    void SetLogicalOrigin(wxCoord x, wxCoord y);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -433,6 +433,16 @@ void wxGCDCImpl::ComputeScaleAndOrigin()
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void* wxGCDCImpl::GetHandle() const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    void* cgctx = NULL;
 | 
				
			||||||
 | 
					    wxGraphicsContext* gc = GetGraphicsContext();
 | 
				
			||||||
 | 
					    if (gc) {
 | 
				
			||||||
 | 
					        cgctx = gc->GetNativeContext();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return cgctx;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void wxGCDCImpl::SetPalette( const wxPalette& WXUNUSED(palette) )
 | 
					void wxGCDCImpl::SetPalette( const wxPalette& WXUNUSED(palette) )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user