wxWidgets: wxGraphicsContext Class Reference

| Version: 3.0.4

Public Member Functions | Static Public Member Functions | List of all members
wxGraphicsContext Class Referenceabstract
Class List by Category » Graphics Device Interface (GDI)Class List by Category » | Device Contexts

`#include </usr/src/ports/wxWidgets3.0/wxWidgets3.0-3.0.4-1.x86_64/src/wxWidgets-3.0.4/interface/wx/graphics.h>`

Inheritance diagram for wxGraphicsContext:
[legend]

## Detailed Description

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;
}
}

##

Library: wxCore

<>< =''>:</>&;&;< =''>\ , \ </></>

See also
  wxGraphicsRenderer::CreateContext(), wxGCDC, wxDC

## Public Member Functions
virtual void | Clip (const wxRegion &region)=0
| Clips drawings to the specified region. More...
virtual void | Clip (wxDouble x, wxDouble y, wxDouble w, wxDouble h)=0
| Clips drawings to the specified rectangle. More...
virtual void | ConcatTransform (const wxGraphicsMatrix &matrix)=0
| Concatenates the passed in transform with the current transform of this context. More...
virtual wxGraphicsBitmap | CreateBitmap (const wxBitmap &bitmap)=0
| Creates wxGraphicsBitmap from an existing wxBitmap. More...
virtual wxGraphicsBitmap | CreateBitmapFromImage (const wxImage &image)
| Creates wxGraphicsBitmap from an existing wxImage. More...
virtual wxGraphicsBitmap | CreateSubBitmap (const wxGraphicsBitmap &bitmap, wxDouble x, wxDouble y, wxDouble w, wxDouble h)=0
| Extracts a sub-bitmap from an existing bitmap. More...
virtual wxGraphicsBrush | CreateBrush (const wxBrush &brush) const
| Creates a native brush from a wxBrush. More...
virtual wxGraphicsFont | CreateFont (const wxFont &font, const wxColour &col= *wxBLACK) const
| Creates a native graphics font from a wxFont and a text colour. More...
virtual wxGraphicsFont | CreateFont (double sizeInPixels, const wxString &facename, int flags=wxFONTFLAG_DEFAULT, const wxColour &col= *wxBLACK) const
| Creates a font object with the specified attributes. More...
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. More...
wxGraphicsMatrix | CreateMatrix (const wxAffineMatrix2DBase &mat) const
| Creates a native affine transformation matrix from the passed generic one. More...
wxGraphicsPath | CreatePath () const
| Creates a native graphics path which is initially empty. More...
virtual wxGraphicsPen | CreatePen (const wxPen &pen) const
| Creates a native pen from a wxPen. More...
virtual void | DrawEllipse (wxDouble x, wxDouble y, wxDouble w, wxDouble h)
| Draws an ellipse. More...
virtual void | DrawIcon (const wxIcon &icon, wxDouble x, wxDouble y, wxDouble w, wxDouble h)=0
| Draws the icon. More...
virtual void | DrawLines (size_t n, const wxPoint2DDouble *points, wxPolygonFillMode fillStyle=wxODDEVEN_RULE)
| Draws a polygon. More...
virtual void | DrawPath (const wxGraphicsPath &path, wxPolygonFillMode fillStyle=wxODDEVEN_RULE)
| Draws the path by first filling and then stroking. More...
virtual void | DrawRectangle (wxDouble x, wxDouble y, wxDouble w, wxDouble h)
| Draws a rectangle. More...
virtual void | DrawRoundedRectangle (wxDouble x, wxDouble y, wxDouble w, wxDouble h, wxDouble radius)
| Draws a rounded rectangle. More...
void | DrawText (const wxString &str, wxDouble x, wxDouble y)
| Draws text at the defined position. More...
void | DrawText (const wxString &str, wxDouble x, wxDouble y, wxDouble angle)
| Draws text at the defined position. More...
void | DrawText (const wxString &str, wxDouble x, wxDouble y, const wxGraphicsBrush &backgroundBrush)
| Draws text at the defined position. More...
void | DrawText (const wxString &str, wxDouble x, wxDouble y, wxDouble angle, const wxGraphicsBrush &backgroundBrush)
| Draws text at the defined position. More...
virtual void | FillPath (const wxGraphicsPath &path, wxPolygonFillMode fillStyle=wxODDEVEN_RULE)=0
| Fills the path with the current brush. More...
virtual void * | GetNativeContext ()=0
| Returns the native context (CGContextRef for Core Graphics, Graphics pointer for GDIPlus and cairo_t pointer for cairo). More...
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. More...
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. More...
virtual wxGraphicsMatrix | GetTransform () const =0
| Gets the current transformation matrix of this context. More...
virtual void | ResetClip ()=0
| Resets the clipping to original shape. More...
virtual void | Rotate (wxDouble angle)=0
| Rotates the current transformation matrix (in radians). More...
virtual void | Scale (wxDouble xScale, wxDouble yScale)=0
| Scales the current transformation matrix. More...
void | SetBrush (const wxBrush &brush)
| Sets the brush for filling paths. More...
virtual void | SetBrush (const wxGraphicsBrush &brush)
| Sets the brush for filling paths. More...
void | SetFont (const wxFont &font, const wxColour &colour)
| Sets the font for drawing text. More...
virtual void | SetFont (const wxGraphicsFont &font)
| Sets the font for drawing text. More...
void | SetPen (const wxPen &pen)
| Sets the pen used for stroking. More...
virtual void | SetPen (const wxGraphicsPen &pen)
| Sets the pen used for stroking. More...
virtual void | SetTransform (const wxGraphicsMatrix &matrix)=0
| Sets the current transformation matrix of this context. More...
virtual void | StrokeLine (wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2)
| Strokes a single line. More...
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. More...
virtual void | StrokeLines (size_t n, const wxPoint2DDouble *points)
| Stroke lines connecting all the points. More...
virtual void | StrokePath (const wxGraphicsPath &path)=0
| Strokes along a path with the current pen. More...
virtual void | Translate (wxDouble dx, wxDouble dy)=0
| Translates the current transformation matrix. More...
virtual void | BeginLayer (wxDouble opacity)=0
| Redirects all rendering is done into a fully transparent temporary context. More...
virtual void | EndLayer ()=0
| Composites back the drawings into the context with the opacity given at the BeginLayer call. More...
virtual bool | SetAntialiasMode (wxAntialiasMode antialias)=0
| Sets the antialiasing mode, returns true if it supported. More...
virtual wxAntialiasMode | GetAntialiasMode () const
| Returns the current shape antialiasing mode. More...
virtual bool | SetInterpolationQuality (wxInterpolationQuality interpolation)=0
| Sets the interpolation quality, returns true if it is supported. More...
virtual wxInterpolationQuality | GetInterpolationQuality () const
| Returns the current interpolation quality. More...
virtual bool | SetCompositionMode (wxCompositionMode op)=0
| Sets the compositing operator, returns true if it supported. More...
virtual wxCompositionMode | GetCompositionMode () const
| Returns the current compositing operator. More...
virtual void | PushState ()=0
| Push the current state of the context's transformation matrix on a stack. More...
virtual void | PopState ()=0
| Pops a stored state from the stack and sets the current transformation matrix to that state. More...
virtual bool | ShouldOffset () const
virtual void | EnableOffset (bool enable=true)
void | DisableOffset ()
bool | OffsetEnabled ()
virtual bool | StartDoc (const wxString &message)
| Begin a new document (relevant only for printing / pdf etc.) If there is a progress dialog, message will be shown. More...
virtual void | EndDoc ()
| Done with that document (relevant only for printing / pdf etc.) More...
virtual void | StartPage (wxDouble width=0, wxDouble height=0)
| Opens a new page (relevant only for printing / pdf etc.) with the given size in points. More...
virtual void | EndPage ()
| Ends the current page (relevant only for printing / pdf etc.) More...
virtual void | Flush ()
| Make sure that the current content of this context is immediately visible. More...
void | GetSize (wxDouble *width, wxDouble *height) const
| Returns the size of the graphics context in device coordinates. More...
virtual void | GetDPI (wxDouble *dpiX, wxDouble *dpiY)
| Returns the resolution of the graphics context in device points per inch. More...
wxGraphicsBrush | CreateLinearGradientBrush (wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2, const wxColour &c1, const wxColour &c2) const
| Creates a native brush with a linear gradient. More...
wxGraphicsBrush | CreateLinearGradientBrush (wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2, const wxGraphicsGradientStops &stops) const
| Creates a native brush with a linear gradient. More...
virtual wxGraphicsBrush | CreateRadialGradientBrush (wxDouble xo, wxDouble yo, wxDouble xc, wxDouble yc, wxDouble radius, const wxColour &oColor, const wxColour &cColor) const
| Creates a native brush with a radial gradient. More...
virtual wxGraphicsBrush | CreateRadialGradientBrush (wxDouble xo, wxDouble yo, wxDouble xc, wxDouble yc, wxDouble radius, const wxGraphicsGradientStops &stops)=0
| Creates a native brush with a radial gradient. More...
virtual void | DrawBitmap (const wxGraphicsBitmap &bmp, wxDouble x, wxDouble y, wxDouble w, wxDouble h)=0
| Draws the bitmap. More...
virtual void | DrawBitmap (const wxBitmap &bmp, wxDouble x, wxDouble y, wxDouble w, wxDouble h)=0
| Draws the bitmap. More...
Public Member Functions inherited from wxGraphicsObject
wxGraphicsRenderer * | GetRenderer () const
| Returns the renderer that was used to create this instance, or NULL if it has not been initialized yet. More...
bool | IsNull () const
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to NULL the internal reference data. More...
| wxObject (const wxObject &other)
| Copy ctor. More...
virtual | ~wxObject ()
| Destructor. More...
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
wxObjectRefData * | GetRefData () const
| Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
bool | IsKindOf (const wxClassInfo *info) const
| Determines whether this class is a subclass of (or the same class as) the given class. More...
bool | IsSameAs (const wxObject &obj) const
| Returns true if this object has the same data pointer as obj. More...
void | Ref (const wxObject &clone)
| Makes this object refer to the data in clone. More...
void | SetRefData (wxObjectRefData *data)
| Sets the wxObject::m_refData pointer. More...
void | UnRef ()
| Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
void | UnShare ()
| This is the same of AllocExclusive() but this method is public. More...
void | operator delete (void *buf)
| The delete operator is defined for debugging versions of the library only, when the identifier `WXDEBUG` is defined. More...
void * | operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
| The new operator is defined for debugging versions of the library only, when the identifier `WXDEBUG` is defined. More...

## Static Public Member Functions
static wxGraphicsContext * | Create (wxWindow *window)
| Creates a wxGraphicsContext from a wxWindow. More...
static wxGraphicsContext * | Create (const wxWindowDC &windowDC)
| Creates a wxGraphicsContext from a wxWindowDC. More...
static wxGraphicsContext * | Create (const wxMemoryDC &memoryDC)
| Creates a wxGraphicsContext from a wxMemoryDC. More...
static wxGraphicsContext * | Create (const wxPrinterDC &printerDC)
| Creates a wxGraphicsContext from a wxPrinterDC. More...
static wxGraphicsContext * | Create (const wxEnhMetaFileDC &metaFileDC)
| Creates a wxGraphicsContext from a wxEnhMetaFileDC. More...
static wxGraphicsContext * | Create (wxImage &image)
| Creates a wxGraphicsContext associated with a wxImage. More...
static wxGraphicsContext * | Create ()
| Create a lightweight context that can be used only for measuring text. More...
static wxGraphicsContext * | CreateFromNative (void *context)
| Creates a wxGraphicsContext from a native context. More...
static wxGraphicsContext * | CreateFromNativeWindow (void *window)
| Creates a wxGraphicsContext from a native window. More...

## Additional Inherited Members
Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object. More...
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data. More...

