API Reference / @gtkx/cairo / Context
Class: Context
Defined in: context.d.ts:14
A cairo drawing context (cairo_t): the object every drawing operation goes through, holding the current path, source, transformation, clip and font state for one target surface. GTK hands one to draw callbacks and snapshots, and new Context(surface) creates one for offscreen drawing.
Constructors
Constructor
new Context(
target):Context
Defined in: context.d.ts:20
Creates a context drawing onto target, throwing when it cannot be created, such as on a finished surface.
Parameters
target
Returns
Context
Properties
__type__
__type__:
bigint
Defined in: context.d.ts:18
GType of CairoContext, the boxed type this class is registered under.
Methods
appendPath()
appendPath(
data):void
Defined in: context.d.ts:220
Appends segments, as returned by copyPath, to the current path.
Parameters
data
PathData[]
Returns
void
arc()
arc(
xc,yc,radius,angle1,angle2):void
Defined in: context.d.ts:34
Adds a circular arc centred on (xc, yc), drawn clockwise from angle1 to angle2.
Parameters
xc
number
yc
number
radius
number
angle1
number
angle2
number
Returns
void
arcNegative()
arcNegative(
xc,yc,radius,angle1,angle2):void
Defined in: context.d.ts:36
Adds a circular arc centred on (xc, yc), drawn counter-clockwise from angle1 to angle2.
Parameters
xc
number
yc
number
radius
number
angle1
number
angle2
number
Returns
void
clip()
clip():
void
Defined in: context.d.ts:58
Intersects the clip with the current path and clears the path.
Returns
void
clipExtents()
clipExtents():
Extents
Defined in: context.d.ts:152
Returns the bounding box of the current clip.
Returns
clipPreserve()
clipPreserve():
void
Defined in: context.d.ts:60
Intersects the clip with the current path and keeps the path.
Returns
void
closePath()
closePath():
void
Defined in: context.d.ts:40
Closes the current sub-path with a line back to its start.
Returns
void
copyClipRectangleList()
copyClipRectangleList():
RectangleData[]
Defined in: context.d.ts:162
Returns the current clip as a list of rectangles in user space.
Returns
copyPage()
copyPage():
void
Defined in: context.d.ts:136
Emits the current page without clearing it, on surfaces that support pages.
Returns
void
copyPath()
copyPath():
PathData[]
Defined in: context.d.ts:216
Returns a copy of the current path as segments.
Returns
PathData[]
copyPathFlat()
copyPathFlat():
PathData[]
Defined in: context.d.ts:218
Returns a copy of the current path with curves flattened into line segments.
Returns
PathData[]
curveTo()
curveTo(
x1,y1,x2,y2,x3,y3):void
Defined in: context.d.ts:32
Adds a cubic Bézier curve from the current point through two control points to (x3, y3).
Parameters
x1
number
y1
number
x2
number
y2
number
x3
number
y3
number
Returns
void
deviceToUser()
deviceToUser(
x,y):Point
Defined in: context.d.ts:180
Maps a point from device space to user space.
Parameters
x
number
y
number
Returns
deviceToUserDistance()
deviceToUserDistance(
dx,dy):Distance
Defined in: context.d.ts:182
Maps a distance from device space to user space, ignoring translation.
Parameters
dx
number
dy
number
Returns
fill()
fill():
void
Defined in: context.d.ts:50
Fills the current path with the current fill rule and clears it.
Returns
void
fillExtents()
fillExtents():
Extents
Defined in: context.d.ts:150
Returns the bounding box a fill of the current path would cover.
Returns
fillPreserve()
fillPreserve():
void
Defined in: context.d.ts:52
Fills the current path and keeps it.
Returns
void
fontExtents()
fontExtents():
FontExtents
Defined in: context.d.ts:124
Returns the metrics of the current font.
Returns
getAntialias()
getAntialias():
Antialias
Defined in: context.d.ts:132
Returns the antialiasing mode.
Returns
getCurrentPoint()
getCurrentPoint():
Point|null
Defined in: context.d.ts:144
Returns the current point of the path, or null when there is none.
Returns
Point | null
getDash()
getDash():
DashPattern
Defined in: context.d.ts:86
Returns the dash pattern and its offset.
Returns
getDashCount()
getDashCount():
number
Defined in: context.d.ts:84
Returns how many lengths the dash pattern has, zero for a solid line.
Returns
number
getFillRule()
getFillRule():
FillRule
Defined in: context.d.ts:98
Returns the fill rule.
Returns
getFontFace()
getFontFace():
FontFace
Defined in: context.d.ts:200
Returns the current font face, wrapped as its concrete class.
Returns
getFontMatrix()
getFontMatrix():
Matrix
Defined in: context.d.ts:204
Returns the matrix mapping font space to user space.
Returns
getFontOptions()
getFontOptions():
FontOptions
Defined in: context.d.ts:128
Returns a copy of the font rendering options set on the context.
Returns
getGroupTarget()
getGroupTarget():
Surface
Defined in: context.d.ts:196
Returns the surface drawing currently goes to: the group surface inside a group, else the target.
Returns
getLineCap()
getLineCap():
LineCap
Defined in: context.d.ts:76
Returns how the ends of stroked lines are drawn.
Returns
getLineJoin()
getLineJoin():
LineJoin
Defined in: context.d.ts:80
Returns how the corners of stroked lines are joined.
Returns
getLineWidth()
getLineWidth():
number
Defined in: context.d.ts:72
Returns the width of stroked lines.
Returns
number
getMatrix()
getMatrix():
Matrix
Defined in: context.d.ts:170
Returns the transformation from user space to device space.
Returns
getMiterLimit()
getMiterLimit():
number
Defined in: context.d.ts:90
Returns the miter limit.
Returns
number
getOperator()
getOperator():
Operator
Defined in: context.d.ts:112
Returns the compositing operator.
Returns
getReferenceCount()
getReferenceCount():
number
Defined in: context.d.ts:186
Returns the reference count of the underlying cairo_t.
Returns
number
getScaledFont()
getScaledFont():
ScaledFont
Defined in: context.d.ts:208
Returns the scaled font text operations currently use.
Returns
getSource()
getSource():
Pattern
Defined in: context.d.ts:146
Returns the current source pattern, wrapped as its concrete class.
Returns
getTarget()
getTarget():
Surface
Defined in: context.d.ts:138
Returns the surface the context was created for, wrapped as its concrete class.
Returns
getTolerance()
getTolerance():
number
Defined in: context.d.ts:94
Returns the tolerance used when curves are flattened.
Returns
number
glyphExtents()
glyphExtents(
glyphs):TextExtents
Defined in: context.d.ts:214
Measures positioned glyphs with the current font.
Parameters
glyphs
Returns
glyphPath()
glyphPath(
glyphs):void
Defined in: context.d.ts:212
Adds the outlines of positioned glyphs to the current path.
Parameters
glyphs
Returns
void
hasCurrentPoint()
hasCurrentPoint():
boolean
Defined in: context.d.ts:142
Returns whether the path has a current point.
Returns
boolean
identityMatrix()
identityMatrix():
void
Defined in: context.d.ts:174
Resets the transformation to the identity.
Returns
void
inClip()
inClip(
x,y):boolean
Defined in: context.d.ts:160
Returns whether (x, y) lies inside the current clip.
Parameters
x
number
y
number
Returns
boolean
inFill()
inFill(
x,y):boolean
Defined in: context.d.ts:158
Returns whether (x, y) lies inside the area a fill of the current path would cover.
Parameters
x
number
y
number
Returns
boolean
inStroke()
inStroke(
x,y):boolean
Defined in: context.d.ts:156
Returns whether (x, y) lies inside the area a stroke of the current path would cover.
Parameters
x
number
y
number
Returns
boolean
lineTo()
lineTo(
x,y):void
Defined in: context.d.ts:24
Adds a straight line from the current point to (x, y).
Parameters
x
number
y
number
Returns
void
mask()
mask(
pattern):void
Defined in: context.d.ts:164
Paints the current source using the alpha channel of pattern as a mask.
Parameters
pattern
Returns
void
maskSurface()
maskSurface(
surface,x,y):void
Defined in: context.d.ts:166
Paints the current source using the alpha channel of surface, placed at (x, y), as a mask.
Parameters
surface
x
number
y
number
Returns
void
moveTo()
moveTo(
x,y):void
Defined in: context.d.ts:22
Begins a new sub-path at (x, y), which becomes the current point.
Parameters
x
number
y
number
Returns
void
newPath()
newPath():
void
Defined in: context.d.ts:42
Clears the current path.
Returns
void
newSubPath()
newSubPath():
void
Defined in: context.d.ts:44
Begins a new sub-path without a current point, so the next arc needs no leading moveTo.
Returns
void
paint()
paint():
void
Defined in: context.d.ts:54
Paints the current source everywhere inside the clip.
Returns
void
paintWithAlpha()
paintWithAlpha(
alpha):void
Defined in: context.d.ts:56
Paints the current source everywhere inside the clip, faded by alpha.
Parameters
alpha
number
Returns
void
pathExtents()
pathExtents():
Extents
Defined in: context.d.ts:154
Returns the bounding box of the current path.
Returns
popGroup()
popGroup():
Pattern
Defined in: context.d.ts:192
Ends the current group and returns what was drawn into it as a pattern.
Returns
popGroupToSource()
popGroupToSource():
void
Defined in: context.d.ts:194
Ends the current group and installs what was drawn into it as the source.
Returns
void
pushGroup()
pushGroup():
void
Defined in: context.d.ts:188
Redirects drawing to an intermediate surface until popGroup or popGroupToSource.
Returns
void
pushGroupWithContent()
pushGroupWithContent(
content):void
Defined in: context.d.ts:190
Redirects drawing to an intermediate surface of the given content.
Parameters
content
Returns
void
rectangle()
rectangle(
x,y,width,height):void
Defined in: context.d.ts:38
Adds a closed rectangular sub-path.
Parameters
x
number
y
number
width
number
height
number
Returns
void
relCurveTo()
relCurveTo(
dx1,dy1,dx2,dy2,dx3,dy3):void
Defined in: context.d.ts:30
Adds a cubic Bézier curve whose control points and end point are offsets from the current point.
Parameters
dx1
number
dy1
number
dx2
number
dy2
number
dx3
number
dy3
number
Returns
void
relLineTo()
relLineTo(
dx,dy):void
Defined in: context.d.ts:28
Adds a straight line from the current point to the point offset by (dx, dy).
Parameters
dx
number
dy
number
Returns
void
relMoveTo()
relMoveTo(
dx,dy):void
Defined in: context.d.ts:26
Begins a new sub-path offset from the current point by (dx, dy).
Parameters
dx
number
dy
number
Returns
void
resetClip()
resetClip():
void
Defined in: context.d.ts:62
Removes the clip, so drawing reaches the whole surface again.
Returns
void
restore()
restore():
void
Defined in: context.d.ts:102
Restores the drawing state saved by the matching save.
Returns
void
rotate()
rotate(
angle):void
Defined in: context.d.ts:108
Rotates user space by angle radians.
Parameters
angle
number
Returns
void
save()
save():
void
Defined in: context.d.ts:100
Pushes the current drawing state (source, transformation, clip, line and font settings) onto a stack.
Returns
void
scale()
scale(
sx,sy):void
Defined in: context.d.ts:106
Scales user space by sx and sy.
Parameters
sx
number
sy
number
Returns
void
selectFontFace()
selectFontFace(
family,slant,weight):void
Defined in: context.d.ts:114
Selects a toy font face by family name, slant and weight.
Parameters
family
string
slant
weight
Returns
void
setAntialias()
setAntialias(
antialias):void
Defined in: context.d.ts:130
Sets the antialiasing mode of the rasterizer.
Parameters
antialias
Returns
void
setDash()
setDash(
dashes,offset):void
Defined in: context.d.ts:82
Sets the dash pattern of strokes as alternating on and off lengths; an empty list draws solid lines.
Parameters
dashes
number[]
offset
number
Returns
void
setFillRule()
setFillRule(
fillRule):void
Defined in: context.d.ts:96
Sets the rule deciding which areas a self-intersecting path fills.
Parameters
fillRule
Returns
void
setFontFace()
setFontFace(
fontFace):void
Defined in: context.d.ts:198
Sets the font face used by text operations.
Parameters
fontFace
Returns
void
setFontMatrix()
setFontMatrix(
matrix):void
Defined in: context.d.ts:202
Sets the matrix mapping font space to user space, which sizes and shapes the glyphs.
Parameters
matrix
Returns
void
setFontOptions()
setFontOptions(
options):void
Defined in: context.d.ts:126
Sets the font rendering options merged over the surface's defaults.
Parameters
options
Returns
void
setFontSize()
setFontSize(
size):void
Defined in: context.d.ts:116
Sets the font size in user space, replacing the font matrix with a uniform scale.
Parameters
size
number
Returns
void
setLineCap()
setLineCap(
lineCap):void
Defined in: context.d.ts:74
Sets how the ends of stroked lines are drawn.
Parameters
lineCap
Returns
void
setLineJoin()
setLineJoin(
lineJoin):void
Defined in: context.d.ts:78
Sets how the corners of stroked lines are joined.
Parameters
lineJoin
Returns
void
setLineWidth()
setLineWidth(
width):void
Defined in: context.d.ts:70
Sets the width of stroked lines in user space.
Parameters
width
number
Returns
void
setMatrix()
setMatrix(
matrix):void
Defined in: context.d.ts:168
Replaces the transformation from user space to device space.
Parameters
matrix
Returns
void
setMiterLimit()
setMiterLimit(
limit):void
Defined in: context.d.ts:88
Sets the miter limit above which a mitered join is drawn beveled.
Parameters
limit
number
Returns
void
setOperator()
setOperator(
op):void
Defined in: context.d.ts:110
Sets the compositing operator used by drawing operations.
Parameters
op
Returns
void
setScaledFont()
setScaledFont(
scaledFont):void
Defined in: context.d.ts:206
Replaces the font face, font matrix and font options with those of scaledFont.
Parameters
scaledFont
Returns
void
setSource()
setSource(
pattern):void
Defined in: context.d.ts:68
Sets the source pattern drawing operations paint with.
Parameters
pattern
Returns
void
setSourceRgb()
setSourceRgb(
red,green,blue):void
Defined in: context.d.ts:64
Sets the source to an opaque color with components in the 0 to 1 range.
Parameters
red
number
green
number
blue
number
Returns
void
setSourceRgba()
setSourceRgba(
red,green,blue,alpha):void
Defined in: context.d.ts:66
Sets the source to a translucent color with components in the 0 to 1 range.
Parameters
red
number
green
number
blue
number
alpha
number
Returns
void
setSourceSurface()
setSourceSurface(
surface,x,y):void
Defined in: context.d.ts:140
Sets the source to surface placed with its origin at (x, y) in user space.
Parameters
surface
x
number
y
number
Returns
void
setTolerance()
setTolerance(
tolerance):void
Defined in: context.d.ts:92
Sets the tolerance used when curves are flattened into line segments.
Parameters
tolerance
number
Returns
void
showGlyphs()
showGlyphs(
glyphs):void
Defined in: context.d.ts:210
Draws positioned glyphs with the current font.
Parameters
glyphs
Returns
void
showPage()
showPage():
void
Defined in: context.d.ts:134
Emits the current page and clears it, on surfaces that support pages.
Returns
void
showText()
showText(
text):void
Defined in: context.d.ts:118
Draws text with the current font at the current point.
Parameters
text
string
Returns
void
showTextGlyphs()
showTextGlyphs(
text,glyphs,clusters,clusterFlags):void
Defined in: context.d.ts:226
Draws glyphs together with the text and clusters they came from, so the backend can keep the text.
Parameters
text
string
glyphs
clusters
clusterFlags
1
Returns
void
status()
status():
Status
Defined in: context.d.ts:184
Returns the error status of the context, Status.SUCCESS while every operation so far succeeded.
Returns
stroke()
stroke():
void
Defined in: context.d.ts:46
Strokes the current path with the current line settings and clears it.
Returns
void
strokeExtents()
strokeExtents():
Extents
Defined in: context.d.ts:148
Returns the bounding box a stroke of the current path would cover.
Returns
strokePreserve()
strokePreserve():
void
Defined in: context.d.ts:48
Strokes the current path and keeps it.
Returns
void
tagBegin()
tagBegin(
tagName,attributes):void
Defined in: context.d.ts:222
Opens a tagged structure, such as a link or a destination, on surfaces that record tags.
Parameters
tagName
string
attributes
string
Returns
void
tagEnd()
tagEnd(
tagName):void
Defined in: context.d.ts:224
Closes the tagged structure opened by the matching tagBegin.
Parameters
tagName
string
Returns
void
textExtents()
textExtents(
text):TextExtents
Defined in: context.d.ts:122
Measures text with the current font.
Parameters
text
string
Returns
textPath()
textPath(
text):void
Defined in: context.d.ts:120
Adds the outlines of text to the current path.
Parameters
text
string
Returns
void
transform()
transform(
matrix):void
Defined in: context.d.ts:172
Applies matrix before the existing transformation.
Parameters
matrix
Returns
void
translate()
translate(
tx,ty):void
Defined in: context.d.ts:104
Moves the user-space origin by (tx, ty).
Parameters
tx
number
ty
number
Returns
void
userToDevice()
userToDevice(
x,y):Point
Defined in: context.d.ts:176
Maps a point from user space to device space.
Parameters
x
number
y
number
Returns
userToDeviceDistance()
userToDeviceDistance(
dx,dy):Distance
Defined in: context.d.ts:178
Maps a distance from user space to device space, ignoring translation.
Parameters
dx
number
dy
number
Returns
create()
staticcreate(target):Context
Defined in: context.d.ts:16
Creates a context drawing onto target, the same as new Context(target).
Parameters
target
Returns
Context