logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

wxGraphicsContext - Functions for wxGraphicsContext class

Data Types

wxGraphicsContext() = wx:wx_object()

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

Exports

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

              Creates a wxGraphicsContext from a wxWindow.

              See: wxGraphicsRenderer:createContext/2create()->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/2createPen(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()

               Createsanativebrushwitharadialgradient.Thebrushoriginatesat(@astartX,@astartY)andendsonacirclearound(@aendX,@aendY)withthegiven@aradius.Thegradientmaybespecifiedeitherbyitsstartandendcolours@aoColorand@acColororbyafullsetofgradient@astops.TheversiontakingwxGraphicsGradientStopsisnewinwxWidgets2.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()

               Createsanativebrushwithalineargradient.Thebrushstartsat(@ax1,@ay1)andendsat(@ax2,@ay2).Eitherjustthestartandendgradientcolours(@ac1and@ac2)orfullsetofgradient@astopscanbespecified.TheversiontakingwxGraphicsGradientStopsisnewinwxWidgets2.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)->okdrawText(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.

wxWidgets team.                                     wx 2.1.1                             wxGraphicsContext(3erl)

Name

       wxGraphicsContext - Functions for wxGraphicsContext class

See Also