Struct cairo::PsSurface [−][src]
pub struct PsSurface(_);Implementations
ps or dox only.ps or dox only.ps or dox only.This is supported on crate features ps or dox only.
ps or dox only.Takes full ownership of the output stream,
which is not allowed to borrow any lifetime shorter than 'static.
Because the underlying cairo_surface_t is reference-counted,
a lifetime parameter in a Rust wrapper type would not be enough to track
how long it can keep writing to the stream.
pub unsafe fn for_raw_stream<W: Write + 'static>(
width: f64,
height: f64,
stream: *mut W
) -> Result<Self, Error>
This is supported on crate features ps or dox only.
pub unsafe fn for_raw_stream<W: Write + 'static>(
width: f64,
height: f64,
stream: *mut W
) -> Result<Self, Error>
ps or dox only.Allows writing to a borrowed stream. The lifetime of the borrow is not tracked.
Safety
The value that stream points to must live at least until the underlying cairo_surface_t
(which maybe be longer then the Rust PdfSurface wrapper, because of reference-counting),
or until the output stream is removed from the surface with Surface::finish_output_stream.
Since the former is hard to track for sure, the latter is strongly recommended.
The concrete type behind the Box<dyn Any> value returned by finish_output_stream
is private, so you won’t be able to downcast it.
But removing it anyway ensures that later writes do not go through a dangling pointer.
ps or dox only.ps or dox only.ps or dox only.ps or dox only.ps or dox only.ps or dox only.ps or dox only.ps 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 PsSurface
This is supported on crate feature use_glib only.
impl FromGlibPtrBorrow<*mut cairo_surface_t> for PsSurface
use_glib only.Safety Read more
impl FromGlibPtrFull<*mut cairo_surface_t> for PsSurface
This is supported on crate feature use_glib only.
impl FromGlibPtrFull<*mut cairo_surface_t> for PsSurface
use_glib only.Safety Read more
impl FromGlibPtrNone<*mut cairo_surface_t> for PsSurface
This is supported on crate feature use_glib only.
impl FromGlibPtrNone<*mut cairo_surface_t> for PsSurface
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 PsSurface
This is supported on crate feature use_glib only.
impl<'a> ToGlibPtr<'a, *mut cairo_surface_t> for PsSurface
use_glib only.Convert an Option to a Value.
Auto Trait Implementations
impl RefUnwindSafe for PsSurface
impl UnwindSafe for PsSurface
Blanket Implementations
Mutably borrows from an owned value. Read more
Returns a SendValue clone of self.