items<T> static method

PlutoResize items<T>({
  1. required double offset,
  2. required List<T> items,
  3. required bool isMainItem(
    1. T item
    ),
  4. required double getItemSize(
    1. T item
    ),
  5. required double getItemMinSize(
    1. T item
    ),
  6. required void setItemSize(
    1. T item,
    2. double size
    ),
  7. required PlutoResizeMode mode,
})

Implementation

static PlutoResize items<T>({
  required double offset,
  required List<T> items,
  required bool Function(T item) isMainItem,
  required double Function(T item) getItemSize,
  required double Function(T item) getItemMinSize,
  required void Function(T item, double size) setItemSize,
  required PlutoResizeMode mode,
}) {
  switch (mode) {
    case PlutoResizeMode.pushAndPull:
      return PlutoResizePushAndPull<T>(
        offset: offset,
        items: items,
        isMainItem: isMainItem,
        getItemSize: getItemSize,
        getItemMinSize: getItemMinSize,
        setItemSize: setItemSize,
      );
    case PlutoResizeMode.none:
    case PlutoResizeMode.normal:
      throw Exception('Cannot be called with Mode set to none, normal.');
  }
}