(@uref{mit-scheme-ref/Graphics.html,, here}).
@end ifhtml
With the Gtk option loaded and running on a display,
-@bref{enumerate-graphics-types} will include the symbol @code{gtk}.
+@code{enumerate-graphics-types} will include the symbol @code{gtk}.
A graphics device for Gtk is created by passing the symbol
@code{gtk} as the graphics device type name to
-@bref{make-graphics-device}:
+@code{make-graphics-device}:
@example
(make-graphics-device 'gtk #!optional @var{width} @var{height} @var{no-window?})
@deffn Procedure gtk-graphics/draw-text device x y string
Draws @var{string} at (@var{x}, @var{y}). This was intended to
-implement the @bref{graphics-draw-text} operation (upright, left to
+implement the @code{graphics-draw-text} operation (upright, left to
right, at @var{x}) but it may be drawing text at @var{y}, not
@var{y}-baseline.
@end deffn
the X and Y user-space axes by @var{sx} and @var{sy} respectively.
@end deffn
+@anchor{cairo-move-to}
+@deffn Procedure cairo-move-to cairo x y
+Begin a new sub-path. After this call @var{cairo}'s current point
+will be (@var{x}, @var{y}).
+@end deffn
+
+@anchor{cairo-new-sub-path}
+@deffn Procedure cairo-new-sub-path cairo
+Begins a new sub-path. Note that @var{cairo}'s existing path is not
+affected. After this call there will be no current point.
+
+In many cases, this call is not needed since new sub-paths are
+frequently started with @bref{cairo-move-to}.
+
+A call to @bref{cairo-new-sub-path} is particularly useful when
+beginning a new sub-path with one of the @bref{cairo-arc} calls. This
+makes things easier as it is no longer necessary to manually compute
+the arc's initial coordinates for a call to @bref{cairo-move-to}.
+@end deffn
+
+@anchor{cairo-arc}
@deffn Procedure cairo-arc cairo x y radius start end
Adds a circular arc to the current path. The arc is centered at
(@var{x}, @var{y}), has @var{radius}, begins at @var{start} and
created using @bref{cairo-matrix}.
@end deffn
+@anchor{cairo-matrix}
@deffn Procedure cairo-matrix xx yx x0 xy yy y0
Creates a Cairo transformation matrix. A point @code{(x,y)} is
transformed by this matrix into @code{(xx * x + xy * y + x0, yx * x +
Creates a Cairo image surface @var{width}x@var{height} pixels.
@end deffn
+@anchor{cairo-surface-write-to-png}
+@deffn Procedure cairo-surface-write-to-png surface filename
+Writes @var{surface} to a new file @var{filename} as a PNG image.
+@end deffn
+
+@anchor{cairo-surface-flush}
@deffn Procedure cairo-surface-flush surface
Does any pending drawing for @var{surface}. Also restores any
temporary modifications Cairo has made to the surface's state.
@end deffn
+@anchor{cairo-surface-destroy}
@deffn Procedure cairo-surface-destroy surface
De-references a cairo @var{surface} object. Further operations on
@var{surface} will produce an error.
@bref{cairo-pattern-add-color-stop}.
@end deffn
+@anchor{cairo-pattern-add-color-stop}
@deffn Procedure cairo-pattern-add-color-stop pattern offset color
Adds a color stop to a gradient @var{pattern}. @var{Offset} specifies
the location along the gradient's control vector. @var{Color} should
@var{pattern} will produce an error.
@end deffn
-@node Gtk Adjustment, Gtk Widget, Cairo Patter, API Reference
+@node Gtk Adjustment, Gtk Widget, Cairo Pattern, API Reference
@section Gtk Adjustment
@deffn Class <gtk-adjustment>
A fix-ink rendered by a Cairo image surface.
+@anchor{<surface-ink>}
@deffn Class <surface-ink>
A direct subclass of fix-ink.
@end deffn