Detailed changes
@@ -5,7 +5,7 @@ use crate::{
platform::{self, App as _, WindowOptions},
presenter::Presenter,
util::post_inc,
- AssetCache, AssetSource, FontCache,
+ AssetCache, AssetSource, FontCache, TextLayoutCache,
};
use anyhow::{anyhow, Result};
use keymap::MatchResult;
@@ -624,10 +624,11 @@ impl MutableAppContext {
) {
Err(e) => log::error!("error opening window: {}", e),
Ok(mut window) => {
+ let text_layout_cache = TextLayoutCache::new(self.platform.fonts());
let presenter = Rc::new(RefCell::new(Presenter::new(
window_id,
self.font_cache.clone(),
- self.platform.fonts(),
+ text_layout_cache,
self.assets.clone(),
self,
)));
@@ -22,7 +22,7 @@ impl Presenter {
pub fn new(
window_id: usize,
font_cache: Arc<FontCache>,
- fonts: Arc<dyn platform::FontSystem>,
+ text_layout_cache: TextLayoutCache,
asset_cache: Arc<AssetCache>,
app: &MutableAppContext,
) -> Self {
@@ -31,7 +31,7 @@ impl Presenter {
rendered_views: app.render_views(window_id).unwrap(),
parents: HashMap::new(),
font_cache,
- text_layout_cache: TextLayoutCache::new(fonts),
+ text_layout_cache,
asset_cache,
}
}
@@ -1,24 +1,16 @@
use crate::{
color::ColorU,
- fonts::{FontCache, FontId, GlyphId},
+ fonts::{FontId, GlyphId},
geometry::rect::RectF,
platform, scene, PaintContext,
};
-use core_foundation::{
- attributed_string::CFMutableAttributedString,
- base::{CFRange, TCFType},
- string::CFString,
-};
-use core_text::{font::CTFont, line::CTLine, string_attributes::kCTFontAttributeName};
use ordered_float::OrderedFloat;
use parking_lot::{Mutex, RwLock, RwLockUpgradableReadGuard};
-use pathfinder_geometry::vector::{vec2f, Vector2F};
+use pathfinder_geometry::vector::Vector2F;
use smallvec::SmallVec;
use std::{
borrow::Borrow,
- char,
collections::HashMap,
- convert::TryFrom,
hash::{Hash, Hasher},
ops::Range,
sync::Arc,
@@ -1907,7 +1907,7 @@ mod tests {
use gpui::App;
use std::{cell::RefCell, rc::Rc};
- let mut app = App::test((), |mut app| async move {
+ App::test((), |mut app| async move {
let buffer_1_events = Rc::new(RefCell::new(Vec::new()));
let buffer_2_events = Rc::new(RefCell::new(Vec::new()));
@@ -996,7 +996,6 @@ impl BufferView {
.each(
layouts.chunks_mut(chunk_size as usize).enumerate(),
|(ix, chunk)| {
- let font_cache = &font_cache;
let chunk_start = rows.start as usize + ix * chunk_size;
let chunk_end = cmp::min(chunk_start + chunk_size, rows.end as usize);
@@ -1363,11 +1362,9 @@ mod tests {
#[test]
fn test_layout_line_numbers() -> Result<()> {
- use gpui::{fonts::FontCache, text_layout::TextLayoutCache};
-
App::test((), |mut app| async move {
- let font_cache = FontCache::new(app.platform().fonts());
let layout_cache = TextLayoutCache::new(app.platform().fonts());
+ let font_cache = app.font_cache();
let buffer = app.add_model(|_| Buffer::new(0, sample_text(6, 6)));
@@ -53,7 +53,7 @@ fn open_paths(params: &OpenParams, app: &mut MutableAppContext) {
mod tests {
use super::*;
use crate::{settings, test::*};
- use gpui::{App, FontCache};
+ use gpui::App;
use serde_json::json;
#[test]
@@ -325,7 +325,7 @@ mod tests {
use super::{pane, Workspace, WorkspaceView};
use crate::{settings, test::temp_tree, workspace::WorkspaceHandle as _};
use anyhow::Result;
- use gpui::{App, FontCache};
+ use gpui::App;
use serde_json::json;
#[test]