## Member Function Documentation

## ◆ BeginLayer()

virtual void wxGraphicsContext::BeginLayer | ( | wxDouble | opacity | ) |
| pure virtual

Redirects all rendering is done into a fully transparent temporary context.

## ◆ Clip() [1/2]

virtual void wxGraphicsContext::Clip | ( | const wxRegion & | region | ) |
| pure virtual

Clips drawings to the specified region.

## ◆ Clip() [2/2]

virtual void wxGraphicsContext::Clip | ( | wxDouble | x,
|  | wxDouble | y,
|  | wxDouble | w,
|  | wxDouble | h
| ) |  |
| pure virtual

Clips drawings to the specified rectangle.

## ◆ ConcatTransform()

virtual void wxGraphicsContext::ConcatTransform | ( | const wxGraphicsMatrix & | matrix | ) |
| pure virtual

Concatenates the passed in transform with the current transform of this context.

## ◆ Create() [1/7]

static wxGraphicsContext* wxGraphicsContext::Create | ( | wxWindow * | window | ) |
| static

Creates a wxGraphicsContext from a wxWindow.

See also
  wxGraphicsRenderer::CreateContext()

## ◆ Create() [2/7]

static wxGraphicsContext* wxGraphicsContext::Create | ( | const wxWindowDC & | windowDC | ) |
| static

Creates a wxGraphicsContext from a wxWindowDC.

See also
  wxGraphicsRenderer::CreateContext()

## ◆ Create() [3/7]

static wxGraphicsContext* wxGraphicsContext::Create | ( | const wxMemoryDC & | memoryDC | ) |
| static

Creates a wxGraphicsContext from a wxMemoryDC.

See also
  wxGraphicsRenderer::CreateContext()

## ◆ Create() [4/7]

static wxGraphicsContext* wxGraphicsContext::Create | ( | const wxPrinterDC & | printerDC | ) |
| 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.

See also
  wxGraphicsRenderer::CreateContext(), Printing Under Unix (GTK+)

## ◆ Create() [5/7]

static wxGraphicsContext* wxGraphicsContext::Create | ( | const wxEnhMetaFileDC & | metaFileDC | ) |
| static

Creates a wxGraphicsContext from a wxEnhMetaFileDC.

This function, as wxEnhMetaFileDC class itself, is only available only under MSW.

See also
  wxGraphicsRenderer::CreateContext()

## ◆ Create() [6/7]

static wxGraphicsContext* wxGraphicsContext::Create | ( | wxImage & | image | ) |
| static

Creates a wxGraphicsContext associated with a wxImage.

The image specifies the size of the context as well as whether alpha is supported (if wxImage::HasAlpha()) or not and the initial contents of the context. The image object must have a life time greater than that of the new context as the context copies its contents back to the image when it is destroyed.

Since
  2.9.3

## ◆ Create() [7/7]

static wxGraphicsContext* wxGraphicsContext::Create | ( |  | ) |
| static

Create a lightweight context that can be used only for measuring text.

## ◆ CreateBitmap()

virtual wxGraphicsBitmap wxGraphicsContext::CreateBitmap | ( | const wxBitmap & | bitmap | ) |
| pure virtual

Creates wxGraphicsBitmap from an existing wxBitmap.

Returns an invalid wxNullGraphicsBitmap on failure.

## ◆ CreateBitmapFromImage()

virtual wxGraphicsBitmap wxGraphicsContext::CreateBitmapFromImage | ( | const wxImage & | image | ) |
| virtual

Creates wxGraphicsBitmap from an existing wxImage.

This method is more efficient than converting wxImage to wxBitmap first and then calling CreateBitmap() but otherwise has the same effect.

Returns an invalid wxNullGraphicsBitmap on failure.

Since
  2.9.3

## ◆ CreateBrush()

virtual wxGraphicsBrush wxGraphicsContext::CreateBrush | ( | const wxBrush & | brush | ) | const
| virtual

Creates a native brush from a wxBrush.

## ◆ CreateFont() [1/2]

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.

## ◆ CreateFont() [2/2]

virtual wxGraphicsFont wxGraphicsContext::CreateFont | ( | double | sizeInPixels,
|  | const wxString & | facename,
|  | int | flags = `wxFONTFLAG_DEFAULT`,
|  | const wxColour & | col = `*wxBLACK`
| ) |  | const
| virtual

Creates a font object with the specified attributes.

The use of overload taking wxFont is preferred, see wxGraphicsRenderer::CreateFont() for more details.

Since
  2.9.3

## ◆ CreateFromNative()

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.

See also
  wxGraphicsRenderer::CreateContextFromNativeContext()

## ◆ CreateFromNativeWindow()

static wxGraphicsContext* wxGraphicsContext::CreateFromNativeWindow | ( | void * | window | ) |
| static

Creates a wxGraphicsContext from a native window.

See also
  wxGraphicsRenderer::CreateContextFromNativeWindow()

## ◆ CreateLinearGradientBrush() [1/2]

wxGraphicsBrush wxGraphicsContext::CreateLinearGradientBrush | ( | wxDouble | x1,
|  | wxDouble | y1,
|  | wxDouble | x2,
|  | wxDouble | y2,
|  | const wxColour & | c1,
|  | const wxColour & | c2
| ) |  | const

Creates a native brush with a linear gradient.

The brush starts at (x1, y1) and ends at (x2, y2). Either just the start and end gradient colours (c1 and c2) or full set of gradient stops can be specified.

The version taking wxGraphicsGradientStops is new in wxWidgets 2.9.1.

## ◆ CreateLinearGradientBrush() [2/2]

wxGraphicsBrush wxGraphicsContext::CreateLinearGradientBrush | ( | wxDouble | x1,
|  | wxDouble | y1,
|  | wxDouble | x2,
|  | wxDouble | y2,
|  | const wxGraphicsGradientStops & | stops
| ) |  | const

Creates a native brush with a linear gradient.

The brush starts at (x1, y1) and ends at (x2, y2). Either just the start and end gradient colours (c1 and c2) or full set of gradient stops can be specified.

The version taking wxGraphicsGradientStops is new in wxWidgets 2.9.1.

## ◆ CreateMatrix() [1/2]

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.

## ◆ CreateMatrix() [2/2]

wxGraphicsMatrix wxGraphicsContext::CreateMatrix | ( | const wxAffineMatrix2DBase & | mat | ) | const

Creates a native affine transformation matrix from the passed generic one.

Since
  2.9.4

## ◆ CreatePath()

wxGraphicsPath wxGraphicsContext::CreatePath | ( |  | ) | const

Creates a native graphics path which is initially empty.

## ◆ CreatePen()

virtual wxGraphicsPen wxGraphicsContext::CreatePen | ( | const wxPen & | pen | ) | const
| virtual

Creates a native pen from a wxPen.

## ◆ CreateRadialGradientBrush() [1/2]

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 with a radial gradient.

The brush originates at (xo, yc) and ends on a circle around (xc, yc) with the given radius.

The gradient may be specified either by its start and end colours oColor and cColor or by a full set of gradient stops.

The version taking wxGraphicsGradientStops is new in wxWidgets 2.9.1.

## ◆ CreateRadialGradientBrush() [2/2]

virtual wxGraphicsBrush wxGraphicsContext::CreateRadialGradientBrush | ( | wxDouble | xo,
|  | wxDouble | yo,
|  | wxDouble | xc,
|  | wxDouble | yc,
|  | wxDouble | radius,
|  | const wxGraphicsGradientStops & | stops
| ) |  |
| pure virtual

