VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
display.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * display.h: "vout display" managment
3  *****************************************************************************
4  * Copyright (C) 2009 Laurent Aimar
5  * $Id: 86746fd40987b8a8a659064332fc2b7b6b56ec3f $
6  *
7  * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ org>
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23 
24 #include <vlc_vout_wrapper.h>
25 
26 #if 0
27 #include <vlc_vout_display.h>
28 #include <vlc_filter.h>
29 
30 /**
31  * It retreive a picture from the display
32  */
33 static inline picture_pool_t *vout_display_Pool(vout_display_t *vd, unsigned count)
34 {
35  return vd->pool(vd, count);
36 }
37 
38 /**
39  * It preparse a picture for display.
40  */
41 static inline void vout_display_Prepare(vout_display_t *vd, picture_t *picture)
42 {
43  if (vd->prepare )
44  vd->prepare(vd, picture);
45 }
46 
47 /**
48  * It display a picture.
49  */
50 static inline void vout_display_Display(vout_display_t *vd, picture_t *picture)
51 {
52  vd->display(vd, picture);
53 }
54 
55 /**
56  * It holds a state for a vout display.
57  */
58 typedef struct {
60 
61  bool is_on_top;
62  struct {
63  int num;
64  int den;
65  } sar;
67 
68 /**
69  * It creates a vout managed display.
70  */
72  const video_format_t *,
73  const vout_display_state_t *,
74  const char *psz_module,
75  mtime_t i_double_click_timeout,
76  mtime_t i_hide_timeout );
77 /**
78  * It creates a vout managed display wrapping a video splitter.
79  */
81  const video_format_t *source,
82  const vout_display_state_t *state,
83  const char *module,
84  const char *splitter,
85  mtime_t double_click_timeout,
86  mtime_t hide_timeout );
87 
88 /**
89  * It destroy a vout managed display.
90  */
92 
94 
95 void vout_ManageDisplay(vout_display_t *, bool allow_reset_pictures);
96 
97 void vout_SetDisplayFullscreen(vout_display_t *, bool is_fullscreen);
98 void vout_SetDisplayFilled(vout_display_t *, bool is_filled);
99 void vout_SetDisplayZoom(vout_display_t *, int num, int den);
100 void vout_SetWindowState(vout_display_t *, unsigned state);
101 void vout_SetDisplayAspect(vout_display_t *, unsigned sar_num, unsigned sar_den);
103  unsigned crop_num, unsigned crop_den,
104  unsigned x, unsigned y, unsigned width, unsigned height);
105 
106 #endif
107 
109  const video_format_t *source,
110  const vout_display_state_t *state,
111  const char *module,
112  const char *splitter_module,
113  mtime_t double_click_timeout,
114  mtime_t hide_timeout);
115 
116 /* FIXME should not be there */
121