mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Move RenderingContext
to webrender_traits
(#32386)
The `gfx_traits` crate is gradually become just about text and fonts and this is one of the few things there that is standing in the way of this. Eventually `webrender_traits` will be the general cross-process compositor API, so this sort of makes sense as well.
This commit is contained in:
parent
277eb87cc0
commit
0289377091
14 changed files with 17 additions and 14 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -7180,6 +7180,7 @@ dependencies = [
|
|||
"libc",
|
||||
"log",
|
||||
"serde",
|
||||
"surfman",
|
||||
"webrender_api",
|
||||
]
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ use std::sync::{Arc, Mutex};
|
|||
use canvas_traits::webgl::{webgl_channel, WebGLContextId, WebGLMsg, WebGLThreads};
|
||||
use euclid::default::Size2D;
|
||||
use fnv::FnvHashMap;
|
||||
use gfx::rendering_context::RenderingContext;
|
||||
use log::debug;
|
||||
use sparkle::gl::GlType;
|
||||
use surfman::chains::{SwapChainAPI, SwapChains, SwapChainsAPI};
|
||||
|
@ -16,7 +15,8 @@ use surfman::{Device, SurfaceInfo, SurfaceTexture};
|
|||
use webrender::RenderApiSender;
|
||||
use webrender_api::DocumentId;
|
||||
use webrender_traits::{
|
||||
WebrenderExternalImageApi, WebrenderExternalImageRegistry, WebrenderImageSource,
|
||||
RenderingContext, WebrenderExternalImageApi, WebrenderExternalImageRegistry,
|
||||
WebrenderImageSource,
|
||||
};
|
||||
use webxr::SurfmanGL as WebXRSurfman;
|
||||
use webxr_api::LayerGrandManager as WebXRLayerGrandManager;
|
||||
|
|
|
@ -21,7 +21,6 @@ use crossbeam_channel::Sender;
|
|||
use embedder_traits::Cursor;
|
||||
use euclid::{Point2D, Rect, Scale, Transform3D, Vector2D};
|
||||
use fnv::{FnvHashMap, FnvHashSet};
|
||||
use gfx::rendering_context::RenderingContext;
|
||||
use image::{DynamicImage, ImageFormat};
|
||||
use ipc_channel::ipc;
|
||||
use libc::c_void;
|
||||
|
@ -49,7 +48,8 @@ use webrender_api::{
|
|||
use webrender_traits::display_list::{HitTestInfo, ScrollTree};
|
||||
use webrender_traits::{
|
||||
CanvasToCompositorMsg, CompositorHitTestResult, FontToCompositorMsg, ImageUpdate,
|
||||
NetToCompositorMsg, ScriptToCompositorMsg, SerializedImageUpdate, UntrustedNodeAddress,
|
||||
NetToCompositorMsg, RenderingContext, ScriptToCompositorMsg, SerializedImageUpdate,
|
||||
UntrustedNodeAddress,
|
||||
};
|
||||
|
||||
use crate::gl::RenderTargetInfo;
|
||||
|
|
|
@ -8,10 +8,10 @@ use std::rc::Rc;
|
|||
|
||||
use compositing_traits::{CompositorProxy, CompositorReceiver, ConstellationMsg};
|
||||
use crossbeam_channel::Sender;
|
||||
use gfx::rendering_context::RenderingContext;
|
||||
use profile_traits::{mem, time};
|
||||
use webrender::RenderApi;
|
||||
use webrender_api::DocumentId;
|
||||
use webrender_traits::RenderingContext;
|
||||
|
||||
pub use crate::compositor::{CompositeTarget, IOCompositor, ShutdownState};
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@ use std::time::Duration;
|
|||
use base::id::{PipelineId, TopLevelBrowsingContextId};
|
||||
use embedder_traits::{EmbedderProxy, EventLoopWaker};
|
||||
use euclid::Scale;
|
||||
use gfx::rendering_context::RenderingContext;
|
||||
use keyboard_types::KeyboardEvent;
|
||||
use libc::c_void;
|
||||
use script_traits::{
|
||||
|
@ -22,6 +21,7 @@ use servo_url::ServoUrl;
|
|||
use style_traits::DevicePixel;
|
||||
use webrender_api::units::{DeviceIntPoint, DeviceIntRect, DeviceIntSize, DevicePoint, DeviceRect};
|
||||
use webrender_api::ScrollLocation;
|
||||
use webrender_traits::RenderingContext;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub enum MouseWindowEvent {
|
||||
|
|
|
@ -11,5 +11,4 @@ pub mod font_store;
|
|||
pub mod font_template;
|
||||
#[allow(unsafe_code)]
|
||||
pub mod platform;
|
||||
pub mod rendering_context;
|
||||
pub mod text;
|
||||
|
|
|
@ -65,8 +65,6 @@ use euclid::Scale;
|
|||
))]
|
||||
use gaol::sandbox::{ChildSandbox, ChildSandboxMethods};
|
||||
use gfx::font_cache_thread::FontCacheThread;
|
||||
pub use gfx::rendering_context;
|
||||
use gfx::rendering_context::RenderingContext;
|
||||
pub use gleam::gl;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use log::{error, trace, warn, Log, Metadata, Record};
|
||||
|
@ -94,7 +92,7 @@ use webrender_api::{
|
|||
NativeFontHandle,
|
||||
};
|
||||
use webrender_traits::{
|
||||
CanvasToCompositorMsg, FontToCompositorMsg, ImageUpdate, WebRenderFontApi,
|
||||
CanvasToCompositorMsg, FontToCompositorMsg, ImageUpdate, RenderingContext, WebRenderFontApi,
|
||||
WebrenderExternalImageHandlers, WebrenderExternalImageRegistry, WebrenderImageHandlerType,
|
||||
};
|
||||
pub use {
|
||||
|
|
|
@ -20,3 +20,5 @@ log = { workspace = true }
|
|||
libc = { workspace = true }
|
||||
webrender_api = { workspace = true }
|
||||
serde = { workspace = true }
|
||||
surfman = { workspace = true }
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#![deny(unsafe_code)]
|
||||
|
||||
pub mod display_list;
|
||||
pub mod rendering_context;
|
||||
|
||||
use std::collections::HashMap;
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
@ -26,6 +27,8 @@ use webrender_api::{
|
|||
ImageKey, NativeFontHandle, PipelineId as WebRenderPipelineId,
|
||||
};
|
||||
|
||||
pub use crate::rendering_context::RenderingContext;
|
||||
|
||||
/// This trait is used as a bridge between the different GL clients
|
||||
/// in Servo that handles WebRender ExternalImages and the WebRender
|
||||
/// ExternalImageHandler API.
|
||||
|
|
|
@ -30,7 +30,6 @@ use servo::embedder_traits::{
|
|||
};
|
||||
use servo::euclid::{Point2D, Rect, Scale, Size2D, Vector2D};
|
||||
use servo::keyboard_types::{Key, KeyState, KeyboardEvent};
|
||||
use servo::rendering_context::RenderingContext;
|
||||
pub use servo::script_traits::{MediaSessionActionType, MouseButton};
|
||||
use servo::script_traits::{TouchEventType, TouchId, TraversalDirection};
|
||||
use servo::servo_config::{opts, pref};
|
||||
|
@ -38,6 +37,7 @@ use servo::servo_url::ServoUrl;
|
|||
pub use servo::webrender_api::units::DeviceIntRect;
|
||||
use servo::webrender_api::units::DevicePixel;
|
||||
use servo::webrender_api::ScrollLocation;
|
||||
use servo::webrender_traits::RenderingContext;
|
||||
use servo::{self, gl, Servo, TopLevelBrowsingContextId};
|
||||
use surfman::{Connection, SurfaceType};
|
||||
|
||||
|
|
|
@ -16,13 +16,13 @@ use servo::compositing::windowing::{
|
|||
};
|
||||
use servo::embedder_traits::Cursor;
|
||||
use servo::keyboard_types::{Key, KeyState, KeyboardEvent};
|
||||
use servo::rendering_context::RenderingContext;
|
||||
use servo::script_traits::{TouchEventType, WheelDelta, WheelMode};
|
||||
use servo::servo_config::{opts, pref};
|
||||
use servo::servo_geometry::DeviceIndependentPixel;
|
||||
use servo::style_traits::DevicePixel;
|
||||
use servo::webrender_api::units::{DeviceIntPoint, DeviceIntRect, DeviceIntSize};
|
||||
use servo::webrender_api::ScrollLocation;
|
||||
use servo::webrender_traits::RenderingContext;
|
||||
use surfman::{Connection, Context, Device, SurfaceType};
|
||||
#[cfg(target_os = "windows")]
|
||||
use winapi;
|
||||
|
|
|
@ -14,10 +14,10 @@ use log::warn;
|
|||
use servo::compositing::windowing::{
|
||||
AnimationState, EmbedderCoordinates, EmbedderEvent, WindowMethods,
|
||||
};
|
||||
use servo::rendering_context::RenderingContext;
|
||||
use servo::servo_geometry::DeviceIndependentPixel;
|
||||
use servo::style_traits::DevicePixel;
|
||||
use servo::webrender_api::units::{DeviceIntRect, DeviceIntSize};
|
||||
use servo::webrender_traits::RenderingContext;
|
||||
use surfman::{Connection, Context, Device, SurfaceType};
|
||||
|
||||
use crate::events_loop::WakerEvent;
|
||||
|
|
|
@ -18,11 +18,11 @@ use gleam::gl;
|
|||
use glow::NativeFramebuffer;
|
||||
use log::{trace, warn};
|
||||
use servo::compositing::windowing::EmbedderEvent;
|
||||
use servo::rendering_context::RenderingContext;
|
||||
use servo::script_traits::TraversalDirection;
|
||||
use servo::servo_geometry::DeviceIndependentPixel;
|
||||
use servo::servo_url::ServoUrl;
|
||||
use servo::style_traits::DevicePixel;
|
||||
use servo::webrender_traits::RenderingContext;
|
||||
use winit::event::{ElementState, MouseButton};
|
||||
|
||||
use crate::egui_glue::EguiGlow;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue