mirror of
https://github.com/servo/servo.git
synced 2025-06-17 12:54:28 +00:00
Rename renderer to render_task
This commit is contained in:
parent
4e54e0abea
commit
0721daad0f
10 changed files with 37 additions and 29 deletions
|
@ -19,7 +19,7 @@ import dom::base::{Node, NodeScope, define_bindings};
|
|||
import dom::event::{Event, ResizeEvent};
|
||||
import dom::style;
|
||||
import dom::style::Stylesheet;
|
||||
import gfx::renderer::Compositor;
|
||||
import gfx::compositor::Compositor;
|
||||
import parser::html_lexer::spawn_html_lexer_task;
|
||||
import parser::html_builder::build_dom;
|
||||
import layout::layout_task;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
import gfx::renderer::{Renderer, Compositor};
|
||||
import gfx::compositor::Compositor;
|
||||
import gfx::render_task;
|
||||
import render_task::RenderTask;
|
||||
import pipes::{spawn_service, select};
|
||||
import layout::layout_task;
|
||||
import layout_task::Layout;
|
||||
|
@ -18,7 +20,7 @@ fn macros() {
|
|||
struct Engine<C:Compositor send copy> {
|
||||
let compositor: C;
|
||||
|
||||
let renderer: Renderer;
|
||||
let render_task: RenderTask;
|
||||
let resource_task: ResourceTask;
|
||||
let image_cache_task: ImageCacheTask;
|
||||
let layout: Layout;
|
||||
|
@ -27,13 +29,13 @@ struct Engine<C:Compositor send copy> {
|
|||
new(+compositor: C) {
|
||||
self.compositor = compositor;
|
||||
|
||||
let renderer = Renderer(compositor);
|
||||
let render_task = RenderTask(compositor);
|
||||
let resource_task = ResourceTask();
|
||||
let image_cache_task = image_cache_task(resource_task);
|
||||
let layout = Layout(renderer, image_cache_task);
|
||||
let layout = Layout(render_task, image_cache_task);
|
||||
let content = create_content(layout, compositor, resource_task);
|
||||
|
||||
self.renderer = renderer;
|
||||
self.render_task = render_task;
|
||||
self.resource_task = resource_task;
|
||||
self.image_cache_task = image_cache_task;
|
||||
self.layout = layout;
|
||||
|
@ -66,8 +68,8 @@ struct Engine<C:Compositor send copy> {
|
|||
let (response_chan, response_port) =
|
||||
pipes::stream();
|
||||
|
||||
self.renderer.send(
|
||||
renderer::ExitMsg(response_chan));
|
||||
self.render_task.send(
|
||||
render_task::ExitMsg(response_chan));
|
||||
response_port.recv();
|
||||
|
||||
self.image_cache_task.exit();
|
||||
|
|
13
src/servo/gfx/compositor.rs
Normal file
13
src/servo/gfx/compositor.rs
Normal file
|
@ -0,0 +1,13 @@
|
|||
import dom::event::Event;
|
||||
import azure::azure_hl::DrawTarget;
|
||||
|
||||
#[doc = "
|
||||
The interface used to by the renderer to aquire draw targets for
|
||||
each rendered frame and submit them to be drawn to the display
|
||||
"]
|
||||
trait Compositor {
|
||||
fn begin_drawing(+next_dt: pipes::chan<DrawTarget>);
|
||||
fn draw(+next_dt: pipes::chan<DrawTarget>, +draw_me: DrawTarget);
|
||||
fn add_event_listener(listener: comm::Chan<Event>);
|
||||
}
|
||||
|
|
@ -17,7 +17,8 @@ import cairo::{CAIRO_FORMAT_ARGB32, cairo_surface_t, cairo_status_t, CAIRO_STATU
|
|||
import cairo_bg = cairo::bindgen;
|
||||
import cairo_bg::{cairo_image_surface_create, cairo_surface_destroy,
|
||||
cairo_surface_write_to_png_stream};
|
||||
import renderer::{Renderer, Compositor, RenderMsg};
|
||||
import compositor::Compositor;
|
||||
import render_task::{RenderTask, RenderMsg};
|
||||
import task::spawn_listener;
|
||||
import comm::{Chan, Port, chan, port};
|
||||
import unsafe::reinterpret_cast;
|
||||
|
@ -86,12 +87,12 @@ fn do_draw(sender: pipes::chan<DrawTarget>,
|
|||
fn sanity_check() {
|
||||
do listen |self_channel| {
|
||||
let compositor = PngCompositor(self_channel);
|
||||
let renderer = Renderer(compositor);
|
||||
let renderer = RenderTask(compositor);
|
||||
|
||||
let dlist : display_list = dvec();
|
||||
renderer.send(RenderMsg(dlist));
|
||||
let (exit_chan, exit_response_from_engine) = pipes::stream();
|
||||
renderer.send(renderer::ExitMsg(exit_chan));
|
||||
renderer.send(render_task::ExitMsg(exit_chan));
|
||||
exit_response_from_engine.recv();
|
||||
|
||||
compositor.send(Exit)
|
||||
|
|
|
@ -8,7 +8,6 @@ import azure::bindgen::*;
|
|||
import libc::size_t;
|
||||
import text::font::Font;
|
||||
import text::text_run::TextRun;
|
||||
import dom::event::{Event, ResizeEvent};
|
||||
import geom::size::Size2D;
|
||||
import geom::rect::Rect;
|
||||
import geom::point::Point2D;
|
||||
|
@ -18,6 +17,7 @@ import ptr::addr_of;
|
|||
import std::arc::arc;
|
||||
import azure::cairo::{cairo_font_face_t, cairo_scaled_font_t};
|
||||
import std::cell::Cell;
|
||||
import compositor::Compositor;
|
||||
|
||||
import pipes::{port, chan};
|
||||
|
||||
|
@ -28,17 +28,9 @@ enum Msg {
|
|||
ExitMsg(pipes::chan<()>)
|
||||
}
|
||||
|
||||
#[doc = "
|
||||
The interface used to by the renderer to aquire draw targets for
|
||||
each rendered frame and submit them to be drawn to the display
|
||||
"]
|
||||
trait Compositor {
|
||||
fn begin_drawing(+next_dt: pipes::chan<DrawTarget>);
|
||||
fn draw(+next_dt: pipes::chan<DrawTarget>, +draw_me: DrawTarget);
|
||||
fn add_event_listener(listener: comm::Chan<Event>);
|
||||
}
|
||||
type RenderTask = comm::Chan<Msg>;
|
||||
|
||||
fn Renderer<C: Compositor send copy>(compositor: C) -> comm::Chan<Msg> {
|
||||
fn RenderTask<C: Compositor send copy>(compositor: C) -> RenderTask {
|
||||
do task::spawn_listener |po: comm::Port<Msg>| {
|
||||
let (draw_target_ch, draw_target_po) = pipes::stream();
|
||||
let mut draw_target_ch = draw_target_ch;
|
|
@ -9,7 +9,6 @@ import geom::point::Point2D;
|
|||
import geom::rect::Rect;
|
||||
import geom::size::Size2D;
|
||||
import gfx::geometry::{au, au_to_px, box, px_to_au};
|
||||
import gfx::renderer;
|
||||
import util::tree;
|
||||
|
||||
import dvec::dvec;
|
||||
|
|
|
@ -8,7 +8,8 @@ import display_list_builder::build_display_list;
|
|||
import dom::base::Node;
|
||||
import dom::style::Stylesheet;
|
||||
import gfx::geometry::px_to_au;
|
||||
import gfx::renderer::Renderer;
|
||||
import gfx::render_task;
|
||||
import render_task::RenderTask;
|
||||
import resource::image_cache_task::ImageCacheTask;
|
||||
import std::net::url::url;
|
||||
import style::apply::apply_style;
|
||||
|
@ -25,7 +26,7 @@ enum Msg {
|
|||
ExitMsg
|
||||
}
|
||||
|
||||
fn Layout(renderer: Renderer, image_cache_task: ImageCacheTask) -> Layout {
|
||||
fn Layout(render_task: RenderTask, image_cache_task: ImageCacheTask) -> Layout {
|
||||
do spawn_listener::<Msg>|request| {
|
||||
loop {
|
||||
match request.recv() {
|
||||
|
@ -52,7 +53,7 @@ fn Layout(renderer: Renderer, image_cache_task: ImageCacheTask) -> Layout {
|
|||
this_box.reflow_subtree(px_to_au(800));
|
||||
|
||||
let dlist = build_display_list(this_box);
|
||||
renderer.send(renderer::RenderMsg(dlist));
|
||||
render_task.send(render_task::RenderMsg(dlist));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ import azure::cairo_hl::ImageSurface;
|
|||
import comm::*;
|
||||
import dvec::{DVec, dvec};
|
||||
import azure::cairo::cairo_surface_t;
|
||||
import gfx::renderer::Compositor;
|
||||
import gfx::compositor::Compositor;
|
||||
import dom::event::{Event, ResizeEvent};
|
||||
import layers::ImageLayer;
|
||||
import geom::size::Size2D;
|
||||
|
|
|
@ -32,7 +32,8 @@ mod dom {
|
|||
mod gfx {
|
||||
mod geometry;
|
||||
mod surface;
|
||||
mod renderer;
|
||||
mod render_task;
|
||||
mod compositor;
|
||||
mod png_compositor;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import comm::*;
|
||||
import option::swap_unwrap;
|
||||
import gfx::renderer;
|
||||
import platform::osmain;
|
||||
import osmain::{OSMain, AddKeyHandler};
|
||||
import opts::{Opts, Screen, Png};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue