diff --git a/api/sixtyfps-cpp/include/sixtyfps.h b/api/sixtyfps-cpp/include/sixtyfps.h index e346cf67f..7bc421da7 100644 --- a/api/sixtyfps-cpp/include/sixtyfps.h +++ b/api/sixtyfps-cpp/include/sixtyfps.h @@ -123,7 +123,7 @@ using cbindgen_private::Clip; using cbindgen_private::ClippedImage; using cbindgen_private::Flickable; using cbindgen_private::FocusScope; -using cbindgen_private::Image; +using cbindgen_private::ImageItem; using cbindgen_private::Opacity; using cbindgen_private::Path; using cbindgen_private::Rectangle; diff --git a/sixtyfps_compiler/builtins.60 b/sixtyfps_compiler/builtins.60 index 0cca70c5d..c045e83fa 100644 --- a/sixtyfps_compiler/builtins.60 +++ b/sixtyfps_compiler/builtins.60 @@ -46,7 +46,7 @@ BorderRectangle := Rectangle { export { BorderRectangle as Rectangle } -Image := _ { +ImageItem := _ { property source; property x; property y; @@ -55,7 +55,7 @@ Image := _ { property image_fit; } -export ClippedImage := Image { +export ClippedImage := ImageItem { property source-clip-x; property source-clip-y; property source-clip-width; diff --git a/sixtyfps_runtime/corelib/item_rendering.rs b/sixtyfps_runtime/corelib/item_rendering.rs index 23a5e511e..e7f88ccca 100644 --- a/sixtyfps_runtime/corelib/item_rendering.rs +++ b/sixtyfps_runtime/corelib/item_rendering.rs @@ -126,7 +126,7 @@ pub fn render_component_items( pub trait ItemRenderer { fn draw_rectangle(&mut self, rect: Pin<&Rectangle>); fn draw_border_rectangle(&mut self, rect: Pin<&BorderRectangle>); - fn draw_image(&mut self, image: Pin<&Image>); + fn draw_image(&mut self, image: Pin<&ImageItem>); fn draw_clipped_image(&mut self, image: Pin<&ClippedImage>); fn draw_text(&mut self, text: Pin<&Text>); fn draw_text_input(&mut self, text_input: Pin<&TextInput>); diff --git a/sixtyfps_runtime/corelib/items.rs b/sixtyfps_runtime/corelib/items.rs index 587ad41dc..08b50ed85 100644 --- a/sixtyfps_runtime/corelib/items.rs +++ b/sixtyfps_runtime/corelib/items.rs @@ -318,14 +318,6 @@ declare_item_vtable! { fn sixtyfps_get_BorderRectangleVTable() -> BorderRectangleVTable for BorderRectangle } -declare_item_vtable! { - fn sixtyfps_get_ImageVTable() -> ImageVTable for Image -} - -declare_item_vtable! { - fn sixtyfps_get_ClippedImageVTable() -> ClippedImageVTable for ClippedImage -} - /// The implementation of the `TouchArea` element #[repr(C)] #[derive(FieldOffsets, Default, SixtyFPSElement)] @@ -1157,3 +1149,11 @@ declare_item_vtable! { declare_item_vtable! { fn sixtyfps_get_TextInputVTable() -> TextInputVTable for TextInput } + +declare_item_vtable! { + fn sixtyfps_get_ImageItemVTable() -> ImageItemVTable for ImageItem +} + +declare_item_vtable! { + fn sixtyfps_get_ClippedImageVTable() -> ClippedImageVTable for ClippedImage +} diff --git a/sixtyfps_runtime/corelib/items/image.rs b/sixtyfps_runtime/corelib/items/image.rs index 51e03d1ca..f85ee98d2 100644 --- a/sixtyfps_runtime/corelib/items/image.rs +++ b/sixtyfps_runtime/corelib/items/image.rs @@ -54,7 +54,7 @@ impl Default for ImageFit { #[derive(FieldOffsets, Default, SixtyFPSElement)] #[pin] /// The implementation of the `Image` element -pub struct Image { +pub struct ImageItem { pub source: Property, pub x: Property, pub y: Property, @@ -64,7 +64,7 @@ pub struct Image { pub cached_rendering_data: CachedRenderingData, } -impl Item for Image { +impl Item for ImageItem { fn init(self: Pin<&Self>, _window: &ComponentWindow) {} fn geometry(self: Pin<&Self>) -> Rect { @@ -109,11 +109,11 @@ impl Item for Image { } } -impl ItemConsts for Image { +impl ItemConsts for ImageItem { const cached_rendering_data_offset: const_field_offset::FieldOffset< - Image, + ImageItem, CachedRenderingData, - > = Image::FIELD_OFFSETS.cached_rendering_data.as_unpinned_projection(); + > = ImageItem::FIELD_OFFSETS.cached_rendering_data.as_unpinned_projection(); } #[repr(C)] diff --git a/sixtyfps_runtime/interpreter/dynamic_component.rs b/sixtyfps_runtime/interpreter/dynamic_component.rs index fb0e84df8..414e9481a 100644 --- a/sixtyfps_runtime/interpreter/dynamic_component.rs +++ b/sixtyfps_runtime/interpreter/dynamic_component.rs @@ -609,7 +609,7 @@ pub(crate) fn generate_component<'id>( use sixtyfps_corelib::items::*; rtti.extend( [ - rtti_for::(), + rtti_for::(), rtti_for::(), rtti_for::(), rtti_for::(), diff --git a/sixtyfps_runtime/rendering_backends/gl/lib.rs b/sixtyfps_runtime/rendering_backends/gl/lib.rs index a7dcd62eb..848d1f1dd 100644 --- a/sixtyfps_runtime/rendering_backends/gl/lib.rs +++ b/sixtyfps_runtime/rendering_backends/gl/lib.rs @@ -585,13 +585,13 @@ impl ItemRenderer for GLItemRenderer { border_paint.map(|border_paint| canvas.stroke_path(&mut path, border_paint)); } - fn draw_image(&mut self, image: std::pin::Pin<&sixtyfps_corelib::items::Image>) { + fn draw_image(&mut self, image: std::pin::Pin<&sixtyfps_corelib::items::ImageItem>) { self.draw_image_impl( &image.cached_rendering_data, - sixtyfps_corelib::items::Image::FIELD_OFFSETS.source.apply_pin(image), + sixtyfps_corelib::items::ImageItem::FIELD_OFFSETS.source.apply_pin(image), IntRect::default(), - sixtyfps_corelib::items::Image::FIELD_OFFSETS.width.apply_pin(image), - sixtyfps_corelib::items::Image::FIELD_OFFSETS.height.apply_pin(image), + sixtyfps_corelib::items::ImageItem::FIELD_OFFSETS.width.apply_pin(image), + sixtyfps_corelib::items::ImageItem::FIELD_OFFSETS.height.apply_pin(image), image.image_fit(), None, ); diff --git a/sixtyfps_runtime/rendering_backends/qt/qt_window.rs b/sixtyfps_runtime/rendering_backends/qt/qt_window.rs index f9ae3916b..f7e6e7c50 100644 --- a/sixtyfps_runtime/rendering_backends/qt/qt_window.rs +++ b/sixtyfps_runtime/rendering_backends/qt/qt_window.rs @@ -348,15 +348,15 @@ impl ItemRenderer for QtItemRenderer<'_> { ); } - fn draw_image(&mut self, image: Pin<&items::Image>) { - let dest_rect: qttypes::QRectF = get_geometry!(items::Image, image); + fn draw_image(&mut self, image: Pin<&items::ImageItem>) { + let dest_rect: qttypes::QRectF = get_geometry!(items::ImageItem, image); self.draw_image_impl( &image.cached_rendering_data, - items::Image::FIELD_OFFSETS.source.apply_pin(image), + items::ImageItem::FIELD_OFFSETS.source.apply_pin(image), dest_rect, None, - items::Image::FIELD_OFFSETS.width.apply_pin(image), - items::Image::FIELD_OFFSETS.height.apply_pin(image), + items::ImageItem::FIELD_OFFSETS.width.apply_pin(image), + items::ImageItem::FIELD_OFFSETS.height.apply_pin(image), image.image_fit(), None, ); diff --git a/xtask/src/cbindgen.rs b/xtask/src/cbindgen.rs index 486d9ff52..6927ed98a 100644 --- a/xtask/src/cbindgen.rs +++ b/xtask/src/cbindgen.rs @@ -73,7 +73,7 @@ fn gen_corelib(root_dir: &Path, include_dir: &Path) -> anyhow::Result<()> { let items = [ "Rectangle", "BorderRectangle", - "Image", + "ImageItem", "ClippedImage", "TouchArea", "FocusScope",