forked from PSPDFKit/pspdfkit-flutter
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpspdfkit_widget_controller_web.dart
More file actions
130 lines (107 loc) · 3.61 KB
/
pspdfkit_widget_controller_web.dart
File metadata and controls
130 lines (107 loc) · 3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/// Copyright © 2024 PSPDFKit GmbH. All rights reserved.
///
/// THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
/// AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE PSPDFKIT LICENSE AGREEMENT.
/// UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
/// This notice may not be removed from this file.
///
///
import 'dart:ui';
import 'package:pspdfkit_flutter/src/web/pspdfkit_web_instance.dart';
import '../../pspdfkit.dart';
import '../web/pspdfkit_web.dart';
/// A controller for a PSPDFKit widget for Web.
class PspdfkitWidgetControllerWeb extends PspdfkitWidgetController {
final PspdfkitWebInstance pspdfkitInstance;
PspdfkitWidgetControllerWeb(this.pspdfkitInstance);
@override
Future<dynamic> getAnnotations(int pageIndex, String type) async {
return pspdfkitInstance.getAnnotations(pageIndex);
}
@override
Future<bool?> addAnnotation(Map<String, dynamic> jsonAnnotation) async {
await pspdfkitInstance.addAnnotation(jsonAnnotation);
return Future.value(true);
}
@override
Future<bool?> applyInstantJson(String annotationsJson) async {
await pspdfkitInstance.applyInstantJson(annotationsJson);
return Future.value(true);
}
@override
Future<String?> exportInstantJson() {
return pspdfkitInstance.exportInstantJson();
}
@override
Future<bool?> exportXfdf(String xfdfPath) async {
await pspdfkitInstance.exportXfdf(xfdfPath);
return Future.value(true);
}
@override
Future<dynamic> getAllUnsavedAnnotations() {
return pspdfkitInstance.getAllAnnotations();
}
@override
Future<String?> getFormFieldValue(String fullyQualifiedName) {
return pspdfkitInstance.getFormFieldValue(fullyQualifiedName);
}
@override
Future<bool?> importXfdf(String xfdfPath) async {
await pspdfkitInstance.importXfdf(xfdfPath);
return Future.value(true);
}
@override
Future<bool?> processAnnotations(
AnnotationType type,
AnnotationProcessingMode processingMode,
String destinationPath,
) {
throw UnimplementedError('This method is not supported on the web!');
}
@override
Future<bool?> removeAnnotation(jsonAnnotation) async {
await pspdfkitInstance.removeAnnotation(jsonAnnotation);
return Future.value(true);
}
@override
Future<bool?> save() async {
await pspdfkitInstance.save();
return Future.value(true);
}
@override
Future<bool?> setAnnotationConfigurations(
Map<AnnotationTool, AnnotationConfiguration> configurations) async {
throw UnimplementedError('This method is not supported on the web!');
}
@override
Future<bool?> setFormFieldValue(
String value, String fullyQualifiedName) async {
await pspdfkitInstance.setFormFieldValue(value, fullyQualifiedName);
return Future.value(true);
}
void dispose() {
PSPDFKitWeb.unload(pspdfkitInstance.jsObject);
}
@override
void addEventListener(String eventName, Function(dynamic) callback) {
pspdfkitInstance.addEventListener(eventName, callback);
}
@override
Future<Rect> getVisibleRect(int pageIndex) {
// This method is not supported on the web.
throw UnimplementedError('This method is not supported yet on web!');
}
@override
Future<void> zoomToRect(int pageIndex, Rect rect) {
return pspdfkitInstance.zoomToRect(pageIndex, rect);
}
@override
Future<double> getZoomScale(int pageIndex) {
return pspdfkitInstance.getZoomScale(pageIndex);
}
@override
Future getFormFieldProperties(String fullyQualifiedName) {
// TODO: implement getFormFieldPRoperties
throw UnimplementedError();
}
}