Bastien Orivel
92161ecfbc
Update ipc-channel and related dependencies
2019-08-27 23:44:04 +02:00
Mátyás Mustoha
736f6859b0
Fix extension querying when using WebGL2
...
This patch fixes a crash caused by using a deprecated GL call.
Starting with OpenGL 3 (used by WebGL2), the `glGetString(GL_EXTENSIONS)`
call is deprecated, and some drivers produce GL_INVALID_ENUM error.
Querying can be done by checking the number of extensions first,
then getting the extensions one by one.
2019-08-26 15:12:43 +02:00
pylbrecht
89b8bd516f
Refactor Path::contains_point() using any()
2019-08-25 16:43:29 +02:00
pylbrecht
ee7f3dbc46
Implement PathBuilder::get_current_point()
2019-08-25 16:19:33 +02:00
pylbrecht
2a0be451ae
Implement Path::contains_point()
2019-08-25 15:50:04 +02:00
Simon Sapin
98e4a53b72
Upgrade to rustc 1.39.0-nightly (f7af19c27 2019-08-15)
2019-08-23 08:23:21 +02:00
Bastien Orivel
f829eaea03
Fix the build and tidy and address nits
2019-08-21 19:19:43 +02:00
Bastien Orivel
168a526221
Implement Source::Surface for FillOrStrokeStyle with raqote
2019-08-21 19:10:57 +02:00
Bastien Orivel
8a57876482
Implement get_format
...
Since raqote doesn't have multiple formats for its surfaces, this is a
noop to avoid crashing with the unimplemented
2019-08-21 19:10:57 +02:00
Bastien Orivel
dc78b6a989
Implement a few functions to make tests in draw-image and draw-path pass
2019-08-21 19:10:57 +02:00
Bastien Orivel
8cb8e7c627
WIP: Fix azure backend
2019-08-21 19:10:57 +02:00
Bastien Orivel
3dd0b462c2
Make tidy happy again
2019-08-21 19:10:57 +02:00
Bastien Orivel
0a3c6637bb
Implement create_similar_draw_target
2019-08-21 19:10:57 +02:00
Bastien Orivel
4c73e4bb3f
Imlplement get_composition_op
2019-08-21 19:10:57 +02:00
Bastien Orivel
a28d00013c
Implement set_shadow_color, set_global_composition and stroke_rect
2019-08-21 19:10:57 +02:00
Bastien Orivel
a9fd26729b
Match the azure backend regarding cap stuff
...
I think this is wrong because it won't respect cap style at all when
stroking lines but we'll cross that bridge when we get to it
2019-08-21 19:10:57 +02:00
Bastien Orivel
1dee418ff1
Set the line cap to butt when drawing a rect with a 0 width/height
...
Otherwise raqote will draw the cap even though it shouldn't because the
spec says so
2019-08-21 19:10:56 +02:00
Bastien Orivel
97674082d3
Pass BlendMode::Clear to the fill method of DrawTarget in clear_rect
...
This makes some tests regarding clearing rects pass. Otherwise the rect
wouldn't get cleared properly and it'd keep its original color but get
an alpha of 0
2019-08-21 19:10:56 +02:00
Bastien Orivel
777ef4f3e8
Implement snapshot_data_owned
2019-08-21 19:10:56 +02:00
Bastien Orivel
97364dc6af
Implement get_size
2019-08-21 19:10:56 +02:00
Bastien Orivel
fda815bcbb
Properly pass draw_options in fill_rect
2019-08-21 19:10:56 +02:00
Bastien Orivel
e90d1a1d8d
Implement stroke_line and set_stroke_style
2019-08-21 19:10:56 +02:00
Bastien Orivel
9229dc4d85
Implement clear_rect
2019-08-21 19:10:56 +02:00
Bastien Orivel
24313a82a1
Make tidy happy
2019-08-21 19:10:56 +02:00
Bastien Orivel
14ee093a5b
Implement size_from_pattern
...
I tried to mimic the azure implementation but raqote doesn't have a
concept of horizontal or vertical repeat so this might be
wrong/incomplete but this is the last function needed to finally have
some tests pass
2019-08-21 19:08:18 +02:00
Bastien Orivel
ed0dbafc72
Implement need_to_draw_shadow
2019-08-21 19:08:18 +02:00
Bastien Orivel
559b28ce7b
Implement snapshot_data
2019-08-21 19:08:18 +02:00
Bastien Orivel
c39af71aeb
Add an implementation for fill_rect
...
Again, this is probably incomplete but it'll do for now
2019-08-21 19:08:18 +02:00
Bastien Orivel
0a878da500
Implement Pattern::is_zero_size_gradient
...
There are probably other times where this would be true but I'll worry
about that later
2019-08-21 19:08:18 +02:00
Bastien Orivel
93f1053b0e
Implement set_fill_style
2019-08-21 19:08:18 +02:00
Bastien Orivel
cbe385c7d7
Add a way to convert a FillOrStrokeStyle to a raqote Source
...
For now most of it unimplemented but it'll allow for some more testing
2019-08-21 19:08:18 +02:00
pylbrecht
7005c24e40
Implement some of GenericDrawTarget's methods for raqote
2019-08-21 19:08:17 +02:00
pylbrecht
398929ffef
Implement fill() for raqote::DrawTarget
2019-08-21 19:08:17 +02:00
Josh Matthews
4e51caeb7e
Deal with fallout from mutable trait method change.
2019-08-21 19:08:17 +02:00
pylbrecht
b43c5c30e3
WIP: Make GenericPathBuilder's methods take &mut self
2019-08-21 19:08:17 +02:00
pylbrecht
9f9013946a
Implement provided raqote::PathBuilder's methods for GenericPathBuilder
2019-08-21 19:08:17 +02:00
pylbrecht
f9e398d9f6
Make GenericPathBuilder take &mut self
2019-08-21 19:08:17 +02:00
pylbrecht
4179f91f93
Implement StrokeOptions
2019-08-21 19:08:17 +02:00
pylbrecht
4aad4ff858
Implement DrawOptions.set_alpha()
2019-08-21 19:08:16 +02:00
Josh Matthews
25b20ebfc6
Drop webgl main thread data during shutdown.
2019-07-29 08:15:59 -04:00
Alan Jeffrey
c757a9c009
Get XR sessions to track the draw texture, so we render the XR framebuffer rather than the default canvas framebuffer
2019-07-28 10:24:38 -04:00
Alan Jeffrey
133a17e15c
Replace use of callbacks in webxr by channels
2019-07-26 23:36:13 -05:00
Alan Jeffrey
0178fcae4e
When using the WebGL external image API, use sync calls if we happen to be on the WebGL thread
2019-07-26 17:39:40 -05:00
Josh Matthews
a2ca3ddbd9
Remove extra webgl message pumping thread.
2019-07-25 23:07:23 -04:00
Josh Matthews
39d13d1fc8
Support running WebGL in its own thread or on the main thread.
2019-07-25 23:05:03 -04:00
Emilio Cobos Álvarez
3d57c22e9c
Update euclid.
...
There are a few canvas2d-related dependencies that haven't updated, but they
only use euclid internally so that's not blocking landing the rest of the
changes.
Given the size of this patch, I think it's useful to get this landed as-is.
2019-07-23 23:09:55 +02:00
bors-servo
650f90b271
Auto merge of #23763 - servo:jdm-patch-40, r=Manishearth
...
Don't enable azure canvas feature by default.
This caused problems when I was trying to do a UWP build.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23763 )
<!-- Reviewable:end -->
2019-07-12 19:42:02 -04:00
Josh Matthews
dbaed5ed92
Make GL/GLES decisions based on the API in use.
2019-07-12 13:36:44 -04:00
bors-servo
812bf8d816
Auto merge of #23758 - jdm:compositing-canvas-break, r=gterzian
...
Remove canvas->compositing dependency
There's one tiny place in the canvas crate that depends on the compositing crate, and it's really quite backwards. If we use trait objects instead it becomes much cleaner to reason about.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because no tests for windows-only webgl code.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23758 )
<!-- Reviewable:end -->
2019-07-12 10:26:55 -04:00
Josh Matthews
577eb654cf
Don't enable azure canvas feature by default.
2019-07-12 08:43:33 -04:00