#include <wx/graphics.h>
A wxGraphicsContext instance is the object that is drawn upon.
It is created by a renderer using wxGraphicsRenderer::CreateContext(). This can be either directly using a renderer instance, or indirectly using the static convenience Create() functions of wxGraphicsContext that always delegate the task to the default renderer.
void MyCanvas::OnPaint(wxPaintEvent &event) { // Create paint DC wxPaintDC dc(this); // Create graphics context from it wxGraphicsContext *gc = wxGraphicsContext::Create( dc ); if (gc) { // make a path that contains a circle and some lines gc->SetPen( *wxRED_PEN ); wxGraphicsPath path = gc->CreatePath(); path.AddCircle( 50.0, 50.0, 50.0 ); path.MoveToPoint(0.0, 50.0); path.AddLineToPoint(100.0, 50.0); path.MoveToPoint(50.0, 0.0); path.AddLineToPoint(50.0, 100.0 ); path.CloseSubpath(); path.AddRectangle(25.0, 25.0, 50.0, 50.0); gc->StrokePath(path); delete gc; } }
Public Member Functions | |
virtual void | Clip (const wxRegion ®ion)=0 |
Clips drawings to the specified region. | |
virtual void | Clip (wxDouble x, wxDouble y, wxDouble w, wxDouble h)=0 |
Clips drawings to the specified rectangle. | |
virtual void | ConcatTransform (const wxGraphicsMatrix &matrix)=0 |
Concatenates the passed in transform with the current transform of this context. | |
virtual wxGraphicsBrush | CreateBrush (const wxBrush &brush) const |
Creates a native brush from a wxBrush. | |
virtual wxGraphicsFont | CreateFont (const wxFont &font, const wxColour &col=*wxBLACK) const |
Creates a native graphics font from a wxFont and a text colour. | |
virtual wxGraphicsBrush | CreateLinearGradientBrush (wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2, const wxColour &c1, const wxColour &c2) const |
Creates a native brush, having a linear gradient, starting at (x1, y1) with color c1 to (x2, y2) with color c2. | |
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 |
Creates a native affine transformation matrix from the passed in values. | |
wxGraphicsPath | CreatePath () const |
Creates a native graphics path which is initially empty. | |
virtual wxGraphicsPen | CreatePen (const wxPen &pen) const |
Creates a native pen from a wxPen. | |
virtual wxGraphicsBrush | CreateRadialGradientBrush (wxDouble xo, wxDouble yo, wxDouble xc, wxDouble yc, wxDouble radius, const wxColour &oColor, const wxColour &cColor) const |
Creates a native brush, having a radial gradient originating at (xo, yc) with color oColour and ends on a circle around (xc, yc) with the given radius and color cColour. | |
virtual void | DrawBitmap (const wxBitmap &bmp, wxDouble x, wxDouble y, wxDouble w, wxDouble h)=0 |
Draws the bitmap. | |
virtual void | DrawEllipse (wxDouble x, wxDouble y, wxDouble w, wxDouble h) |
Draws an ellipse. | |
virtual void | DrawIcon (const wxIcon &icon, wxDouble x, wxDouble y, wxDouble w, wxDouble h)=0 |
Draws the icon. | |
virtual void | DrawLines (size_t n, const wxPoint2DDouble *points, wxPolygonFillMode fillStyle=wxODDEVEN_RULE) |
Draws a polygon. | |
virtual void | DrawPath (const wxGraphicsPath &path, wxPolygonFillMode fillStyle=wxODDEVEN_RULE) |
Draws the path by first filling and then stroking. | |
virtual void | DrawRectangle (wxDouble x, wxDouble y, wxDouble w, wxDouble h) |
Draws a rectangle. | |
virtual void | DrawRoundedRectangle (wxDouble x, wxDouble y, wxDouble w, wxDouble h, wxDouble radius) |
Draws a rounded rectangle. | |
void | DrawText (const wxString &str, wxDouble x, wxDouble y) |
Draws text at the defined position. | |
void | DrawText (const wxString &str, wxDouble x, wxDouble y, wxDouble angle) |
Draws text at the defined position. | |
void | DrawText (const wxString &str, wxDouble x, wxDouble y, const wxGraphicsBrush &backgroundBrush) |
Draws text at the defined position. | |
void | DrawText (const wxString &str, wxDouble x, wxDouble y, wxDouble angle, const wxGraphicsBrush &backgroundBrush) |
Draws text at the defined position. | |
virtual void | FillPath (const wxGraphicsPath &path, wxPolygonFillMode fillStyle=wxODDEVEN_RULE)=0 |
Fills the path with the current brush. | |
virtual void * | GetNativeContext ()=0 |
Returns the native context (CGContextRef for Core Graphics, Graphics pointer for GDIPlus and cairo_t pointer for cairo). | |
virtual void | GetPartialTextExtents (const wxString &text, wxArrayDouble &widths) const =0 |
Fills the widths array with the widths from the beginning of text to the corresponding character of text. | |
virtual void | GetTextExtent (const wxString &text, wxDouble *width, wxDouble *height, wxDouble *descent, wxDouble *externalLeading) const =0 |
Gets the dimensions of the string using the currently selected font. | |
virtual wxGraphicsMatrix | GetTransform () const =0 |
Gets the current transformation matrix of this context. | |
virtual void | ResetClip ()=0 |
Resets the clipping to original shape. | |
virtual void | Rotate (wxDouble angle)=0 |
Rotates the current transformation matrix (in radians). | |
virtual void | Scale (wxDouble xScale, wxDouble yScale)=0 |
Scales the current transformation matrix. | |
void | SetBrush (const wxBrush &brush) |
Sets the brush for filling paths. | |
virtual void | SetBrush (const wxGraphicsBrush &brush) |
Sets the brush for filling paths. | |
void | SetFont (const wxFont &font, const wxColour &colour) |
Sets the font for drawing text. | |
virtual void | SetFont (const wxGraphicsFont &font) |
Sets the font for drawing text. | |
void | SetPen (const wxPen &pen) |
Sets the pen used for stroking. | |
virtual void | SetPen (const wxGraphicsPen &pen) |
Sets the pen used for stroking. | |
virtual void | SetTransform (const wxGraphicsMatrix &matrix)=0 |
Sets the current transformation matrix of this context. | |
virtual void | StrokeLine (wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2) |
Strokes a single line. | |
virtual void | StrokeLines (size_t n, const wxPoint2DDouble *beginPoints, const wxPoint2DDouble *endPoints) |
Stroke disconnected lines from begin to end points, fastest method available for this purpose. | |
virtual void | StrokeLines (size_t n, const wxPoint2DDouble *points) |
Stroke disconnected lines from begin to end points, fastest method available for this purpose. | |
virtual void | StrokePath (const wxGraphicsPath &path)=0 |
Strokes along a path with the current pen. | |
virtual void | Translate (wxDouble dx, wxDouble dy)=0 |
Translates the current transformation matrix. | |
virtual void | BeginLayer (wxDouble opacity)=0 |
Redirects all rendering is done into a fully transparent temporary context. | |
virtual void | EndLayer ()=0 |
Composites back the drawings into the context with the opacity given at the BeginLayer call. | |
virtual bool | SetAntialiasMode (wxAntialiasMode antialias)=0 |
Sets the antialiasing mode, returns true if it supported. | |
virtual wxAntialiasMode | GetAntialiasMode () const |
Returns the current shape antialiasing mode. | |
virtual bool | SetCompositionMode (wxCompositionMode op)=0 |
Sets the compositing operator, returns true if it supported. | |
virtual wxCompositionMode | GetCompositionMode () const |
Returns the current compositing operator. | |
Static Public Member Functions | |
static wxGraphicsContext * | Create (wxWindow *window) |
Creates a wxGraphicsContext from a wxWindow. | |
static wxGraphicsContext * | Create (const wxWindowDC &dc) |
Creates a wxGraphicsContext from a wxWindowDC. | |
static wxGraphicsContext * | Create (const wxMemoryDC &dc) |
Creates a wxGraphicsContext from a wxMemoryDC. | |
static wxGraphicsContext * | Create (const wxPrinterDC &dc) |
Creates a wxGraphicsContext from a wxPrinterDC. | |
static wxGraphicsContext * | CreateFromNative (void *context) |
Creates a wxGraphicsContext from a native context. | |
static wxGraphicsContext * | CreateFromNativeWindow (void *window) |
Creates a wxGraphicsContext from a native window. |
virtual void wxGraphicsContext::BeginLayer | ( | wxDouble | opacity | ) | [pure virtual] |
Redirects all rendering is done into a fully transparent temporary context.
virtual void wxGraphicsContext::Clip | ( | wxDouble | x, | |
wxDouble | y, | |||
wxDouble | w, | |||
wxDouble | h | |||
) | [pure virtual] |
Clips drawings to the specified rectangle.
virtual void wxGraphicsContext::Clip | ( | const wxRegion & | region | ) | [pure virtual] |
Clips drawings to the specified region.
virtual void wxGraphicsContext::ConcatTransform | ( | const wxGraphicsMatrix & | matrix | ) | [pure virtual] |
Concatenates the passed in transform with the current transform of this context.
static wxGraphicsContext* wxGraphicsContext::Create | ( | const wxPrinterDC & | dc | ) | [static] |
Creates a wxGraphicsContext from a wxPrinterDC.
Under GTK+, this will only work when using the GtkPrint printing backend which is available since GTK+ 2.10.
static wxGraphicsContext* wxGraphicsContext::Create | ( | const wxMemoryDC & | dc | ) | [static] |
Creates a wxGraphicsContext from a wxMemoryDC.
static wxGraphicsContext* wxGraphicsContext::Create | ( | const wxWindowDC & | dc | ) | [static] |
Creates a wxGraphicsContext from a wxWindowDC.
static wxGraphicsContext* wxGraphicsContext::Create | ( | wxWindow * | window | ) | [static] |
Creates a wxGraphicsContext from a wxWindow.
virtual wxGraphicsBrush wxGraphicsContext::CreateBrush | ( | const wxBrush & | brush | ) | const [virtual] |
Creates a native brush from a wxBrush.
virtual wxGraphicsFont wxGraphicsContext::CreateFont | ( | const wxFont & | font, | |
const wxColour & | col = *wxBLACK | |||
) | const [virtual] |
Creates a native graphics font from a wxFont and a text colour.
static wxGraphicsContext* wxGraphicsContext::CreateFromNative | ( | void * | context | ) | [static] |
Creates a wxGraphicsContext from a native context.
This native context must be a CGContextRef for Core Graphics, a Graphics pointer for GDIPlus, or a cairo_t pointer for cairo.
static wxGraphicsContext* wxGraphicsContext::CreateFromNativeWindow | ( | void * | window | ) | [static] |
Creates a wxGraphicsContext from a native window.
virtual wxGraphicsBrush wxGraphicsContext::CreateLinearGradientBrush | ( | wxDouble | x1, | |
wxDouble | y1, | |||
wxDouble | x2, | |||
wxDouble | y2, | |||
const wxColour & | c1, | |||
const wxColour & | c2 | |||
) | const [virtual] |
Creates a native brush, having a linear gradient, starting at (x1, y1) with color c1 to (x2, y2) with color c2.
virtual wxGraphicsMatrix wxGraphicsContext::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 [virtual] |
Creates a native affine transformation matrix from the passed in values.
The default parameters result in an identity matrix.
wxGraphicsPath wxGraphicsContext::CreatePath | ( | ) | const |
Creates a native graphics path which is initially empty.
virtual wxGraphicsPen wxGraphicsContext::CreatePen | ( | const wxPen & | pen | ) | const [virtual] |
Creates a native pen from a wxPen.
virtual wxGraphicsBrush wxGraphicsContext::CreateRadialGradientBrush | ( | wxDouble | xo, | |
wxDouble | yo, | |||
wxDouble | xc, | |||
wxDouble | yc, | |||
wxDouble | radius, | |||
const wxColour & | oColor, | |||
const wxColour & | cColor | |||
) | const [virtual] |
Creates a native brush, having a radial gradient originating at (xo, yc) with color oColour and ends on a circle around (xc, yc) with the given radius and color cColour.
virtual void wxGraphicsContext::DrawBitmap | ( | const wxBitmap & | bmp, | |
wxDouble | x, | |||
wxDouble | y, | |||
wxDouble | w, | |||
wxDouble | h | |||
) | [pure virtual] |
Draws the bitmap.
In case of a mono bitmap, this is treated as a mask and the current brushed is used for filling.
virtual void wxGraphicsContext::DrawEllipse | ( | wxDouble | x, | |
wxDouble | y, | |||
wxDouble | w, | |||
wxDouble | h | |||
) | [virtual] |
Draws an ellipse.
virtual void wxGraphicsContext::DrawIcon | ( | const wxIcon & | icon, | |
wxDouble | x, | |||
wxDouble | y, | |||
wxDouble | w, | |||
wxDouble | h | |||
) | [pure virtual] |
Draws the icon.
virtual void wxGraphicsContext::DrawLines | ( | size_t | n, | |
const wxPoint2DDouble * | points, | |||
wxPolygonFillMode | fillStyle = wxODDEVEN_RULE | |||
) | [virtual] |
Draws a polygon.
virtual void wxGraphicsContext::DrawPath | ( | const wxGraphicsPath & | path, | |
wxPolygonFillMode | fillStyle = wxODDEVEN_RULE | |||
) | [virtual] |
Draws the path by first filling and then stroking.
virtual void wxGraphicsContext::DrawRectangle | ( | wxDouble | x, | |
wxDouble | y, | |||
wxDouble | w, | |||
wxDouble | h | |||
) | [virtual] |
Draws a rectangle.
virtual void wxGraphicsContext::DrawRoundedRectangle | ( | wxDouble | x, | |
wxDouble | y, | |||
wxDouble | w, | |||
wxDouble | h, | |||
wxDouble | radius | |||
) | [virtual] |
Draws a rounded rectangle.
void wxGraphicsContext::DrawText | ( | const wxString & | str, | |
wxDouble | x, | |||
wxDouble | y, | |||
wxDouble | angle, | |||
const wxGraphicsBrush & | backgroundBrush | |||
) |
Draws text at the defined position.
str | The text to draw. | |
x | The x coordinate position to draw the text at. | |
y | The y coordinate position to draw the text at. | |
angle | The angle relative to the (default) horizontal direction to draw the string. | |
backgroundBrush | Brush to fill the text with. |
void wxGraphicsContext::DrawText | ( | const wxString & | str, | |
wxDouble | x, | |||
wxDouble | y, | |||
const wxGraphicsBrush & | backgroundBrush | |||
) |
Draws text at the defined position.
str | The text to draw. | |
x | The x coordinate position to draw the text at. | |
y | The y coordinate position to draw the text at. | |
backgroundBrush | Brush to fill the text with. |
Draws text at the defined position.
str | The text to draw. | |
x | The x coordinate position to draw the text at. | |
y | The y coordinate position to draw the text at. | |
angle | The angle relative to the (default) horizontal direction to draw the string. |
Draws text at the defined position.
virtual void wxGraphicsContext::EndLayer | ( | ) | [pure virtual] |
Composites back the drawings into the context with the opacity given at the BeginLayer call.
virtual void wxGraphicsContext::FillPath | ( | const wxGraphicsPath & | path, | |
wxPolygonFillMode | fillStyle = wxODDEVEN_RULE | |||
) | [pure virtual] |
Fills the path with the current brush.
virtual wxAntialiasMode wxGraphicsContext::GetAntialiasMode | ( | ) | const [virtual] |
Returns the current shape antialiasing mode.
virtual wxCompositionMode wxGraphicsContext::GetCompositionMode | ( | ) | const [virtual] |
Returns the current compositing operator.
virtual void* wxGraphicsContext::GetNativeContext | ( | ) | [pure virtual] |
Returns the native context (CGContextRef for Core Graphics, Graphics pointer for GDIPlus and cairo_t pointer for cairo).
virtual void wxGraphicsContext::GetPartialTextExtents | ( | const wxString & | text, | |
wxArrayDouble & | widths | |||
) | const [pure virtual] |
Fills the widths array with the widths from the beginning of text to the corresponding character of text.
virtual void wxGraphicsContext::GetTextExtent | ( | const wxString & | text, | |
wxDouble * | width, | |||
wxDouble * | height, | |||
wxDouble * | descent, | |||
wxDouble * | externalLeading | |||
) | const [pure virtual] |
Gets the dimensions of the string using the currently selected font.
text | The text string to measure. | |
width | Variable to store the total calculated width of the text. | |
height | Variable to store the total calculated height of the text. | |
descent | Variable to store the dimension from the baseline of the font to the bottom of the descender. | |
externalLeading | Any extra vertical space added to the font by the font designer (usually is zero). |
virtual wxGraphicsMatrix wxGraphicsContext::GetTransform | ( | ) | const [pure virtual] |
Gets the current transformation matrix of this context.
virtual void wxGraphicsContext::ResetClip | ( | ) | [pure virtual] |
Resets the clipping to original shape.
virtual void wxGraphicsContext::Rotate | ( | wxDouble | angle | ) | [pure virtual] |
Rotates the current transformation matrix (in radians).
Scales the current transformation matrix.
virtual bool wxGraphicsContext::SetAntialiasMode | ( | wxAntialiasMode | antialias | ) | [pure virtual] |
Sets the antialiasing mode, returns true if it supported.
virtual void wxGraphicsContext::SetBrush | ( | const wxGraphicsBrush & | brush | ) | [virtual] |
Sets the brush for filling paths.
void wxGraphicsContext::SetBrush | ( | const wxBrush & | brush | ) |
Sets the brush for filling paths.
virtual bool wxGraphicsContext::SetCompositionMode | ( | wxCompositionMode | op | ) | [pure virtual] |
Sets the compositing operator, returns true if it supported.
virtual void wxGraphicsContext::SetFont | ( | const wxGraphicsFont & | font | ) | [virtual] |
Sets the font for drawing text.
Sets the font for drawing text.
virtual void wxGraphicsContext::SetPen | ( | const wxGraphicsPen & | pen | ) | [virtual] |
Sets the pen used for stroking.
void wxGraphicsContext::SetPen | ( | const wxPen & | pen | ) |
Sets the pen used for stroking.
virtual void wxGraphicsContext::SetTransform | ( | const wxGraphicsMatrix & | matrix | ) | [pure virtual] |
Sets the current transformation matrix of this context.
virtual void wxGraphicsContext::StrokeLine | ( | wxDouble | x1, | |
wxDouble | y1, | |||
wxDouble | x2, | |||
wxDouble | y2 | |||
) | [virtual] |
Strokes a single line.
virtual void wxGraphicsContext::StrokeLines | ( | size_t | n, | |
const wxPoint2DDouble * | points | |||
) | [virtual] |
Stroke disconnected lines from begin to end points, fastest method available for this purpose.
virtual void wxGraphicsContext::StrokeLines | ( | size_t | n, | |
const wxPoint2DDouble * | beginPoints, | |||
const wxPoint2DDouble * | endPoints | |||
) | [virtual] |
Stroke disconnected lines from begin to end points, fastest method available for this purpose.
virtual void wxGraphicsContext::StrokePath | ( | const wxGraphicsPath & | path | ) | [pure virtual] |
Strokes along a path with the current pen.
![]() |
[ top ] |