Mercurial > mplayer.hg
annotate gui/win32/gui.h @ 30115:ad61464d02a7
Add support for YUV format with alpha and fix the codecs.conf entry for vp6a
to use it.
Fixes playback of samples in http://samples.mplayerhq.hu/FLV/flash_with_alpha/
author | reimar |
---|---|
date | Thu, 31 Dec 2009 23:45:07 +0000 |
parents | 9e739bdb049c |
children | 71acebef19ec |
rev | line source |
---|---|
23077 | 1 /* |
23079 | 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> | |
6 * | |
7 * This file is part of MPlayer. | |
8 * | |
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. | |
13 * | |
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. | |
18 * | |
26457 | 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 | |
23079 | 22 */ |
23077 | 23 |
26029 | 24 #ifndef MPLAYER_GUI_GUI_H |
25 #define MPLAYER_GUI_GUI_H | |
23689
3f0d00abc073
Do not use leading underscores in multiple inclusion guards, they are reserved.
diego
parents:
23685
diff
changeset
|
26 |
23091
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
27 #include "config.h" |
23123
21e29d5932c5
header / declarations cleanup, also fixes broken compilation.
vayne
parents:
23091
diff
changeset
|
28 #include "mplayer.h" |
23091
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
29 #include "playtree.h" |
52488bb09d90
Consistently use quotes instead of angled brackets in #include
diego
parents:
23079
diff
changeset
|
30 #include "m_config.h" |
23077 | 31 #include "skinload.h" |
32 #include "playlist.h" | |
33 | |
34 extern char *skinName; | |
35 extern float sub_aspect; | |
36 extern play_tree_t* playtree; | |
37 extern m_config_t* mconfig; | |
26193
609236ad27f4
more header / declaration cleanups; fixes a lot of warnings as well as a preempt to removal of redundant wincfg.h.
vayne
parents:
26029
diff
changeset
|
38 extern int sub_window; |
609236ad27f4
more header / declaration cleanups; fixes a lot of warnings as well as a preempt to removal of redundant wincfg.h.
vayne
parents:
26029
diff
changeset
|
39 extern int console; |
23077 | 40 extern NOTIFYICONDATA nid; |
41 | |
42 typedef struct window_priv_t window_priv_t; | |
43 struct window_priv_t | |
44 { | |
45 HWND hwnd; | |
46 image img; | |
47 image *background; | |
48 HBITMAP bitmap; | |
49 int type; | |
50 }; | |
51 | |
52 typedef struct gui_t gui_t; | |
53 struct gui_t | |
54 { | |
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; | |
62 | |
63 HWND mainwindow; | |
64 HWND subwindow; | |
65 | |
66 /* for event handling */ | |
67 widget *activewidget; | |
68 | |
69 int mousewx, mousewy; /* mousepos inside widget */ | |
70 int mousex, mousey; | |
71 | |
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; | |
82 | |
83 int skinbrowserwindow; | |
84 int playlistwindow; | |
85 int aboutwindow; | |
86 | |
87 skin_t *skin; | |
88 playlist_t *playlist; | |
89 | |
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); | |
94 }; | |
95 | |
96 #define wsShowWindow 8 | |
97 #define wsHideWindow 16 | |
98 #define wsShowFrame 1 | |
99 #define wsMovable 2 | |
100 #define wsSizeable 4 | |
101 | |
28051 | 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); | |
23077 | 109 |
110 /* Dialogs */ | |
28051 | 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); | |
23077 | 120 |
26029 | 121 #endif /* MPLAYER_GUI_GUI_H */ |