cpdf_reader_widget_display_setting_page.dart 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. * Copyright © 2014-2024 PDF Technologies, Inc. All Rights Reserved.
  3. *
  4. * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
  5. * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
  6. * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
  7. * This notice may not be removed from this file.
  8. *
  9. */
  10. import 'package:compdfkit_flutter/widgets/cpdf_reader_widget_controller.dart';
  11. import 'package:flutter/material.dart';
  12. class CpdfReaderWidgetDisplaySettingPage extends StatefulWidget {
  13. final CPDFReaderWidgetController controller;
  14. const CpdfReaderWidgetDisplaySettingPage(
  15. {super.key, required this.controller});
  16. @override
  17. State<CpdfReaderWidgetDisplaySettingPage> createState() =>
  18. _CpdfReaderWidgetDisplaySettingPageState();
  19. }
  20. class _CpdfReaderWidgetDisplaySettingPageState
  21. extends State<CpdfReaderWidgetDisplaySettingPage> {
  22. bool _isVertical = true;
  23. @override
  24. void initState() {
  25. super.initState();
  26. initReaderViewWidgetStates();
  27. }
  28. void initReaderViewWidgetStates() async {
  29. CPDFReaderWidgetController controller = widget.controller;
  30. bool isVer = await controller.isVerticalMode();
  31. setState(() async {
  32. _isVertical = isVer;
  33. });
  34. }
  35. @override
  36. Widget build(BuildContext context) {
  37. return Scaffold(
  38. appBar: AppBar(
  39. title: const Text('View Settings'),
  40. ),
  41. body: Column(
  42. children: [_dividerLine('scroll'),
  43. _scrollItem()],
  44. ));
  45. }
  46. Widget _dividerLine(String title) {
  47. return Container(
  48. padding: const EdgeInsets.only(left: 8),
  49. width: double.infinity,
  50. height: 24,
  51. color: Theme.of(context).primaryColor,
  52. child: Text(title),
  53. );
  54. }
  55. Widget _scrollItem() {
  56. var textStyle = Theme.of(context).textTheme.bodyMedium;
  57. return Column(children: [
  58. ListTile(title: Text('Vertical Scrolling', style: textStyle), trailing: this._isVertical ? const Icon(Icons.check) : null,),
  59. ListTile(title: Text('Horizontal Scrolling', style: textStyle,),trailing: !this._isVertical ? const Icon(Icons.check) : null,),
  60. ],);
  61. }
  62. }