Implement fullscreen
This commit is contained in:
@@ -123,6 +123,9 @@ class VideoEditor:
|
|||||||
# Display offset for panning when zoomed
|
# Display offset for panning when zoomed
|
||||||
self.display_offset = [0, 0]
|
self.display_offset = [0, 0]
|
||||||
|
|
||||||
|
# Fullscreen state
|
||||||
|
self.is_fullscreen = False
|
||||||
|
|
||||||
# Progress bar state
|
# Progress bar state
|
||||||
self.progress_bar_visible = False
|
self.progress_bar_visible = False
|
||||||
self.progress_bar_progress = 0.0 # 0.0 to 1.0
|
self.progress_bar_progress = 0.0 # 0.0 to 1.0
|
||||||
@@ -764,6 +767,25 @@ class VideoEditor:
|
|||||||
self.feedback_message_time = time.time()
|
self.feedback_message_time = time.time()
|
||||||
self.display_needs_update = True
|
self.display_needs_update = True
|
||||||
|
|
||||||
|
def toggle_fullscreen(self):
|
||||||
|
"""Toggle between windowed and fullscreen mode"""
|
||||||
|
window_title = "Image Editor" if self.is_image_mode else "Video Editor"
|
||||||
|
|
||||||
|
if self.is_fullscreen:
|
||||||
|
# Switch to windowed mode
|
||||||
|
self.is_fullscreen = False
|
||||||
|
cv2.namedWindow(window_title, cv2.WINDOW_NORMAL)
|
||||||
|
cv2.resizeWindow(window_title, 1200, 800)
|
||||||
|
print("Switched to windowed mode")
|
||||||
|
else:
|
||||||
|
# Switch to fullscreen mode - just maximize the window
|
||||||
|
self.is_fullscreen = True
|
||||||
|
cv2.namedWindow(window_title, cv2.WINDOW_NORMAL)
|
||||||
|
cv2.setWindowProperty(window_title, cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
|
||||||
|
print("Switched to fullscreen mode")
|
||||||
|
|
||||||
|
self.display_needs_update = True
|
||||||
|
|
||||||
def draw_feedback_message(self, frame):
|
def draw_feedback_message(self, frame):
|
||||||
"""Draw feedback message on frame if visible"""
|
"""Draw feedback message on frame if visible"""
|
||||||
if not self.feedback_message or not self.feedback_message_time:
|
if not self.feedback_message or not self.feedback_message_time:
|
||||||
@@ -1927,6 +1949,7 @@ class VideoEditor:
|
|||||||
print("Other Controls:")
|
print("Other Controls:")
|
||||||
print(" Ctrl+Scroll: Zoom in/out")
|
print(" Ctrl+Scroll: Zoom in/out")
|
||||||
print(" Shift+S: Save screenshot")
|
print(" Shift+S: Save screenshot")
|
||||||
|
print(" f: Toggle fullscreen")
|
||||||
if len(self.video_files) > 1:
|
if len(self.video_files) > 1:
|
||||||
print(" N: Next file")
|
print(" N: Next file")
|
||||||
print(" n: Previous file")
|
print(" n: Previous file")
|
||||||
@@ -1956,6 +1979,7 @@ class VideoEditor:
|
|||||||
print("Other Controls:")
|
print("Other Controls:")
|
||||||
print(" Ctrl+Scroll: Zoom in/out")
|
print(" Ctrl+Scroll: Zoom in/out")
|
||||||
print(" Shift+S: Save screenshot")
|
print(" Shift+S: Save screenshot")
|
||||||
|
print(" f: Toggle fullscreen")
|
||||||
print(" 1: Set cut start point")
|
print(" 1: Set cut start point")
|
||||||
print(" 2: Set cut end point")
|
print(" 2: Set cut end point")
|
||||||
print(" T: Toggle loop between markers")
|
print(" T: Toggle loop between markers")
|
||||||
@@ -2040,6 +2064,8 @@ class VideoEditor:
|
|||||||
elif key == ord("-") or key == ord("_"):
|
elif key == ord("-") or key == ord("_"):
|
||||||
self.rotate_clockwise()
|
self.rotate_clockwise()
|
||||||
print(f"Rotated to {self.rotation_angle}°")
|
print(f"Rotated to {self.rotation_angle}°")
|
||||||
|
elif key == ord("f"):
|
||||||
|
self.toggle_fullscreen()
|
||||||
elif key == ord("s"): # Shift+S - Save screenshot
|
elif key == ord("s"): # Shift+S - Save screenshot
|
||||||
self.save_current_frame()
|
self.save_current_frame()
|
||||||
elif key == ord("W"):
|
elif key == ord("W"):
|
||||||
|
Reference in New Issue
Block a user