pub struct RenderApi {
    api_sender: Sender<ApiMsg>,
    scene_sender: Sender<SceneBuilderRequest>,
    low_priority_scene_sender: Sender<SceneBuilderRequest>,
    namespace_id: IdNamespace,
    next_id: Cell<ResourceId>,
    resources: ApiResources,
}
Expand description

The main entry point to interact with WebRender.

Fields§

§api_sender: Sender<ApiMsg>§scene_sender: Sender<SceneBuilderRequest>§low_priority_scene_sender: Sender<SceneBuilderRequest>§namespace_id: IdNamespace§next_id: Cell<ResourceId>§resources: ApiResources

Implementations§

source§

impl RenderApi

source

pub fn get_namespace_id(&self) -> IdNamespace

Returns the namespace ID used by this API object.

source

pub fn create_sender(&self) -> RenderApiSender

source

pub fn add_document(&self, initial_size: DeviceIntSize) -> DocumentId

Add a document to the WebRender instance.

Instances can manage one or several documents (using the same render backend thread). Each document will internally correspond to a single scene, and scenes are made of one or several pipelines.

source

pub fn add_document_with_id( &self, initial_size: DeviceIntSize, id: u32 ) -> DocumentId

See add_document

source

pub fn delete_document(&self, document_id: DocumentId)

Delete a document.

source

pub fn generate_font_key(&self) -> FontKey

Generate a new font key

source

pub fn generate_font_instance_key(&self) -> FontInstanceKey

Generate a new font instance key

source

pub fn get_glyph_dimensions( &self, key: FontInstanceKey, glyph_indices: Vec<GlyphIndex> ) -> Vec<Option<GlyphDimensions>>

Gets the dimensions for the supplied glyph keys

Note: Internally, the internal texture cache doesn’t store ‘empty’ textures (height or width = 0) This means that glyph dimensions e.g. for spaces (’ ’) will mostly be None.

source

pub fn get_glyph_indices(&self, key: FontKey, text: &str) -> Vec<Option<u32>>

Gets the glyph indices for the supplied string. These can be used to construct GlyphKeys.

source

pub fn generate_image_key(&self) -> ImageKey

Creates an ImageKey.

source

pub fn generate_blob_image_key(&self) -> BlobImageKey

Creates a BlobImageKey.

source

pub fn send_external_event(&self, evt: ExternalEvent)

A Gecko-specific notification mechanism to get some code executed on the Renderer’s thread, mostly replaced by NotificationHandler. You should probably use the latter instead.

source

pub fn notify_memory_pressure(&self)

Notify WebRender that now is a good time to flush caches and release as much memory as possible.

source

pub fn report_memory(&self, _ops: MallocSizeOfOps) -> MemoryReport

Synchronously requests memory report.

source

pub fn set_debug_flags(&mut self, flags: DebugFlags)

Update debugging flags.

source

pub fn stop_render_backend(&self)

Stop RenderBackend’s task until shut down

source

pub fn shut_down(&self, synchronously: bool)

Shut the WebRender instance down.

source

pub fn generate_property_binding_key<T: Copy>(&self) -> PropertyBindingKey<T>

Create a new unique key that can be used for animated property bindings.

source

fn next_unique_id(&self) -> u32

source

fn frame_message( &self, msg: FrameMsg, document_id: DocumentId ) -> Box<TransactionMsg>

Creates a transaction message from a single frame message.

source

fn send_frame_msg(&self, document_id: DocumentId, msg: FrameMsg)

A helper method to send document messages.

source

pub fn send_transaction( &mut self, document_id: DocumentId, transaction: Transaction )

Send a transaction to WebRender.

source

pub fn hit_test( &self, document_id: DocumentId, pipeline_id: Option<PipelineId>, point: WorldPoint, flags: HitTestFlags ) -> HitTestResult

Does a hit test on display items in the specified document, at the given point. If a pipeline_id is specified, it is used to further restrict the hit results so that only items inside that pipeline are matched. The vector of hit results will contain all display items that match, ordered from front to back.

source

pub fn request_hit_tester(&self, document_id: DocumentId) -> HitTesterRequest

Synchronously request an object that can perform fast hit testing queries.

source

pub fn flush_scene_builder(&self)

Block until a round-trip to the scene builder thread has completed. This ensures that any transactions (including ones deferred to the scene builder thread) have been processed.

source

pub fn save_capture(&self, path: PathBuf, bits: CaptureBits)

Save a capture of the current frame state for debugging.

source

pub fn load_capture( &self, path: PathBuf, ids: Option<(u32, u32)> ) -> Vec<CapturedDocument>

Load a capture of the current frame state for debugging.

source

pub fn start_capture_sequence(&self, path: PathBuf, bits: CaptureBits)

Start capturing a sequence of frames.

source

pub fn stop_capture_sequence(&self)

Stop capturing sequences of frames.

source

pub fn send_debug_cmd(&self, cmd: DebugCommand)

Update the state of builtin debugging facilities.

source

pub fn set_parameter(&mut self, parameter: Parameter)

Update a instance-global parameter.

Trait Implementations§

source§

impl Drop for RenderApi

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. 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 Twhere 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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

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, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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.