[][src]Trait harfbuzz_rs::HarfbuzzObject

pub unsafe trait HarfbuzzObject: Sized {
    type Raw;
    unsafe fn from_raw(val: *const Self::Raw) -> Self;
fn as_raw(&self) -> *mut Self::Raw;
unsafe fn reference(&self);
unsafe fn dereference(&self); }

A trait which is implemented for all harffbuzz wrapper structs. It exposes common functionality for converting from and to the underlying raw harfbuzz pointers that are useful for ffi.

This trait may only be implemented for structs that are zero-sized and is therefore unsafe to implement.

Associated Types

type Raw

Type of the raw harfbuzz object.

Loading content...

Required methods

unsafe fn from_raw(val: *const Self::Raw) -> Self

Creates a reference from a harfbuzz object pointer.

Unsafe because a raw pointer may be accessed. The reference count is not changed. Should not be called directly by a library user.

Use the Owned and Shared abstractions instead.

fn as_raw(&self) -> *mut Self::Raw

Returns the underlying harfbuzz object pointer.

The caller must ensure, that this pointer is not used after self's destruction.

unsafe fn reference(&self)

Increases the reference count of the HarfBuzz object.

Wraps a hb_TYPE_reference() call.

unsafe fn dereference(&self)

Decreases the reference count of the HarfBuzz object and destroys it if the reference count reaches zero.

Wraps a hb_TYPE_destroy() call.

Loading content...

Implementors

impl<'a> HarfbuzzObject for Blob<'a>[src]

type Raw = hb_blob_t

impl<'a> HarfbuzzObject for Face<'a>[src]

type Raw = hb_face_t

impl<'a> HarfbuzzObject for Font<'a>[src]

type Raw = hb_font_t

Loading content...