diff --git a/canvas/src/lib.rs b/canvas/src/lib.rs index ad3e28a0..42480d7b 100644 --- a/canvas/src/lib.rs +++ b/canvas/src/lib.rs @@ -16,7 +16,8 @@ use pathfinder_content::effects::{BlendMode, BlurDirection, CompositeOp, Effects use pathfinder_content::fill::FillRule; use pathfinder_content::gradient::Gradient; use pathfinder_content::outline::{ArcDirection, Contour, Outline}; -use pathfinder_content::pattern::{Pattern, PatternFlags, RenderTargetId}; +use pathfinder_content::pattern::{Pattern, PatternFlags}; +use pathfinder_content::render_target::RenderTargetId; use pathfinder_content::stroke::{LineCap, LineJoin as StrokeLineJoin}; use pathfinder_content::stroke::{OutlineStrokeToFill, StrokeStyle}; use pathfinder_geometry::line_segment::LineSegment2F; diff --git a/content/src/lib.rs b/content/src/lib.rs index 67cd0772..dbc30bb3 100644 --- a/content/src/lib.rs +++ b/content/src/lib.rs @@ -25,6 +25,7 @@ pub mod gradient; pub mod orientation; pub mod outline; pub mod pattern; +pub mod render_target; pub mod segment; pub mod sorted_vector; pub mod stroke; diff --git a/content/src/pattern.rs b/content/src/pattern.rs index 4a42e913..0e820d10 100644 --- a/content/src/pattern.rs +++ b/content/src/pattern.rs @@ -10,6 +10,7 @@ //! Raster image patterns. +use crate::render_target::RenderTargetId; use pathfinder_color::{self as color, ColorU}; use pathfinder_geometry::vector::Vector2I; use std::fmt::{self, Debug, Formatter}; @@ -30,9 +31,6 @@ pub enum PatternSource { RenderTarget(RenderTargetId), } -#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] -pub struct RenderTargetId(pub u32); - /// RGBA, non-premultiplied. // FIXME(pcwalton): Hash the pixel contents so that we don't have to compare every pixel! // TODO(pcwalton): Should the pixels be premultiplied? diff --git a/content/src/render_target.rs b/content/src/render_target.rs new file mode 100644 index 00000000..3ef660f3 --- /dev/null +++ b/content/src/render_target.rs @@ -0,0 +1,14 @@ +// pathfinder/content/src/render_target.rs +// +// Copyright © 2020 The Pathfinder Project Developers. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! Render targets. + +#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)] +pub struct RenderTargetId(pub u32); diff --git a/renderer/src/allocator.rs b/renderer/src/allocator.rs index ebf49360..60798513 100644 --- a/renderer/src/allocator.rs +++ b/renderer/src/allocator.rs @@ -11,7 +11,7 @@ //! A simple quadtree-based texture allocator. use crate::gpu_data::PaintPageId; -use pathfinder_content::pattern::RenderTargetId; +use pathfinder_content::render_target::RenderTargetId; use pathfinder_geometry::rect::RectI; use pathfinder_geometry::vector::{Vector2F, Vector2I}; diff --git a/renderer/src/builder.rs b/renderer/src/builder.rs index 6aeda844..fade5807 100644 --- a/renderer/src/builder.rs +++ b/renderer/src/builder.rs @@ -24,7 +24,7 @@ use crate::tiles::{self, DrawTilingPathInfo, TILE_HEIGHT, TILE_WIDTH, Tiler, Til use crate::z_buffer::{DepthMetadata, ZBuffer}; use pathfinder_content::effects::BlendMode; use pathfinder_content::fill::FillRule; -use pathfinder_content::pattern::RenderTargetId; +use pathfinder_content::render_target::RenderTargetId; use pathfinder_geometry::line_segment::{LineSegment2F, LineSegmentU4, LineSegmentU8}; use pathfinder_geometry::rect::{RectF, RectI}; use pathfinder_geometry::util; diff --git a/renderer/src/gpu/renderer.rs b/renderer/src/gpu/renderer.rs index 02c86885..0c32cfce 100644 --- a/renderer/src/gpu/renderer.rs +++ b/renderer/src/gpu/renderer.rs @@ -12,12 +12,13 @@ use crate::gpu::debug::DebugUIPresenter; use crate::gpu::options::{DestFramebuffer, RendererOptions}; use crate::gpu::shaders::{AlphaTileBlendModeProgram, AlphaTileDodgeBurnProgram}; use crate::gpu::shaders::{AlphaTileHSLProgram, AlphaTileOverlayProgram}; -use crate::gpu::shaders::{AlphaTileProgram, AlphaTileVertexArray, BlitProgram, BlitVertexArray, CopyTileProgram}; -use crate::gpu::shaders::{CopyTileVertexArray, FillProgram, FillVertexArray}; -use crate::gpu::shaders::{MAX_FILLS_PER_BATCH}; -use crate::gpu::shaders::{MaskTileProgram, MaskTileVertexArray, ReprojectionProgram}; -use crate::gpu::shaders::{ReprojectionVertexArray, SolidTileProgram, SolidTileVertexArray}; -use crate::gpu::shaders::{StencilProgram, StencilVertexArray, TileFilterBasicProgram, TileFilterBlurProgram, TileFilterProgram, TileFilterTextProgram, TileFilterVertexArray}; +use crate::gpu::shaders::{AlphaTileProgram, AlphaTileVertexArray, BlitProgram, BlitVertexArray}; +use crate::gpu::shaders::{CopyTileProgram, CopyTileVertexArray, FillProgram, FillVertexArray}; +use crate::gpu::shaders::{MAX_FILLS_PER_BATCH, MaskTileProgram, MaskTileVertexArray}; +use crate::gpu::shaders::{ReprojectionProgram, ReprojectionVertexArray, SolidTileProgram}; +use crate::gpu::shaders::{SolidTileVertexArray, StencilProgram, StencilVertexArray}; +use crate::gpu::shaders::{TileFilterBasicProgram, TileFilterBlurProgram, TileFilterProgram}; +use crate::gpu::shaders::{TileFilterTextProgram, TileFilterVertexArray}; use crate::gpu_data::{AlphaTile, FillBatchPrimitive, MaskTile, PaintData, PaintPageContents}; use crate::gpu_data::{PaintPageId, RenderCommand, RenderTargetTile, SolidTileVertex}; use crate::options::BoundingQuad; @@ -26,7 +27,7 @@ use pathfinder_color::{self as color, ColorF}; use pathfinder_content::effects::{BlendMode, BlurDirection, CompositeOp, DefringingKernel}; use pathfinder_content::effects::{Effects, Filter}; use pathfinder_content::fill::FillRule; -use pathfinder_content::pattern::RenderTargetId; +use pathfinder_content::render_target::RenderTargetId; use pathfinder_geometry::vector::{Vector2F, Vector2I, Vector4F}; use pathfinder_geometry::rect::RectI; use pathfinder_geometry::transform3d::Transform4F; diff --git a/renderer/src/gpu_data.rs b/renderer/src/gpu_data.rs index 7b08bcad..5b1c3f77 100644 --- a/renderer/src/gpu_data.rs +++ b/renderer/src/gpu_data.rs @@ -14,7 +14,7 @@ use crate::options::BoundingQuad; use pathfinder_color::ColorU; use pathfinder_content::effects::{BlendMode, Effects}; use pathfinder_content::fill::FillRule; -use pathfinder_content::pattern::RenderTargetId; +use pathfinder_content::render_target::RenderTargetId; use pathfinder_geometry::line_segment::{LineSegmentU4, LineSegmentU8}; use pathfinder_geometry::vector::Vector2I; use pathfinder_gpu::TextureSamplingFlags; diff --git a/renderer/src/paint.rs b/renderer/src/paint.rs index b0ef9b18..16d9847d 100644 --- a/renderer/src/paint.rs +++ b/renderer/src/paint.rs @@ -15,7 +15,8 @@ use crate::tiles::{TILE_HEIGHT, TILE_WIDTH}; use hashbrown::HashMap; use pathfinder_color::ColorU; use pathfinder_content::gradient::{Gradient, GradientGeometry}; -use pathfinder_content::pattern::{Image, Pattern, PatternFlags, PatternSource, RenderTargetId}; +use pathfinder_content::pattern::{Image, Pattern, PatternFlags, PatternSource}; +use pathfinder_content::render_target::RenderTargetId; use pathfinder_geometry::rect::{RectF, RectI}; use pathfinder_geometry::transform2d::{Matrix2x2F, Transform2F}; use pathfinder_geometry::util; diff --git a/renderer/src/scene.rs b/renderer/src/scene.rs index 21fa35f4..92025f35 100644 --- a/renderer/src/scene.rs +++ b/renderer/src/scene.rs @@ -18,7 +18,7 @@ use crate::paint::{Paint, PaintId, PaintInfo, Palette}; use pathfinder_content::effects::{BlendMode, Effects}; use pathfinder_content::fill::FillRule; use pathfinder_content::outline::Outline; -use pathfinder_content::pattern::RenderTargetId; +use pathfinder_content::render_target::RenderTargetId; use pathfinder_geometry::vector::{Vector2F, Vector2I}; use pathfinder_geometry::rect::RectF; use pathfinder_geometry::transform2d::Transform2F;