Struct cairo::Surface

source ·
pub struct Surface(/* private fields */);

Implementations§

source§

impl Surface

source

pub unsafe fn from_raw_none(ptr: *mut cairo_surface_t) -> Surface

source

pub unsafe fn from_raw_borrow(ptr: *mut cairo_surface_t) -> Borrowed<Surface>

source

pub unsafe fn from_raw_full(ptr: *mut cairo_surface_t) -> Result<Surface, Error>

source

pub fn to_raw_none(&self) -> *mut cairo_surface_t

source

pub fn create_similar( &self, content: Content, width: i32, height: i32, ) -> Result<Surface, Error>

source

pub fn create_for_rectangle(&self, bounds: Rectangle) -> Result<Surface, Error>

source

pub fn mime_data(&self, mime_type: &str) -> Option<Vec<u8>>

source

pub unsafe fn mime_data_raw(&self, mime_type: &str) -> Option<&[u8]>

source

pub fn set_mime_data<T: AsRef<[u8]> + 'static>( &self, mime_type: &str, slice: T, ) -> Result<(), Error>

source

pub fn supports_mime_type(&self, mime_type: &str) -> bool

source

pub fn device(&self) -> Option<Device>

source

pub fn content(&self) -> Content

source

pub fn set_device_offset(&self, x_offset: f64, y_offset: f64)

source

pub fn device_offset(&self) -> (f64, f64)

source

pub fn set_device_scale(&self, x_scale: f64, y_scale: f64)

source

pub fn device_scale(&self) -> (f64, f64)

source

pub fn set_fallback_resolution( &self, x_pixels_per_inch: f64, y_pixels_per_inch: f64, )

source

pub fn fallback_resolution(&self) -> (f64, f64)

source

pub fn create_similar_image( &self, format: Format, width: i32, height: i32, ) -> Result<ImageSurface, Error>

source

pub fn map_to_image( &self, extents: Option<RectangleInt>, ) -> Result<MappedImageSurface, Error>

source

pub fn mark_dirty(&self)

source

pub fn mark_dirty_rectangle(&self, x: i32, y: i32, width: i32, height: i32)

source

pub fn status(&self) -> Result<(), Error>

source

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.

source

pub fn user_data<T: 'static>( &self, key: &'static UserDataKey<T>, ) -> Option<Rc<T>>

Return the user data previously attached to self with the given key, if any.

source

pub fn user_data_ptr<T: 'static>( &self, key: &'static UserDataKey<T>, ) -> Option<NonNull<T>>

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.

source

pub fn remove_user_data<T: 'static>( &self, key: &'static UserDataKey<T>, ) -> Result<(), Error>

Unattached from self the user data associated with key, if any. If there is no other Rc strong reference, the data is destroyed.

source§

impl Surface

source

pub fn flush(&self)

source

pub fn finish(&self)

source

pub fn type_(&self) -> SurfaceType

source§

impl Surface

source

pub fn write_to_png<W: Write>(&self, stream: &mut W) -> Result<(), IoError>

This function writes the surface as a PNG image to the given stream.

If the underlying surface does not support being written as a PNG, this will return Error::SurfaceTypeMismatch

source§

impl Surface

source

pub fn finish_output_stream(&self) -> Result<Box<dyn Any>, StreamWithError>

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 crate::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§

source§

impl AsRef<Surface> for ImageSurface

source§

fn as_ref(&self) -> &Surface

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Surface> for PdfSurface

source§

fn as_ref(&self) -> &Surface

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Surface> for PsSurface

source§

fn as_ref(&self) -> &Surface

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Surface> for RecordingSurface

source§

fn as_ref(&self) -> &Surface

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Surface> for Surface

source§

fn as_ref(&self) -> &Surface

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Surface> for SvgSurface

source§

fn as_ref(&self) -> &Surface

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<Surface> for XCBSurface

source§

fn as_ref(&self) -> &Surface

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for Surface

source§

