pub struct XCBSurface(/* private fields */);
xcb
only.Implementations§
Source§impl XCBSurface
impl XCBSurface
pub unsafe fn from_raw_full( ptr: *mut cairo_surface_t, ) -> Result<XCBSurface, Error>
pub unsafe fn from_raw_none( ptr: *mut cairo_surface_t, ) -> Result<XCBSurface, Error>
Source§impl XCBSurface
impl XCBSurface
pub fn create( connection: &XCBConnection, drawable: &XCBDrawable, visual: &XCBVisualType, width: i32, height: i32, ) -> Result<Self, Error>
pub fn create_for_bitmap( connection: &XCBConnection, screen: &XCBScreen, bitmap: &XCBPixmap, width: i32, height: i32, ) -> Result<Self, Error>
pub fn create_with_xrender_format( connection: &XCBConnection, screen: &XCBScreen, bitmap: &XCBPixmap, format: &XCBRenderPictFormInfo, width: i32, height: i32, ) -> Result<Self, Error>
pub fn set_size(&self, width: i32, height: i32) -> Result<(), Error>
pub fn set_drawable( &self, drawable: &XCBDrawable, width: i32, height: i32, ) -> Result<(), Error>
Methods from Deref<Target = Surface>§
pub fn to_raw_none(&self) -> *mut cairo_surface_t
pub fn create_similar( &self, content: Content, width: i32, height: i32, ) -> Result<Surface, Error>
pub fn create_for_rectangle(&self, bounds: Rectangle) -> Result<Surface, Error>
pub fn mime_data(&self, mime_type: &str) -> Option<Vec<u8>>
pub unsafe fn mime_data_raw(&self, mime_type: &str) -> Option<&[u8]>
pub fn set_mime_data<T: AsRef<[u8]> + 'static>( &self, mime_type: &str, slice: T, ) -> Result<(), Error>
pub fn supports_mime_type(&self, mime_type: &str) -> bool
pub fn device(&self) -> Option<Device>
pub fn content(&self) -> Content
pub fn set_device_offset(&self, x_offset: f64, y_offset: f64)
pub fn device_offset(&self) -> (f64, f64)
pub fn set_device_scale(&self, x_scale: f64, y_scale: f64)
pub fn device_scale(&self) -> (f64, f64)
pub fn set_fallback_resolution( &self, x_pixels_per_inch: f64, y_pixels_per_inch: f64, )
pub fn fallback_resolution(&self) -> (f64, f64)
pub fn create_similar_image( &self, format: Format, width: i32, height: i32, ) -> Result<ImageSurface, Error>
pub fn map_to_image( &self, extents: Option<RectangleInt>, ) -> Result<MappedImageSurface, Error>
pub fn mark_dirty(&self)
pub fn mark_dirty_rectangle(&self, x: i32, y: i32, width: i32, height: i32)
pub fn status(&self) -> Result<(), Error>
Sourcepub 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
.
Sourcepub fn user_data<T: 'static>(
&self,
key: &'static UserDataKey<T>,
) -> Option<Rc<T>>
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.
Sourcepub fn user_data_ptr<T: 'static>(
&self,
key: &'static UserDataKey<T>,
) -> Option<NonNull<T>>
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.
Sourcepub fn remove_user_data<T: 'static>(
&self,
key: &'static UserDataKey<T>,
) -> Result<(), Error>
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.
pub fn flush(&self)
pub fn finish(&self)
pub fn type_(&self) -> SurfaceType
Sourcepub fn write_to_png<W: Write>(&self, stream: &mut W) -> Result<(), IoError>
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
Sourcepub fn finish_output_stream(&self) -> Result<Box<dyn Any>, StreamWithError>
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
impl AsRef<Surface> for XCBSurface
Source§impl Clone for XCBSurface
impl Clone for XCBSurface
Source§fn clone(&self) -> XCBSurface
fn clone(&self) -> XCBSurface
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for XCBSurface
impl Debug for XCBSurface
Source§impl Deref for XCBSurface
impl Deref for XCBSurface
Source§impl From<XCBSurface> for Value
impl From<XCBSurface> for Value
Source§fn from(v: XCBSurface) -> Self
fn from(v: XCBSurface) -> Self
Source§impl FromGlibPtrBorrow<*mut cairo_surface_t> for XCBSurface
impl FromGlibPtrBorrow<*mut cairo_surface_t> for XCBSurface
Source§unsafe fn from_glib_borrow(ptr: *mut cairo_surface_t) -> Borrowed<XCBSurface>
unsafe fn from_glib_borrow(ptr: *mut cairo_surface_t) -> Borrowed<XCBSurface>
Source§impl FromGlibPtrFull<*mut cairo_surface_t> for XCBSurface
impl FromGlibPtrFull<*mut cairo_surface_t> for XCBSurface
Source§unsafe fn from_glib_full(ptr: *mut cairo_surface_t) -> XCBSurface
unsafe fn from_glib_full(ptr: *mut cairo_surface_t) -> XCBSurface
Source§impl FromGlibPtrNone<*mut cairo_surface_t> for XCBSurface
impl FromGlibPtrNone<*mut cairo_surface_t> for XCBSurface
Source§unsafe fn from_glib_none(ptr: *mut cairo_surface_t) -> XCBSurface
unsafe fn from_glib_none(ptr: *mut cairo_surface_t) -> XCBSurface
Source§impl<'a> FromValue<'a> for &'a XCBSurface
impl<'a> FromValue<'a> for &'a XCBSurface
Source§type Checker = GenericValueTypeOrNoneChecker<&'a XCBSurface>
type Checker = GenericValueTypeOrNoneChecker<&'a XCBSurface>
Source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Value
. Read moreSource§impl<'a> FromValue<'a> for XCBSurface
impl<'a> FromValue<'a> for XCBSurface
Source§type Checker = GenericValueTypeOrNoneChecker<XCBSurface>
type Checker = GenericValueTypeOrNoneChecker<XCBSurface>
Source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Value
. Read moreSource§impl IntoGlibPtr<*mut cairo_surface_t> for XCBSurface
impl IntoGlibPtr<*mut cairo_surface_t> for XCBSurface
Source§unsafe fn into_glib_ptr(self) -> *mut cairo_surface_t
unsafe fn into_glib_ptr(self) -> *mut cairo_surface_t
Source§impl StaticType for XCBSurface
impl StaticType for XCBSurface
Source§fn static_type() -> Type
fn static_type() -> Type
Self
.Source§impl<'a> ToGlibPtr<'a, *mut cairo_surface_t> for XCBSurface
impl<'a> ToGlibPtr<'a, *mut cairo_surface_t> for XCBSurface
type Storage = PhantomData<&'a Surface>
Source§fn to_glib_none(&'a self) -> Stash<'a, *mut cairo_surface_t, Self>
fn to_glib_none(&'a self) -> Stash<'a, *mut cairo_surface_t, Self>
Source§fn to_glib_full(&self) -> *mut cairo_surface_t
fn to_glib_full(&self) -> *mut cairo_surface_t
Source§fn to_glib_container(&'a self) -> Stash<'a, P, Self>
fn to_glib_container(&'a self) -> Stash<'a, P, Self>
Source§impl ToValue for XCBSurface
impl ToValue for XCBSurface
Source§impl ToValueOptional for XCBSurface
impl ToValueOptional for XCBSurface
Source§fn to_value_optional(s: Option<&Self>) -> Value
fn to_value_optional(s: Option<&Self>) -> Value
Option
to a Value
.Source§impl TryFrom<Surface> for XCBSurface
impl TryFrom<Surface> for XCBSurface
Source§impl ValueType for XCBSurface
impl ValueType for XCBSurface
Source§type Type = XCBSurface
type Type = XCBSurface
Type
from. Read moreimpl ValueTypeOptional for XCBSurface
Auto Trait Implementations§
impl Freeze for XCBSurface
impl RefUnwindSafe for XCBSurface
impl !Send for XCBSurface
impl !Sync for XCBSurface
impl Unpin for XCBSurface
impl UnwindSafe for XCBSurface
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)