pub trait SurfaceExtManual:
Sealed
+ IsA<Surface>
+ 'static {
// Provided 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
.
Provided Methods§
Sourcefn create_similar_surface(
&self,
content: Content,
width: i32,
height: i32,
) -> Surface
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.
§Deprecated since 4.12
Create a suitable cairo image surface yourself
§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.
Sourcefn translate_coordinates(&self, to: &Surface, x: f64, y: f64) -> bool
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
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.