Cap
Cap copied to clipboard
Glyphon text rendering
This PR implements the text rendering part of #361. Related to #364.
This PR allows rendering text onto the video element using glyphon. In the code ProjectUniforms::new takes an extra parameter that when set to a string causes it to render on top (it's off by default so you will need to update the code to see it).
This can be used for captioning in the future.
This PR also upgrades to the latest wgpu.
I've extended the supported options to:
#[derive(Debug, Clone, Serialize, Deserialize, Type)]
pub struct Text {
pub x: f32,
pub y: f32,
pub text_color: Option<[u8; 3]>,
pub background_color: Option<Color>,
pub background_opacity: Option<f32>,
pub padding: Option<f32>,
pub font_size: Option<f32>,
pub line_height: Option<f32>,
pub content: String,
}
Known bugs:
- ~~The background has random extra padding above the text. I've got no idea whats causing this.~~ This would just be the configured line height 🤦
I suspect this will need to be extended with rounded corners in the future but that can be a separate PR.
🤯