]> git.sesse.net Git - vlc/blobdiff - plugins/gtk/intf_gtk.h
* Fixed the BeOS compile typo.
[vlc] / plugins / gtk / intf_gtk.h
index 67e07f1c07d3ac8ba07606d04744919c5601cdfb..5427c123ac809bde9db8049fd722d334bae34cd0 100644 (file)
@@ -2,7 +2,7 @@
  * intf_gtk.h: private Gtk+ interface description
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: intf_gtk.h,v 1.2 2001/05/01 15:12:22 sam Exp $
+ * $Id: intf_gtk.h,v 1.6 2001/05/23 23:08:20 stef Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
  *****************************************************************************/
 #define GTK_MENU_LABEL_SIZE 64
 
+/*****************************************************************************
+ * Convert user_data structures to title and chapter information
+ *****************************************************************************/
+#define DATA2TITLE( user_data )    ( (gint)(user_data) >> 16 )
+#define DATA2CHAPTER( user_data )  ( (gint)(user_data) & 0xffff )
+#define POS2DATA( title, chapter ) ( ((title) << 16) | ((chapter) & 0xffff) )
+
 /*****************************************************************************
  * Useful inline function
  ****************************************************************************/
@@ -50,13 +57,15 @@ typedef struct intf_sys_s
     boolean_t           b_popup_changed;                   /* display menu ? */
     boolean_t           b_window_changed;        /* window display toggled ? */
     boolean_t           b_playlist_changed;    /* playlist display toggled ? */
-    boolean_t           b_menus_update;              /* menus have changed ? */
     boolean_t           b_slider_free;                      /* slider status */
 
-    int                 i_list_timeout;
-
-    /* Playlist selected item */
-    int                 i_playing;
+    /* menus handlers */
+    boolean_t           b_title_update;  /* do we need to update title menus */
+    boolean_t           b_chapter_update;            /* do we need to update
+                                                               chapter menus */
+    boolean_t           b_angle_update;  /* do we need to update angle menus */
+    boolean_t           b_audio_update;  /* do we need to update audio menus */
+    boolean_t           b_spu_update;      /* do we need to update spu menus */
 
     /* windows and widgets */
     GtkWidget *         p_window;                             /* main window */
@@ -67,14 +76,21 @@ typedef struct intf_sys_s
     GtkWidget *         p_fileopen;                      /* file open window */
     GtkWidget *         p_disc;                     /* disc selection window */
     GtkWidget *         p_network;                  /* network stream window */
+    GtkWidget *         p_preferences;                 /* preferences window */
+    GtkWidget *         p_jump;                               /* jump window */
 
     /* The slider */
+    GtkFrame *          p_slider_frame;
     GtkAdjustment *     p_adj;                   /* slider adjustment object */
     float               f_adj_oldvalue;                    /* previous value */
 
-    /* The window labels */
-    GtkLabel *          p_label_date;
-    GtkLabel *          p_label_status;
+    /* Playlist management */
+    int                 i_playing;                 /* playlist selected item */
+
+    /* The window labels for DVD mode */
+    GtkLabel *          p_label_title;
+    GtkLabel *          p_label_chapter;
+    gint                i_part;                           /* current chapter */
 
     /* XXX: Ugly kludge, see intf_gnome.c */
     void             ( *pf_gtk_callback ) ( void );
@@ -82,3 +98,11 @@ typedef struct intf_sys_s
 
 } intf_sys_t;
 
+/*****************************************************************************
+ * Prototypes
+ *****************************************************************************/
+
+gint GtkModeManage   ( intf_thread_t * p_intf );
+void GtkDisplayDate  ( GtkAdjustment *p_adj );
+
+