fn clone(&self) -> Surface

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Surface

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Drop for Surface

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl From<Surface> for Value

source§

fn from(v: Surface) -> Self

Converts to this type from the input type.
source§

impl FromGlibPtrBorrow<*mut cairo_surface_t> for Surface

source§

impl FromGlibPtrFull<*mut cairo_surface_t> for Surface

source§

impl FromGlibPtrNone<*mut cairo_surface_t> for Surface

source§

impl<'a> FromValue<'a> for &'a Surface

§

type Checker = GenericValueTypeOrNoneChecker<&'a Surface>

Value type checker.
source§

unsafe fn from_value(value: &'a Value) -> Self

Get the contained value from a Value. Read more
source§

impl<'a> FromValue<'a> for Surface

§

type Checker = GenericValueTypeOrNoneChecker<Surface>

Value type checker.
source§

unsafe fn from_value(value: &'a Value) -> Self

Get the contained value from a Value. Read more
source§

impl IntoGlibPtr<*mut cairo_surface_t> for Surface

source§

unsafe fn into_glib_ptr(self) -> *mut cairo_surface_t

Transfer: full.
source§

impl StaticType for Surface

source§

fn static_type() -> Type

Returns the type identifier of Self.
source§

impl<'a> ToGlibPtr<'a, *mut cairo_surface_t> for Surface

§

type Storage = PhantomData<&'a Surface>

source§

fn to_glib_none(&'a self) -> Stash<'a, *mut cairo_surface_t, Self>

Transfer: none. Read more
source§

fn to_glib_full(&self) -> *mut cairo_surface_t

Transfer: full. Read more
source§

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

Transfer: container. Read more
source§

impl ToValue for Surface

source§

fn to_value(&self) -> Value

Convert a value to a Value.
source§

fn value_type(&self) -> Type

Returns the type identifier of self. Read more
source§

impl ToValueOptional for Surface

source§

fn to_value_optional(s: Option<&Self>) -> Value

Convert an Option to a Value.
source§

impl TryFrom<Surface> for ImageSurface

§

type Error = Surface

The type returned in the event of a conversion error.
source§

fn try_from(surface: Surface) -> Result<ImageSurface, Surface>

Performs the conversion.
source§

impl TryFrom<Surface> for PdfSurface

§

type Error = Surface

The type returned in the event of a conversion error.
source§

fn try_from(surface: Surface) -> Result<PdfSurface, Surface>

Performs the conversion.
source§

impl TryFrom<Surface> for PsSurface

§

type Error = Surface

The type returned in the event of a conversion error.
source§

fn try_from(surface: Surface) -> Result<PsSurface, Surface>

Performs the conversion.
source§

impl TryFrom<Surface> for RecordingSurface

§

type Error = Surface

The type returned in the event of a conversion error.
source§

fn try_from(surface: Surface) -> Result<RecordingSurface, Surface>

Performs the conversion.
source§

impl TryFrom<Surface> for SvgSurface

§

type Error = Surface

The type returned in the event of a conversion error.
source§

fn try_from(surface: Surface) -> Result<SvgSurface, Surface>

Performs the conversion.
source§

impl TryFrom<Surface> for XCBSurface

§

type Error = Surface

The type returned in the event of a conversion error.
source§

fn try_from(surface: Surface) -> Result<XCBSurface, Surface>

Performs the conversion.
source§

impl ValueType for Surface

§

type Type = Surface

Type to get the Type from. Read more
source§

impl ValueTypeOptional for Surface

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoClosureReturnValue for T
where T: Into<Value>,

source§

impl<T> StaticTypeExt for T
where T: StaticType,

source§

fn ensure_type()

Ensures that the type has been registered with the type system.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T> TryFromClosureReturnValue for T
where T: for<'a> FromValue<'a> + StaticType + 'static,

source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<'a, T, C, E> FromValueOptional<'a> for T
where T: FromValue<'a, Checker = C>, C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError<E>>, E: Error + Send + 'static,