Introduce first-class text module in iced_native
This commit is contained in:
parent
0aafcde0ef
commit
b3a01973c6
16 changed files with 87 additions and 88 deletions
|
|
@ -2,12 +2,11 @@
|
|||
use crate::alignment;
|
||||
use crate::layout;
|
||||
use crate::renderer;
|
||||
use crate::text;
|
||||
use crate::{
|
||||
Color, Element, Hasher, Layout, Length, Point, Rectangle, Size, Widget,
|
||||
};
|
||||
|
||||
pub use iced_core::text::Hit;
|
||||
|
||||
use std::hash::Hash;
|
||||
|
||||
/// A paragraph of text.
|
||||
|
|
@ -24,7 +23,7 @@ use std::hash::Hash;
|
|||
///
|
||||
/// 
|
||||
#[derive(Debug)]
|
||||
pub struct Text<Renderer: renderer::Text> {
|
||||
pub struct Text<Renderer: text::Renderer> {
|
||||
content: String,
|
||||
size: Option<u16>,
|
||||
color: Option<Color>,
|
||||
|
|
@ -35,7 +34,7 @@ pub struct Text<Renderer: renderer::Text> {
|
|||
vertical_alignment: alignment::Vertical,
|
||||
}
|
||||
|
||||
impl<Renderer: renderer::Text> Text<Renderer> {
|
||||
impl<Renderer: text::Renderer> Text<Renderer> {
|
||||
/// Create a new fragment of [`Text`] with the given contents.
|
||||
pub fn new<T: Into<String>>(label: T) -> Self {
|
||||
Text {
|
||||
|
|
@ -103,7 +102,7 @@ impl<Renderer: renderer::Text> Text<Renderer> {
|
|||
|
||||
impl<Message, Renderer> Widget<Message, Renderer> for Text<Renderer>
|
||||
where
|
||||
Renderer: renderer::Text,
|
||||
Renderer: text::Renderer,
|
||||
{
|
||||
fn width(&self) -> Length {
|
||||
self.width
|
||||
|
|
@ -175,7 +174,7 @@ pub fn draw<Renderer>(
|
|||
horizontal_alignment: alignment::Horizontal,
|
||||
vertical_alignment: alignment::Vertical,
|
||||
) where
|
||||
Renderer: renderer::Text,
|
||||
Renderer: text::Renderer,
|
||||
{
|
||||
let bounds = layout.bounds();
|
||||
|
||||
|
|
@ -191,7 +190,7 @@ pub fn draw<Renderer>(
|
|||
alignment::Vertical::Bottom => bounds.y + bounds.height,
|
||||
};
|
||||
|
||||
renderer.fill_text(renderer::text::Section {
|
||||
renderer.fill_text(crate::text::Text {
|
||||
content,
|
||||
size: f32::from(size.unwrap_or(renderer.default_size())),
|
||||
bounds: Rectangle { x, y, ..bounds },
|
||||
|
|
@ -205,14 +204,14 @@ pub fn draw<Renderer>(
|
|||
impl<'a, Message, Renderer> From<Text<Renderer>>
|
||||
for Element<'a, Message, Renderer>
|
||||
where
|
||||
Renderer: renderer::Text + 'a,
|
||||
Renderer: text::Renderer + 'a,
|
||||
{
|
||||
fn from(text: Text<Renderer>) -> Element<'a, Message, Renderer> {
|
||||
Element::new(text)
|
||||
}
|
||||
}
|
||||
|
||||
impl<Renderer: renderer::Text> Clone for Text<Renderer> {
|
||||
impl<Renderer: text::Renderer> Clone for Text<Renderer> {
|
||||
fn clone(&self) -> Self {
|
||||
Self {
|
||||
content: self.content.clone(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue