Bailey Blankenship
ec2961920b
Addresses issues raised in #24465 ; removes redundancy in set_bitmap_dimensions
...
Removed passing test .ini files and moved euclid extensions to euclidext.rs to factor out redundant code
2019-11-10 18:37:14 -05: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
Josh Matthews
db362184fd
Fix formatting.
2019-06-03 00:12:01 -04:00
Josh Matthews
3243f1753b
Add cargo feature to control canvas backend.
2019-06-03 00:12:01 -04:00
pylbrecht
42bf1984be
Make CanvasData use GenericDrawTarget
2019-05-31 15:55:18 -04:00
Maharsh
1de8ddd89c
Changes for sender reciever
2019-05-09 21:54:48 -04:00
Simon Sapin
be69f9c3e6
Rustfmt has changed its default style :/
2018-12-28 13:17:47 +01:00
Jan Andre Ikenmeyer
1d6fe65401
Update MPL license to https (part 4)
2018-11-19 14:47:27 +01:00
Simon Sapin
9f977c5287
Remove useless use crate_name;
imports.
...
A `crate_name::foo` path always works in 2018
2018-11-08 09:29:52 +01:00
Pyfisch
cb07debcb6
Format remaining files
2018-11-06 22:30:31 +01:00
Simon Sapin
76e59a46d3
Sort use
statements
2018-11-06 15:26:02 +01:00
Simon Sapin
45f7199eee
cargo fix --edition
2018-11-06 15:26:02 +01:00
Paul Rouget
cdf22c1493
Exit Canvas paint thread on shutdown
2018-10-29 11:06:06 +01:00
Anthony Ramine
bb2101f540
Simplify ctx.drawImage a bit
...
There is no need to swap between RGBA and BGRA twice.
2018-10-11 15:46:42 +02:00
Anthony Ramine
77c28bdfc9
Abstract some stuff common to ctx.getImageData and ctx.putImageData
2018-10-08 11:39:09 +02:00
Anthony Ramine
241dba064d
Align ctx.createImageData and ctx.getImageData with the spec
2018-10-06 11:41:48 +02:00
Anthony Ramine
75e6f5dfaa
Avoid copying pixels in ctx.putImageData sometimes
2018-10-06 02:59:25 +02:00
Anthony Ramine
19f40cdf0b
Introduce ImageData::get_rect
...
We use that to send only the pixels that will be actually drawn to the
canvas thread in CanvasRenderingContext2d::PutImageData.
We also make the canvas thread byte swap and premultiply colours in-place.
2018-10-06 01:12:05 +02:00
Anthony Ramine
784fbb2bc1
Merge some byte swap/premultiply functions in their own crate
2018-10-06 01:11:55 +02:00
Anthony Ramine
a3392610c3
Make HTMLCanvasElement::get_size return a Size2D<u32>
...
The changes keep trickling down.
2018-10-02 14:21:06 +02:00
Anthony Ramine
36c8cd229e
Remove Canvas2dMsg::DrawImageSelf
...
Now that all canvas share the same thread, it's useless to have a separate message
for that.
2018-09-17 16:24:01 +02:00
Anthony Ramine
f1e8eb640c
Don't create 2D canvas contexts arbitrarily
...
Sometimes, the canvas still has no rendering context, in this case it represents
a transparent black rectangle.
2018-09-16 20:44:41 +02:00
Anthony Ramine
fef04c65f6
Avoid a byte swap roundtrip
2018-09-14 14:48:39 +02:00
Brody-Eastwood
f3065f3707
Moved Canvas rendering to a single thread.
2018-04-23 20:50:05 -04:00
Brody Eastwood
8a1590efc6
Add unique canvas IDs to all canvas operations.
2018-04-02 22:02:22 -04:00
Anthony Ramine
ce81420bef
Use ByteBuf for the canvas messages
...
The type Vec<u8> is super unefficient to work with in Serde if all you want
to represent is a simple blob.
2018-03-26 20:48:02 +02:00
Glenn Watson
30bb1ccbef
Update WR (accelerated webgl fix on mac, line decoration optimizations).
2018-03-23 07:58:31 +10:00
CYBAI
cde99646a6
Use specific assertion for canvas
2018-01-25 23:44:54 +08:00
tigercosmos
e915840caf
remove unsued IpcReceiver
2017-12-20 22:19:25 +08:00
Josh Matthews
0e211d0d8f
Revert "Send IPC receiver for canvas as part of CreateCanvasPaintThread message"
...
This reverts commit a504c9358b
.
2017-12-18 10:51:00 -05:00
tigercosmos
9978f04563
remove unused self
in canvas_paint_thread
2017-12-17 12:36:22 +08:00
tigercosmos
a504c9358b
Send IPC receiver for canvas as part of CreateCanvasPaintThread message
2017-12-16 12:04:59 +08:00
Joone Hur
57e283aaab
Implement Ellipse Canvas 2D API
...
* Update rust-azure to 0.21.0
* Mark the following test case as fail:
tests/wpt/mozilla/tests/mozilla/css-paint-api/background-image-tiled.html
* Make the ellipse test case pass.
BUG: https://github.com/servo/servo/issues/17598
2017-09-01 16:04:06 -07:00
Bruno Bernardino
2af828485f
Implement CanvasRenderingContext2d.fillText's "unimplemented" message
2017-08-23 17:34:55 +01:00
Anthony Ramine
676f2c8acf
Revert "Auto merge of #18114 - emilio:revert-webgl-refactor, r=nox"
...
This reverts commit 4d10d39e8f
, reversing
changes made to ee94e2b7c0
.
2017-08-16 23:23:18 +02:00
Emilio Cobos Álvarez
cfe22e3979
Revert "Auto merge of #17891 - MortimerGoro:webgl_move, r=glennw,emilio"
...
This reverts commit 90f55ea458
, reversing
changes made to 2e60b27a21
.
2017-08-16 16:42:13 +02:00
Imanol Fernandez
703962fe61
Improve WebGL architecture.
2017-08-15 22:14:32 +02:00
Glenn Watson
f6a9f15fed
Update WR.
...
* CPU text run optimizations.
* Linux subpixel positioning / rasterization.
* Update debug flags API.
* Update to resource transactions API.
2017-08-09 07:05:05 +10:00
Alan Jeffrey
d101f9c945
Implemented paint worklet arguments.
2017-07-29 15:32:13 -05:00
DarkDrek
67ceebbcb0
Use AntialiasMode in CanvasPaintThread::new
...
Change suggested in #17661
2017-07-29 13:22:40 +02:00
Alan Jeffrey
3002c45184
Don't delete webrender image keys immediately.
2017-07-17 15:24:42 -05:00
Martin Robinson
e58e8ab42e
Upgrade to the latest version of WebRender
2017-07-13 07:44:08 +10:00
Alan Jeffrey
0b7a43da6b
Clear canvas thread state on recreation.
2017-07-05 13:33:21 -05:00
Glenn Watson
e7b1e041c8
Update WR (CPU text optimizations, image format renames).
2017-06-16 15:27:22 +10:00
Nicolas Silva
8617320500
Bump euclid to 0.14.
2017-06-14 16:00:59 +02:00
Alan Jeffrey
4e04daa9d0
Clear webrender image id when resizing a canvas.
2017-06-13 09:30:26 -05:00
Glenn Watson
6dd3bc29e1
Update WR (various optimizations, gradient improvements).
2017-04-03 06:48:27 +10:00
Glenn Watson
3ca0f8a9ac
Update WR (opaque rect optimization, stacking context culling).
...
Correct viewport test references
These references were using an incorrect value for the expected
container width. Now that WebRender is no longer clipping to stacking
context boundaries the rendered width is correct (100% of viewport
width = 240px).
2017-03-27 06:14:34 +10:00
n0max
6f470e497f
Fix crop_area_byte_length calculation in crop_image and add tests
2017-03-16 21:43:31 +01:00
Glenn Watson
64a9a45b2a
Update WR (image tiling, inset box shadow fixes, new key api).
2017-02-27 08:54:28 +10:00