pub struct D3d11TextLayerHandle { /* private fields */ }d3d11 only.Expand description
Dynamic text drawn into a super::D3d11VideoCompositor scene, obtained via
super::D3d11VideoCompositorHandle::add_text_layer — there’s no upstream
Pipeline branch feeding this input, only
D3d11TextLayerHandle::set_text calls. Not an
crate::element::Element — never wired into a Pipeline (no Sink,
no bus/topology identity). Named to match D3d11VideoLayerHandle’s
family, but it isn’t as thin as the rest of that family: every other
*Handle in this crate is a cheap, Clone-able Weak-backed proxy
over state it doesn’t own, whereas this one owns a real
device/font/frame-pool and does actual GPU work (rasterize + upload) on
every set_text call.
Deliberately doesn’t expose VideoRect/VideoFit the way
crate::elements::VideoLayer does: unlike video, whose input aspect
ratio is arbitrary and must be fit into a caller-chosen box, a
rasterized text bitmap’s pixel size is always known exactly the moment
its content is decided, so set_text computes and applies the layer’s
rect itself from that exact size every time the text changes.
Implementations§
Source§impl D3d11TextLayerHandle
impl D3d11TextLayerHandle
Sourcepub fn set_text(&self, text: &str) -> Result<(), D3d11TextLayerError>
pub fn set_text(&self, text: &str) -> Result<(), D3d11TextLayerError>
Rasterizes text and swaps it in as this layer’s frame, resizing
the layer’s rect to the new bitmap’s exact pixel size (keeping the
top-left position from the last Self::set_position/creation
call). Empty (or whitespace/control-only) text hides the layer
instead of drawing a zero-size frame.
Sourcepub fn set_position(&self, x: i32, y: i32) -> Result<(), D3d11TextLayerError>
pub fn set_position(&self, x: i32, y: i32) -> Result<(), D3d11TextLayerError>
Moves this layer’s top-left corner without touching its current
size (unaffected until the next Self::set_text call).