[−][src]Struct cairo::SvgSurface
Implementations
impl SvgSurface[src]
pub unsafe fn from_raw_full(
ptr: *mut cairo_surface_t
) -> Result<SvgSurface, Error>[src]
ptr: *mut cairo_surface_t
) -> Result<SvgSurface, Error>
impl SvgSurface[src]
pub fn new<P: AsRef<Path>>(
width: f64,
height: f64,
path: Option<P>
) -> Result<SvgSurface, Error>[src]
width: f64,
height: f64,
path: Option<P>
) -> Result<SvgSurface, Error>
pub fn for_stream<W: Write + 'static>(
width: f64,
height: f64,
stream: W
) -> Result<Self, Error>[src]
width: f64,
height: f64,
stream: W
) -> Result<Self, Error>
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>[src]
width: f64,
height: f64,
stream: *mut W
) -> Result<Self, Error>
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::take_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 take_output_stream
is private, so you won’t be able to downcast it.
But removing it anyway ensures that later writes do no go through a dangling pointer.
pub fn get_versions() -> impl Iterator<Item = SvgVersion>[src]
pub fn restrict(&self, version: SvgVersion)[src]
pub fn set_document_unit(&mut self, unit: SvgUnit)[src]
pub fn get_document_unit(&self) -> SvgUnit[src]
Methods from Deref<Target = Surface>
pub fn to_raw_none(&self) -> *mut cairo_surface_t[src]
pub fn create_similar(
&self,
content: Content,
width: i32,
height: i32
) -> Result<Surface, Error>[src]
&self,
content: Content,
width: i32,
height: i32
) -> Result<Surface, Error>
pub fn create_for_rectangle(&self, bounds: Rectangle) -> Result<Surface, Error>[src]
pub fn get_mime_data(&self, mime_type: &str) -> Option<Vec<u8>>[src]
pub unsafe fn get_mime_data_raw(&self, mime_type: &str) -> Option<&[u8]>[src]
pub fn set_mime_data<T: AsRef<[u8]> + 'static>(
&self,
mime_type: &str,
slice: T
) -> Result<(), Error>[src]
&self,
mime_type: &str,
slice: T
) -> Result<(), Error>
pub fn supports_mime_type(&self, mime_type: &str) -> bool[src]
pub fn get_device(&self) -> Option<Device>[src]
pub fn set_device_offset(&self, x_offset: f64, y_offset: f64)[src]
pub fn get_device_offset(&self) -> (f64, f64)[src]
pub fn set_device_scale(&self, x_scale: f64, y_scale: f64)[src]
pub fn get_device_scale(&self) -> (f64, f64)[src]
pub fn set_fallback_resolution(
&self,
x_pixels_per_inch: f64,
y_pixels_per_inch: f64
)[src]
&self,
x_pixels_per_inch: f64,
y_pixels_per_inch: f64
)
pub fn get_fallback_resolution(&self) -> (f64, f64)[src]
pub fn create_similar_image(
&self,
format: Format,
width: i32,
height: i32
) -> Result<Surface, Error>[src]
&self,
format: Format,
width: i32,
height: i32
) -> Result<Surface, Error>
pub fn map_to_image(
&self,
extents: Option<RectangleInt>
) -> Result<MappedImageSurface, Error>[src]
&self,
extents: Option<RectangleInt>
) -> Result<MappedImageSurface, Error>
pub fn mark_dirty(&self)[src]
pub fn mark_dirty_rectangle(&self, x: i32, y: i32, width: i32, height: i32)[src]
pub fn set_user_data<T: 'static>(
&self,
key: &'static UserDataKey<T>,
value: Rc<T>
)[src]
&self,
key: &'static UserDataKey<T>,
value: Rc<T>
)
Attach user data to self for the given key.
pub fn get_user_data<T: 'static>(
&self,
key: &'static UserDataKey<T>
) -> Option<Rc<T>>[src]
&self,
key: &'static UserDataKey<T>
) -> Option<Rc<T>>
Return the user data previously attached to self with the given key, if any.
pub fn get_user_data_ptr<T: 'static>(
&self,
key: &'static UserDataKey<T>
) -> Option<NonNull<T>>[src]
&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.
pub fn remove_user_data<T: 'static>(&self, key: &'static UserDataKey<T>)[src]
Unattach from self the user data associated with key, if any.
If there is no other Rc strong reference, the data is destroyed.
pub fn finish_output_stream(&self) -> Result<Box<dyn Any>, StreamWithError>[src]
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 Clone for SvgSurface[src]
fn clone(&self) -> SvgSurface[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Debug for SvgSurface[src]
impl Deref for SvgSurface[src]
impl Display for SvgSurface[src]
impl FromGlibPtrBorrow<*mut cairo_surface_t> for SvgSurface[src]
unsafe fn from_glib_borrow(ptr: *mut cairo_surface_t) -> Borrowed<SvgSurface>[src]
impl FromGlibPtrFull<*mut cairo_surface_t> for SvgSurface[src]
unsafe fn from_glib_full(ptr: *mut cairo_surface_t) -> SvgSurface[src]
impl FromGlibPtrNone<*mut cairo_surface_t> for SvgSurface[src]
unsafe fn from_glib_none(ptr: *mut cairo_surface_t) -> SvgSurface[src]
impl<'a> FromValueOptional<'a> for SvgSurface[src]
unsafe fn from_value_optional(v: &'a Value) -> Option<Self>[src]
impl SetValue for SvgSurface[src]
impl SetValueOptional for SvgSurface[src]
unsafe fn set_value_optional(v: &mut Value, s: Option<&Self>)[src]
impl StaticType for SvgSurface[src]
fn static_type() -> Type[src]
impl<'a> ToGlibPtr<'a, *mut cairo_surface_t> for SvgSurface[src]
type Storage = &'a Surface
fn to_glib_none(&'a self) -> Stash<'a, *mut cairo_surface_t, Self>[src]
fn to_glib_full(&self) -> *mut cairo_surface_t[src]
fn to_glib_container(&'a self) -> Stash<'a, P, Self>[src]
impl TryFrom<Surface> for SvgSurface[src]
Auto Trait Implementations
impl RefUnwindSafe for SvgSurface
impl !Send for SvgSurface
impl !Sync for SvgSurface
impl Unpin for SvgSurface
impl UnwindSafe for SvgSurface
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T> ToSendValue for T where
T: ToValue + SetValue + Send + ?Sized, [src]
T: ToValue + SetValue + Send + ?Sized,
fn to_send_value(&self) -> SendValue[src]
impl<T> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
impl<T> ToValue for T where
T: SetValue + ?Sized, [src]
T: SetValue + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,