diff options
| author | 2023-09-10 00:34:21 +0200 | |
|---|---|---|
| committer | 2023-09-10 00:34:21 +0200 | |
| commit | b8e5693a3089d728b4f8d4b3b0b7197202ebd732 (patch) | |
| tree | 79a9f84f9920525657fbe03d53ce33bab09053d7 /graphics | |
| parent | 956512338905bac0b156fdaf16fe3c3e07e97a84 (diff) | |
| parent | a3489e4af960388e9f73988b88df361022a654a4 (diff) | |
| download | iced-b8e5693a3089d728b4f8d4b3b0b7197202ebd732.tar.gz iced-b8e5693a3089d728b4f8d4b3b0b7197202ebd732.tar.bz2 iced-b8e5693a3089d728b4f8d4b3b0b7197202ebd732.zip | |
Merge branch 'master' into explicit-text-caching
Diffstat (limited to '')
| -rw-r--r-- | graphics/Cargo.toml | 86 | ||||
| -rw-r--r-- | graphics/src/compositor.rs | 2 | ||||
| -rw-r--r-- | graphics/src/geometry.rs | 4 | ||||
| -rw-r--r-- | graphics/src/geometry/fill.rs | 4 | ||||
| -rw-r--r-- | graphics/src/geometry/stroke.rs | 4 | ||||
| -rw-r--r-- | graphics/src/gradient.rs | 11 | ||||
| -rw-r--r-- | graphics/src/lib.rs | 5 | ||||
| -rw-r--r-- | graphics/src/mesh.rs | 2 | ||||
| -rw-r--r-- | graphics/src/text/cache.rs | 5 | 
9 files changed, 58 insertions, 65 deletions
| diff --git a/graphics/Cargo.toml b/graphics/Cargo.toml index 6fc6ab00..ff698649 100644 --- a/graphics/Cargo.toml +++ b/graphics/Cargo.toml @@ -1,14 +1,18 @@  [package]  name = "iced_graphics" -version = "0.9.0" -authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"] -edition = "2021" -description = "A bunch of backend-agnostic types that can be leveraged to build a renderer for Iced" -license = "MIT" -repository = "https://github.com/iced-rs/iced" -documentation = "https://docs.rs/iced_graphics" -keywords = ["gui", "ui", "graphics", "interface", "widgets"] -categories = ["gui"] +description = "A bunch of backend-agnostic types that can be leveraged to build a renderer for iced" +version.workspace = true +edition.workspace = true +authors.workspace = true +license.workspace = true +repository.workspace = true +homepage.workspace = true +categories.workspace = true +keywords.workspace = true + +[package.metadata.docs.rs] +rustdoc-args = ["--cfg", "docsrs"] +all-features = true  [features]  geometry = ["lyon_path"] @@ -17,43 +21,29 @@ image = ["dep:image", "kamadak-exif"]  web-colors = []  [dependencies] -glam = "0.24" -half = "2.2.1" -log = "0.4" -raw-window-handle = "0.5" -thiserror = "1.0" -bitflags = "1.2" -cosmic-text = "0.9" -rustc-hash = "1.1" - -[dependencies.bytemuck] -version = "1.4" -features = ["derive"] - -[dependencies.iced_core] -version = "0.10" -path = "../core" - -[dependencies.twox-hash] -version = "1.6" -default-features = false - -[target.'cfg(not(target_arch = "wasm32"))'.dependencies.twox-hash] -version = "1.6.1" -features = ["std"] - -[dependencies.image] -version = "0.24" -optional = true - -[dependencies.kamadak-exif] -version = "0.5" -optional = true - -[dependencies.lyon_path] -version = "1" -optional = true +iced_core.workspace = true -[package.metadata.docs.rs] -rustdoc-args = ["--cfg", "docsrs"] -all-features = true +bitflags.workspace = true +bytemuck.workspace = true +glam.workspace = true +half.workspace = true +log.workspace = true +raw-window-handle.workspace = true +thiserror.workspace = true +cosmic-text.workspace = true +rustc-hash.workspace = true + +lyon_path.workspace = true +lyon_path.optional = true + +image.workspace = true +image.optional = true + +kamadak-exif.workspace = true +kamadak-exif.optional = true + +twox-hash.workspace = true + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] +twox-hash.workspace = true +twox-hash.features = ["std"] diff --git a/graphics/src/compositor.rs b/graphics/src/compositor.rs index f7b86045..7173ffa7 100644 --- a/graphics/src/compositor.rs +++ b/graphics/src/compositor.rs @@ -63,7 +63,7 @@ pub trait Compositor: Sized {      /// Screenshots the current [`Renderer`] primitives to an offscreen texture, and returns the bytes of      /// the texture ordered as `RGBA` in the sRGB color space.      /// -    /// [`Renderer`]: Self::Renderer; +    /// [`Renderer`]: Self::Renderer      fn screenshot<T: AsRef<str>>(          &mut self,          renderer: &mut Self::Renderer, diff --git a/graphics/src/geometry.rs b/graphics/src/geometry.rs index 7cd3dd3a..d7d6a0aa 100644 --- a/graphics/src/geometry.rs +++ b/graphics/src/geometry.rs @@ -14,11 +14,11 @@ pub use text::Text;  pub use crate::gradient::{self, Gradient}; -/// A renderer capable of drawing some [`Geometry`]. +/// A renderer capable of drawing some [`Self::Geometry`].  pub trait Renderer: crate::core::Renderer {      /// The kind of geometry this renderer can draw.      type Geometry; -    /// Draws the given layers of [`Geometry`]. +    /// Draws the given layers of [`Self::Geometry`].      fn draw(&mut self, layers: Vec<Self::Geometry>);  } diff --git a/graphics/src/geometry/fill.rs b/graphics/src/geometry/fill.rs index b773c99b..670fbc12 100644 --- a/graphics/src/geometry/fill.rs +++ b/graphics/src/geometry/fill.rs @@ -1,4 +1,6 @@ -//! Fill [crate::widget::canvas::Geometry] with a certain style. +//! Fill [`Geometry`] with a certain style. +//! +//! [`Geometry`]: super::Renderer::Geometry  pub use crate::geometry::Style;  use crate::core::Color; diff --git a/graphics/src/geometry/stroke.rs b/graphics/src/geometry/stroke.rs index 69a76e1c..aff49ab3 100644 --- a/graphics/src/geometry/stroke.rs +++ b/graphics/src/geometry/stroke.rs @@ -1,4 +1,6 @@ -//! Create lines from a [crate::widget::canvas::Path] and assigns them various attributes/styles. +//! Create lines from a [`Path`] and assigns them various attributes/styles. +//! +//! [`Path`]: super::Path  pub use crate::geometry::Style;  use iced_core::Color; diff --git a/graphics/src/gradient.rs b/graphics/src/gradient.rs index 4db565d8..b274ec86 100644 --- a/graphics/src/gradient.rs +++ b/graphics/src/gradient.rs @@ -1,8 +1,6 @@ -//! A gradient that can be used as a [`Fill`] for some geometry. +//! A gradient that can be used as a fill for some geometry.  //!  //! For a gradient that you can use as a background variant for a widget, see [`Gradient`]. -//! -//! [`Gradient`]: crate::core::Gradient;  use crate::color;  use crate::core::gradient::ColorStop;  use crate::core::{self, Color, Point, Rectangle}; @@ -36,10 +34,7 @@ impl Gradient {      }  } -/// A linear gradient that can be used in the style of [`Fill`] or [`Stroke`]. -/// -/// [`Fill`]: crate::geometry::Fill; -/// [`Stroke`]: crate::geometry::Stroke; +/// A linear gradient.  #[derive(Debug, Clone, Copy, PartialEq)]  pub struct Linear {      /// The absolute starting position of the gradient. @@ -53,7 +48,7 @@ pub struct Linear {  }  impl Linear { -    /// Creates a new [`Builder`]. +    /// Creates a new [`Linear`] builder.      pub fn new(start: Point, end: Point) -> Self {          Self {              start, diff --git a/graphics/src/lib.rs b/graphics/src/lib.rs index 902eb5b0..01a358ca 100644 --- a/graphics/src/lib.rs +++ b/graphics/src/lib.rs @@ -7,6 +7,7 @@  #![doc(      html_logo_url = "https://raw.githubusercontent.com/iced-rs/iced/9ab6923e943f784985e9ef9ca28b10278297225d/docs/logo.svg"  )] +#![forbid(rust_2018_idioms)]  #![deny(      missing_debug_implementations,      //missing_docs, @@ -16,9 +17,9 @@      clippy::from_over_into,      clippy::needless_borrow,      clippy::new_without_default, -    clippy::useless_conversion +    clippy::useless_conversion, +    rustdoc::broken_intra_doc_links  )] -#![forbid(rust_2018_idioms)]  #![allow(clippy::inherent_to_string, clippy::type_complexity)]  #![cfg_attr(docsrs, feature(doc_auto_cfg))]  mod antialiasing; diff --git a/graphics/src/mesh.rs b/graphics/src/mesh.rs index cfb5a60f..041986cf 100644 --- a/graphics/src/mesh.rs +++ b/graphics/src/mesh.rs @@ -41,7 +41,7 @@ impl Damage for Mesh {      }  } -/// A set of [`Vertex2D`] and indices representing a list of triangles. +/// A set of vertices and indices representing a list of triangles.  #[derive(Clone, Debug, PartialEq, Eq)]  pub struct Indexed<T> {      /// The vertices of the mesh diff --git a/graphics/src/text/cache.rs b/graphics/src/text/cache.rs index 9e4fbf65..577c4687 100644 --- a/graphics/src/text/cache.rs +++ b/graphics/src/text/cache.rs @@ -43,7 +43,10 @@ impl Cache {          }          if let hash_map::Entry::Vacant(entry) = self.entries.entry(hash) { -            let metrics = cosmic_text::Metrics::new(key.size, key.line_height); +            let metrics = cosmic_text::Metrics::new( +                key.size, +                key.line_height.max(f32::MIN_POSITIVE), +            );              let mut buffer = cosmic_text::Buffer::new(font_system, metrics);              buffer.set_size( | 
