NutrientControllerInterface class abstract
Pure interface for the Nutrient viewer controller.
This defines the public API surface that users interact with when controlling a PDF viewer. It is intentionally separate from the internal lifecycle plumbing in NutrientController.
Usage
Define your own controller type by extending this interface:
abstract class MyController implements NutrientControllerInterface {
Future<int> getCurrentPageIndex();
Future<void> goToPage(int pageIndex);
}
Then use it with NutrientView for type-safe access:
NutrientView<MyController>(
documentPath: 'document.pdf',
onControllerReady: (controller) async {
final count = await controller.document.getPageCount();
await controller.goToPage(5);
},
)
Provided APIs
- document — access to document-level operations (annotations, bookmarks, forms, save/export, etc.)
- isReady / isDisposed — lifecycle state queries
- dispose — resource cleanup
- setAnnotationConfigurations — annotation toolbar presets
- setAnnotationMenuConfiguration — annotation context menu config
- getVisibleRect, zoomToRect, getZoomScale — viewport queries and zoom control
- enterAnnotationCreationMode, exitAnnotationCreationMode — annotation creation mode toggling
- convertViewPointToPdfPoint, convertPdfPointToViewPoint — coordinate-space conversion between view and PDF page
Constructors
Properties
- document → NutrientDocumentInterface
-
The open PDF document and its document-level operations.
no setter
-
events
→ Stream<
NutrientEvent> -
A broadcast stream of cross-platform typed SDK events.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isDisposed → bool
-
Whether the controller has been disposed.
no setter
- isReady → bool
-
Whether the controller is ready for use.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
convertPdfPointToViewPoint(
int pageIndex, Offset point) → Future< Offset> - Converts a point from PDF page coordinates to the page view's coordinate space.
-
convertViewPointToPdfPoint(
int pageIndex, Offset point) → Future< Offset> - Converts a point from the page view's coordinate space to PDF page coordinates.
-
dispose(
) → Future< void> - Dispose of this controller and release resources.
-
enterAnnotationCreationMode(
[AnnotationTool? annotationTool]) → Future< bool?> -
Enters annotation creation mode for the specified
annotationTool. -
exitAnnotationCreationMode(
) → Future< bool?> - Exits annotation creation mode and returns to normal viewer interaction.
-
getVisibleRect(
int pageIndex) → Future< Rect> - Gets the visible rect of the given page.
-
getZoomScale(
int pageIndex) → Future< double> - Gets the current zoom scale of the given page.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
setAnnotationConfigurations(
Map< String, dynamic> configurations) → Future<bool> - Sets annotation preset configurations for the viewer's annotation toolbar.
-
setAnnotationEditingToolbarItems(
List< AnnotationEditingItem> items) → Future<void> -
Replaces the annotation editing / property toolbar (the bar shown when
an annotation is selected) with
items— reorder, add, or remove the property controls / actions. -
setAnnotationMenuConfiguration(
Map< String, dynamic> configuration) → Future<bool> - Configures the annotation context menu (items to show, disable, or hide).
-
setAnnotationToolbarItems(
List< AnnotationToolbarItem> items) → Future<void> -
Replaces the viewer's annotation creation toolbar (the tool picker) with
items— reorder, add, remove, or group the annotation tools. -
setMainToolbarItems(
List< ToolbarItem> items) → Future<void> -
Replaces the viewer's main toolbar with
items. -
toString(
) → String -
A string representation of this object.
inherited
-
zoomToRect(
int pageIndex, Rect rect) → Future< void> -
Zooms to the given
recton the given page.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited