Spaces:
Paused
Paused
| // lib/models/video_orientation.dart | |
| /// Enum representing the orientation of a video clip. | |
| enum VideoOrientation { | |
| /// Landscape orientation (horizontal, typically 16:9) | |
| LANDSCAPE, | |
| /// Portrait orientation (vertical, typically 9:16) | |
| PORTRAIT | |
| } | |
| /// Extension methods for VideoOrientation enum | |
| extension VideoOrientationExtension on VideoOrientation { | |
| /// Get the string representation of the orientation | |
| String get name { | |
| switch (this) { | |
| case VideoOrientation.LANDSCAPE: | |
| return 'LANDSCAPE'; | |
| case VideoOrientation.PORTRAIT: | |
| return 'PORTRAIT'; | |
| } | |
| } | |
| /// Value for API communication | |
| String get value { | |
| return name; | |
| } | |
| /// Get the orientation from a string | |
| static VideoOrientation fromString(String? str) { | |
| if (str?.toUpperCase() == 'PORTRAIT') { | |
| return VideoOrientation.PORTRAIT; | |
| } | |
| return VideoOrientation.LANDSCAPE; // Default to landscape | |
| } | |
| /// Whether this orientation is portrait | |
| bool get isPortrait => this == VideoOrientation.PORTRAIT; | |
| /// Whether this orientation is landscape | |
| bool get isLandscape => this == VideoOrientation.LANDSCAPE; | |
| } | |
| /// Helper function to determine orientation from width and height | |
| VideoOrientation getOrientationFromDimensions(int width, int height) { | |
| return width >= height ? VideoOrientation.LANDSCAPE : VideoOrientation.PORTRAIT; | |
| } |