david-swift 4937c36b3b Improve updating performance
And update docs reflecting the changes in the latest commits
2024-01-27 08:07:05 +01:00

3.3 KiB

STRUCT

Carousel

A paginated scrolling widget.

carousel

The AdwCarousel widget can be used to display a set of pages with swipe-based navigation between them.

[class@CarouselIndicatorDots] and [class@CarouselIndicatorLines] can be used to provide page indicators for AdwCarousel.

CSS nodes

AdwCarousel has a single CSS node with name carousel.

Properties

updateFunctions

Additional update functions for type extensions.

appearFunctions

Additional appear functions for type extensions.

allowLongSwipes

Whether to allow swiping for more than one page at a time.

If the value is FALSE, each swipe can only move to the adjacent pages.

allowMouseDrag

Sets whether the AdwCarousel can be dragged with mouse pointer.

If the value is FALSE, dragging is only available on touch.

allowScrollWheel

Whether the widget will respond to scroll wheel events.

If the value is FALSE, wheel events will be ignored.

interactive

Whether the carousel can be navigated.

This can be used to temporarily disable the carousel to only allow navigating it in a certain state.

nPages

The number of pages in a AdwCarousel.

revealDuration

Page reveal duration, in milliseconds.

Reveal duration is used when animating adding or removing pages.

spacing

Spacing between pages in pixels.

pageChanged

This signal is emitted after a page has been changed.

It can be used to implement "infinite scrolling" by amending the pages after every scroll. Note that an empty carousel is indicated by (int)index == -1.

elements

The dynamic widget elements.

content

The dynamic widget content.

app

The application.

window

The window.

Methods

init(_:content:)

Initialize Carousel.

container(modifiers:)

Get the widget's view storage.

  • Parameter modifiers: The view modifiers.
  • Returns: The view storage.

update(_:modifiers:updateProperties:)

Update the widget's view storage.

  • Parameters:
    • storage: The view storage.
    • modifiers: The view modifiers.
    • updateProperties: Whether to update the view's properties.

allowLongSwipes(_:)

Whether to allow swiping for more than one page at a time.

If the value is FALSE, each swipe can only move to the adjacent pages.

allowMouseDrag(_:)

Sets whether the AdwCarousel can be dragged with mouse pointer.

If the value is FALSE, dragging is only available on touch.

allowScrollWheel(_:)

Whether the widget will respond to scroll wheel events.

If the value is FALSE, wheel events will be ignored.

interactive(_:)

Whether the carousel can be navigated.

This can be used to temporarily disable the carousel to only allow navigating it in a certain state.

nPages(_:)

The number of pages in a AdwCarousel.

revealDuration(_:)

Page reveal duration, in milliseconds.

Reveal duration is used when animating adding or removing pages.

spacing(_:)

Spacing between pages in pixels.

pageChanged(_:)

This signal is emitted after a page has been changed.

It can be used to implement "infinite scrolling" by amending the pages after every scroll. Note that an empty carousel is indicated by (int)index == -1.