Anthony Ramine
608e7f71a2
Make computed types hold Percentage instead of bare CSSFloat
2017-06-15 16:59:03 +02:00
Nicolas Silva
8617320500
Bump euclid to 0.14.
2017-06-14 16:00:59 +02:00
Anthony Ramine
862fc4f88d
Rename BorderRadiusSize to BorderCornerSize
2017-05-29 00:58:53 +02:00
Anthony Ramine
af3ede418b
Refactor BorderRadius and move it to the border modules
...
BorderRadius now parses itself reusing Rect<T>.
2017-05-28 14:36:37 +02:00
Anthony Ramine
d0b9bd9c64
Refactor how calc() clamping is done on computed values ( fixes #15296 )
2017-05-18 10:14:59 +02:00
Simon Sapin
8c9e5d9f9d
Fix future illegal_floating_point_literal_pattern warnings.
...
They make component/style fail to build, because of `#[deny(warnings)]`
2017-05-12 16:12:17 +02:00
Emilio Cobos Álvarez
c9ab75b013
layout: Fix radius percentage resolution.
...
By resolving against the corresponding dimension of the border box, instead of
against the width.
Fixes #16764
2017-05-08 11:48:29 +02:00
Ravi Shankar
0249270f61
Create a module for generics and make BorderRadiusSize generic
2017-04-25 17:13:41 +05:30
石博文
22f99c71b9
Add to_computed method for CalcLengthOrPercentage
...
* Add to_computed method to calculate `calc()` value with parent size,
if parent container size is `None`, the result will be `None`.
* Add from_option method for `MaybeAuto`, to construct from
`Option<Au>`.
* Update some test case.
2017-04-24 14:22:14 +08:00
Shing Lyu
4b2d80afcf
Activate flexbox layout tracing
2016-12-28 15:31:45 +08:00
Pu Xingyu
d3ab919745
Add new methods to Fragment for size calculation of replaced element
...
These new methods calculate both the used width and height of an
replaced element and the same time. The `has_intrinsic_ratio()` method
also exposes information about whether a fragment has intrinsic aspect
ratio.
2016-12-12 15:37:12 +08:00
Pu Xingyu
39780e894b
Rename the MinMaxConstraint to SizeConstraint and enhancement
...
Renamed to `SizeConstraint`, add an optional `border` parameter to
deal with `box-sizing: border-box`, and fix its bug when involving
with `calc`.
2016-12-11 00:54:00 +08:00
Pu Xingyu
eb22d33d4e
style: Add a "start_end()" method to LogicalMargin
...
Add a `LogicalMargin::start_end()` method that receives a `Direction'
parameter. This is useful for some layout that is symmetric in inline
and block directions, like flexbox.
2016-11-10 19:17:29 +08:00
Pu Xingyu
7f721e1f2c
layout: Mark flex items properly during construction
...
Set the flag of the fragment of children in a flex container according
to the direction of the container. The mark is done on the fragment
because flex item enstablish a stacking context when its z-index is
non-zero ,despite its `position' property.
2016-11-09 08:24:12 +08:00
Shing Lyu
8bea421329
Migrated -Z trace-layout to serde_json
2016-11-07 15:54:07 +08:00
Emilio Cobos Álvarez
bdf1d179ba
layout: Use the fragment's writing mode when computing sizes relevant to that fragment.
...
Otherwise we might mix writing modes. Not totally sure this change is correct in
the case we're mixing them, we might need to just not checking that operation.
2016-10-02 17:57:07 +02:00
Anthony Ramine
51768844ed
Update euclid to 0.10.1
2016-08-21 03:03:45 +02:00
Martin Robinson
6259df5e2d
Update to euclid 0.8
2016-08-12 03:12:06 +02:00
Pu Xingyu
7df5974456
Rename enum 'Mode' to 'Direction'
...
Rename the 'Mode' enum to 'Direction' and move it to 'model.rs', thus it
can be used to indicate logical direction.
2016-07-24 14:58:02 +08:00
Simon Sapin
789807b7b0
Remove the ComputedValue traits and style_struct_traits
2016-07-20 08:42:40 +02:00
Michael Howell
8953207f83
Add support for vertical alignment within table cells.
...
Fixes #10621
2016-04-20 14:40:02 -07:00
Peter
b0ad3ddf5b
Updated euclid to version 0.6.5
...
And updated existing usages of Matrix4 to use Matrix4D<T>
2016-04-17 18:39:49 +01:00
Patrick Walton
a3fd226341
layout: Disallow margins from collapsing through blocks with clearance
...
per CSS 2.1 § 8.3.1.
Fixes the test failure in #10458 .
2016-04-14 17:24:24 -07:00
Patrick Walton
e32455f7b8
layout: Disallow margins from collapsing through blocks that have
...
floated children per CSS 2.1 § 8.3.1.
Fixes the test failure in #10458 .
2016-04-14 11:22:40 -07:00
Daniel Robertson
7946ebb36a
Compute size of the axes of flex containers
...
Compute the available main and cross size of flex containers, and add a
helper for min/main constraints
2016-03-31 22:53:48 -04:00
Per Lundberg
4cb4cc93e4
Renamed TComputedValues to ComputedValues
...
This is a followup to #10210 , and a continuation of #10185 .
2016-03-29 23:30:13 +03:00
Per Lundberg
c2ad084713
ComputedValues is now ServoComputedValues
...
This is the first part of #10185 . More to follow. I have built this locally with both servo and geckolib without errors; let's see if it succeeds on all platforms as well.
2016-03-27 10:55:43 +03:00
Patrick Walton
aee0c44509
layout: Minor whitespace cleanup.
2016-03-25 15:29:18 -07:00
Bobby Holley
c2daea2c9c
Parameterize the rest of the style system on TNode.
2016-03-24 11:50:57 -07:00
Anthony Ramine
db8d502f41
Move util::logical_geometry to style
2016-02-18 10:17:13 +01:00
Simon Sapin
5498b54347
Add Multicolumn support block fragmentation.
2016-01-28 09:43:14 +01:00
David Zbarsky
00980ea595
Implement calc expressions for more value types
2015-11-01 23:16:14 -08:00
Glenn Watson
339a3f869b
Split Au type into separate crate, with minimal dependencies.
2015-10-01 07:16:11 +10:00
Ravi Shankar
889eec364b
sorted the extern crate, mod & use declarations
2015-09-24 02:12:45 +05:30
Brandon Fairchild
de3547e401
Fix reported test-tidy errors for unmerged import blocks
...
This merges import blocks that were reported by tidy as unmerged.
2015-09-19 12:50:14 -04:00
bors-servo
5bad6b1b6e
Auto merge of #7502 - bjwbell:elliptical-borders, r=pcwalton
...
gfx: Add elliptical border radius support
TODO: Add code for parsing shorthand border-radius e.g. "border-radius: 10px 5% / 20px".
r? @pcwalton
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7502 )
<!-- Reviewable:end -->
2015-09-04 18:46:24 -06:00
Bryan Bell
3e5fb49b6f
gfx: Add elliptical border radius support
2015-09-04 14:42:44 -07:00
David Zbarsky
cb4d878169
Implement Calc for LengthOrPercentageOrAuto
2015-08-26 14:14:45 -07:00
David Zbarsky
9556141e57
Implement Calc for LengthOrPercentage
2015-08-26 14:14:43 -07:00
Patrick Walton
fba0a8164d
layout: Take inline margins into account when determining the intrinsic
...
sizes of fragments.
Avoids a needless wrapped line in the repository name on GitHub.
2015-08-05 12:29:16 -07:00
Glenn Watson
b9fea3deb3
Fix percentage height calculation, absolute containing block height calculations.
...
It's not possible to correctly determine during the css cascade whether the container height
is explicitly specified. Additionally, the spec https://drafts.csswg.org/css2/visudet.html#the-height-property
says this should affect the *used* height, rather than the computed height.
This significantly improves the layout in #6643 .
2015-08-03 10:47:56 +10:00
Glenn Watson
c27388cb81
Change transforms to use LengthOrPercentage.
...
This simplifies an upcoming PR to support serializing transform values for css style declarations.
Related to issue #6643 .
2015-07-28 09:42:05 +10:00
ecoal95
8cbfb3482c
Use euclid from crates.io
2015-06-19 00:04:24 +02:00
Glenn Watson
899ab226de
Updates for changes in rust-geom and rust-layers
2015-06-11 07:19:58 +10:00
Patrick Walton
e42011cd53
Revert "Updates for changes in rust-geom and rust-layers"
2015-06-10 14:14:51 -07:00
Glenn Watson
8fb29c91e6
Updates for changes in rust-geom and rust-layers
2015-06-11 07:05:56 +10:00
Glenn Watson
6dd082278d
Partial implementation of transform animations spec.
...
Also tidy up some of the ComputedMatrix code.
2015-06-10 07:07:28 +10:00
Glenn Watson
f47ba6fd33
First step towards 3d transforms.
...
* Add parser support for 3d transforms.
* Change ComputedMatrix to a representation that suits interpolation.
* Switch stacking contexts to use 4x4 matrices.
The transforms themselves are still converted to 2d and handled by azure for now, but this is a small standalone part that can be landed now to make it easier to review.
2015-05-29 09:47:38 +10:00
Corey Farwell
8e3f4bba85
Reduce max line length from 150 to 120 characters
...
Part of https://github.com/servo/servo/issues/6041
2015-05-24 00:01:49 -04:00
Simon Sapin
8b522f2e7d
Rename Au methods with f32/f64 instead of frac32/frac/subpx
2015-05-05 18:23:29 +02:00