CPDFReaderWidgetController constructor

CPDFReaderWidgetController(
  1. int id, {
  2. CPDFPageChangedCallback? onPageChanged,
  3. CPDFDocumentSaveCallback? saveCallback,
  4. CPDFPageEditDialogBackPressCallback? onPageEditBackPress,
  5. CPDFFillScreenChangedCallback? onFillScreenChanged,
  6. CPDFIOSClickBackPressedCallback? onIOSClickBackPressed,
  7. CPDFOnTapMainDocAreaCallback? onTapMainDocArea,
})

Implementation

CPDFReaderWidgetController(int id,
    {CPDFPageChangedCallback? onPageChanged,
    CPDFDocumentSaveCallback? saveCallback,
    CPDFPageEditDialogBackPressCallback? onPageEditBackPress,
    CPDFFillScreenChangedCallback? onFillScreenChanged,
    CPDFIOSClickBackPressedCallback? onIOSClickBackPressed,
    CPDFOnTapMainDocAreaCallback? onTapMainDocArea}) {
  _channel = MethodChannel('com.compdfkit.flutter.ui.pdfviewer.$id');
  _annotationHistoryManager = CPDFAnnotationHistoryManager(_channel);
  _editManager = CPDFEditManager(_channel);
  _channel.setMethodCallHandler((call) async {
    switch (call.method) {
      case 'onPageChanged':
        var pageIndex = call.arguments['pageIndex'];
        onPageChanged?.call(pageIndex);
        break;
      case 'saveDocument':
        saveCallback?.call();
        break;
      case 'onPageEditDialogBackPress':
        onPageEditBackPress?.call();
        break;
      case 'onFullScreenChanged':
        bool isFillScreen = call.arguments;
        onFillScreenChanged?.call(isFillScreen);
        break;
      case 'onIOSClickBackPressed':
        onIOSClickBackPressed?.call();
        break;
      case 'onDocumentIsReady':
        _readyCompleter.complete();
        break;
      case 'onAnnotationHistoryChanged':
        _annotationHistoryManager.handleMethodCall(call);
        break;
      case 'onTapMainDocArea':
        onTapMainDocArea?.call();
        break;
      case 'onContentEditorHistoryChanged':
        _editManager.historyManager.handleMethodCall(call);
        break;
    }
  });
  _document = CPDFDocument.withController(id);
}