From 3b0acff6458315b5938e6e42701073a231b29c5f Mon Sep 17 00:00:00 2001 From: Shark Date: Thu, 12 Sep 2024 17:16:57 +0200 Subject: [PATCH 1/2] let images set their own size temp commit initial infered size commit --- crates/gosub_render_backend/src/layout.rs | 14 ++++- crates/gosub_renderer/src/draw.rs | 69 +++++++++++++++++----- crates/gosub_renderer/src/draw/img.rs | 12 +++- crates/gosub_taffy/src/compute/inline.rs | 26 ++++---- crates/gosub_taffy/src/lib.rs | 49 +++++++++++---- crates/gosub_useragent/src/event_loop.rs | 13 ++-- resources/test_img.png | Bin 0 -> 141715 bytes 7 files changed, 136 insertions(+), 47 deletions(-) create mode 100644 resources/test_img.png diff --git a/crates/gosub_render_backend/src/layout.rs b/crates/gosub_render_backend/src/layout.rs index d59ee9ad9..e290ccc5b 100644 --- a/crates/gosub_render_backend/src/layout.rs +++ b/crates/gosub_render_backend/src/layout.rs @@ -1,6 +1,7 @@ +use std::fmt::Debug; + use gosub_shared::types::Result; use gosub_typeface::font::{Font, Glyph}; -use std::fmt::Debug; use crate::geo::{Point, Rect, Size, SizeU32}; @@ -52,6 +53,17 @@ pub trait Layout: Default { /// Size of the scroll box (content box without overflow), including scrollbars (if any) fn size(&self) -> Size; + fn size_or(&self) -> Option; + + fn set_size_and_content(&mut self, size: SizeU32) { + self.set_size(size); + self.set_content(size); + } + + fn set_size(&mut self, size: SizeU32); + + fn set_content(&mut self, size: SizeU32); + /// Size of the content box (content without scrollbars, but with overflow) fn content(&self) -> Size; fn content_box(&self) -> Rect { diff --git a/crates/gosub_renderer/src/draw.rs b/crates/gosub_renderer/src/draw.rs index 5e673ef43..d8af8242d 100644 --- a/crates/gosub_renderer/src/draw.rs +++ b/crates/gosub_renderer/src/draw.rs @@ -1,11 +1,9 @@ use std::sync::mpsc::Sender; use anyhow::anyhow; +use log::warn; use url::Url; -use crate::debug::scale::px_scale; -use crate::draw::img::request_img; -use crate::render_tree::{load_html_rendertree, TreeDrawer}; use gosub_css3::colors::RgbColor; use gosub_css3::stylesheet::CssValue; use gosub_html5::node::NodeId; @@ -20,12 +18,15 @@ use gosub_render_backend::{ use gosub_rendering::position::PositionTree; use gosub_shared::types::Result; use gosub_styling::render_tree::{RenderNodeData, RenderTree, RenderTreeNode}; -use log::warn; + +use crate::debug::scale::px_scale; +use crate::draw::img::request_img; +use crate::render_tree::{load_html_rendertree, TreeDrawer}; mod img; pub trait SceneDrawer> { - fn draw(&mut self, backend: &mut B, data: &mut B::WindowData<'_>, size: SizeU32); + fn draw(&mut self, backend: &mut B, data: &mut B::WindowData<'_>, size: SizeU32) -> bool; fn mouse_move(&mut self, backend: &mut B, x: FP, y: FP) -> bool; fn scroll(&mut self, point: Point); @@ -40,6 +41,8 @@ pub trait SceneDrawer> { fn unselect_element(&mut self); fn send_nodes(&mut self, sender: Sender); + + fn set_needs_redraw(&mut self); } const DEBUG_CONTENT_COLOR: (u8, u8, u8) = (0, 192, 255); //rgb(0, 192, 255) @@ -54,9 +57,9 @@ where <::Text as Text>::Font: From<<::TextLayout as TextLayout>::Font>, { - fn draw(&mut self, backend: &mut B, data: &mut B::WindowData<'_>, size: SizeU32) { + fn draw(&mut self, backend: &mut B, data: &mut B::WindowData<'_>, size: SizeU32) -> bool { if !self.dirty && self.size == Some(size) { - return; + return false; } if self.tree_scene.is_none() || self.size != Some(size) { @@ -134,6 +137,14 @@ where backend.apply_scene(data, &scale, None); } + + if self.dirty { + self.dirty = false; + + return true; + } + + false } fn mouse_move(&mut self, _backend: &mut B, x: FP, y: FP) -> bool { @@ -219,6 +230,10 @@ where fn send_nodes(&mut self, sender: Sender) { let _ = sender.send(self.tree.desc()); } + + fn set_needs_redraw(&mut self) { + self.dirty = true; + } } struct Drawer<'s, 't, B: RenderBackend, L: Layouter> { @@ -267,6 +282,8 @@ where } fn render_node(&mut self, id: NodeId, pos: &mut Point) -> anyhow::Result<()> { + let mut needs_redraw = false; + let node = self .drawer .tree @@ -277,9 +294,11 @@ where pos.x += p.x as FP; pos.y += p.y as FP; - let border_radius = + let (border_radius, redraw) = render_bg::(node, self.scene, pos, &mut self.svg, &self.drawer.fetcher); + needs_redraw |= redraw; + if let RenderNodeData::Element(element) = &node.data { if element.name() == "img" { let src = element @@ -289,9 +308,14 @@ where let url = src.as_str(); - let size = node.layout.size(); + let size = node.layout.size_or().map(|x| x.u32()); + + let img = request_img(&self.drawer.fetcher, &mut self.svg, url, size)?; - let img = request_img(&self.drawer.fetcher, &mut self.svg, url, size.u32())?; + if size.is_none() { + node.layout.set_size_and_content(img.size()); + needs_redraw |= true; + } let fit = element .attributes @@ -299,11 +323,18 @@ where .map(|prop| prop.as_str()) .unwrap_or("contain"); + let size = size.unwrap_or(img.size()).f32(); + render_image::(img, self.scene, *pos, size, border_radius, fit)?; } } render_text::(node, self.scene, pos); + + if needs_redraw { + self.drawer.set_needs_redraw() + } + Ok(()) } } @@ -374,7 +405,7 @@ fn render_bg( pos: &Point, svg: &mut B::SVGRenderer, fetcher: &Fetcher, -) -> (FP, FP, FP, FP) { +) -> ((FP, FP, FP, FP), bool) { let bg_color = node .properties .get("background-color") @@ -485,22 +516,32 @@ fn render_bg( } }); + let mut redraw = false; + if let Some(url) = background_image { - let img = match request_img(fetcher, svg, url, node.layout.size().u32()) { + let size = node.layout.size_or().map(|x| x.u32()); + + let img = match request_img(fetcher, svg, url, size) { Ok(img) => img, Err(e) => { eprintln!("Error loading image: {:?}", e); - return border_radius; + return (border_radius, false); } }; + if size.is_none() { + node.layout.set_size_and_content(img.size()); + + redraw = true; + } + let _ = render_image::(img, scene, *pos, node.layout.size(), border_radius, "fill") .map_err(|e| { eprintln!("Error rendering image: {:?}", e); }); } - border_radius + (border_radius, redraw) } enum Side { diff --git a/crates/gosub_renderer/src/draw/img.rs b/crates/gosub_renderer/src/draw/img.rs index d2e0026a0..ff0bc96c4 100644 --- a/crates/gosub_renderer/src/draw/img.rs +++ b/crates/gosub_renderer/src/draw/img.rs @@ -1,15 +1,17 @@ +use std::io::Cursor; + use anyhow::anyhow; + use gosub_net::http::fetcher::Fetcher; use gosub_render_backend::svg::SvgRenderer; use gosub_render_backend::{Image as _, ImageBuffer, RenderBackend, SizeU32}; use gosub_shared::types::Result; -use std::io::Cursor; pub fn request_img( fetcher: &Fetcher, svg_renderer: &mut B::SVGRenderer, url: &str, - size: SizeU32, + size: Option, ) -> Result> { let res = fetcher.get(url)?; @@ -26,7 +28,11 @@ pub fn request_img( let svg = >::parse_external(svg)?; - svg_renderer.render_with_size(&svg, size)? + if let Some(size) = size { + svg_renderer.render_with_size(&svg, size)? + } else { + svg_renderer.render(&svg)? + } } else { let format = image::guess_format(&img)?; let img = image::load(Cursor::new(img), format)?; //In that way we don't need to copy the image data diff --git a/crates/gosub_taffy/src/compute/inline.rs b/crates/gosub_taffy/src/compute/inline.rs index 4de4171e0..50d4cb517 100644 --- a/crates/gosub_taffy/src/compute/inline.rs +++ b/crates/gosub_taffy/src/compute/inline.rs @@ -1,18 +1,20 @@ use std::sync::{LazyLock, Mutex}; + +use log::warn; +use parley::layout::{Alignment, PositionedLayoutItem}; +use parley::style::{FontSettings, FontStack, FontStyle, FontVariation, FontWeight, StyleProperty}; +use parley::{FontContext, InlineBox, LayoutContext}; use taffy::{ AvailableSpace, CollapsibleMarginSet, Layout, LayoutInput, LayoutOutput, LayoutPartialTree, - NodeId, Point, Rect, RunMode, Size, SizingMode, + NodeId, Point, Rect, RunMode, Size, }; -use crate::text::{Font, TextLayout}; -use crate::{Display, LayoutDocument, TaffyLayouter}; use gosub_render_backend::geo; use gosub_render_backend::layout::{CssProperty, HasTextLayout, LayoutTree, Node}; use gosub_typeface::font::Glyph; -use log::warn; -use parley::layout::{Alignment, PositionedLayoutItem}; -use parley::style::{FontSettings, FontStack, FontStyle, FontVariation, FontWeight, StyleProperty}; -use parley::{FontContext, InlineBox, LayoutContext}; + +use crate::text::{Font, TextLayout}; +use crate::{Display, LayoutDocument, TaffyLayouter}; static FONT_CX: LazyLock> = LazyLock::new(|| Mutex::new(FontContext::default())); @@ -23,7 +25,7 @@ pub fn compute_inline_layout>( ) -> LayoutOutput { layout_input.known_dimensions = Size::NONE; layout_input.run_mode = RunMode::PerformLayout; //TODO: We should respect the run mode - layout_input.sizing_mode = SizingMode::ContentSize; + // layout_input.sizing_mode = SizingMode::ContentSize; let Some(children) = tree.0.children(nod_id) else { return LayoutOutput::HIDDEN; @@ -93,7 +95,7 @@ pub fn compute_inline_layout>( id: node_id, }); } else { - if u64::from(node_id) == 477u64 { + if u64::from(node_id) == 22u64 { println!("inline_box : {:?}", node_id); } @@ -105,9 +107,9 @@ pub fn compute_inline_layout>( if cache.display == Display::InlineBlock { //TODO: handle margins here - out.size - } else { out.content_size + } else { + out.size } } else { out.content_size @@ -126,7 +128,7 @@ pub fn compute_inline_layout>( return LayoutOutput::HIDDEN; } - if !inline_boxes.is_empty() && str_buf.is_empty() { + if str_buf.is_empty() { str_buf.push(0 as char); } diff --git a/crates/gosub_taffy/src/lib.rs b/crates/gosub_taffy/src/lib.rs index 453c5663c..4b8ae4d8e 100644 --- a/crates/gosub_taffy/src/lib.rs +++ b/crates/gosub_taffy/src/lib.rs @@ -2,18 +2,19 @@ use std::vec::IntoIter; use taffy::{ compute_block_layout, compute_cached_layout, compute_flexbox_layout, compute_grid_layout, - compute_hidden_layout, compute_leaf_layout, compute_root_layout, AvailableSpace, - Cache as TaffyCache, Display as TaffyDisplay, Layout as TaffyLayout, LayoutInput, LayoutOutput, - LayoutPartialTree, NodeId as TaffyId, Style, TraversePartialTree, + compute_hidden_layout, compute_root_layout, AvailableSpace, Cache as TaffyCache, + Display as TaffyDisplay, Layout as TaffyLayout, LayoutInput, LayoutOutput, LayoutPartialTree, + NodeId as TaffyId, Style, TraversePartialTree, }; -use crate::compute::inline::compute_inline_layout; -use crate::style::get_style_from_node; -use crate::text::TextLayout; use gosub_render_backend::geo::{Point, Rect, Size, SizeU32}; use gosub_render_backend::layout::{Layout as TLayout, LayoutTree, Layouter, Node}; use gosub_shared::types::Result; +use crate::compute::inline::compute_inline_layout; +use crate::style::get_style_from_node; +use crate::text::TextLayout; + mod compute; mod conversions; pub mod style; @@ -39,6 +40,29 @@ impl TLayout for Layout { Size::new(size.width, size.height) } + fn size_or(&self) -> Option { + let size = self.0.size; + if size.width == 0.0 && size.height == 0.0 { + None //Temporary hack to indicate that the size is not set + } else { + Some(Size::new(size.width, size.height)) + } + } + + fn set_size(&mut self, size: SizeU32) { + self.0.size = taffy::Size { + width: size.width as f32, + height: size.height as f32, + }; + } + + fn set_content(&mut self, size: SizeU32) { + self.0.content_size = taffy::Size { + width: size.width as f32, + height: size.height as f32, + }; + } + fn content(&self) -> Size { let content = self.0.content_size; Size::new(content.width, content.height) @@ -245,15 +269,14 @@ impl> LayoutPartialTree for LayoutDocument<'_, LT> } } - let has_children = tree.0.child_count(node_id) > 0; //TODO: this isn't optimal, since we are now requesting the same node twice (up in get_cache and here) + // let has_children = tree.0.child_count(node_id) > 0; //TODO: this isn't optimal, since we are now requesting the same node twice (up in get_cache and here) let style = tree.get_taffy_style(node_id); - match (style.display, has_children) { - (TaffyDisplay::None, _) => compute_hidden_layout(tree, node_id_taffy), - (TaffyDisplay::Block, true) => compute_block_layout(tree, node_id_taffy, inputs), - (TaffyDisplay::Flex, true) => compute_flexbox_layout(tree, node_id_taffy, inputs), - (TaffyDisplay::Grid, true) => compute_grid_layout(tree, node_id_taffy, inputs), - (_, false) => compute_leaf_layout(inputs, style, |_, _| taffy::Size::ZERO), + match style.display { + TaffyDisplay::None => compute_hidden_layout(tree, node_id_taffy), + TaffyDisplay::Block => compute_block_layout(tree, node_id_taffy, inputs), + TaffyDisplay::Flex => compute_flexbox_layout(tree, node_id_taffy, inputs), + TaffyDisplay::Grid => compute_grid_layout(tree, node_id_taffy, inputs), } }) } diff --git a/crates/gosub_useragent/src/event_loop.rs b/crates/gosub_useragent/src/event_loop.rs index a2ee91be2..7a53b3899 100644 --- a/crates/gosub_useragent/src/event_loop.rs +++ b/crates/gosub_useragent/src/event_loop.rs @@ -1,10 +1,11 @@ +use winit::event::{ElementState, MouseScrollDelta, WindowEvent}; +use winit::event_loop::ActiveEventLoop; +use winit::keyboard::{KeyCode, PhysicalKey}; + use gosub_render_backend::layout::{LayoutTree, Layouter}; use gosub_render_backend::{Point, RenderBackend, SizeU32, FP}; use gosub_renderer::draw::SceneDrawer; use gosub_shared::types::Result; -use winit::event::{ElementState, MouseScrollDelta, WindowEvent}; -use winit::event_loop::ActiveEventLoop; -use winit::keyboard::{KeyCode, PhysicalKey}; use crate::window::{Window, WindowState}; @@ -47,9 +48,13 @@ impl<'a, D: SceneDrawer, B: RenderBackend, L: Layouter, LT: LayoutTree return Ok(()); }; - tab.data.draw(backend, &mut self.renderer_data, size); + let redraw = tab.data.draw(backend, &mut self.renderer_data, size); backend.render(&mut self.renderer_data, active_window_data)?; + + if redraw { + self.request_redraw(); + } } WindowEvent::CursorMoved { position, .. } => { diff --git a/resources/test_img.png b/resources/test_img.png new file mode 100644 index 0000000000000000000000000000000000000000..492b9ac0243ac9b09769927ad2d1d7f9b1f2e66f GIT binary patch literal 141715 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

{W_sO*iHKeKb>)q1}kucWG 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 literal 0 HcmV?d00001 From 27811f5713fae4b79b63a952cce47b119e3d22e6 Mon Sep 17 00:00:00 2001 From: Shark Date: Thu, 12 Sep 2024 17:59:09 +0200 Subject: [PATCH 2/2] fix lonly inline boxes in inline contexts --- crates/gosub_taffy/src/compute/inline.rs | 233 ++++++++++++----------- 1 file changed, 118 insertions(+), 115 deletions(-) diff --git a/crates/gosub_taffy/src/compute/inline.rs b/crates/gosub_taffy/src/compute/inline.rs index 50d4cb517..2400a9125 100644 --- a/crates/gosub_taffy/src/compute/inline.rs +++ b/crates/gosub_taffy/src/compute/inline.rs @@ -274,144 +274,147 @@ pub fn compute_inline_layout>( height: layout.height().ceil(), }; + let mut current_node_idx = 0; + let mut current_node_id = LT::NodeId::from(0); + let mut current_to = 0; + if let Some(first) = text_node_data.first() { - let mut current_node_idx = 0; - let mut current_node_id = LT::NodeId::from(first.id.into()); - let mut current_to = first.to; + current_node_id = LT::NodeId::from(first.id.into()); + current_to = first.to; + } - let mut current_glyph_idx = 0; + let mut current_glyph_idx = 0; - 'lines: for line in layout.lines() { - let metrics = line.metrics(); + 'lines: for line in layout.lines() { + let metrics = line.metrics(); - let height = metrics.line_height; + let height = metrics.line_height; - for item in line.items() { - match item { - PositionedLayoutItem::GlyphRun(run) => { - let mut offset = 0.0; + for item in line.items() { + match item { + PositionedLayoutItem::GlyphRun(run) => { + let mut offset = 0.0; - let grun = run.run(); - let fs = grun.font_size(); + let grun = run.run(); + let fs = grun.font_size(); - let glyphs = run - .glyphs() - .map(|g| { - let gl = Glyph { - id: g.id, - x: g.x + offset, - y: g.y, - }; + let glyphs = run + .glyphs() + .map(|g| { + let gl = Glyph { + id: g.id, + x: g.x + offset, + y: g.y, + }; - offset += g.advance; + offset += g.advance; - gl - }) - .collect::>(); + gl + }) + .collect::>(); - let run_y = run.baseline(); + let run_y = run.baseline(); - if current_node_id.into() == 161 || current_node_id.into() == 163 { - println!("current_node_id: {:?}", current_node_id.into()); - println!("first glyph: {:?}", glyphs.get(2)); - } + if current_node_id.into() == 161 || current_node_id.into() == 163 { + println!("current_node_id: {:?}", current_node_id.into()); + println!("first glyph: {:?}", glyphs.get(2)); + } - current_glyph_idx += glyphs.len(); + current_glyph_idx += glyphs.len(); - if current_glyph_idx > current_to { - current_node_idx += 1; + if current_glyph_idx > current_to { + current_node_idx += 1; - if let Some(next) = text_node_data.get(current_node_idx) { - current_to = next.to; - current_node_id = LT::NodeId::from(next.id.into()); - } else { - break 'lines; - } + if let Some(next) = text_node_data.get(current_node_idx) { + current_to = next.to; + current_node_id = LT::NodeId::from(next.id.into()); + } else { + break 'lines; } + } - let size = geo::Size { - width: run.advance(), - height, - }; - - let coords = grun.normalized_coords().to_owned(); + let size = geo::Size { + width: run.advance(), + height, + }; + + let coords = grun.normalized_coords().to_owned(); + + let text_layout = TextLayout { + size, + font_size: fs, + font: Font(grun.font().clone()), + glyphs, + coords, + }; + + let Some(node) = tree.0.get_node(current_node_id) else { + continue; + }; + + node.set_text_layout(text_layout); + + let size = Size { + width: size.width, + height: size.height, + }; + + if current_node_id.into() == 160 { + println!("current_node_id: {:?}", current_node_id.into()); + println!("size: {:?}", size); + + println!( + "location: {:?}", + Point { + x: run.offset(), + y: run_y, + } + ); + } - let text_layout = TextLayout { + tree.set_unrounded_layout( + NodeId::new(current_node_id.into()), + &Layout { size, - font_size: fs, - font: Font(grun.font().clone()), - glyphs, - coords, - }; - - let Some(node) = tree.0.get_node(current_node_id) else { - continue; - }; - - node.set_text_layout(text_layout); - - let size = Size { - width: size.width, - height: size.height, - }; - - if current_node_id.into() == 160 { - println!("current_node_id: {:?}", current_node_id.into()); - println!("size: {:?}", size); - - println!( - "location: {:?}", - Point { - x: run.offset(), - y: run_y, - } - ); - } - - tree.set_unrounded_layout( - NodeId::new(current_node_id.into()), - &Layout { - size, - content_size: size, - scrollbar_size: Size::ZERO, - border: Rect::ZERO, - location: Point { - x: run.offset(), - y: run_y, - }, - order: 0, - padding: Rect::ZERO, + content_size: size, + scrollbar_size: Size::ZERO, + border: Rect::ZERO, + location: Point { + x: run.offset(), + y: run_y, }, - ); + order: 0, + padding: Rect::ZERO, + }, + ); + } + PositionedLayoutItem::InlineBox(inline_box) => { + let id = NodeId::from(inline_box.id); + + if inline_box.id == 162 { + println!("inline_box: {:?}", inline_box); } - PositionedLayoutItem::InlineBox(inline_box) => { - let id = NodeId::from(inline_box.id); - if inline_box.id == 162 { - println!("inline_box: {:?}", inline_box); - } + let size = Size { + width: inline_box.width, + height: inline_box.height, + }; - let size = Size { - width: inline_box.width, - height: inline_box.height, - }; - - tree.set_unrounded_layout( - id, - &Layout { - size, - content_size: size, - scrollbar_size: Size::ZERO, - border: Rect::ZERO, - location: Point { - x: inline_box.x, - y: 0.0, - }, - order: 0, - padding: Rect::ZERO, + tree.set_unrounded_layout( + id, + &Layout { + size, + content_size: size, + scrollbar_size: Size::ZERO, + border: Rect::ZERO, + location: Point { + x: inline_box.x, + y: 0.0, }, - ); - } + order: 0, + padding: Rect::ZERO, + }, + ); } } }