Creates a native brush with a radial gradient.

The brush originates at (xo, yc) and ends on a circle around (xc, yc) with the given radius.

The gradient may be specified either by its start and end colours oColor and cColor or by a full set of gradient stops.

The version taking wxGraphicsGradientStops is new in wxWidgets 2.9.1.

## ◆ CreateSubBitmap()

virtual wxGraphicsBitmap wxGraphicsContext::CreateSubBitmap | ( | const wxGraphicsBitmap & | bitmap,
|  | wxDouble | x,
|  | wxDouble | y,
|  | wxDouble | w,
|  | wxDouble | h
| ) |  |
| pure virtual

Extracts a sub-bitmap from an existing bitmap.

Currently this function is implemented in the native MSW and OS X versions but not when using Cairo.

## ◆ DisableOffset()

void wxGraphicsContext::DisableOffset | ( |  | ) |

## ◆ DrawBitmap() [1/2]

virtual void wxGraphicsContext::DrawBitmap | ( | const wxGraphicsBitmap & | 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.

## ◆ DrawBitmap() [2/2]

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.

## ◆ DrawEllipse()

virtual void wxGraphicsContext::DrawEllipse | ( | wxDouble | x,
|  | wxDouble | y,
|  | wxDouble | w,
|  | wxDouble | h
| ) |  |
| virtual

Draws an ellipse.

## ◆ DrawIcon()

virtual void wxGraphicsContext::DrawIcon | ( | const wxIcon & | icon,
|  | wxDouble | x,
|  | wxDouble | y,
|  | wxDouble | w,
|  | wxDouble | h
| ) |  |
| pure virtual

Draws the icon.

## ◆ DrawLines()

virtual void wxGraphicsContext::DrawLines | ( | size_t | n,
|  | const wxPoint2DDouble * | points,
|  | wxPolygonFillMode | fillStyle = `wxODDEVEN_RULE`
| ) |  |
| virtual

Draws a polygon.

## ◆ DrawPath()

virtual void wxGraphicsContext::DrawPath | ( | const wxGraphicsPath & | path,
|  | wxPolygonFillMode | fillStyle = `wxODDEVEN_RULE`
| ) |  |
| virtual

Draws the path by first filling and then stroking.

## ◆ DrawRectangle()

virtual void wxGraphicsContext::DrawRectangle | ( | wxDouble | x,
|  | wxDouble | y,
|  | wxDouble | w,
|  | wxDouble | h
| ) |  |
| virtual

Draws a rectangle.

## ◆ DrawRoundedRectangle()

virtual void wxGraphicsContext::DrawRoundedRectangle | ( | wxDouble | x,
|  | wxDouble | y,
|  | wxDouble | w,
|  | wxDouble | h,
|  | wxDouble | radius
| ) |  |
| virtual

Draws a rounded rectangle.

## ◆ DrawText() [1/4]

void wxGraphicsContext::DrawText | ( | const wxString & | str,
|  | wxDouble | x,
|  | wxDouble | y
| ) |  |

Draws text at the defined position.

## ◆ DrawText() [2/4]

void wxGraphicsContext::DrawText | ( | const wxString & | str,
|  | wxDouble | x,
|  | wxDouble | y,
|  | wxDouble | angle
| ) |  |

Draws text at the defined position.

Parameters

  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.

## ◆ DrawText() [3/4]

void wxGraphicsContext::DrawText | ( | const wxString & | str,
|  | wxDouble | x,
|  | wxDouble | y,
|  | const wxGraphicsBrush & | backgroundBrush
| ) |  |

Draws text at the defined position.

Parameters

  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.

## ◆ DrawText() [4/4]

void wxGraphicsContext::DrawText | ( | const wxString & | str,
|  | wxDouble | x,
|  | wxDouble | y,
|  | wxDouble | angle,
|  | const wxGraphicsBrush & | backgroundBrush
| ) |  |

Draws text at the defined position.

Parameters

  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.

## ◆ EnableOffset()

virtual void wxGraphicsContext::EnableOffset | ( | bool | enable = `true` | ) |
| virtual

## ◆ EndDoc()

virtual void wxGraphicsContext::EndDoc | ( |  | ) |
| virtual

Done with that document (relevant only for printing / pdf etc.)

## ◆ EndLayer()

virtual void wxGraphicsContext::EndLayer | ( |  | ) |
| pure virtual

Composites back the drawings into the context with the opacity given at the BeginLayer call.

## ◆ EndPage()

virtual void wxGraphicsContext::EndPage | ( |  | ) |
| virtual

Ends the current page (relevant only for printing / pdf etc.)

## ◆ FillPath()

virtual void wxGraphicsContext::FillPath | ( | const wxGraphicsPath & | path,
|  | wxPolygonFillMode | fillStyle = `wxODDEVEN_RULE`
| ) |  |
| pure virtual

Fills the path with the current brush.

## ◆ Flush()

virtual void wxGraphicsContext::Flush | ( |  | ) |
| virtual

Make sure that the current content of this context is immediately visible.

## ◆ GetAntialiasMode()

virtual wxAntialiasMode wxGraphicsContext::GetAntialiasMode | ( |  | ) | const
| virtual

Returns the current shape antialiasing mode.

## ◆ GetCompositionMode()

virtual wxCompositionMode wxGraphicsContext::GetCompositionMode | ( |  | ) | const
| virtual

Returns the current compositing operator.

## ◆ GetDPI()

virtual void wxGraphicsContext::GetDPI | ( | wxDouble * | dpiX,
|  | wxDouble * | dpiY
| ) |  |
| virtual

Returns the resolution of the graphics context in device points per inch.

## ◆ GetInterpolationQuality()

virtual wxInterpolationQuality wxGraphicsContext::GetInterpolationQuality | ( |  | ) | const
| virtual

Returns the current interpolation quality.

## ◆ GetNativeContext()

virtual void* wxGraphicsContext::GetNativeContext | ( |  | ) |
| pure virtual

Returns the native context (CGContextRef for Core Graphics, Graphics pointer for GDIPlus and cairo_t pointer for cairo).

## ◆ GetPartialTextExtents()

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.

## ◆ GetSize()

void wxGraphicsContext::GetSize | ( | wxDouble * | width,
|  | wxDouble * | height
| ) |  | const

Returns the size of the graphics context in device coordinates.

## ◆ GetTextExtent()

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.

Parameters

  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).

## ◆ GetTransform()

virtual wxGraphicsMatrix wxGraphicsContext::GetTransform | ( |  | ) | const
| pure virtual

Gets the current transformation matrix of this context.

## ◆ OffsetEnabled()

bool wxGraphicsContext::OffsetEnabled | ( |  | ) |

## ◆ PopState()

virtual void wxGraphicsContext::PopState | ( |  | ) |
| pure virtual

Pops a stored state from the stack and sets the current transformation matrix to that state.

See also
  wxGraphicsContext::PopState

## ◆ PushState()

virtual void wxGraphicsContext::PushState | ( |  | ) |
| pure virtual

Push the current state of the context's transformation matrix on a stack.

See also
  wxGraphicsContext::PopState

## ◆ ResetClip()

virtual void wxGraphicsContext::ResetClip | ( |  | ) |
| pure virtual

Resets the clipping to original shape.

## ◆ Rotate()

virtual void wxGraphicsContext::Rotate | ( | wxDouble | angle | ) |
| pure virtual

Rotates the current transformation matrix (in radians).

## ◆ Scale()

virtual void wxGraphicsContext::Scale | ( | wxDouble | xScale,
|  | wxDouble | yScale
| ) |  |
| pure virtual

Scales the current transformation matrix.

## ◆ SetAntialiasMode()

