daily updates and add wxGrpahicsPath overloads

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-10-28 03:00:27 +00:00
parent c907796b33
commit 027aef71af

View File

@@ -24,14 +24,16 @@
// functions in this file // functions in this file
%threadWrapperOff %threadWrapperOff
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
%{ %{
#if !wxUSE_GRAPHICS_CONTEXT #if !wxUSE_GRAPHICS_CONTEXT
// C++ stub classes for platforms or build configurations that don't have // C++ stub classes for platforms or build configurations that don't have
// wxGraphicsContext yet. // wxGraphicsContext yet.
class wxGraphicsObject : public wxObject class wxGraphicsObject : public wxObject
{ {
public : public :
@@ -41,32 +43,40 @@ public :
} }
wxGraphicsObject( const wxGraphicsObject& ) {} wxGraphicsObject( const wxGraphicsObject& ) {}
virtual ~wxGraphicsObject() {} virtual ~wxGraphicsObject() {}
bool IsNull() const { return false; }
wxGraphicsRenderer* GetRenderer() const { return NULL; } wxGraphicsRenderer* GetRenderer() const { return NULL; }
} ; } ;
class wxGraphicsPen : public wxGraphicsObject class wxGraphicsPen : public wxGraphicsObject
{ {
//wxGraphicsPen(wxGraphicsRenderer* ) {} wxGraphicsPen() {}
virtual ~wxGraphicsPen() {} virtual ~wxGraphicsPen() {}
virtual void Apply( wxGraphicsContext* ) {}
virtual wxDouble GetWidth() { return 0; }
} ; } ;
wxGraphicsPen wxNullGraphicsPen;
class wxGraphicsBrush : public wxGraphicsObject class wxGraphicsBrush : public wxGraphicsObject
{ {
public : public :
//wxGraphicsBrush(wxGraphicsRenderer* renderer) {} wxGraphicsBrush() {}
virtual ~wxGraphicsBrush() {} virtual ~wxGraphicsBrush() {}
virtual void Apply( wxGraphicsContext* ) {}
} ; } ;
wxGraphicsBrush wxNullGraphicsBrush;
class wxGraphicsFont : public wxGraphicsObject class wxGraphicsFont : public wxGraphicsObject
{ {
public : public :
//wxGraphicsFont(wxGraphicsRenderer* renderer) {} wxGraphicsFont() {}
virtual ~wxGraphicsFont() {} virtual ~wxGraphicsFont() {}
virtual void Apply( wxGraphicsContext* ) {}
} ; } ;
wxGraphicsFont wxNullGraphicsFont;
class wxGraphicsPath : public wxGraphicsObject class wxGraphicsPath : public wxGraphicsObject
{ {
@@ -169,18 +179,18 @@ public:
wxGraphicsPath * CreatePath() { return NULL; } wxGraphicsPath * CreatePath() { return NULL; }
virtual wxGraphicsPen* CreatePen(const wxPen& ) { return NULL; } virtual wxGraphicsPen CreatePen(const wxPen& ) { return NULL; }
virtual wxGraphicsBrush* CreateBrush(const wxBrush& ) { return NULL; } virtual wxGraphicsBrush CreateBrush(const wxBrush& ) { return NULL; }
virtual wxGraphicsBrush* CreateLinearGradientBrush( wxDouble , wxDouble , wxDouble , wxDouble , virtual wxGraphicsBrush CreateLinearGradientBrush( wxDouble , wxDouble , wxDouble , wxDouble ,
const wxColour&, const wxColour&) { return NULL; } const wxColour&, const wxColour&) { return NULL; }
virtual wxGraphicsBrush* CreateRadialGradientBrush( wxDouble xo, wxDouble yo, virtual wxGraphicsBrush CreateRadialGradientBrush( wxDouble xo, wxDouble yo,
wxDouble xc, wxDouble yc, wxDouble radius, wxDouble xc, wxDouble yc, wxDouble radius,
const wxColour &oColor, const wxColour &cColor) { return NULL; } const wxColour &oColor, const wxColour &cColor) { return NULL; }
virtual wxGraphicsFont* CreateFont( const wxFont &, const wxColour & ) { return NULL; } virtual wxGraphicsFont CreateFont( const wxFont &, const wxColour & ) { return NULL; }
virtual wxGraphicsMatrix* CreateMatrix( wxDouble, wxDouble, wxDouble, wxDouble, virtual wxGraphicsMatrix* CreateMatrix( wxDouble, wxDouble, wxDouble, wxDouble,
wxDouble, wxDouble) { return NULL; } wxDouble, wxDouble) { return NULL; }
@@ -198,13 +208,13 @@ public:
virtual void SetTransform( const wxGraphicsMatrix* ) {} virtual void SetTransform( const wxGraphicsMatrix* ) {}
virtual void GetTransform( wxGraphicsMatrix* ) {} virtual void GetTransform( wxGraphicsMatrix* ) {}
virtual void SetPen( wxGraphicsPen* , bool ) {} virtual void SetPen( const wxGraphicsPen& ) {}
void SetPen( const wxPen& ) {} void SetPen( const wxPen& ) {}
virtual void SetBrush( wxGraphicsBrush* , bool ) {} virtual void SetBrush( const wxGraphicsBrush& ) {}
void SetBrush( const wxBrush& ) {} void SetBrush( const wxBrush& ) {}
virtual void SetFont( wxGraphicsFont*, bool ) {} virtual void SetFont( const wxGraphicsFont& ) {}
void SetFont( const wxFont&, const wxColour& ) {} void SetFont( const wxFont&, const wxColour& ) {}
virtual void StrokePath( const wxGraphicsPath * ) {} virtual void StrokePath( const wxGraphicsPath * ) {}
@@ -254,17 +264,15 @@ public :
virtual wxGraphicsPath * CreatePath() { return NULL; } virtual wxGraphicsPath * CreatePath() { return NULL; }
virtual wxGraphicsMatrix * CreateMatrix( wxDouble , wxDouble , wxDouble , wxDouble , virtual wxGraphicsMatrix * CreateMatrix( wxDouble , wxDouble , wxDouble , wxDouble ,
wxDouble , wxDouble ) {} wxDouble , wxDouble ) { return NULL; }
virtual wxGraphicsPen* CreatePen(const wxPen& ) { return NULL; } virtual wxGraphicsPen CreatePen(const wxPen& ) { return wxNullGaphicsPen; }
virtual wxGraphicsBrush* CreateBrush(const wxBrush& ) { return NULL; } virtual wxGraphicsBrush CreateBrush(const wxBrush& ) { return wxNullGaphicsBrush; }
virtual wxGraphicsBrush* CreateLinearGradientBrush( virtual wxGraphicsBrush CreateLinearGradientBrush(xDouble , wxDouble , wxDouble , wxDouble ,
wxDouble , wxDouble , wxDouble , wxDouble , const wxColour&, const wxColour&) { return wxNullGaphicsBrush; }
const wxColour&, const wxColour&) { return NULL; } virtual wxGraphicsBrush CreateRadialGradientBrush(wxDouble , wxDouble , wxDouble , wxDouble , wxDouble ,
virtual wxGraphicsBrush* CreateRadialGradientBrush( const wxColour &, const wxColour &) { return wxNullGaphicsBrush; }
wxDouble , wxDouble , wxDouble , wxDouble , wxDouble , virtual wxGraphicsFont CreateFont( const wxFont & , const wxColour & ) { return wxNullGaphicsFont; }
const wxColour &, const wxColour &) { return NULL; }
virtual wxGraphicsFont* CreateFont( const wxFont & , const wxColour & ) { return NULL; }
}; };
@@ -316,12 +324,15 @@ MustHaveApp(wxGCDC);
typedef double wxDouble; typedef double wxDouble;
//---------------------------------------------------------------------------
class wxGraphicsObject : public wxObject class wxGraphicsObject : public wxObject
{ {
public : public :
wxGraphicsObject( wxGraphicsRenderer* renderer = NULL ); wxGraphicsObject( wxGraphicsRenderer* renderer = NULL );
virtual ~wxGraphicsObject(); virtual ~wxGraphicsObject();
bool IsNull() const ;
wxGraphicsRenderer* GetRenderer() const; wxGraphicsRenderer* GetRenderer() const;
}; };
@@ -329,30 +340,33 @@ public :
class wxGraphicsPen : public wxGraphicsObject class wxGraphicsPen : public wxGraphicsObject
{ {
public : public :
//wxGraphicsPen(wxGraphicsRenderer* renderer); wxGraphicsPen();
virtual ~wxGraphicsPen(); virtual ~wxGraphicsPen();
virtual void Apply( wxGraphicsContext* context);
virtual wxDouble GetWidth();
}; };
class wxGraphicsBrush : public wxGraphicsObject class wxGraphicsBrush : public wxGraphicsObject
{ {
public : public :
//wxGraphicsBrush(wxGraphicsRenderer* renderer); wxGraphicsBrush();
virtual ~wxGraphicsBrush(); virtual ~wxGraphicsBrush();
virtual void Apply( wxGraphicsContext* context);
}; };
class wxGraphicsFont : public wxGraphicsObject class wxGraphicsFont : public wxGraphicsObject
{ {
public : public :
//wxGraphicsFont(wxGraphicsRenderer* renderer); wxGraphicsFont();
virtual ~wxGraphicsFont(); virtual ~wxGraphicsFont();
virtual void Apply( wxGraphicsContext* context);
}; };
%immutable;
const wxGraphicsPen wxNullGraphicsPen;
const wxGraphicsBrush wxNullGraphicsBrush;
const wxGraphicsFont wxNullGraphicsFont;
%mutable;
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
class wxGraphicsPath : public wxGraphicsObject class wxGraphicsPath : public wxGraphicsObject
@@ -363,25 +377,29 @@ public :
virtual wxGraphicsPath *Clone() const = 0; virtual wxGraphicsPath *Clone() const = 0;
DocDeclStr(
virtual void , MoveToPoint( wxDouble x, wxDouble y ), %nokwargs MoveToPoint;
DocStr(MoveToPoint,
"Begins a new subpath at (x,y)", ""); "Begins a new subpath at (x,y)", "");
// void MoveToPoint( const wxPoint2D& p); virtual void MoveToPoint( wxDouble x, wxDouble y );
void MoveToPoint( const wxPoint2D& p);
DocDeclStr( %nokwargs AddLineToPoint;
virtual void , AddLineToPoint( wxDouble x, wxDouble y ), DocStr(AddLineToPoint,
"Adds a straight line from the current point to (x,y) ", ""); "Adds a straight line from the current point to (x,y) ", "");
// void AddLineToPoint( const wxPoint2D& p); virtual void AddLineToPoint( wxDouble x, wxDouble y );
void AddLineToPoint( const wxPoint2D& p);
DocDeclStr( %nokwargs AddCurveToPoint;
virtual void , AddCurveToPoint( wxDouble cx1, wxDouble cy1, DocStr(AddCurveToPoint,
wxDouble cx2, wxDouble cy2,
wxDouble x, wxDouble y ),
"Adds a cubic Bezier curve from the current point, using two control "Adds a cubic Bezier curve from the current point, using two control
points and an end point", ""); points and an end point", "");
// void AddCurveToPoint( const wxPoint2D& c1, const wxPoint2D& c2, const wxPoint2D& e); virtual void AddCurveToPoint( wxDouble cx1, wxDouble cy1,
wxDouble cx2, wxDouble cy2,
wxDouble x, wxDouble y );
void AddCurveToPoint( const wxPoint2D& c1, const wxPoint2D& c2, const wxPoint2D& e);
@@ -395,18 +413,18 @@ points and an end point", "");
"closes the current sub-path", ""); "closes the current sub-path", "");
//virtual void , GetCurrentPoint( wxDouble& x, wxDouble&y),
DocDeclStr( DocDeclStr(
wxPoint2D , GetCurrentPoint(), wxPoint2D , GetCurrentPoint(),
"Gets the last point of the current path, (0,0) if not yet set", ""); "Gets the last point of the current path, (0,0) if not yet set", "");
DocDeclStr( %nokwargs AddArc;
virtual void , AddArc( wxDouble x, wxDouble y, wxDouble r, DocStr(AddArc,
wxDouble startAngle, wxDouble endAngle, bool clockwise ),
"Adds an arc of a circle centering at (x,y) with radius (r) from "Adds an arc of a circle centering at (x,y) with radius (r) from
startAngle to endAngle", ""); startAngle to endAngle", "");
// void AddArc( const wxPoint2D& c, wxDouble r, wxDouble startAngle, wxDouble endAngle, bool clockwise); virtual void AddArc( wxDouble x, wxDouble y, wxDouble r,
wxDouble startAngle, wxDouble endAngle, bool clockwise );
void AddArc( const wxPoint2D& c, wxDouble r, wxDouble startAngle, wxDouble endAngle, bool clockwise);
DocDeclStr( DocDeclStr(
@@ -457,16 +475,16 @@ deallocations necessary)", "");
"transforms each point of this path by the matrix", ""); "transforms each point of this path by the matrix", "");
//virtual void GetBox(wxDouble *x, wxDouble *y, wxDouble *w, wxDouble *h) =0;
DocDeclStr( DocDeclStr(
wxRect2DDouble , GetBox(), wxRect2DDouble , GetBox(),
"gets the bounding box enclosing all points (possibly including control points)", ""); "gets the bounding box enclosing all points (possibly including control points)", "");
DocDeclStr( %nokwargs Contains;
virtual bool , Contains( wxDouble x, wxDouble y, int fillStyle = wxWINDING_RULE), DocStr(Contains,
"", ""); "", "");
//bool Contains( const wxPoint2DDouble& c, int fillStyle = wxWINDING_RULE); virtual bool Contains( wxDouble x, wxDouble y, int fillStyle = wxWINDING_RULE);
bool Contains( const wxPoint2DDouble& c, int fillStyle = wxWINDING_RULE);
}; };
@@ -574,30 +592,26 @@ public:
"creates a path instance that corresponds to the type of graphics context, ie GDIPlus, Cairo, CoreGraphics ...", ""); "creates a path instance that corresponds to the type of graphics context, ie GDIPlus, Cairo, CoreGraphics ...", "");
%newobject CreatePen;
DocDeclStr( DocDeclStr(
virtual wxGraphicsPen* , CreatePen(const wxPen& pen), virtual wxGraphicsPen , CreatePen(const wxPen& pen),
"", ""); "", "");
%newobject CreateBrush;
DocDeclStr( DocDeclStr(
virtual wxGraphicsBrush* , CreateBrush(const wxBrush& brush ), virtual wxGraphicsBrush , CreateBrush(const wxBrush& brush ),
"", ""); "", "");
%newobject CreateLinearGradientBrush;
DocDeclStr( DocDeclStr(
virtual wxGraphicsBrush* , virtual wxGraphicsBrush ,
CreateLinearGradientBrush( wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2, CreateLinearGradientBrush( wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2,
const wxColour& c1, const wxColour& c2), const wxColour& c1, const wxColour& c2),
"sets the brush to a linear gradient, starting at (x1,y1) with color c1 "sets the brush to a linear gradient, starting at (x1,y1) with color c1
to (x2,y2) with color c2", ""); to (x2,y2) with color c2", "");
%newobject CreateRadialGradientBrush;
DocDeclStr( DocDeclStr(
virtual wxGraphicsBrush* , virtual wxGraphicsBrush ,
CreateRadialGradientBrush( wxDouble xo, wxDouble yo, wxDouble xc, wxDouble yc, wxDouble radius, CreateRadialGradientBrush( wxDouble xo, wxDouble yo, wxDouble xc, wxDouble yc, wxDouble radius,
const wxColour &oColor, const wxColour &cColor), const wxColour &oColor, const wxColour &cColor),
"sets the brush to a radial gradient originating at (xo,yc) with color "sets the brush to a radial gradient originating at (xo,yc) with color
@@ -606,9 +620,8 @@ cColor
", ""); ", "");
%newobject CreateFont;
DocDeclStr( DocDeclStr(
virtual wxGraphicsFont* , CreateFont( const wxFont &font , const wxColour &col = *wxBLACK ), virtual wxGraphicsFont , CreateFont( const wxFont &font , const wxColour &col = *wxBLACK ),
"sets the font", ""); "sets the font", "");
@@ -670,19 +683,19 @@ cColor
DocStr(SetPen, "sets the stroke pen", ""); DocStr(SetPen, "sets the stroke pen", "");
%nokwargs SetPen; %nokwargs SetPen;
virtual void SetPen( wxGraphicsPen* pen , bool release = true ); virtual void SetPen( const wxGraphicsPen& pen );
void SetPen( const wxPen& pen ); void SetPen( const wxPen& pen );
DocStr(SetBrush, "sets the brush for filling", ""); DocStr(SetBrush, "sets the brush for filling", "");
%nokwargs SetBrush; %nokwargs SetBrush;
virtual void SetBrush( wxGraphicsBrush* brush , bool release = true ); virtual void SetBrush( const wxGraphicsBrush& brush );
void SetBrush( const wxBrush& brush ); void SetBrush( const wxBrush& brush );
DocStr(SetFont, "sets the font", ""); DocStr(SetFont, "sets the font", "");
%nokwargs SetFont; %nokwargs SetFont;
virtual void SetFont( wxGraphicsFont* font, bool release = true ); virtual void SetFont( const wxGraphicsFont& font );
void SetFont( const wxFont& font, const wxColour& colour = *wxBLACK); void SetFont( const wxFont& font, const wxColour& colour = *wxBLACK);
@@ -855,22 +868,17 @@ public :
virtual wxGraphicsMatrix * CreateMatrix( wxDouble a=1.0, wxDouble b=0.0, wxDouble c=0.0, wxDouble d=1.0, 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); wxDouble tx=0.0, wxDouble ty=0.0);
%newobject CreatePen; virtual wxGraphicsPen CreatePen(const wxPen& pen) ;
virtual wxGraphicsPen* CreatePen(const wxPen& pen) ;
%newobject CreateBrush; virtual wxGraphicsBrush CreateBrush(const wxBrush& brush ) ;
virtual wxGraphicsBrush* CreateBrush(const wxBrush& brush ) ;
%newobject CreateLinearGradientBrush; virtual wxGraphicsBrush CreateLinearGradientBrush( wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2,
virtual wxGraphicsBrush* CreateLinearGradientBrush( wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2,
const wxColour&c1, const wxColour&c2); const wxColour&c1, const wxColour&c2);
%newobject CreateRadialGradientBrush; virtual wxGraphicsBrush CreateRadialGradientBrush( wxDouble xo, wxDouble yo, wxDouble xc, wxDouble yc, wxDouble radius,
virtual wxGraphicsBrush* CreateRadialGradientBrush( wxDouble xo, wxDouble yo, wxDouble xc, wxDouble yc, wxDouble radius,
const wxColour &oColor, const wxColour &cColor); const wxColour &oColor, const wxColour &cColor);
%newobject CreateFont; virtual wxGraphicsFont CreateFont( const wxFont &font , const wxColour &col = *wxBLACK );
virtual wxGraphicsFont* CreateFont( const wxFont &font , const wxColour &col = *wxBLACK );
}; };