pub trait SurfaceExtManual: 'static {
    // Required methods
    fn create_similar_surface(
        &self,
        content: Content,
        width: i32,
        height: i32
    ) -> Surface;
    fn translate_coordinates(&self, to: &Surface, x: f64, y: f64) -> bool;
}
Expand description

Trait containing manually implemented methods of Surface.

Required Methods§

source

fn create_similar_surface( &self, content: Content, width: i32, height: i32 ) -> Surface

Create a new Cairo surface that is as compatible as possible with the given @self.

For example the new surface will have the same fallback resolution and font options as @self. Generally, the new surface will also use the same backend as @self, unless that is not possible for some reason. The type of the returned surface may be examined with cairo_surface_get_type().

Initially the surface contents are all 0 (transparent if contents have transparency, black otherwise.)

This function always returns a valid pointer, but it will return a pointer to a “nil” surface if @other is already in an error state or any other error occurs.

content

the content for the new surface

width

width of the new surface

height

height of the new surface

Returns

a pointer to the newly allocated surface. The caller owns the surface and should call cairo_surface_destroy() when done with it.

source

fn translate_coordinates(&self, to: &Surface, x: f64, y: f64) -> bool

Translates coordinates between two surfaces.

Note that this only works if @to and @self are popups or transient-for to the same toplevel (directly or indirectly).

to

the target surface

x

coordinates to translate

y

coordinates to translate

Returns

true if the coordinates were successfully translated

Implementors§