virtual bool wxGraphicsContext::SetAntialiasMode | ( | wxAntialiasMode | antialias | ) |
| pure virtual

Sets the antialiasing mode, returns true if it supported.

## ◆ SetBrush() [1/2]

void wxGraphicsContext::SetBrush | ( | const wxBrush & | brush | ) |

Sets the brush for filling paths.

## ◆ SetBrush() [2/2]

virtual void wxGraphicsContext::SetBrush | ( | const wxGraphicsBrush & | brush | ) |
| virtual

Sets the brush for filling paths.

## ◆ SetCompositionMode()

virtual bool wxGraphicsContext::SetCompositionMode | ( | wxCompositionMode | op | ) |
| pure virtual

Sets the compositing operator, returns true if it supported.

## ◆ SetFont() [1/2]

void wxGraphicsContext::SetFont | ( | const wxFont & | font,
|  | const wxColour & | colour
| ) |  |

Sets the font for drawing text.

## ◆ SetFont() [2/2]

virtual void wxGraphicsContext::SetFont | ( | const wxGraphicsFont & | font | ) |
| virtual

Sets the font for drawing text.

## ◆ SetInterpolationQuality()

virtual bool wxGraphicsContext::SetInterpolationQuality | ( | wxInterpolationQuality | interpolation | ) |
| pure virtual

Sets the interpolation quality, returns true if it is supported.

Not implemented in Cairo backend currently.

Notice that in wxWidgets 3.0 the default interpolation quality for GDI+-based implementation is wxINTERPOLATION_GOOD and not wxINTERPOLATION_DEFAULT (unlike under OS X with CoreGraphics-based implementation). This will be changed in wxWidgets 3.1 and later version, call this method explicitly instead of relying on the default value to ensure consistent behaviour across different platforms and versions.

## ◆ SetPen() [1/2]

void wxGraphicsContext::SetPen | ( | const wxPen & | pen | ) |

Sets the pen used for stroking.

## ◆ SetPen() [2/2]

virtual void wxGraphicsContext::SetPen | ( | const wxGraphicsPen & | pen | ) |
| virtual

Sets the pen used for stroking.

## ◆ SetTransform()

virtual void wxGraphicsContext::SetTransform | ( | const wxGraphicsMatrix & | matrix | ) |
| pure virtual

Sets the current transformation matrix of this context.

## ◆ ShouldOffset()

virtual bool wxGraphicsContext::ShouldOffset | ( |  | ) | const
| virtual

## ◆ StartDoc()

virtual bool wxGraphicsContext::StartDoc | ( | const wxString & | message | ) |
| virtual

Begin a new document (relevant only for printing / pdf etc.) If there is a progress dialog, message will be shown.

## ◆ StartPage()

virtual void wxGraphicsContext::StartPage | ( | wxDouble | width = `0`,
|  | wxDouble | height = `0`
| ) |  |
| virtual

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.)

## ◆ StrokeLine()

virtual void wxGraphicsContext::StrokeLine | ( | wxDouble | x1,
|  | wxDouble | y1,
|  | wxDouble | x2,
|  | wxDouble | y2
| ) |  |
| virtual

Strokes a single line.

## ◆ StrokeLines() [1/2]

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.

## ◆ StrokeLines() [2/2]

virtual void wxGraphicsContext::StrokeLines | ( | size_t | n,
|  | const wxPoint2DDouble * | points
| ) |  |
| virtual

Stroke lines connecting all the points.

Unlike the other overload of this function, this method draws a single polyline and not a number of disconnected lines.

## ◆ StrokePath()

virtual void wxGraphicsContext::StrokePath | ( | const wxGraphicsPath & | path | ) |
| pure virtual

Strokes along a path with the current pen.

## ◆ Translate()

virtual void wxGraphicsContext::Translate | ( | wxDouble | dx,
|  | wxDouble | dy
| ) |  |
| pure virtual

Translates the current transformation matrix.