add menu item for toggling window size adjustment
[uwplayer.git] / application / window.h
index b0f9c64..55bdd1f 100644 (file)
@@ -27,6 +27,7 @@
 #include <Xm/XmAll.h>
 #include <stdbool.h>
 #include <unistd.h>
+#include <ucx/list.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -46,33 +47,49 @@ typedef struct Player {
     int height;
     int osd_height;
 } Player;
+
+typedef struct {
+    UcxList *tracks;
+    int current_track;
     
+    Boolean repeatTrack;
+    Boolean repeatList;
+    Boolean autoplayFolder;
+    Boolean random;
+} PlayList;
+
 typedef struct MainWindow {
     Widget window;
     Widget menubar;
     Widget player_widget;
+    Widget sidebar;
     char *file;
     Player *player;
     bool fullscreen;
     bool mbvisible;
+    bool sidebarvisible;
     bool cursorhidden;
     bool buttongrab;
+    bool pwbuttonpressed;
     
     Widget playRepeatTrackButton;
     Widget playRepeatListButton;
     Widget playAutoPlayButton;
+    Widget playRandom;
+    Widget viewSidebarButton;
+    Widget viewAdjustWindowSize;
+    
+    PlayList playlist;
+    
+    bool adjustWindowSize;
     
     Time player_event_time;
     Time button_press_time;
     double motion_playback_time;
     int mouse_x;
     int mouse_y;
-    int mouse_x_orig;
-    int mouse_y_orig;
     
-    Boolean repeatTrack;
-    Boolean repeatList;
-    Boolean autoplayFolder;
+    
 } MainWindow;
 
 MainWindow* WindowCreate(Display *dp);
@@ -85,8 +102,6 @@ void WindowFullscreen(MainWindow *win, bool enableFullscreen);
 
 void WindowMenubarSetVisible(MainWindow *win, bool visible);
 
-void WindowSetFile(MainWindow *win, char *file);
-
 void WindowAdjustAspectRatio(MainWindow *win);
 
 void WindowClosePlayer(MainWindow *win);
@@ -96,6 +111,12 @@ void WindowShowPlayerCursor(MainWindow *win);
 
 void WindowHandlePlayerEvent(MainWindow *win, XEvent *event);
 
+void WindowHideSidebar(MainWindow *win);
+void WindowShowSidebar(MainWindow *win);
+
+void WindowUpdate(MainWindow *win);
+
+
 #ifdef __cplusplus
 }
 #endif