impl super::Swiper {
pub fn set_swiper_loop<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperLoop,
value.into(),
)
}
pub fn get_swiper_loop(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperLoop,
)
}
pub fn set_swiper_auto_play<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperAutoPlay,
value.into(),
)
}
pub fn get_swiper_auto_play(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperAutoPlay,
)
}
pub fn set_swiper_show_indicator<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperShowIndicator,
value.into(),
)
}
pub fn get_swiper_show_indicator(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperShowIndicator,
)
}
pub fn set_swiper_interval<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperInterval,
value.into(),
)
}
pub fn get_swiper_interval(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperInterval,
)
}
pub fn set_swiper_vertical<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperVertical,
value.into(),
)
}
pub fn get_swiper_vertical(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperVertical,
)
}
pub fn set_swiper_duration<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperDuration,
value.into(),
)
}
pub fn get_swiper_duration(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperDuration,
)
}
pub fn set_swiper_curve<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperCurve,
value.into(),
)
}
pub fn get_swiper_curve(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperCurve,
)
}
pub fn set_swiper_item_space<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperItemSpace,
value.into(),
)
}
pub fn get_swiper_item_space(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperItemSpace,
)
}
pub fn set_swiper_index<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperIndex,
value.into(),
)
}
pub fn get_swiper_index(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperIndex,
)
}
pub fn set_swiper_display_count<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperDisplayCount,
value.into(),
)
}
pub fn get_swiper_display_count(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperDisplayCount,
)
}
pub fn set_swiper_disable_swipe<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperDisableSwipe,
value.into(),
)
}
pub fn get_swiper_disable_swipe(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperDisableSwipe,
)
}
pub fn set_swiper_show_display_arrow<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperShowDisplayArrow,
value.into(),
)
}
pub fn get_swiper_show_display_arrow(
&self,
) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperShowDisplayArrow,
)
}
pub fn set_swiper_edge_effect_mode<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperEdgeEffectMode,
value.into(),
)
}
pub fn get_swiper_edge_effect_mode(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperEdgeEffectMode,
)
}
pub fn set_swiper_node_adapter<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperNodeAdapter,
value.into(),
)
}
pub fn get_swiper_node_adapter(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperNodeAdapter,
)
}
pub fn set_swiper_cached_count<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperCachedCount,
value.into(),
)
}
pub fn get_swiper_cached_count(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperCachedCount,
)
}
pub fn set_swiper_prev_margin<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperPrevMargin,
value.into(),
)
}
pub fn get_swiper_prev_margin(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperPrevMargin,
)
}
pub fn set_swiper_next_margin<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperNextMargin,
value.into(),
)
}
pub fn get_swiper_next_margin(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperNextMargin,
)
}
pub fn set_swiper_indicator<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperIndicator,
value.into(),
)
}
pub fn get_swiper_indicator(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperIndicator,
)
}
pub fn set_swiper_nested_scroll<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperNestedScroll,
value.into(),
)
}
pub fn get_swiper_nested_scroll(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperNestedScroll,
)
}
pub fn set_swiper_swipe_to_index<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperSwipeToIndex,
value.into(),
)
}
pub fn get_swiper_swipe_to_index(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperSwipeToIndex,
)
}
pub fn set_swiper_indicator_interactive<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperIndicatorInteractive,
value.into(),
)
}
pub fn get_swiper_indicator_interactive(
&self,
) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperIndicatorInteractive,
)
}
#[cfg(feature = "api-19")]
pub fn set_swiper_auto_fill<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperAutoFill,
value.into(),
)
}
#[cfg(feature = "api-19")]
pub fn get_swiper_auto_fill(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperAutoFill,
)
}
#[cfg(feature = "api-22")]
pub fn set_swiper_itemfillpolicy<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperItemfillpolicy,
value.into(),
)
}
#[cfg(feature = "api-22")]
pub fn get_swiper_itemfillpolicy(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperItemfillpolicy,
)
}
#[cfg(feature = "api-20")]
pub fn set_swiper_maintain_visible_content_position<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperMaintainVisibleContentPosition,
value.into(),
)
}
#[cfg(feature = "api-20")]
pub fn get_swiper_maintain_visible_content_position(
&self,
) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperMaintainVisibleContentPosition,
)
}
#[cfg(feature = "api-15")]
pub fn set_swiper_page_flip_mode<T: Into<crate::ArkUINodeAttributeItem>>(
&self,
value: T,
) -> crate::ArkUIResult<()> {
<Self as crate::ArkUICommonAttribute>::set_attribute(
self,
crate::ArkUINodeAttributeType::SwiperPageFlipMode,
value.into(),
)
}
#[cfg(feature = "api-15")]
pub fn get_swiper_page_flip_mode(&self) -> crate::ArkUIResult<crate::ArkUINodeAttributeItem> {
<Self as crate::ArkUICommonAttribute>::get_attribute(
self,
crate::ArkUINodeAttributeType::SwiperPageFlipMode,
)
}
}
#[cfg(feature = "api-22")]
impl super::Swiper {
pub fn finish_animation(&self) -> crate::ArkUIResult<()> {
unsafe {
crate::check_arkui_status!(ohos_arkui_sys::OH_ArkUI_Swiper_FinishAnimation(
crate::ArkUIAttributeBasic::raw(self).raw()
))
}
}
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct SwiperAnimationStartEvent {
pub current_index: i32,
pub target_index: i32,
pub current_offset: f32,
pub target_offset: f32,
pub velocity: f32,
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct SwiperAnimationEndEvent {
pub index: i32,
pub offset: f32,
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct SwiperContentDidScrollEvent {
pub selected_index: i32,
pub page_index: i32,
pub position: f32,
pub page_length: f32,
}
#[cfg(feature = "api-15")]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct SwiperContentWillScrollEvent {
pub current_index: i32,
pub target_index: i32,
pub offset: f32,
}
impl super::Swiper {
pub fn on_swiper_change<T: Fn(i32) + 'static>(&mut self, cb: T) {
crate::ArkUIEvent::on_event(
self,
crate::NodeEventType::SwiperEventOnChange,
move |event| {
cb(event.i32_value(0).unwrap_or_default());
},
);
}
pub fn on_swiper_animation_start<T: Fn(SwiperAnimationStartEvent) + 'static>(&mut self, cb: T) {
crate::ArkUIEvent::on_event(
self,
crate::NodeEventType::SwiperEventOnAnimationStart,
move |event| {
cb(SwiperAnimationStartEvent {
current_index: event.i32_value(0).unwrap_or_default(),
target_index: event.i32_value(1).unwrap_or_default(),
current_offset: event.f32_value(2).unwrap_or_default(),
target_offset: event.f32_value(3).unwrap_or_default(),
velocity: event.f32_value(4).unwrap_or_default(),
});
},
);
}
pub fn on_swiper_animation_end<T: Fn(SwiperAnimationEndEvent) + 'static>(&mut self, cb: T) {
crate::ArkUIEvent::on_event(
self,
crate::NodeEventType::SwiperEventOnAnimationEnd,
move |event| {
cb(SwiperAnimationEndEvent {
index: event.i32_value(0).unwrap_or_default(),
offset: event.f32_value(1).unwrap_or_default(),
});
},
);
}
pub fn on_swiper_gesture_swipe<T: Fn(SwiperAnimationEndEvent) + 'static>(&mut self, cb: T) {
crate::ArkUIEvent::on_event(
self,
crate::NodeEventType::SwiperEventOnGestureSwipe,
move |event| {
cb(SwiperAnimationEndEvent {
index: event.i32_value(0).unwrap_or_default(),
offset: event.f32_value(1).unwrap_or_default(),
});
},
);
}
pub fn on_swiper_content_did_scroll<T: Fn(SwiperContentDidScrollEvent) + 'static>(
&mut self,
cb: T,
) {
crate::ArkUIEvent::on_event(
self,
crate::NodeEventType::SwiperEventOnContentDidScroll,
move |event| {
cb(SwiperContentDidScrollEvent {
selected_index: event.i32_value(0).unwrap_or_default(),
page_index: event.i32_value(1).unwrap_or_default(),
position: event.f32_value(2).unwrap_or_default(),
page_length: event.f32_value(3).unwrap_or_default(),
});
},
);
}
#[cfg(feature = "api-15")]
pub fn on_swiper_content_will_scroll<T: Fn(SwiperContentWillScrollEvent) + 'static>(
&mut self,
cb: T,
) {
crate::ArkUIEvent::on_event(
self,
crate::NodeEventType::SwiperEventOnContentWillScroll,
move |event| {
cb(SwiperContentWillScrollEvent {
current_index: event.i32_value(0).unwrap_or_default(),
target_index: event.i32_value(1).unwrap_or_default(),
offset: event.f32_value(2).unwrap_or_default(),
});
},
);
}
#[cfg(feature = "api-18")]
pub fn on_swiper_selected<T: Fn(i32) + 'static>(&mut self, cb: T) {
crate::ArkUIEvent::on_event(
self,
crate::NodeEventType::SwiperEventOnSelected,
move |event| {
cb(event.i32_value(0).unwrap_or_default());
},
);
}
#[cfg(feature = "api-18")]
pub fn on_swiper_unselected<T: Fn(i32) + 'static>(&mut self, cb: T) {
crate::ArkUIEvent::on_event(
self,
crate::NodeEventType::SwiperEventOnUnselected,
move |event| {
cb(event.i32_value(0).unwrap_or_default());
},
);
}
#[cfg(feature = "api-20")]
pub fn on_swiper_scroll_state_changed<T: Fn(i32) + 'static>(&mut self, cb: T) {
crate::ArkUIEvent::on_event(
self,
crate::NodeEventType::SwiperEventOnScrollStateChanged,
move |event| {
cb(event.i32_value(0).unwrap_or_default());
},
);
}
}