# <shape> (Rect / Path) — the exceptions are FillGlyph and DrawSurface
# A <code>Pattern </code> object that describes the source for filling/stroking# A <code>DrawOptions </code> object (alpha, comp-op, anti-aliasing, snapping etc.)
# Call-specific draw options
==== Paths ====
To draw paths, we create a <code>PathBuilder</code> for a DrawTarget using <code>CreatePathBuilder</code>. The <code>PathBuilder</code> has methods such as:
Finally, calling <code>Finish</code> returns a <code>Path</code> that can be used for drawing (e.g. with <code>Fill</code> or <code>Stroke</code>). After calling <code>Finish</code> the <code>PathBuilder</code> cannot be used again!
<div style="background=== Patterns ==== Patterns describe the pixels used as the source for a masked composition operation that is done by the different drawing commands. The different types of patterns are: #ffc">TODO: Write this part* <code>ColorPattern</code> — a solid color fill* <code>SurfacePattern</code> — a <code>SourceSurface</code> plus a repeat mode, transformation matrix, and resampling filter* <code>LinearGradientPattern</code>* <code>RadialGradientPattern</code> For linear and radial gradient patterns, the list of gradient stops is back-end specific. (These objects are all ''not'' ref-refcounted, but usually counted and may be allocated on the stack-based)</div>.
== Developing Moz2D ==