aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/canvasrenderingcontext2d.rs
Commit message (Collapse)AuthorAgeFilesLines
* Update euclid.Emilio Cobos Álvarez2019-07-231-3/+6
| | | | | | | | 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.
* layout: Fix servo build.Emilio Cobos Álvarez2019-06-041-1/+1
|
* Extract canvas operations for reuse by OffscreenCanvas.Maharsh2019-05-221-733/+1217
|
* removed commentsMaharsh2019-05-131-45/+1
|
* Borrow Layout ChangeMaharsh2019-05-131-2/+5
|
* Updated Testcases and FormattingMaharsh2019-05-111-7/+6
|
* Changes for sender recieverMaharsh2019-05-091-5/+26
|
* Changes for gitignoreMaharsh2019-05-091-7/+16
|
* Created CanvasRect fro OffscreenCanvas and Updated TestcasesMaharsh2019-03-291-32/+97
|
* Rustfmt has changed its default style :/Simon Sapin2018-12-281-4/+4
|
* Make HTMLCanvasElement::fetch_all_data return a shared memory blobAnthony Ramine2018-11-211-1/+5
|
* Call rgba8_byte_swap_colors_inplace on the WebGL threadAnthony Ramine2018-11-201-3/+1
|
* Move PixelFormat to the pixels crateAnthony Ramine2018-11-201-1/+1
|
* Update MPL license to https (part 3)Jan Andre Ikenmeyer2018-11-191-1/+1
|
* Prefix some pixels functions with rgba8_Anthony Ramine2018-11-161-1/+1
|
* Remove useless `use crate_name;` imports.Simon Sapin2018-11-081-1/+0
| | | | A `crate_name::foo` path always works in 2018
* `cargo fix --edition-idioms`Simon Sapin2018-11-081-1/+1
|
* Reorder importsPyfisch2018-11-061-6/+6
|
* Format remaining filesPyfisch2018-11-061-12/+30
|
* Sort `use` statementsSimon Sapin2018-11-061-3/+3
|
* `cargo fix --edition`Simon Sapin2018-11-061-23/+23
|
* Simplify ctx.drawImage a bitAnthony Ramine2018-10-111-28/+5
| | | | There is no need to swap between RGBA and BGRA twice.
* Share some code between 2D canvas and WebGLAnthony Ramine2018-10-091-21/+3
|
* Avoid ctx.getImageData in canvas.toDataURLAnthony Ramine2018-10-081-12/+23
|
* Abstract some stuff common to ctx.getImageData and ctx.putImageDataAnthony Ramine2018-10-081-119/+80
|
* Handle some transparent black cases in ctx.getImageDataAnthony Ramine2018-10-071-13/+38
|
* Align ctx.createImageData and ctx.getImageData with the specAnthony Ramine2018-10-061-44/+33
|
* Avoid copying pixels in ctx.putImageData sometimesAnthony Ramine2018-10-061-1/+4
|
* Introduce ImageData::get_rectAnthony Ramine2018-10-061-9/+4
| | | | | | | 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.
* Merge some byte swap/premultiply functions in their own crateAnthony Ramine2018-10-061-2/+3
|
* Improve gl.putImageDataAnthony Ramine2018-10-051-2/+28
| | | | | This commit should allow us to send smaller blobs to the canvas thread, I made it into its own commit just to try=wpt.
* Align canvas.putImageData with specAnthony Ramine2018-10-051-31/+18
| | | | The arguments are supposed to be long values, not floats.
* Move canvas.putImageData checks to the DOM sideAnthony Ramine2018-10-051-11/+60
|
* Make HTMLCanvasElement::get_size return a Size2D<u32>Anthony Ramine2018-10-021-5/+5
| | | | The changes keep trickling down.
* Format script componentchansuke2018-09-191-310/+408
|
* Implement proper origin checks for WebGL textures (fixes #21522)Anthony Ramine2018-09-181-2/+1
|
* Remove Canvas2dMsg::DrawImageSelfAnthony Ramine2018-09-171-19/+7
| | | | | Now that all canvas share the same thread, it's useless to have a separate message for that.
* Don't create 2D canvas contexts arbitrarilyAnthony Ramine2018-09-161-46/+58
| | | | | Sometimes, the canvas still has no rendering context, in this case it represents a transparent black rectangle.
* Update CanvasRenderingContext2D WebIDL definitionAnthony Ramine2018-09-141-13/+0
| | | | CanvasImageSource was never supposed to include CanvasRenderingContext2D.
* Use a byte channel to retrieve pixels of 2D canvasAnthony Ramine2018-09-131-5/+5
|
* Merge byte swap and unmultiplying loops in ctx.getImageData()Anthony Ramine2018-09-131-5/+5
|
* Moved Canvas rendering to a single thread.Brody-Eastwood2018-04-231-11/+10
|
* Add unique canvas IDs to all canvas operations.Brody Eastwood2018-04-021-122/+92
|
* Use ByteBuf for the canvas messagesAnthony Ramine2018-03-261-13/+15
| | | | | The type Vec<u8> is super unefficient to work with in Serde if all you want to represent is a simple blob.
* Implements profiler for blocked recvNakul Jindal2018-03-221-5/+6
|
* Avoid `Window::GetComputedStyle` when checking for `display: none`Alex Fong2018-02-261-13/+5
|
* Revert "Send IPC receiver for canvas as part of CreateCanvasPaintThread message"Josh Matthews2017-12-181-2/+3
| | | | This reverts commit a504c9358b70fcf02bd8f2067fcbd17d16c89439.
* Send IPC receiver for canvas as part of CreateCanvasPaintThread messagetigercosmos2017-12-161-3/+2
|
* use entry global's origin in `is_origin_clean` check for canvas renderingtigercosmos2017-12-051-7/+2
|
* Replace all uses of the `heapsize` crate with `malloc_size_of`.Nicholas Nethercote2017-10-181-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`. `malloc_size_of` is better -- it handles various cases that `heapsize` does not -- so this patch changes Servo to use `malloc_size_of`. This patch makes the following changes to the `malloc_size_of` crate. - Adds `MallocSizeOf` trait implementations for numerous types, some built-in (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`). - Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't support that operation. - For `HashSet`/`HashMap`, falls back to a computed estimate when `enclosing_size_of_op` isn't available. - Adds an extern "C" `malloc_size_of` function that does the actual heap measurement; this is based on the same functions from the `heapsize` crate. This patch makes the following changes elsewhere. - Converts all the uses of `heapsize` to instead use `malloc_size_of`. - Disables the "heapsize"/"heap_size" feature for the external crates that provide it. - Removes the `HeapSizeOf` implementation from `hashglobe`. - Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of` doesn't derive those types, unlike `heapsize`.