diff --git a/Cargo.toml b/Cargo.toml index 2fc3ac9..325dadd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ license = "MIT OR Apache-2.0 OR Zlib" [dependencies] wgpu = "0.14.0" etagere = "0.2.6" -cosmic-text = { git = "https://github.com/pop-os/cosmic-text", rev = "a5903bb" } +cosmic-text = { git = "https://github.com/pop-os/cosmic-text", rev = "a5903bb", features = ["std", "swash"] } [dev-dependencies] winit = "0.27.0" diff --git a/examples/hello-world.rs b/examples/hello-world.rs index 47b406c..cc7f3c5 100644 --- a/examples/hello-world.rs +++ b/examples/hello-world.rs @@ -1,5 +1,7 @@ -use cosmic_text::{Attrs, Buffer, Color, Family, FontSystem, Metrics, SwashCache}; -use glyphon::{Resolution, TextArea, TextAtlas, TextBounds, TextRenderer}; +use glyphon::{ + Attrs, Buffer, Color, Family, FontSystem, Metrics, Resolution, SwashCache, TextArea, TextAtlas, + TextBounds, TextRenderer, +}; use wgpu::{ Backends, CommandEncoderDescriptor, CompositeAlphaMode, DeviceDescriptor, Features, Instance, Limits, LoadOp, Operations, PresentMode, RenderPassColorAttachment, RenderPassDescriptor, diff --git a/src/lib.rs b/src/lib.rs index 6b6be54..485c017 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,7 +9,15 @@ pub use text_atlas::TextAtlas; use text_render::ContentType; pub use text_render::TextRenderer; -pub use cosmic_text; +// Re-export all top-level types from `cosmic-text` for convenience. +pub use cosmic_text::{ + self, fontdb, Action, Affinity, Attrs, AttrsList, AttrsOwned, Buffer, BufferLine, CacheKey, + Color, Command, Cursor, Edit, Editor, Family, FamilyOwned, Font, FontMatches, FontSystem, + LayoutCursor, LayoutGlyph, LayoutLine, LayoutRun, LayoutRunIter, Metrics, ShapeGlyph, + ShapeLine, ShapeSpan, ShapeWord, Stretch, Style, SubpixelBin, SwashCache, SwashContent, + SwashImage, Weight, Wrap, +}; + use etagere::AllocId; pub(crate) enum GpuCacheStatus { @@ -85,7 +93,7 @@ impl Default for TextBounds { /// A text area containing text to be rendered along with its overflow behavior. pub struct TextArea<'a, 'b: 'a> { /// The buffer containing the text to be rendered. - pub buffer: &'a cosmic_text::Buffer<'b>, + pub buffer: &'a Buffer<'b>, /// The left edge of the buffer. pub left: i32, /// The top edge of the buffer. diff --git a/src/text_atlas.rs b/src/text_atlas.rs index b4a0923..032b208 100644 --- a/src/text_atlas.rs +++ b/src/text_atlas.rs @@ -1,7 +1,7 @@ use crate::{ - text_render::ContentType, GlyphDetails, GlyphToRender, Params, RecentlyUsedMap, Resolution, + text_render::ContentType, CacheKey, GlyphDetails, GlyphToRender, Params, RecentlyUsedMap, + Resolution, }; -use cosmic_text::CacheKey; use etagere::{size2, Allocation, BucketedAtlasAllocator}; use std::{borrow::Cow, mem::size_of, num::NonZeroU64, sync::Arc}; use wgpu::{ @@ -144,7 +144,7 @@ impl TextAtlas { format: VertexFormat::Uint32, offset: size_of::() as u64 * 5, shader_location: 4, - } + }, ], }]; diff --git a/src/text_render.rs b/src/text_render.rs index 95dc410..0fa7545 100644 --- a/src/text_render.rs +++ b/src/text_render.rs @@ -1,8 +1,7 @@ use crate::{ - GlyphDetails, GlyphToRender, GpuCacheStatus, Params, PrepareError, RenderError, Resolution, - TextArea, TextAtlas, + CacheKey, Color, GlyphDetails, GlyphToRender, GpuCacheStatus, Params, PrepareError, + RenderError, Resolution, SwashCache, SwashContent, TextArea, TextAtlas, }; -use cosmic_text::{CacheKey, Color, SwashCache, SwashContent}; use std::{collections::HashSet, iter, mem::size_of, num::NonZeroU32, slice}; use wgpu::{ Buffer, BufferDescriptor, BufferUsages, Device, Extent3d, ImageCopyTexture, ImageDataLayout,