L4Re - L4 Runtime Environment
Main Page
Related Pages
Modules
Namespaces
Data Structures
Examples
All
Data Structures
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
view.h
1
6
/*
7
* (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>
8
* economic rights: Technische Universität Dresden (Germany)
9
*
10
* This file is part of TUD:OS and distributed under the terms of the
11
* GNU General Public License 2.
12
* Please see the COPYING-GPL-2 file for details.
13
*
14
* As a special exception, you may use this file as part of a free software
15
* library without restriction. Specifically, if other files instantiate
16
* templates or use macros or inline functions from this file, or you compile
17
* this file and link it with other files to produce an executable, this
18
* file does not by itself cause the resulting executable to be covered by
19
* the GNU General Public License. This exception does not however
20
* invalidate any other reasons why the executable file might be covered by
21
* the GNU General Public License.
22
*/
23
#pragma once
24
25
#include <l4/sys/types.h>
26
#include <l4/re/c/dataspace.h>
27
#include <l4/re/c/video/colors.h>
28
33
enum
l4re_video_view_info_flags_t
34
{
35
F_l4re_video_view_none
= 0x00,
36
F_l4re_video_view_set_buffer
= 0x01,
37
F_l4re_video_view_set_buffer_offset
= 0x02,
38
F_l4re_video_view_set_bytes_per_line
= 0x04,
39
F_l4re_video_view_set_pixel
= 0x08,
40
F_l4re_video_view_set_position
= 0x10,
41
F_l4re_video_view_dyn_allocated
= 0x20,
42
F_l4re_video_view_set_background
= 0x40,
43
F_l4re_video_view_set_flags
= 0x80,
44
F_l4re_video_view_fully_dynamic =
F_l4re_video_view_set_buffer
45
|
F_l4re_video_view_set_buffer_offset
46
|
F_l4re_video_view_set_bytes_per_line
47
|
F_l4re_video_view_set_pixel
48
|
F_l4re_video_view_set_position
49
|
F_l4re_video_view_dyn_allocated
,
50
51
F_l4re_video_view_above
= 0x01000,
52
F_l4re_video_view_flags_mask
= 0xff000,
53
};
54
59
typedef
struct
l4re_video_view_info_t
60
{
61
unsigned
flags
;
62
unsigned
view_index
;
63
unsigned
long
xpos, ypos, width,
height
;
64
unsigned
long
buffer_offset
;
65
unsigned
long
bytes_per_line
;
66
l4re_video_pixel_info_t
pixel_info
;
67
unsigned
buffer_index
;
68
}
l4re_video_view_info_t
;
69
70
78
typedef
struct
l4re_video_view_t
79
{
80
l4_cap_idx_t
goos;
81
unsigned
idx;
82
}
l4re_video_view_t
;
83
84
85
EXTERN_C_BEGIN
86
96
L4_CV
int
97
l4re_video_view_refresh
(
l4re_video_view_t
*view,
int
x,
int
y,
int
w,
98
int
h)
L4_NOTHROW
;
99
106
L4_CV
int
107
l4re_video_view_get_info
(
l4re_video_view_t
*view,
108
l4re_video_view_info_t
*info)
L4_NOTHROW
;
109
120
L4_CV
int
121
l4re_video_view_set_info
(
l4re_video_view_t
*view,
122
l4re_video_view_info_t
*info)
L4_NOTHROW
;
123
139
L4_CV
int
140
l4re_video_view_set_viewport
(
l4re_video_view_t
*view,
int
x,
int
y,
int
w,
141
int
h,
unsigned
long
bofs)
L4_NOTHROW
;
142
152
L4_CV
int
153
l4re_video_view_stack
(
l4re_video_view_t
*view,
l4re_video_view_t
*pivot,
154
int
behind)
L4_NOTHROW
;
155
156
EXTERN_C_END
157
L4Re - L4 Runtime Environment