aboutsummaryrefslogtreecommitdiffstats
path: root/components/gfx/render_context.rs
Commit message (Collapse)AuthorAgeFilesLines
* Rename RenderContext -> PaintContextTetsuharu OHZEKI2014-12-081-876/+0
|
* auto merge of #4187 : cgaebel/servo/issue-4127, r=SimonSapinbors-servo2014-12-031-62/+110
|\ | | | | | | | | | | This will avoid drawing Arcs if there's no border-radius property set. Fixes #4127
| * code reviewClark Gaebel2014-12-021-63/+59
| |
| * Fixed #4127: Added a fast path to border-radius.Clark Gaebel2014-12-021-71/+123
| | | | | | | | This will avoid drawing Arcs if there's no border-radius property set.
* | layout: Implement `opacity` per CSS-COLOR § 3.2.Patrick Walton2014-12-031-4/+64
|/ | | | | | | | | This adds the infrastructure necessary to support stacking contexts that are not containing blocks for absolutely-positioned elements. Our infrastructure did not support that before. This minor revamp actually ended up simplifying the logic around display list building and stacking-relative position computation for absolutely-positioned flows, which was nice.
* [gfx/style] Implement border-radius.Clark Gaebel2014-12-011-64/+254
| | | | | | | | | | | | This patch is a first stab at implementing border-radius. It looks fine as long as the border isn't an ellipse (that might not even parse yet), and the border-widths around a border-radius are the same. Here's a cool screenshot! ![](https://www.dropbox.com/s/gdtmgjrlnf82gzz/Screenshot%202014-11-12%2018.03.29.png?dl=0) r? @pcwalton @SimonSapin
* gfx: Rewrite display list construction to make stacking-contexts morePatrick Walton2014-11-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | first-class. This implements the scheme described here: https://groups.google.com/forum/#!topic/mozilla.dev.servo/sZVPSfPVfkg This commit changes Servo to generate one display list per stacking context instead of one display list per layer. This is purely a refactoring; there are no functional changes. Performance is essentially the same as before. However, there should be numerous future benefits that this is intended to allow for: * It makes the code simpler to understand because the "new layer needed" vs. "no new layer needed" code paths are more consolidated. * It makes it easy to support CSS properties that did not fit into our previous flat display list model (without unconditionally layerizing them): o `opacity` should be easy to support because the stacking context provides the higher-level grouping of display items to which opacity is to be applied. o `transform` can be easily supported because the stacking context provides a place to stash the transformation matrix. This has the side benefit of nicely separating the transformation matrix from the clipping regions. * The `flatten` logic is now O(1) instead of O(n) and now only needs to be invoked for pseudo-stacking contexts (right now: just floats), instead of for every stacking context. * Layers are now a proper tree instead of a flat list as far as layout is concerned, bringing us closer to a production-quality compositing/layers framework. * This commit opens the door to incremental display list construction at the level of stacking contexts. Future performance improvements could come from optimizing allocation of display list items, and, of course, incremental display list construction.
* Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8aJack Moffitt2014-11-131-4/+4
|
* layout: Implement CSS linear gradients per the CSS-IMAGES specification.Patrick Walton2014-11-061-11/+42
| | | | | | | | | This implements the CSS `linear-gradient` property per the CSS-IMAGES specification: http://dev.w3.org/csswg/css-images-3/ Improves GitHub.
* Invert control flow, fix resizing, and improve checkerboardingPatrick Walton2014-11-041-4/+132
| | | | | significantly by giving tiles some time to paint before we render unrendered content.
* gfx: Update rust-azure to pick up arcs, gradients, and subpixel textPatrick Walton2014-10-201-4/+6
|
* Use opts as a global, to avoid cloning and passing the struct all over the code.Glenn Watson2014-10-201-2/+0
|
* Cargoify servoJack Moffitt2014-09-081-0/+419