Josh Matthews
1cefae7181
Replace use of gleam in webgl with sparkle.
2019-09-11 11:40:04 -04:00
Alan Jeffrey
1e3b08aae8
Fallback to old extensions API if NUM_EXTENSIONS errors
2019-09-03 11:03:45 -05:00
bors-servo
18f59fc16f
Auto merge of #24048 - pylbrecht:raqote, r=jrmuizel
...
Implement raqote backend for canvas 2D rendering
<!-- Please describe your changes on the following line: -->
This is a follow-up of #23936 .
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #23431
<!-- Either: -->
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- 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/24048 )
<!-- Reviewable:end -->
2019-09-02 12:32:23 -04:00
pylbrecht
d24568218b
Don't use catch all in match
2019-09-01 19:26:04 +02:00
pylbrecht
47a6129332
Use raqote's implementation of Path::contains_point()
2019-09-01 19:22:20 +02:00
pylbrecht
7c81d20869
Implement create_gradient_stops()
2019-08-29 14:17:03 +02:00
bors-servo
9a4f90bf0c
Auto merge of #24058 - Eijebong:ipc-channel, r=jdm
...
Update ipc-channel and related dependencies
<!-- 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/24058 )
<!-- Reviewable:end -->
2019-08-27 18:40:40 -04:00
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