Struct cairo::ImageSurface [−][src]
pub struct ImageSurface(_);Implementations
Creates an image surface for the provided pixel data.
- The pointer
datais the beginning of the underlying slice, and at leastwidth * stridesucceeding bytes should be allocated. datamust live longer than any reference to the returned surface.- You have to free
databy yourself.
png or dox only.png or dox only.Methods from Deref<Target = Surface>
pub fn set_mime_data<T: AsRef<[u8]> + 'static>(
&self,
mime_type: &str,
slice: T
) -> Result<(), Error>
pub fn create_similar_image(
&self,
format: Format,
width: i32,
height: i32
) -> Result<Surface, Error>
pub fn map_to_image(
&self,
extents: Option<RectangleInt>
) -> Result<MappedImageSurface, Error>
pub fn set_user_data<T: 'static>(
&self,
key: &'static UserDataKey<T>,
value: Rc<T>
) -> Result<(), Error>
pub fn set_user_data<T: 'static>(
&self,
key: &'static UserDataKey<T>,
value: Rc<T>
) -> Result<(), Error>
Attach user data to self for the given key.
Return the user data previously attached to self with the given key, if any.
Return the user data previously attached to self with the given key, if any,
without incrementing the reference count.
The pointer is valid when it is returned from this method,
until the cairo object that self represents is destroyed
or remove_user_data or set_user_data is called with the same key.
Unattached from self the user data associated with key, if any.
If there is no other Rc strong reference, the data is destroyed.
This is supported on crate features pdf or svg or ps or dox only.
pdf or svg or ps or dox only.Finish the surface, then remove and return the output stream if any.
This calls Surface::finish, to make sure pending writes are done.
This is relevant for surfaces created for example with [PdfSurface::for_stream].
Use Box::downcast to recover the concrete stream type.
Panics
This method panics if:
- This method was already called for this surface, or
- This surface was not created with an output stream in the first place, or
- A previous write to this surface panicked, or
- A previous write happened while another write was ongoing, or
- A write is ongoing now.
The latter two cases can only occur with a pathological output stream type
that accesses the same surface again from Write::write_all.
Trait Implementations
impl FromGlibPtrBorrow<*mut cairo_surface_t> for ImageSurface
This is supported on crate feature use_glib only.
impl FromGlibPtrBorrow<*mut cairo_surface_t> for ImageSurface
use_glib only.Safety Read more
impl FromGlibPtrFull<*mut cairo_surface_t> for ImageSurface
This is supported on crate feature use_glib only.
impl FromGlibPtrFull<*mut cairo_surface_t> for ImageSurface
use_glib only.Safety Read more
impl FromGlibPtrNone<*mut cairo_surface_t> for ImageSurface
This is supported on crate feature use_glib only.
impl FromGlibPtrNone<*mut cairo_surface_t> for ImageSurface
use_glib only.Safety Read more
type Checker = GenericValueTypeOrNoneChecker<Self>
type Checker = GenericValueTypeOrNoneChecker<Self>
Value type checker.
Get the contained value from a Value. Read more
Returns the type identifier of Self.
impl<'a> ToGlibPtr<'a, *mut cairo_surface_t> for ImageSurface
This is supported on crate feature use_glib only.
impl<'a> ToGlibPtr<'a, *mut cairo_surface_t> for ImageSurface
use_glib only.Convert an Option to a Value.
Auto Trait Implementations
impl RefUnwindSafe for ImageSurface
impl !Send for ImageSurface
impl !Sync for ImageSurface
impl Unpin for ImageSurface
impl UnwindSafe for ImageSurface
Blanket Implementations
Mutably borrows from an owned value. Read more
Returns a SendValue clone of self.