Add rules to install gmplayer manual pages.
[mplayer/glamo.git] / gui / win32 / gui.h
blobd8578dc96f845426d7d314d737a8604f3ad33b5f
1 /*
2 * MPlayer GUI for Win32
3 * Copyright (C) 2003 Sascha Sommer <saschasommer@freenet.de>
4 * Copyright (C) 2006 Erik Augustson <erik_27can@yahoo.com>
5 * Copyright (C) 2006 Gianluigi Tiesi <sherpya@netfarm.it>
7 * This file is part of MPlayer.
9 * MPlayer 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.
14 * MPlayer 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.
19 * You should have received a copy of the GNU General Public License along
20 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24 #ifndef MPLAYER_GUI_GUI_H
25 #define MPLAYER_GUI_GUI_H
27 #include "config.h"
28 #include "mplayer.h"
29 #include "playtree.h"
30 #include "m_config.h"
31 #include "skinload.h"
32 #include "playlist.h"
34 extern char *skinName;
35 extern float sub_aspect;
36 extern play_tree_t* playtree;
37 extern m_config_t* mconfig;
38 extern int sub_window;
39 extern int console;
40 extern NOTIFYICONDATA nid;
42 typedef struct window_priv_t window_priv_t;
43 struct window_priv_t
45 HWND hwnd;
46 image img;
47 image *background;
48 HBITMAP bitmap;
49 int type;
52 typedef struct gui_t gui_t;
53 struct gui_t
55 /* screenproperties */
56 int screenw, screenh, screenbpp;
57 /* window related stuff */
58 char *classname;
59 HICON icon;
60 unsigned int window_priv_count;
61 window_priv_t **window_priv;
63 HWND mainwindow;
64 HWND subwindow;
66 /* for event handling */
67 widget *activewidget;
69 int mousewx, mousewy; /* mousepos inside widget */
70 int mousex, mousey;
72 HMENU menu;
73 HMENU diskmenu;
74 HMENU traymenu;
75 HMENU trayplaymenu;
76 HMENU trayplaybackmenu;
77 HMENU submenu;
78 HMENU subtitlemenu;
79 HMENU aspectmenu;
80 HMENU dvdmenu;
81 HMENU playlistmenu;
83 int skinbrowserwindow;
84 int playlistwindow;
85 int aboutwindow;
87 skin_t *skin;
88 playlist_t *playlist;
90 void (*startplay)(gui_t *gui);
91 void (*updatedisplay)(gui_t *gui, HWND hwnd);
92 void (*playercontrol)(int event); /* userdefine call back function */
93 void (*uninit)(gui_t *gui);
96 #define wsShowWindow 8
97 #define wsHideWindow 16
98 #define wsShowFrame 1
99 #define wsMovable 2
100 #define wsSizeable 4
102 gui_t *create_gui(char *skindir, char *skinName, void (*playercontrol)(int event));
103 int destroy_window(gui_t *gui);
104 int create_window(gui_t *gui, char *skindir);
105 int create_subwindow(gui_t *gui, char *skindir);
106 int parse_filename(char *file, play_tree_t *playtree, m_config_t *mconfig, int clear);
107 void capitalize(char *filename);
108 int import_playtree_playlist_into_gui(play_tree_t *my_playtree, m_config_t *config);
110 /* Dialogs */
111 void display_playlistwindow(gui_t *gui);
112 void update_playlistwindow(void);
113 int display_openfilewindow(gui_t *gui, int add);
114 void display_openurlwindow(gui_t *gui, int add);
115 void display_skinbrowser(gui_t *gui);
116 void display_chapterselwindow(gui_t *gui);
117 void display_eqwindow(gui_t *gui);
118 void display_prefswindow(gui_t *gui);
119 void display_opensubtitlewindow(gui_t *gui);
121 #endif /* MPLAYER_GUI_GUI_H */