cairo

Struct XCBSurface

Source
pub struct XCBSurface(/* private fields */);
Available on crate feature xcb only.

Implementations§

Source§

impl XCBSurface

Source§

impl XCBSurface

Source

pub fn create( connection: &XCBConnection, drawable: &XCBDrawable, visual: &XCBVisualType, width: i32, height: i32, ) -> Result<Self, Error>

Source

pub fn create_for_bitmap( connection: &XCBConnection, screen: &XCBScreen, bitmap: &XCBPixmap, width: i32, height: i32, ) -> Result<Self, Error>

Source

pub fn create_with_xrender_format( connection: &XCBConnection, screen: &XCBScreen, bitmap: &XCBPixmap, format: &XCBRenderPictFormInfo, width: i32, height: i32, ) -> Result<Self, Error>

Source

pub fn set_size(&self, width: i32, height: i32) -> Result<(), Error>

Source

pub fn set_drawable( &self, drawable: &XCBDrawable, width: i32, height: i32, ) -> Result<(), Error>

Methods from Deref<Target = Surface>§

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

pub fn flush(&self)

Source

pub fn finish(&self)

Source

pub fn type_(&self) -> SurfaceType

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

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 XCBSurface

Source§

fn as_ref(&self) -> &Surface

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

impl Clone for XCBSurface

Source§

fn clone(&self) -> XCBSurface

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 XCBSurface

Source§

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

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

impl Deref for XCBSurface

Source§

type Target = Surface

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Surface

Dereferences the value.
Source§

impl From<XCBSurface> for Value

Source§

fn from(v: XCBSurface) -> Self

Converts to this type from the input type.
Source§

impl FromGlibPtrBorrow<*mut cairo_surface_t> for XCBSurface

Source§

impl FromGlibPtrFull<*mut cairo_surface_t> for XCBSurface

Source§

impl FromGlibPtrNone<*mut cairo_surface_t> for XCBSurface

Source§

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

Source§

type Checker = GenericValueTypeOrNoneChecker<&'a XCBSurface>

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 XCBSurface

Source§

type Checker = GenericValueTypeOrNoneChecker<XCBSurface>

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 XCBSurface

Source§

unsafe fn into_glib_ptr(self) -> *mut cairo_surface_t

Transfer: full.
Source§

impl StaticType for XCBSurface

Source§

fn static_type() -> Type

Returns the type identifier of Self.
Source§

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

Source§

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 XCBSurface

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 XCBSurface

Source§

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

Convert an Option to a Value.
Source§

impl TryFrom<Surface> for XCBSurface

Source§

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 XCBSurface

Source§

type Type = XCBSurface

Type to get the Type from. Read more
Source§

impl ValueTypeOptional for XCBSurface

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§

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,

Source§

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>,

Source§

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>,

Source§

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,