Trait gdk4::prelude::SurfaceExtManual
source · 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