PanoramaViewer class

Inheritance

Constructors

PanoramaViewer({Key? key, double latitude = 0, double longitude = 0, double zoom = 1.0, double minLatitude = -90.0, double maxLatitude = 90.0, double minLongitude = -180.0, double maxLongitude = 180.0, double minZoom = 1.0, double maxZoom = 5.0, double sensitivity = 1.0, double animSpeed = 0.0, bool animReverse = true, int latSegments = 32, int lonSegments = 64, bool interactive = true, SensorControl sensorControl = SensorControl.none, Rect croppedArea = const Rect.fromLTWH(0.0, 0.0, 1.0, 1.0), double croppedFullWidth = 1.0, double croppedFullHeight = 1.0, dynamic onViewChanged(double longitude, double latitude, double tilt)?, dynamic onTap(double longitude, double latitude, double tilt)?, dynamic onLongPressStart(double longitude, double latitude, double tilt)?, dynamic onLongPressMoveUpdate(double longitude, double latitude, double tilt)?, dynamic onLongPressEnd(double longitude, double latitude, double tilt)?, dynamic onImageLoad()?, Image? child, VideoPlayerController? videoPlayerController, String? videoUrl, RTCVideoRenderer? webrtcRenderer, String? webrtcTrackId, String? webrtcPeerConnectionId, bool useNativeExtraction = true, List<Hotspot>? hotspots, PanoramaController? panoramaController})
const

Properties

animReverse bool
Reverse rotation when the current longitude reaches the minimal or maximum. default to true
final
animSpeed double
The Speed of rotation by animation. default to 0.0
final
child Image?
Specify an Image(equirectangular image) widget to the panorama.
final
croppedArea Rect
Area of the image was cropped from the full sized photo sphere.
final
croppedFullHeight double
Original full height from which the image was cropped.
final
croppedFullWidth double
Original full width from which the image was cropped.
final
hashCode int
The hash code for this object.
no setterinherited
hotspots List<Hotspot>?
Place widgets in the panorama.
final
interactive bool
Interact with the panorama. default to true
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
latitude double
The initial latitude, in degrees, between -90 and 90. default to 0 (the vertical center of the image).
final
latSegments int
The number of vertical divisions of the sphere.
final
longitude double
The initial longitude, in degrees, between -180 and 180. default to 0 (the horizontal center of the image).
final
lonSegments int
The number of horizontal divisions of the sphere.
final
maxLatitude double
The maximal latitude to show. default to 90.0
final
maxLongitude double
The maximal longitude to show. default to 180.0
final
maxZoom double
The maximal zomm. default to 5.0
final
minLatitude double
The minimal latitude to show. default to -90.0
final
minLongitude double
The minimal longitude to show. default to -180.0
final
minZoom double
The minimal zomm. default to 1.0
final
onImageLoad → dynamic Function()?
This event will be called when provided image is loaded on texture.
final
onLongPressEnd → dynamic Function(double longitude, double latitude, double tilt)?
This event will be called when the user has stopped a long presses, it contains latitude and longitude about where the user pressed.
final
onLongPressMoveUpdate → dynamic Function(double longitude, double latitude, double tilt)?
This event will be called when the user has drag-moved after a long press, it contains latitude and longitude about where the user pressed.
final
onLongPressStart → dynamic Function(double longitude, double latitude, double tilt)?
This event will be called when the user has started a long press, it contains latitude and longitude about where the user pressed.
final
onTap → dynamic Function(double longitude, double latitude, double tilt)?
This event will be called when the user has tapped, it contains latitude and longitude about where the user tapped.
final
onViewChanged → dynamic Function(double longitude, double latitude, double tilt)?
This event will be called when the view direction has changed, it contains latitude and longitude about the current view.
final
panoramaController PanoramaController?
Panorama controller
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sensitivity double
The sensitivity of the gesture. default to 1.0
final
sensorControl SensorControl
Control the panorama with motion sensors.
final
useNativeExtraction bool
Whether to use native frame extraction (Path A) instead of the RepaintBoundary.toImage() screenshot approach.
final
videoPlayerController → VideoPlayerController?
Video player controller for video panoramas (alternative to child). When useNativeExtraction is true, prefer using videoUrl directly for better performance (avoids dual AVPlayer). Retain this only if you need playback UI controls (seek bar, duration display) via the controller.
final
videoUrl String?
URL of the 360° video to play. Used by the native frame extractor. When useNativeExtraction is true, the native code creates its own AVPlayer on a background thread, eliminating the main-thread GPU readback.
final
webrtcPeerConnectionId String?
The peer connection ID for WebRTC remote track lookup. Pass null for local tracks (e.g., local camera demo).
final
webrtcRenderer RTCVideoRenderer?
WebRTC video renderer for live streaming panoramas (alternative to child and videoPlayerController)
final
webrtcTrackId String?
The MediaStreamTrack.id of the WebRTC video track. Required when webrtcRenderer is set and useNativeExtraction is true.
final
zoom double
The initial zoom, default to 1.0.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() PanoramaState
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited