Provided by: erlang-manpages_24.3.4.1+dfsg-1_all bug

NAME

       wxGraphicsContext - Functions for wxGraphicsContext class

DESCRIPTION

       A wxGraphicsContext instance is the object that is drawn upon. It is created by a renderer
       using wxGraphicsRenderer:createContext/2. This can be either  directly  using  a  renderer
       instance,   or   indirectly   using   the   static   convenience   create/1  functions  of
       wxGraphicsContext that always delegate the task to the default renderer.

       Remark: For some renderers (like Direct2D or Cairo) processing of drawing  operations  may
       be  deferred  (Direct2D render target normally builds up a batch of rendering commands but
       defers processing of these commands, Cairo operates on a  separate  surface)  so  to  make
       drawing  results  visible  you  need  to  update  the  content  of  the context by calling
       wxGraphicsContext::Flush() (not implemented in wx) or by destroying the context.

       See: wxGraphicsRenderer:createContext/2, wxGCDC, wxDC

       This class is derived (and can use functions) from: wxGraphicsObject

       wxWidgets docs: wxGraphicsContext

DATA TYPES

       wxGraphicsContext() = wx:wx_object()

EXPORTS

       destroy(This :: wxGraphicsContext()) -> ok

              Creates a wxGraphicsContext from a wxWindow.

              See: wxGraphicsRenderer:createContext/2

       create() -> wxGraphicsContext()

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

       create(WindowDC) -> wxGraphicsContext()

              Types:

                 WindowDC =
                     wxWindowDC:wxWindowDC() |
                     wxWindow:wxWindow() |
                     wxMemoryDC:wxMemoryDC() |
                     wxImage:wxImage()

              Creates a wxGraphicsContext from a wxWindowDC.

              See: wxGraphicsRenderer:createContext/2

       createPen(This, Pen) -> wxGraphicsPen:wxGraphicsPen()

              Types:

                 This = wxGraphicsContext()
                 Pen = wxPen:wxPen()

              Creates a native pen from a wxPen.

              Prefer to use the overload taking wxGraphicsPenInfo (not implemented in wx)  unless
              you  already  have  a  wxPen  as constructing one only to pass it to this method is
              wasteful.

       createBrush(This, Brush) -> wxGraphicsBrush:wxGraphicsBrush()

              Types:

                 This = wxGraphicsContext()
                 Brush = wxBrush:wxBrush()

              Creates a native brush from a wxBrush.

       createRadialGradientBrush(This, StartX, StartY, EndX, EndY,
                                 Radius, Stops) ->
                                    wxGraphicsBrush:wxGraphicsBrush()

              Types:

                 This = wxGraphicsContext()
                 StartX = StartY = EndX = EndY = Radius = number()
                 Stops = wxGraphicsGradientStops:wxGraphicsGradientStops()

              This is an overloaded member function, provided for convenience.  It  differs  from
              the above function only in what argument(s) it accepts.

       createRadialGradientBrush(This, StartX, StartY, EndX, EndY,
                                 Radius, OColor, CColor) ->
                                    wxGraphicsBrush:wxGraphicsBrush()

              Types:

                 This = wxGraphicsContext()
                 StartX = StartY = EndX = EndY = Radius = number()
                 OColor = CColor = wx:wx_colour()

               Creates a native brush with a radial gradient. The brush originates at (@a startX,
              @a startY) and ends on a circle around (@a endX, @a endY) with the given @a radius.
              The  gradient may be specified either by its start and end colours @a oColor and @a
              cColor  or  by  a  full  set   of   gradient   @a   stops.   The   version   taking
              wxGraphicsGradientStops is new in wxWidgets 2.9.1.

              The ability to apply a transformation matrix to the gradient was added in 3.1.3

       createLinearGradientBrush(This, X1, Y1, X2, Y2, Stops) ->
                                    wxGraphicsBrush:wxGraphicsBrush()

              Types:

                 This = wxGraphicsContext()
                 X1 = Y1 = X2 = Y2 = number()
                 Stops = wxGraphicsGradientStops:wxGraphicsGradientStops()

              This  is  an  overloaded member function, provided for convenience. It differs from
              the above function only in what argument(s) it accepts.

       createLinearGradientBrush(This, X1, Y1, X2, Y2, C1, C2) ->
                                    wxGraphicsBrush:wxGraphicsBrush()

              Types:

                 This = wxGraphicsContext()
                 X1 = Y1 = X2 = Y2 = number()
                 C1 = C2 = wx:wx_colour()

               Creates a native brush with a linear gradient. The brush starts at (@a x1, @a  y1)
              and  ends  at (@a x2, @a y2). Either just the start and end gradient colours (@a c1
              and @a c2) or full set of gradient @a stops can be specified.  The  version  taking
              wxGraphicsGradientStops is new in wxWidgets 2.9.1.

              The matrix parameter was added in wxWidgets 3.1.3

       createFont(This, Font) -> wxGraphicsFont:wxGraphicsFont()

              Types:

                 This = wxGraphicsContext()
                 Font = wxFont:wxFont()

       createFont(This, SizeInPixels, Facename) ->
                     wxGraphicsFont:wxGraphicsFont()

       createFont(This, Font, Facename :: [Option]) ->
                     wxGraphicsFont:wxGraphicsFont()

              Types:

                 This = wxGraphicsContext()
                 Font = wxFont:wxFont()
                 Option = {col, wx:wx_colour()}

              Creates a native graphics font from a wxFont and a text colour.

              Remark: For Direct2D graphics fonts can be created from TrueType fonts only.

       createFont(This, SizeInPixels, Facename, Options :: [Option]) ->
                     wxGraphicsFont:wxGraphicsFont()

              Types:

                 This = wxGraphicsContext()
                 SizeInPixels = number()
                 Facename = unicode:chardata()
                 Option = {flags, integer()} | {col, wx:wx_colour()}

              Creates a font object with the specified attributes.

              The use of overload taking wxFont is preferred, see wxGraphicsRenderer:createFont/4
              for more details.

              Remark: For Direct2D graphics fonts can be created from TrueType fonts only.

              Since: 2.9.3

       createMatrix(This) -> wxGraphicsMatrix:wxGraphicsMatrix()

              Types:

                 This = wxGraphicsContext()

       createMatrix(This, Options :: [Option]) ->
                       wxGraphicsMatrix:wxGraphicsMatrix()

              Types:

                 This = wxGraphicsContext()
                 Option =
                     {a, number()} |
                     {b, number()} |
                     {c, number()} |
                     {d, number()} |
                     {tx, number()} |
                     {ty, number()}

              Creates a native affine transformation matrix from the passed in values.

              The default parameters result in an identity matrix.

       createPath(This) -> wxGraphicsPath:wxGraphicsPath()

              Types:

                 This = wxGraphicsContext()

              Creates a native graphics path which is initially empty.

       clip(This, Region) -> ok

              Types:

                 This = wxGraphicsContext()
                 Region = wxRegion:wxRegion()

              Sets the clipping region to the intersection of the given region and the previously
              set clipping region.

              The clipping region is an area to which drawing is restricted.

              Remark:

       clip(This, X, Y, W, H) -> ok

              Types:

                 This = wxGraphicsContext()
                 X = Y = W = H = number()

              This  is  an  overloaded member function, provided for convenience. It differs from
              the above function only in what argument(s) it accepts.

       resetClip(This) -> ok

              Types:

                 This = wxGraphicsContext()

              Resets the clipping to original shape.

       drawBitmap(This, Bmp, X, Y, W, H) -> ok

              Types:

                 This = wxGraphicsContext()
                 Bmp = wxBitmap:wxBitmap()
                 X = Y = W = H = number()

              Draws the bitmap.

              In case of a mono bitmap, this is treated as a mask and the current brushed is used
              for filling.

       drawEllipse(This, X, Y, W, H) -> ok

              Types:

                 This = wxGraphicsContext()
                 X = Y = W = H = number()

              Draws an ellipse.

       drawIcon(This, Icon, X, Y, W, H) -> ok

              Types:

                 This = wxGraphicsContext()
                 Icon = wxIcon:wxIcon()
                 X = Y = W = H = number()

              Draws the icon.

       drawLines(This, Points) -> ok

              Types:

                 This = wxGraphicsContext()
                 Points = [{X :: float(), Y :: float()}]

       drawLines(This, Points, Options :: [Option]) -> ok

              Types:

                 This = wxGraphicsContext()
                 Points = [{X :: float(), Y :: float()}]
                 Option = {fillStyle, wx:wx_enum()}

              Draws a polygon.

       drawPath(This, Path) -> ok

              Types:

                 This = wxGraphicsContext()
                 Path = wxGraphicsPath:wxGraphicsPath()

       drawPath(This, Path, Options :: [Option]) -> ok

              Types:

                 This = wxGraphicsContext()
                 Path = wxGraphicsPath:wxGraphicsPath()
                 Option = {fillStyle, wx:wx_enum()}

              Draws the path by first filling and then stroking.

       drawRectangle(This, X, Y, W, H) -> ok

              Types:

                 This = wxGraphicsContext()
                 X = Y = W = H = number()

              Draws a rectangle.

       drawRoundedRectangle(This, X, Y, W, H, Radius) -> ok

              Types:

                 This = wxGraphicsContext()
                 X = Y = W = H = Radius = number()

              Draws a rounded rectangle.

       drawText(This, Str, X, Y) -> ok

              Types:

                 This = wxGraphicsContext()
                 Str = unicode:chardata()
                 X = Y = number()

              Draws text at the defined position.

       drawText(This, Str, X, Y, Angle) -> ok

       drawText(This, Str, X, Y, BackgroundBrush) -> ok

              Types:

                 This = wxGraphicsContext()
                 Str = unicode:chardata()
                 X = Y = number()
                 BackgroundBrush = wxGraphicsBrush:wxGraphicsBrush()

              Draws text at the defined position.

       drawText(This, Str, X, Y, Angle, BackgroundBrush) -> ok

              Types:

                 This = wxGraphicsContext()
                 Str = unicode:chardata()
                 X = Y = Angle = number()
                 BackgroundBrush = wxGraphicsBrush:wxGraphicsBrush()

              Draws text at the defined position.

       fillPath(This, Path) -> ok

              Types:

                 This = wxGraphicsContext()
                 Path = wxGraphicsPath:wxGraphicsPath()

       fillPath(This, Path, Options :: [Option]) -> ok

              Types:

                 This = wxGraphicsContext()
                 Path = wxGraphicsPath:wxGraphicsPath()
                 Option = {fillStyle, wx:wx_enum()}

              Fills the path with the current brush.

       strokePath(This, Path) -> ok

              Types:

                 This = wxGraphicsContext()
                 Path = wxGraphicsPath:wxGraphicsPath()

              Strokes along a path with the current pen.

       getPartialTextExtents(This, Text) -> [number()]

              Types:

                 This = wxGraphicsContext()
                 Text = unicode:chardata()

              Fills  the  widths  array  with  the  widths  from  the  beginning  of  text to the
              corresponding character of text.

       getTextExtent(This, Text) -> Result

              Types:

                 Result =
                     {Width :: number(),
                      Height :: number(),
                      Descent :: number(),
                      ExternalLeading :: number()}
                 This = wxGraphicsContext()
                 Text = unicode:chardata()

              Gets the dimensions of the string using the currently selected font.

       rotate(This, Angle) -> ok

              Types:

                 This = wxGraphicsContext()
                 Angle = number()

              Rotates the current transformation matrix (in radians).

       scale(This, XScale, YScale) -> ok

              Types:

                 This = wxGraphicsContext()
                 XScale = YScale = number()

              Scales the current transformation matrix.

       translate(This, Dx, Dy) -> ok

              Types:

                 This = wxGraphicsContext()
                 Dx = Dy = number()

              Translates the current transformation matrix.

       getTransform(This) -> wxGraphicsMatrix:wxGraphicsMatrix()

              Types:

                 This = wxGraphicsContext()

              Gets the current transformation matrix of this context.

       setTransform(This, Matrix) -> ok

              Types:

                 This = wxGraphicsContext()
                 Matrix = wxGraphicsMatrix:wxGraphicsMatrix()

              Sets the current transformation matrix of this context.

       concatTransform(This, Matrix) -> ok

              Types:

                 This = wxGraphicsContext()
                 Matrix = wxGraphicsMatrix:wxGraphicsMatrix()

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

       setBrush(This, Brush) -> ok

              Types:

                 This = wxGraphicsContext()
                 Brush = wxGraphicsBrush:wxGraphicsBrush() | wxBrush:wxBrush()

              Sets the brush for filling paths.

       setFont(This, Font) -> ok

              Types:

                 This = wxGraphicsContext()
                 Font = wxGraphicsFont:wxGraphicsFont()

              Sets the font for drawing text.

       setFont(This, Font, Colour) -> ok

              Types:

                 This = wxGraphicsContext()
                 Font = wxFont:wxFont()
                 Colour = wx:wx_colour()

              Sets the font for drawing text.

              Remark: For Direct2D only TrueType fonts can be used.

       setPen(This, Pen) -> ok

              Types:

                 This = wxGraphicsContext()
                 Pen = wxPen:wxPen() | wxGraphicsPen:wxGraphicsPen()

              Sets the pen used for stroking.

       strokeLine(This, X1, Y1, X2, Y2) -> ok

              Types:

                 This = wxGraphicsContext()
                 X1 = Y1 = X2 = Y2 = number()

              Strokes a single line.

       strokeLines(This, Points) -> ok

              Types:

                 This = wxGraphicsContext()
                 Points = [{X :: float(), Y :: float()}]

              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.