1 /*
2  * Copyright (C) 2000-2019 the xine project
3  *
4  * This file is part of xine, a unix video player.
5  *
6  * xine is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * xine is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19  *
20  * xine panel related stuff
21  *
22  */
23 
24 #ifndef PANEL_H
25 #define PANEL_H
26 
27 #include "xitk.h"
28 
29 typedef struct xui_panel_st xui_panel_t;
30 
31 void panel_update_nextprev_tips (xui_panel_t *panel);
32 int is_playback_widgets_enabled (xui_panel_t *panel);
33 void enable_playback_controls (xui_panel_t *panel, int enable);
34 
35 void panel_show_tips (xui_panel_t *panel);
36 int panel_get_tips_enable (xui_panel_t *panel);
37 unsigned long panel_get_tips_timeout (xui_panel_t *panel);
38 
39 void panel_deinit (xui_panel_t *panel);
40 xui_panel_t *panel_init (gGui_t *gui);
41 
42 void panel_paint (xui_panel_t *panel);
43 int panel_is_visible (xui_panel_t *panel);
44 
45 void panel_change_skins (xui_panel_t *panel, int synthetic);
46 
47 void panel_add_autoplay_buttons (xui_panel_t *panel);
48 void panel_add_mixer_control (xui_panel_t *panel);
49 
50 /* the next 3 are usable both directly and as widget callbacks.
51    w may be NULL, data is xui_panel_t *. */
52 void panel_toggle_visibility (xitk_widget_t *w, void *data);
53 void panel_toggle_audio_mute(xitk_widget_t *w, void *data, int status);
54 void panel_snapshot(xitk_widget_t *w, void *data);
55 
56 void panel_check_pause (xui_panel_t *panel);
57 void panel_check_mute (xui_panel_t *panel);
58 
59 void panel_reset_runtime_label (xui_panel_t *panel);
60 void panel_reset_slider (xui_panel_t *panel);
61 
62 void panel_update_slider (xui_panel_t *panel, int pos);
63 void panel_update_channel_display (xui_panel_t *panel);
64 void panel_update_runtime_display (xui_panel_t *panel);
65 void panel_update_mrl_display (xui_panel_t *panel);
66 void panel_update_mixer_display (xui_panel_t *panel);
67 
68 void panel_set_title (xui_panel_t *panel, char*);
69 
70 void panel_reparent (xui_panel_t *panel);
71 
72 #endif
73