mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
style: Merge ImageLayer and Image.
ImageLayer is almost the only usage of Image, so keeping them in the same enum makes the resulting C++ struct smaller, and makes it map more cleanly to nsStyleImage. Differential Revision: https://phabricator.services.mozilla.com/D62161
This commit is contained in:
parent
c0d67f796c
commit
149cb5f5f1
12 changed files with 62 additions and 112 deletions
|
@ -47,7 +47,6 @@ use crate::values::computed::url::ComputedImageUrl;
|
|||
use crate::values::computed::BorderStyle;
|
||||
use crate::values::computed::font::FontSize;
|
||||
use crate::values::generics::column::ColumnCount;
|
||||
use crate::values::generics::image::ImageLayer;
|
||||
|
||||
|
||||
pub mod style_structs {
|
||||
|
@ -849,14 +848,7 @@ fn static_assert() {
|
|||
% endfor
|
||||
|
||||
pub fn set_border_image_source(&mut self, image: longhands::border_image_source::computed_value::T) {
|
||||
unsafe {
|
||||
// Prevent leaking of the last elements we did set
|
||||
Gecko_SetNullImageValue(&mut self.gecko.mBorderImageSource);
|
||||
}
|
||||
|
||||
if let ImageLayer::Image(image) = image {
|
||||
self.gecko.mBorderImageSource.set(image);
|
||||
}
|
||||
self.gecko.mBorderImageSource.set(image);
|
||||
}
|
||||
|
||||
pub fn copy_border_image_source_from(&mut self, other: &Self) {
|
||||
|
@ -871,10 +863,7 @@ fn static_assert() {
|
|||
}
|
||||
|
||||
pub fn clone_border_image_source(&self) -> longhands::border_image_source::computed_value::T {
|
||||
match unsafe { self.gecko.mBorderImageSource.into_image() } {
|
||||
Some(image) => ImageLayer::Image(image),
|
||||
None => ImageLayer::None,
|
||||
}
|
||||
unsafe { self.gecko.mBorderImageSource.to_image() }
|
||||
}
|
||||
|
||||
<%
|
||||
|
@ -2042,9 +2031,7 @@ fn static_assert() {
|
|||
|
||||
for (image, geckoimage) in images.zip(self.gecko.${image_layers_field}
|
||||
.mLayers.iter_mut()) {
|
||||
if let ImageLayer::Image(image) = image {
|
||||
geckoimage.mImage.set(image)
|
||||
}
|
||||
geckoimage.mImage.set(image)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2052,12 +2039,8 @@ fn static_assert() {
|
|||
longhands::${shorthand}_image::computed_value::List(
|
||||
self.gecko.${image_layers_field}.mLayers.iter()
|
||||
.take(self.gecko.${image_layers_field}.mImageCount as usize)
|
||||
.map(|ref layer| {
|
||||
match unsafe { layer.mImage.into_image() } {
|
||||
Some(image) => ImageLayer::Image(image),
|
||||
None => ImageLayer::None,
|
||||
}
|
||||
}).collect()
|
||||
.map(|layer| unsafe { layer.mImage.to_image() })
|
||||
.collect()
|
||||
)
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue