The PhotoViewCore widget is the internal engine of the library, but it defines the primary configuration surface for displaying images. When using the standard constructor, you must provide an imageProvider and several configuration parameters to manage scale, rotation, and gestures.
Key configuration properties include:
imageProvider: The ImageProvider to be displayed.backgroundDecoration: A Decoration for the background (defaults to black).scaleBoundaries: Defines minScale, maxScale, and initialScale.controller: A PhotoViewControllerBase to manage the view state.scaleStateController: A PhotoViewScaleStateController to track the current scale state.enableRotation: Boolean to allow/disallow rotation gestures.strictScale: If true, scale updates are ignored if they exceed scaleBoundaries.enablePanAlways: If true, allows panning even when not scaled.filterQuality: Controls the FilterQuality of the image.
// Note: This is a conceptual representation of the PhotoViewCore constructor
// as it is an internal implementation detail, but it defines the required config surface.
const PhotoViewCore({
required this.imageProvider,
required this.backgroundDecoration,
required this.semanticLabel,
required this.gaplessPlayback,
required this.heroAttributes,
required this.enableRotation,
required this.onTapUp,
required this.onTapDown,
required this.onScaleEnd,
required this.gestureDetectorBehavior,
required this.controller,
required this.scaleBoundaries,
required this.scaleStateCycle,
required this.scaleStateController,
required this.basePosition,
required this.tightMode,
required this.filterQuality,
required this.disableGestures,
required this.enablePanAlways,
required this.strictScale,
});