~ubuntu-branches/ubuntu/maverick/vlc/maverick

« back to all changes in this revision

Viewing changes to src/video_output/display.h

  • Committer: Bazaar Package Importer
  • Author(s): Benjamin Drung
  • Date: 2010-06-25 01:09:16 UTC
  • mfrom: (1.1.30 upstream)
  • Revision ID: james.westby@ubuntu.com-20100625010916-asxhep2mutg6g6pd
Tags: 1.1.0-1ubuntu1
* Merge from Debian unstable, remaining changes:
  - build and install the libx264 plugin
  - add Xb-Npp header to vlc package
  - Add apport hook to include more vlc dependencies in bug reports
* Drop xulrunner patches.
* Drop 502_xulrunner_191.diff.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*****************************************************************************
 
2
 * display.h: "vout display" managment
 
3
 *****************************************************************************
 
4
 * Copyright (C) 2009 Laurent Aimar
 
5
 * $Id: a6987f6098f08d615b613c7ccb76fbe1f33e80eb $
 
6
 *
 
7
 * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ org>
 
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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
 
22
 *****************************************************************************/
 
23
 
 
24
#if defined(__PLUGIN__) || defined(__BUILTIN__) || !defined(__LIBVLC__)
 
25
# error This header file can only be included from LibVLC.
 
26
#endif
 
27
 
 
28
#include <vlc_vout_wrapper.h>
 
29
 
 
30
#if 0
 
31
#include <vlc_vout_display.h>
 
32
#include <vlc_filter.h>
 
33
 
 
34
/**
 
35
 * It retreive a picture from the display
 
36
 */
 
37
static inline picture_pool_t *vout_display_Pool(vout_display_t *vd, unsigned count)
 
38
{
 
39
    return vd->pool(vd, count);
 
40
}
 
41
 
 
42
/**
 
43
 * It preparse a picture for display.
 
44
 */
 
45
static inline void vout_display_Prepare(vout_display_t *vd, picture_t *picture)
 
46
{
 
47
    if (vd->prepare )
 
48
        vd->prepare(vd, picture);
 
49
}
 
50
 
 
51
/**
 
52
 * It display a picture.
 
53
 */
 
54
static inline void vout_display_Display(vout_display_t *vd, picture_t *picture)
 
55
{
 
56
    vd->display(vd, picture);
 
57
}
 
58
 
 
59
/**
 
60
 * It holds a state for a vout display.
 
61
 */
 
62
typedef struct {
 
63
    vout_display_cfg_t cfg;
 
64
 
 
65
    bool is_on_top;
 
66
    struct {
 
67
        int num;
 
68
        int den;
 
69
    } sar;
 
70
} vout_display_state_t;
 
71
 
 
72
/**
 
73
 * It creates a vout managed display.
 
74
 */
 
75
vout_display_t *vout_NewDisplay( vout_thread_t *,
 
76
                                 const video_format_t *,
 
77
                                 const vout_display_state_t *,
 
78
                                 const char *psz_module,
 
79
                                 mtime_t i_double_click_timeout,
 
80
                                 mtime_t i_hide_timeout );
 
81
/**
 
82
 * It creates a vout managed display wrapping a video splitter.
 
83
 */
 
84
vout_display_t *vout_NewSplitter(vout_thread_t *,
 
85
                                 const video_format_t *source,
 
86
                                 const vout_display_state_t *state,
 
87
                                 const char *module,
 
88
                                 const char *splitter,
 
89
                                 mtime_t double_click_timeout,
 
90
                                 mtime_t hide_timeout );
 
91
 
 
92
/**
 
93
 * It destroy a vout managed display.
 
94
 */
 
95
void vout_DeleteDisplay(vout_display_t *, vout_display_state_t *);
 
96
 
 
97
picture_t *vout_FilterDisplay(vout_display_t *, picture_t *);
 
98
 
 
99
void vout_ManageDisplay(vout_display_t *, bool allow_reset_pictures);
 
100
 
 
101
void vout_SetDisplayFullscreen(vout_display_t *, bool is_fullscreen);
 
102
void vout_SetDisplayFilled(vout_display_t *, bool is_filled);
 
103
void vout_SetDisplayZoom(vout_display_t *, int num, int den);
 
104
void vout_SetWindowState(vout_display_t *, unsigned state);
 
105
void vout_SetDisplayAspect(vout_display_t *, unsigned sar_num, unsigned sar_den);
 
106
void vout_SetDisplayCrop(vout_display_t *,
 
107
                         unsigned crop_num, unsigned crop_den,
 
108
                         unsigned x, unsigned y, unsigned width, unsigned height);
 
109
 
 
110
#endif
 
111
 
 
112
/* FIXME should not be there */
 
113
void vout_SendDisplayEventMouse(vout_thread_t *, const vlc_mouse_t *);
 
114
vout_window_t *vout_NewDisplayWindow(vout_thread_t *, vout_display_t *, const vout_window_cfg_t *);
 
115
void vout_DeleteDisplayWindow(vout_thread_t *, vout_display_t *, vout_window_t *);
 
116