servo/components/style
Emilio Cobos Álvarez 6dcf9b7630
style: Use decomposition to interpolate matched perspective transform operations.
Looks like this produces sensible results for interpolation with 0, though I'm
not really convinced about the results from, let's say, 1px to 2000px in the
attached test-case, I would've expected a linear interpolation from that to go
through normal length interpolation.

css-transforms-1 says:

  > Two transform functions with the same name and the same number of arguments
  > are interpolated numerically without a former conversion. The calculated
  > value will be of the same transform function type with the same number of
  > arguments.
  >
  > Special rules apply to <matrix()>.

Which is what we do... I was going to file a spec issue but turns out that it's
already addressed in css-transforms-2:

  https://drafts.csswg.org/css-transforms-2/#interpolation-of-transform-functions

Which says:

  > The transform functions <matrix()>, matrix3d() and perspective() get
  > converted into 4x4 matrices first and interpolated as defined in section
  > Interpolation of Matrices afterwards.

Differential Revision: https://phabricator.services.mozilla.com/D4942
2018-09-05 19:11:26 +02:00
..
counter_style style: autopep8 2018-07-24 03:26:12 +02:00
gecko style: Appease tidy. 2018-09-03 12:39:02 +02:00
gecko_bindings style: Make the counters non-atomic counters and merge afterwards. 2018-09-03 12:31:48 +02:00
gecko_string_cache style: Manually inline class and ID getters. 2018-08-18 17:54:54 +02:00
invalidation style: Only no-op visited <-> unvisited changes. 2018-09-05 19:11:18 +02:00
media_queries Appease tidy. 2018-08-18 18:41:40 +02:00
properties style: Use decomposition to interpolate matched perspective transform operations. 2018-09-05 19:11:26 +02:00
rule_tree style: Convert FnvHash{Set,Map} instances to FxHash{Set,Map}. 2018-08-08 01:34:35 +02:00
servo style: Fix servo build. 2018-09-03 12:56:30 +02:00
sharing style: Fix the broken invariants of the rule node cache. 2018-06-23 20:34:50 +02:00
stylesheets style: Hook the use counters into StyleSheet parsing. 2018-09-03 12:31:33 +02:00
use_counters style: Make the counters non-atomic counters and merge afterwards. 2018-09-03 12:31:48 +02:00
values style: Use decomposition to interpolate matched perspective transform operations. 2018-09-05 19:11:26 +02:00
animation.rs style: Push visited style computation a bit further down. 2018-07-24 03:28:50 +02:00
applicable_declarations.rs style: Update StyleSource to use ArcUnion. 2018-04-29 03:28:32 +02:00
attr.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
author_styles.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
bezier.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
bloom.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
build.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
build_gecko.rs style: Update style build script for bindgen changes. 2018-09-03 14:11:02 +02:00
Cargo.toml Update bindgen to 0.39.0 2018-08-24 20:22:27 +02:00
cbindgen.toml style: Use cbindgen for basic_shape::FillRule. 2018-09-03 12:32:25 +02:00
context.rs Appease tidy. 2018-08-08 01:34:35 +02:00
custom_properties.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
data.rs style: Cleanup invalidation processor constructor. 2018-08-08 01:37:50 +02:00
dom.rs style: Simplify the Lang pseudo-class stuff a bit. 2018-09-03 12:36:49 +02:00
dom_apis.rs style: Optimize QuerySelector in shadow trees. 2018-05-28 16:02:31 +02:00
driver.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
element_state.rs style: Appease tidy. 2018-07-01 01:01:46 +02:00
encoding_support.rs style: Fix servo build. 2018-06-23 20:34:10 +02:00
error_reporting.rs style: Better debugging for stylesheets and URLs. 2018-06-23 20:37:03 +02:00
font_face.rs style: Move the error reporter into ParserContext. 2018-06-23 20:36:23 +02:00
font_metrics.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
hash.rs style: Convert FnvHash{Set,Map} instances to FxHash{Set,Map}. 2018-08-08 01:34:35 +02:00
lib.rs style: Add a very simple use counter implementation. 2018-09-03 12:31:23 +02:00
logical_geometry.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
macros.rs style: Add a ValueInfo trait for exposing types needed by devtools. 2018-04-29 03:28:34 +02:00
matching.rs style: Update animations if the logical to physical property mapping changes. 2018-07-24 03:28:23 +02:00
parallel.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
parser.rs style: Hook the use counters into StyleSheet parsing. 2018-09-03 12:31:33 +02:00
README.md
rule_cache.rs style: Convert FnvHash{Set,Map} instances to FxHash{Set,Map}. 2018-08-08 01:34:35 +02:00
scoped_tls.rs
selector_map.rs style: Add a root bucket to the selector map. 2018-08-08 01:35:54 +02:00
selector_parser.rs style: Fix servo build. 2018-09-03 12:56:30 +02:00
shared_lock.rs Update parking_lot to 0.6 2018-07-20 00:44:08 +02:00
str.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
style_adjuster.rs style: Remove IS_STYLE_IF_VISITED. 2018-07-24 03:29:03 +02:00
style_resolver.rs style: Make element-backed pseudos inherit from NAC subtree roots and other NAC inherit from their parents. 2018-06-02 12:07:07 +02:00
stylesheet_set.rs style: Allow placeholder import sheets. 2018-04-17 20:01:27 +02:00
stylist.rs style: Make the author styles disabled stuff actually disable style attribute, animations, and XBL rules. 2018-09-05 19:10:46 +02:00
thread_state.rs Bump bitflags to 1.0 in every servo crate 2017-10-30 23:36:06 +01:00
timer.rs Run rustfmt on selectors, servo_arc, and style. 2018-04-10 17:35:15 -07:00
traversal.rs style: Make element-backed pseudos inherit from NAC subtree roots and other NAC inherit from their parents. 2018-06-02 12:07:07 +02:00
traversal_flags.rs style: Get rid of unstyled children only traversals. 2017-11-20 08:24:08 +01:00

servo-style

Style system for Servo, using rust-cssparser for parsing.