Skip to content

Commit 569856b

Browse files
committed
[css-timing-1] Move cubic-bezier syntax before algorithm
1 parent 2f78629 commit 569856b

File tree

1 file changed

+40
-38
lines changed

1 file changed

+40
-38
lines changed

css-timing-1/Overview.bs

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,8 @@ end points <var ignore>P0</var> and <var ignore>P3</var> are fixed at (0, 0) and
121121
The <var>x</var> coordinates of <var>P1</var> and <var>P2</var> are
122122
restricted to the range [0, 1].
123123

124-
The mapping from input progress to output progress is performed by
125-
determining the corresponding <var>y</var> value ([=output progress value=]) for
126-
a given <var>x</var> value ([=input progress value=]).
127-
The evaluation of this curve is covered in many sources such as
128-
[[FUND-COMP-GRAPHICS]].
129-
130124
<figure>
131-
<img src="cubic-bezier-timing-curve.svg" width="500"
125+
<img src="cubic-bezier-timing-curve.svg" width="400"
132126
alt="A cubic Bezier curve used as a timing function.">
133127
<figcaption>
134128
A cubic B&eacute;zier curve used as a timing function.<br>
@@ -139,33 +133,8 @@ The evaluation of this curve is covered in many sources such as
139133
</figcaption>
140134
</figure>
141135

142-
For [=input progress values=] outside the range [0, 1], the curve is extended
143-
infinitely using tangent of the curve at the closest endpoint as follows:
144-
145-
* For [=input progress values=] less than zero,
146-
147-
1. If the <var>x</var> value of P1 is greater than zero, use
148-
a straight line that passes through P1 and P0 as the tangent.
149-
150-
1. Otherwise, if the <var>x</var> value of P2 is greater than
151-
zero, use a straight line that passes through P2 and P0 as the tangent.
152-
153-
1. Otherwise, let the [=output progress value=] be zero for all
154-
[=input progress values=] in the range [-&infin;, 0).
155-
156-
* For [=input progress values=] greater than one,
157-
158-
1. If the <var>x</var> value of P2 is less than one, use
159-
a straight line that passes through P2 and P3 as the tangent.
160-
161-
1. Otherwise, if the <var>x</var> value of P1 is less than
162-
one, use a straight line that passes through P1 and P3 as the tangent.
163-
164-
1. Otherwise, let the [=output progress value=] be one for all
165-
[=input progress values=] in the range (1, &infin;].
166-
167-
A <a>cubic B&eacute;zier timing function</a> may be specified as a string
168-
using the following syntax (using notation from [[!CSS3VAL]]):
136+
A <a>cubic B&eacute;zier timing function</a> has the following syntax
137+
(using notation from [[!CSS3VAL]]):
169138

170139
<div class="prod"><dfn type>&lt;cubic-bezier-timing-function&gt;</dfn> =
171140
''ease'' | ''ease-in'' | ''ease-out'' | ''ease-in-out'' |
@@ -178,13 +147,13 @@ The meaning of each value is as follows:
178147
<dl dfn-type="value" dfn-for="cubic-bezier-timing-function, <cubic-bezier-timing-function>">
179148

180149
: <dfn>ease</dfn>
181-
:: Equivalent to cubic-bezier(0.25, 0.1, 0.25, 1).
150+
:: Equivalent to ''cubic-bezier(0.25, 0.1, 0.25, 1)''.
182151
: <dfn>ease-in</dfn>
183-
:: Equivalent to cubic-bezier(0.42, 0, 1, 1).
152+
:: Equivalent to ''cubic-bezier(0.42, 0, 1, 1)''.
184153
: <dfn>ease-out</dfn>
185-
:: Equivalent to cubic-bezier(0, 0, 0.58, 1).
154+
:: Equivalent to ''cubic-bezier(0, 0, 0.58, 1)''.
186155
: <dfn>ease-in-out</dfn>
187-
:: Equivalent to cubic-bezier(0.42, 0, 0.58, 1).
156+
:: Equivalent to ''cubic-bezier(0.42, 0, 0.58, 1)''.
188157
: <dt><dfn function lt="cubic-bezier()">cubic-bezier(<<number>>, <<number>>, <<number>>, <<number>>)</dfn></dt>
189158
:: Specifies a <a>cubic B&eacute;zier timing function</a>.
190159
The four numbers specify points <var>P1</var> and <var>P2</var> of
@@ -206,6 +175,39 @@ The keyword values listed above are illustrated below.
206175
</figcaption>
207176
</figure>
208177

178+
### Output of a cubic b&eacute;zier timing function ### {#cubic-bezier-algo}
179+
180+
The mapping from input progress to output progress is performed by
181+
determining the corresponding <var>y</var> value ([=output progress value=]) for
182+
a given <var>x</var> value ([=input progress value=]).
183+
The evaluation of this curve is covered in many sources such as
184+
[[FUND-COMP-GRAPHICS]].
185+
186+
For [=input progress values=] outside the range [0, 1], the curve is extended
187+
infinitely using tangent of the curve at the closest endpoint as follows:
188+
189+
* For [=input progress values=] less than zero,
190+
191+
1. If the <var>x</var> value of P1 is greater than zero, use
192+
a straight line that passes through P1 and P0 as the tangent.
193+
194+
1. Otherwise, if the <var>x</var> value of P2 is greater than
195+
zero, use a straight line that passes through P2 and P0 as the tangent.
196+
197+
1. Otherwise, let the [=output progress value=] be zero for all
198+
[=input progress values=] in the range [-&infin;, 0).
199+
200+
* For [=input progress values=] greater than one,
201+
202+
1. If the <var>x</var> value of P2 is less than one, use
203+
a straight line that passes through P2 and P3 as the tangent.
204+
205+
1. Otherwise, if the <var>x</var> value of P1 is less than
206+
one, use a straight line that passes through P1 and P3 as the tangent.
207+
208+
1. Otherwise, let the [=output progress value=] be one for all
209+
[=input progress values=] in the range (1, &infin;].
210+
209211

210212
Step timing functions: ''step-start'', ''step-end'', ''steps()'' {#step-timing-functions}
211213
----------------------------------------------------------------

0 commit comments

Comments
 (0)