marco.pms.mobile/lib/controller/ui/carousels_controller.dart
Vaibhav Surve 99902e743c Flutter application
- Created generated_plugin_registrant.cc and generated_plugin_registrant.h to manage plugin registration.
- Added generated_plugins.cmake for plugin configuration in CMake.
- Implemented CMakeLists.txt for the Windows runner, defining build settings and dependencies.
- Created Runner.rc for application resources including versioning and icons.
- Developed flutter_window.cpp and flutter_window.h to manage the Flutter window lifecycle.
- Implemented main.cpp as the entry point for the Windows application.
- Added resource.h for resource definitions.
- Included app icon in resources.
- Created runner.exe.manifest for application settings.
- Developed utils.cpp and utils.h for console management and command line argument handling.
- Implemented win32_window.cpp and win32_window.h for high DPI-aware window management.
2025-04-17 12:30:38 +05:30

67 lines
1.7 KiB
Dart

import 'dart:async';
import 'package:carousel_slider/carousel_controller.dart';
import 'package:marco/controller/my_controller.dart';
import 'package:flutter/material.dart';
class CarouselsController extends MyController {
int simpleCarouselSize = 3, animatedCarouselSize = 3;
int selectedSimpleCarousel = 0, selectedAnimatedCarousel = 0;
CarouselSliderController carouselController = CarouselSliderController();
Timer? timerAnimation;
final PageController simplePageController = PageController(initialPage: 0);
final PageController animatedPageController = PageController(initialPage: 0);
CarouselsController();
@override
void onInit() {
super.onInit();
timerAnimation = Timer.periodic(Duration(seconds: 5), (Timer timer) {
if (selectedAnimatedCarousel < animatedCarouselSize - 1) {
selectedAnimatedCarousel++;
} else {
selectedAnimatedCarousel = 0;
}
animatedPageController.animateToPage(
selectedAnimatedCarousel,
duration: Duration(milliseconds: 600),
curve: Curves.ease,
);
update();
});
}
void onChangeNext() {
carouselController.nextPage(duration: Duration(milliseconds: 600), curve: Curves.ease);
update();
}
void onChangePreview() {
carouselController.previousPage(duration: Duration(milliseconds: 600), curve: Curves.ease);
update();
}
void onChangeSimpleCarousel(int value) {
selectedSimpleCarousel = value;
update();
}
void onChangeAnimatedCarousel(int value) {
selectedAnimatedCarousel = value;
update();
}
@override
void dispose() {
super.dispose();
timerAnimation?.cancel();
simplePageController.dispose();
animatedPageController.dispose();
}
}