]> git.lizzy.rs Git - rust.git/blob - tests/target/issue-510.rs
Merge pull request #966 from MicahChalmer/skip-children-in-plain-write-mode
[rust.git] / tests / target / issue-510.rs
1 impl ISizeAndMarginsComputer for AbsoluteNonReplaced {
2     fn solve_inline_size_constraints(&self,
3                                      block: &mut BlockFlow,
4                                      input: &ISizeConstraintInput)
5                                      -> ISizeConstraintSolution {
6
7         let (inline_start, inline_size, margin_inline_start, margin_inline_end) =
8             match (inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx,
9                    inline_startssssssxxxxxxsssssxxxxxxxxxssssssxxx) {
10                 (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
11                     let margin_start = inline_start_margin.specified_or_zero();
12                     let margin_end = inline_end_margin.specified_or_zero();
13                     // Now it is the same situation as inline-start Specified and inline-end
14                     // and inline-size Auto.
15                     //
16                     // Set inline-end to zero to calculate inline-size.
17                     let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
18                                                                           (margin_start +
19                                                                            margin_end));
20                     (Au(0), inline_size, margin_start, margin_end)
21                 }
22             };
23
24         let (inline_start, inline_size, margin_inline_start, margin_inline_end) =
25             match (inline_start, inline_end, computed_inline_size) {
26                 (MaybeAuto::Auto, MaybeAuto::Auto, MaybeAuto::Auto) => {
27                     let margin_start = inline_start_margin.specified_or_zero();
28                     let margin_end = inline_end_margin.specified_or_zero();
29                     // Now it is the same situation as inline-start Specified and inline-end
30                     // and inline-size Auto.
31                     //
32                     // Set inline-end to zero to calculate inline-size.
33                     let inline_size = block.get_shrink_to_fit_inline_size(available_inline_size -
34                                                                           (margin_start +
35                                                                            margin_end));
36                     (Au(0), inline_size, margin_start, margin_end)
37                 }
38             };
39     }
40 }