diff --git a/configure b/configure index 624661ce5d2..6b447df9baf 100755 --- a/configure +++ b/configure @@ -627,6 +627,7 @@ make_dir ${CFG_BUILD_DIR}src/components/compositing make_dir ${CFG_BUILD_DIR}src/components/embedding make_dir ${CFG_BUILD_DIR}src/components/msg make_dir ${CFG_BUILD_DIR}src/components/net +make_dir ${CFG_BUILD_DIR}src/components/canvas make_dir ${CFG_BUILD_DIR}src/components/gfx make_dir ${CFG_BUILD_DIR}src/components/layout make_dir ${CFG_BUILD_DIR}src/components/layout_traits diff --git a/mk/main.mk b/mk/main.mk index 24e4726899f..3b97a2f7e5a 100644 --- a/mk/main.mk +++ b/mk/main.mk @@ -288,6 +288,13 @@ DONE_msg = $(B)src/components/msg/libmsg.dummy DEPS_msg = $(CRATE_msg) $(SRC_msg) $(DONE_SUBMODULES) $(DONE_util) +RFLAGS_canvas = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) +SRC_canvas = $(call rwildcard,$(S)src/components/canvas/,*.rs) +CRATE_canvas = $(S)src/components/canvas/canvas.rs +DONE_canvas = $(B)src/components/canvas/libcanvas.dummy + +DEPS_canvas = $(CRATE_canvas) $(SRC_canvas) $(DONE_SUBMODULES) + RFLAGS_gfx = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L $(B)src/components/style -L $(B)src/components/net -L $(B)src/components/msg -L$(B)src/components/macros SRC_gfx = $(call rwildcard,$(S)src/components/gfx/,*.rs) CRATE_gfx = $(S)src/components/gfx/gfx.rs @@ -303,7 +310,7 @@ DONE_script_traits = $(B)src/components/script_traits/libscript_traits.dummy DEPS_script_traits = $(CRATE_script_traits) $(SRC_script_traits) $(DONE_msg) $(DONE_net) -RFLAGS_script = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L $(B)src/components/style -L $(B)src/components/net -L $(B)src/components/msg -L$(B)src/components/macros -L$(B)src/components/gfx -L$(B)src/components/script_traits +RFLAGS_script = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L $(B)src/components/style -L $(B)src/components/net -L $(B)src/components/msg -L$(B)src/components/macros -L$(B)src/components/canvas -L$(B)src/components/script_traits ifdef TRAVIS # libscript has a habit of taking over 10 minutes while running on Travis, @@ -323,7 +330,7 @@ SRC_script = $(call rwildcard,$(S)src/components/script/,*.rs) $(AUTOGEN_SRC_scr CRATE_script = $(S)src/components/script/script.rs DONE_script = $(B)src/components/script/libscript.dummy -DEPS_script = $(CRATE_script) $(SRC_script) $(DONE_SUBMODULES) $(DONE_util) $(DONE_style) $(DONE_net) $(DONE_msg) $(DONE_macros) $(DONE_gfx) $(DONE_script_traits) +DEPS_script = $(CRATE_script) $(SRC_script) $(DONE_SUBMODULES) $(DONE_util) $(DONE_style) $(DONE_net) $(DONE_msg) $(DONE_macros) $(DONE_canvas) $(DONE_script_traits) RFLAGS_style = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/util -L$(B)src/components/macros MAKO_ZIP = $(S)src/components/style/Mako-0.9.1.zip @@ -343,7 +350,7 @@ DONE_layout_traits = $(B)src/components/layout_traits/liblayout_traits.dummy DEPS_layout_traits = $(CRATE_layout_traits) $(SRC_layout_traits) $(DONE_script_traits) $(DONE_msg) $(DONE_net) $(DONE_gfx) $(DONE_util) -RFLAGS_layout = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/style -L $(B)src/components/msg -L$(B)src/components/macros -L$(B)src/components/layout_traits -L $(B)src/components/script_traits +RFLAGS_layout = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/canvas -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/style -L $(B)src/components/msg -L$(B)src/components/macros -L$(B)src/components/layout_traits -L $(B)src/components/script_traits SRC_layout = $(call rwildcard,$(S)src/components/layout/,*.rs) CRATE_layout = $(S)src/components/layout/layout.rs @@ -359,12 +366,12 @@ DONE_compositing = $(B)src/components/compositing/libcompositing.dummy DEPS_compositing = $(CRATE_compositing) $(SRC_compositing) $(DONE_util) $(DONE_msg) $(DONE_gfx) $(DONE_layout_traits) $(DONE_script_traits) $(DONE_style) -RFLAGS_servo = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/layout_traits -L $(B)src/components/script_traits -L $(B)src/components/layout -L $(B)src/components/compositing -L $(B)src/components/style -L $(B)src/components/msg -L$(B)src/components/macros +RFLAGS_servo = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/canvas -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/layout_traits -L $(B)src/components/script_traits -L $(B)src/components/layout -L $(B)src/components/compositing -L $(B)src/components/style -L $(B)src/components/msg -L$(B)src/components/macros SRC_servo = $(call rwildcard,$(S)src/components/main/,*.rs) CRATE_servo = $(S)src/components/main/servo.rs -SERVO_LIB_CRATES = macros util net msg gfx script script_traits style layout layout_traits compositing +SERVO_LIB_CRATES = macros util net msg canvas gfx script script_traits style layout layout_traits compositing DEPS_servo = $(CRATE_servo) $(SRC_servo) $(DONE_SUBMODULES) $(foreach lib_crate,$(SERVO_LIB_CRATES),$(DONE_$(lib_crate))) @@ -433,7 +440,7 @@ servo: $(DEPS_servo) @$(call E, compile: $@) $(Q)$(RUSTC) $(strip $(TARGET_FLAGS) $(CFG_RUSTC_FLAGS)) $(RFLAGS_servo) -C rpath $< --crate-type bin,dylib,rlib -RFLAGS_embedding = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/layout -L $(B)src/components/layout_traits -L $(B)src/components/script_traits -L $(B)src/components/compositing -L $(B)src/components/style -L $(B)src/components/msg -L $(B).. -L $(B)src/components/main -L $(B)src/components/macros -A non_camel_case_types -A unused_variable +RFLAGS_embedding = $(addprefix -L $(B)src/,$(DEPS_SUBMODULES)) -L $(B)src/components/gfx -L $(B)src/components/canvas -L $(B)src/components/util -L $(B)src/components/net -L $(B)src/components/script -L $(B)src/components/layout -L $(B)src/components/layout_traits -L $(B)src/components/script_traits -L $(B)src/components/compositing -L $(B)src/components/style -L $(B)src/components/msg -L $(B).. -L $(B)src/components/main -L $(B)src/components/macros -A non_camel_case_types -A unused_variable ifeq ($(CFG_OSTYPE),apple-darwin) RFLAGS_embedding += -C link-args="-Wl,-U,_tc_new -Wl,-U,_tc_newarray -Wl,-U,_tc_delete -Wl,-U,_tc_deletearray" @@ -444,13 +451,13 @@ CRATE_embedding = $(S)src/components/embedding/embedding.rs servo-embedding: servo $(SRC_embedding) $(CRATE_embedding) @$(call E, compile: $@) $(Q)$(RUSTC) $(strip $(TARGET_FLAGS) $(CFG_RUSTC_FLAGS)) $(RFLAGS_embedding) $(CRATE_embedding) -C rpath --crate-type dylib,rlib - touch servo-embedding + $(Q)touch servo-embedding else all: servo servo: $(DEPS_servo) @$(call E, compile: $@) $(Q)$(RUSTC) $(strip $(TARGET_FLAGS) $(CFG_RUSTC_FLAGS)) $(RFLAGS_servo) $< -o libservo.so --crate-type dylib - touch servo + $(Q)touch servo endif # Darwin app packaging diff --git a/src/components/canvas/canvas.rs b/src/components/canvas/canvas.rs new file mode 100644 index 00000000000..a74c41796c9 --- /dev/null +++ b/src/components/canvas/canvas.rs @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#![crate_name = "canvas"] +#![crate_type = "rlib"] + +extern crate azure; +extern crate geom; + +pub mod canvas_render_task; diff --git a/src/components/gfx/canvas_render_task.rs b/src/components/canvas/canvas_render_task.rs similarity index 100% rename from src/components/gfx/canvas_render_task.rs rename to src/components/canvas/canvas_render_task.rs diff --git a/src/components/gfx/gfx.rs b/src/components/gfx/gfx.rs index a684f8201d0..bc326a51548 100644 --- a/src/components/gfx/gfx.rs +++ b/src/components/gfx/gfx.rs @@ -55,10 +55,6 @@ pub mod color; pub mod display_list; pub mod render_task; -// Canvas Rendering -#[allow(dead_code)] -pub mod canvas_render_task; - // Fonts pub mod font; pub mod font_context; diff --git a/src/components/script/dom/canvasrenderingcontext2d.rs b/src/components/script/dom/canvasrenderingcontext2d.rs index e1e30d3a4df..6b3f898123f 100644 --- a/src/components/script/dom/canvasrenderingcontext2d.rs +++ b/src/components/script/dom/canvasrenderingcontext2d.rs @@ -14,7 +14,7 @@ use geom::point::Point2D; use geom::rect::Rect; use geom::size::Size2D; -use gfx::canvas_render_task::{CanvasMsg, CanvasRenderTask, ClearRect, Close, FillRect, Recreate, StrokeRect}; +use canvas::canvas_render_task::{CanvasMsg, CanvasRenderTask, ClearRect, Close, FillRect, Recreate, StrokeRect}; #[deriving(Encodable)] pub struct CanvasRenderingContext2D { diff --git a/src/components/script/script.rs b/src/components/script/script.rs index f912dec518f..f524fefe0f0 100644 --- a/src/components/script/script.rs +++ b/src/components/script/script.rs @@ -33,6 +33,7 @@ extern crate net; extern crate rustrt; extern crate serialize; extern crate time; +extern crate canvas; extern crate script_traits; #[phase(plugin)] extern crate servo_macros = "macros"; @@ -42,7 +43,6 @@ extern crate style; extern crate sync; extern crate servo_msg = "msg"; extern crate url; -extern crate gfx; pub mod cors;