# Struct cairo::Context [−] [src]

    pub struct Context(_);

## Methods

### `impl Context`
[src]

#### `fn ensure_status(&self)`

#### `fn new<T: AsRef<Surface>>(target: &T) -> Context`

#### `fn status(&self) -> Status`

#### `fn save(&self)`

#### `fn restore(&self)`

#### `fn get_target(&self) -> Surface`

#### `fn push_group(&self)`

#### `fn pop_group(&self) -> Box<Pattern>`

#### `fn pop_group_to_source(&self)`

#### `fn get_group_target(&self) -> Surface`

#### `fn set_source_rgb(&self, red: f64, green: f64, blue: f64)`

#### `fn set_source_rgba(&self, red: f64, green: f64, blue: f64, alpha: f64)`

#### `fn set_source(&self, source: &Pattern)`

#### `fn get_source(&self) -> Box<Pattern>`

#### `fn set_source_surface<T: AsRef<Surface>>(&self, surface: &T, x: f64, y: f64)`

#### `fn set_antialias(&self, antialias: Antialias)`

#### `fn get_antialias(&self) -> Antialias`

#### `fn set_dash(&self, dashes: &[f64], offset: f64)`

#### `fn get_dash_count(&self) -> i32`

#### `fn get_dash(&self) -> (Vec<f64>, f64)`

#### `fn get_dash_dashes(&self) -> Vec<f64>`

#### `fn get_dash_offset(&self) -> f64`

#### `fn set_fill_rule(&self, fill_rule: FillRule)`

#### `fn get_fill_rule(&self) -> FillRule`

#### `fn set_line_cap(&self, arg: LineCap)`

#### `fn get_line_cap(&self) -> LineCap`

#### `fn set_line_join(&self, arg: LineJoin)`

#### `fn get_line_join(&self) -> LineJoin`

#### `fn set_line_width(&self, arg: f64)`

#### `fn get_line_width(&self) -> f64`

#### `fn set_miter_limit(&self, arg: f64)`

#### `fn get_miter_limit(&self) -> f64`

#### `fn set_operator(&self, op: Operator)`

#### `fn get_operator(&self) -> Operator`

#### `fn set_tolerance(&self, arg: f64)`

#### `fn get_tolerance(&self) -> f64`

#### `fn clip(&self)`

#### `fn clip_preserve(&self)`

#### `fn clip_extents(&self) -> (f64, f64, f64, f64)`

#### `fn in_clip(&self, x: f64, y: f64) -> bool`

#### `fn reset_clip(&self)`

#### `fn copy_clip_rectangle_list(&self) -> RectangleVec`

#### `fn fill(&self)`

#### `fn fill_preserve(&self)`

#### `fn fill_extents(&self) -> (f64, f64, f64, f64)`

#### `fn in_fill(&self, x: f64, y: f64) -> bool`

#### `fn mask(&self, pattern: &Pattern)`

#### `fn paint(&self)`

#### `fn paint_with_alpha(&self, alpha: f64)`

#### `fn stroke(&self)`

#### `fn stroke_preserve(&self)`

#### `fn stroke_extents(&self) -> (f64, f64, f64, f64)`

#### `fn in_stroke(&self, x: f64, y: f64) -> bool`

#### `fn copy_page(&self)`

#### `fn show_page(&self)`

#### `fn get_reference_count(&self) -> u32`

#### `fn translate(&self, tx: f64, ty: f64)`

#### `fn scale(&self, sx: f64, sy: f64)`

#### `fn rotate(&self, angle: f64)`

#### `fn transform(&self, matrix: Matrix)`

#### `fn set_matrix(&self, matrix: Matrix)`

#### `fn get_matrix(&self) -> Matrix`

#### `fn identity_matrix(&self)`

#### `fn user_to_device(&self, x: f64, y: f64) -> (f64, f64)`

#### `fn user_to_device_distance(&self, dx: f64, dy: f64) -> (f64, f64)`

#### `fn device_to_user(&self, x: f64, y: f64) -> (f64, f64)`

#### `fn device_to_user_distance(&self, dx: f64, dy: f64) -> (f64, f64)`

#### `fn select_font_face(&self, family: &str, slant: FontSlant, weight: FontWeight)`

#### `fn set_font_size(&self, size: f64)`

#### `fn set_font_matrix(&self, matrix: Matrix)`

#### `fn get_font_matrix(&self) -> Matrix`

#### `fn set_font_options(&self, options: &FontOptions)`

#### `fn get_font_options(&self) -> FontOptions`

#### `fn set_font_face(&self, font_face: FontFace)`

#### `fn get_font_face(&self) -> FontFace`

#### `fn set_scaled_font(&self, scaled_font: ScaledFont)`

#### `fn get_scaled_font(&self) -> ScaledFont`

#### `fn show_text(&self, text: &str)`

#### `fn show_glyphs(&self, glyphs: &[Glyph])`

#### `fn show_text_glyphs(
&self,
text: &str,
glyphs: &[Glyph],
clusters: &[TextCluster],
cluster_flags: TextClusterFlags
)`

#### `fn font_extents(&self) -> FontExtents`

#### `fn text_extents(&self, text: &str) -> TextExtents`

#### `fn glyph_extents(&self, glyphs: &[Glyph]) -> TextExtents`

#### `fn copy_path(&self) -> Path`

#### `fn copy_path_flat(&self) -> Path`

#### `fn append_path(&self, path: &Path)`

#### `fn has_current_point(&self) -> bool`

#### `fn get_current_point(&self) -> (f64, f64)`

#### `fn new_path(&self)`

#### `fn new_sub_path(&self)`

#### `fn close_path(&self)`

#### `fn arc(&self, xc: f64, yc: f64, radius: f64, angle1: f64, angle2: f64)`

#### `fn arc_negative(&self, xc: f64, yc: f64, radius: f64, angle1: f64, angle2: f64)`

#### `fn curve_to(&self, x1: f64, y1: f64, x2: f64, y2: f64, x3: f64, y3: f64)`

#### `fn line_to(&self, x: f64, y: f64)`

#### `fn move_to(&self, x: f64, y: f64)`

#### `fn rectangle(&self, x: f64, y: f64, width: f64, height: f64)`

#### `fn text_path(&self, str_: &str)`

#### `fn glyph_path(&self, glyphs: &[Glyph])`

#### `fn rel_curve_to(
&self,
dx1: f64,
dy1: f64,
dx2: f64,
dy2: f64,
dx3: f64,
dy3: f64
)`

#### `fn rel_line_to(&self, dx: f64, dy: f64)`

#### `fn rel_move_to(&self, dx: f64, dy: f64)`

## Trait Implementations

### `impl<'a> ToGlibPtr<'a, *mut cairo_t> for &'a Context`
[src]

#### `type Storage = &'a Context`

#### `fn to_glib_none(&self) -> Stash<'a, *mut cairo_t, &'a Context>`

Transfer: none. Read more

#### `fn to_glib_container(&'a self) -> Stash<'a, P, Self>`

Transfer: container. Read more

#### `fn to_glib_full(&self) -> P`

Transfer: full. Read more

### `impl FromGlibPtrNone<*mut cairo_t> for Context`
[src]

#### `unsafe fn from_glib_none(ptr: *mut cairo_t) -> Context`

### `impl FromGlibPtrFull<*mut cairo_t> for Context`
[src]

#### `unsafe fn from_glib_full(ptr: *mut cairo_t) -> Context`

### `impl AsRef<Context> for Context`
[src]

#### `fn as_ref(&self) -> &Context`

Performs the conversion.

### `impl Clone for Context`
[src]

#### `fn clone(&self) -> Context`

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`
1.0.0

Performs copy-assignment from `source`. Read more

### `impl Drop for Context`
[src]

#### `fn drop(&mut self)`

A method called when the value goes out of scope. Read more

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)