pda.h
上传用户:riyaled888
上传日期:2009-03-27
资源大小:7338k
文件大小:3k
源码类别:

多媒体

开发平台:

MultiPlatform

  1. /*****************************************************************************
  2.  * pda.h: private Gtk+ interface description
  3.  *****************************************************************************
  4.  * Copyright (C) 1999, 2000 VideoLAN
  5.  * $Id: pda.h 6961 2004-03-05 17:34:23Z sam $
  6.  *
  7.  * Authors: Jean-Paul Saman <jpsaman@wxs.nl>
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  22.  *****************************************************************************/
  23. #define MAX_ATEXIT                 10
  24. /*****************************************************************************
  25.  * intf_sys_t: description and status of Gtk+ interface
  26.  *****************************************************************************/
  27. struct intf_sys_t
  28. {
  29.     /* The gtk_main module */
  30.     module_t           *p_gtk_main;
  31.     /* windows and widgets */
  32.     GtkWidget          *p_window;                             /* main window */
  33.     GtkNotebook        *p_notebook;
  34.     GtkHScale          *p_slider;
  35.     GtkTreeView        *p_tvfile;
  36.     GtkTreeView        *p_tvplaylist;
  37.     /* slider */
  38.     GtkLabel *          p_slider_label;
  39.     GtkAdjustment *     p_adj;                   /* slider adjustment object */
  40.     off_t               i_adj_oldvalue;  /* previous value -no FPU hardware  */
  41.     float               f_adj_oldvalue;  /* previous value -with FPU hardware*/
  42.     /* special actions */
  43.     vlc_bool_t          b_playing;
  44.     vlc_bool_t          b_window_changed;        /* window display toggled ? */
  45.     vlc_bool_t          b_slider_free;                      /* slider status */
  46.     /* Preference settings */
  47.     vlc_bool_t          b_autoplayfile;
  48.     /* The input thread */
  49.     input_thread_t *    p_input;
  50. };
  51. /*****************************************************************************
  52.  * Useful macro
  53.  ****************************************************************************/
  54. #define GTK_GET( type, nom ) GTK_##type( gtk_object_get_data( 
  55.         GTK_OBJECT( p_intf->p_sys->p_window ), nom ) )
  56.             
  57. #define  GtkGetIntf( widget ) E_(__GtkGetIntf)( GTK_WIDGET( widget ) )
  58. void * E_(__GtkGetIntf)( GtkWidget * );