@@ -2,7 +2,7 @@ mod custom;
22
33use cssparser:: * ;
44use custom:: * ;
5- use crate :: values:: { image:: * , length:: * , border:: * , rect:: * , color:: * } ;
5+ use crate :: values:: { image:: * , length:: * , border:: * , border_image :: * , rect:: * , color:: * } ;
66use super :: values:: traits:: Parse ;
77
88#[ derive( Debug , Clone ) ]
@@ -85,12 +85,18 @@ pub enum Property {
8585 // BorderEndEndRadius
8686 // BorderRadius
8787
88- // BorderImageSource
89- // BorderImageOutset
90- // BorderImageRepeat
91- // BorderImageWidth
92- // BorderImageSlice
93- // BorderImage
88+ /// https://www.w3.org/TR/css-backgrounds-3/#border-image-source
89+ BorderImageSource ( Image ) ,
90+ /// https://www.w3.org/TR/css-backgrounds-3/#border-image-outset
91+ BorderImageOutset ( Rect < LengthOrNumber > ) ,
92+ /// https://www.w3.org/TR/css-backgrounds-3/#border-image-repeat
93+ BorderImageRepeat ( BorderImageRepeat ) ,
94+ /// https://www.w3.org/TR/css-backgrounds-3/#border-image-width
95+ BorderImageWidth ( Rect < BorderImageSideWidth > ) ,
96+ /// https://www.w3.org/TR/css-backgrounds-3/#border-image-slice
97+ BorderImageSlice ( BorderImageSlice ) ,
98+ /// https://www.w3.org/TR/css-backgrounds-3/#border-image
99+ BorderImage ( BorderImage ) ,
94100
95101 BorderColor ( Rect < CssColor > ) ,
96102 BorderStyle ( Rect < BorderStyle > ) ,
@@ -208,6 +214,12 @@ impl Property {
208214 "border-inline" => property ! ( BorderInline , Border ) ,
209215 "border-inline-start" => property ! ( BorderInlineStart , Border ) ,
210216 "border-inline-end" => property ! ( BorderInlineEnd , Border ) ,
217+ "border-image-source" => property ! ( BorderImageSource , Image ) ,
218+ "border-image-outset" => property ! ( BorderImageOutset , Rect ) ,
219+ "border-image-repeat" => property ! ( BorderImageRepeat , BorderImageRepeat ) ,
220+ "border-image-width" => property ! ( BorderImageWidth , Rect ) ,
221+ "border-image-slice" => property ! ( BorderImageSlice , BorderImageSlice ) ,
222+ "border-image" => property ! ( BorderImage , BorderImage ) ,
211223 _ => { }
212224 }
213225
@@ -308,6 +320,12 @@ impl Property {
308320 BorderInline ( val) => property ! ( "border-inline" , val) ,
309321 BorderInlineStart ( val) => property ! ( "border-inline-start" , val) ,
310322 BorderInlineEnd ( val) => property ! ( "border-inline-end" , val) ,
323+ BorderImageSource ( val) => property ! ( "border-image-source" , val) ,
324+ BorderImageOutset ( val) => property ! ( "border-image-outset" , val) ,
325+ BorderImageRepeat ( val) => property ! ( "border-image-repeat" , val) ,
326+ BorderImageWidth ( val) => property ! ( "border-image-width" , val) ,
327+ BorderImageSlice ( val) => property ! ( "border-image-slice" , val) ,
328+ BorderImage ( val) => property ! ( "border-image" , val) ,
311329 Custom ( custom) => {
312330 dest. write_str ( custom. name . as_ref ( ) ) ?;
313331 dest. write_str ( ": " ) ?;
0 commit comments