Struct wgpu_text::BrushBuilder
source · #[non_exhaustive]pub struct BrushBuilder<F, H = DefaultSectionHasher> { /* private fields */ }
Expand description
Builder for TextBrush
.
Implementations§
source§impl BrushBuilder<()>
impl BrushBuilder<()>
sourcepub fn using_font<F: Font>(font: F) -> BrushBuilder<F>
pub fn using_font<F: Font>(font: F) -> BrushBuilder<F>
Creates a BrushBuilder
with Font
.
sourcepub fn using_font_bytes(
data: &[u8]
) -> Result<BrushBuilder<FontRef<'_>>, InvalidFont>
pub fn using_font_bytes( data: &[u8] ) -> Result<BrushBuilder<FontRef<'_>>, InvalidFont>
Creates a BrushBuilder
with font byte data.
sourcepub fn using_font_bytes_vec(
data: &[u8]
) -> Result<BrushBuilder<FontRef<'_>>, InvalidFont>
pub fn using_font_bytes_vec( data: &[u8] ) -> Result<BrushBuilder<FontRef<'_>>, InvalidFont>
Creates a BrushBuilder
with multiple fonts byte data.
sourcepub fn using_fonts<F: Font>(fonts: Vec<F>) -> BrushBuilder<F>
pub fn using_fonts<F: Font>(fonts: Vec<F>) -> BrushBuilder<F>
Creates a BrushBuilder
with multiple Font
.
source§impl<F, H> BrushBuilder<F, H>where
F: Font,
H: BuildHasher,
impl<F, H> BrushBuilder<F, H>where
F: Font,
H: BuildHasher,
sourcepub fn add_font(&mut self, font_data: F) -> FontId
pub fn add_font(&mut self, font_data: F) -> FontId
Adds additional fonts to the one added in using_font
.
Returns a FontId
to reference this font.
sourcepub fn initial_cache_size(self, size: (u32, u32)) -> Self
pub fn initial_cache_size(self, size: (u32, u32)) -> Self
Initial size of 2D texture used as a gpu cache, pixels (width, height). The GPU cache will dynamically quadruple in size whenever the current size is insufficient.
Defaults to (256, 256)
sourcepub fn draw_cache_scale_tolerance(self, tolerance: f32) -> Self
pub fn draw_cache_scale_tolerance(self, tolerance: f32) -> Self
Sets the maximum allowed difference in scale used for judging whether to reuse an existing glyph in the GPU cache.
Defaults to 0.5
See docs for glyph_brush_draw_cache::DrawCache
sourcepub fn draw_cache_position_tolerance(self, tolerance: f32) -> Self
pub fn draw_cache_position_tolerance(self, tolerance: f32) -> Self
Sets the maximum allowed difference in subpixel position used for judging whether to reuse an existing glyph in the GPU cache. Anything greater than or equal to 1.0 means “don’t care”.
Defaults to 0.1
See docs for glyph_brush_draw_cache::DrawCache
sourcepub fn draw_cache_align_4x4(self, b: bool) -> Self
pub fn draw_cache_align_4x4(self, b: bool) -> Self
Align glyphs in texture cache to 4x4 texel boundaries.
If your backend requires texture updates to be aligned to 4x4 texel
boundaries (e.g. WebGL), this should be set to true
.
Defaults to false
See docs for glyph_brush_draw_cache::DrawCache
sourcepub fn cache_glyph_positioning(self, cache: bool) -> Self
pub fn cache_glyph_positioning(self, cache: bool) -> Self
Sets whether perform the calculation of glyph positioning according to the layout
every time, or use a cached result if the input Section
and GlyphPositioner
are the
same hash as a previous call.
Improves performance. Should only disable if using a custom GlyphPositioner that is
impure according to it’s inputs, so caching a previous call is not desired. Disabling
also disables cache_redraws
.
Defaults to true
sourcepub fn cache_redraws(self, cache: bool) -> Self
pub fn cache_redraws(self, cache: bool) -> Self
Sets optimising drawing by reusing the last draw requesting an identical draw queue.
Improves performance. Is disabled if
cache_glyph_positioning
is disabled.
Defaults to true
sourcepub fn with_matrix<M>(self, matrix: M) -> Self
pub fn with_matrix<M>(self, matrix: M) -> Self
Uses the provided matrix
when rendering.
To update the render matrix use TextBrush::update_matrix()
.
sourcepub fn with_multisample(self, multisample: MultisampleState) -> Self
pub fn with_multisample(self, multisample: MultisampleState) -> Self
Provide the wgpu::MultisampleState
used by the inner pipeline.
Defaults to value returned by wgpu::MultisampleState::default()
.
sourcepub fn with_multiview(self, multiview: NonZeroU32) -> Self
pub fn with_multiview(self, multiview: NonZeroU32) -> Self
Provide the multiview
attribute used by the inner pipeline.
Defaults to None
.
sourcepub fn with_depth_stencil(
self,
depth_stencil: Option<DepthStencilState>
) -> BrushBuilder<F, H>
pub fn with_depth_stencil( self, depth_stencil: Option<DepthStencilState> ) -> BrushBuilder<F, H>
Provide the depth_stencil if you are planning to utilize depth testing.
For each section, depth can be set by modifying the z coordinate
(glyph_brush::OwnedText::with_z()
).
z
coordinate should be in range
[0.0, 1.0] not including 1.0.
sourcepub fn build(
self,
device: &Device,
render_width: u32,
render_height: u32,
render_format: TextureFormat
) -> TextBrush<F, H>
pub fn build( self, device: &Device, render_width: u32, render_height: u32, render_format: TextureFormat ) -> TextBrush<F, H>
Builds a TextBrush
while consuming BrushBuilder
, for later drawing text
onto a texture of the specified render_width
, render_height
and wgpu::TextureFormat
.
If you are drawing a basic UI, you’d most likely want to be using
wgpu::SurfaceConfiguration
’s dimensions and texture format.
Auto Trait Implementations§
impl<F, H> Freeze for BrushBuilder<F, H>where
H: Freeze,
impl<F, H> RefUnwindSafe for BrushBuilder<F, H>where
H: RefUnwindSafe,
F: RefUnwindSafe,
impl<F, H> Send for BrushBuilder<F, H>
impl<F, H> Sync for BrushBuilder<F, H>
impl<F, H> Unpin for BrushBuilder<F, H>
impl<F, H> UnwindSafe for BrushBuilder<F, H>where
H: UnwindSafe,
F: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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