L4Re – L4 Runtime Environment
goos.h
Go to the documentation of this file.
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 #include <l4/re/c/video/view.h>
29 
40 {
45 };
46 
51 typedef struct
52 {
53  unsigned long width;
54  unsigned long height;
55  unsigned flags;
56  unsigned num_static_views;
57  unsigned num_static_buffers;
60 
66 
68 
80 L4_CV int
83 
93 L4_CV int
94 l4re_video_goos_refresh(l4re_video_goos_t goos, int x, int y, int w,
95  int h) L4_NOTHROW;
96 
108 L4_CV int
110  l4_cap_idx_t buffer) L4_NOTHROW;
111 
119 L4_CV int
121 
132 L4_CV int
134  l4_cap_idx_t buffer) L4_NOTHROW;
135 
142 L4_CV int
145 
153 L4_CV int
156 
157 
170 L4_CV int
173 
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
Definition: compiler.h:186
#define EXTERN_C_BEGIN
Start section with C types and functions.
Definition: compiler.h:190
#define EXTERN_C_END
End section with C types and functions.
Definition: compiler.h:191
Data space C interface.
l4_cap_idx_t l4re_video_goos_t
Goos object type.
Definition: goos.h:65
l4re_video_goos_info_flags_t
Flags of information on the goos.
Definition: goos.h:40
int l4re_video_goos_delete_buffer(l4re_video_goos_t goos, unsigned idx) L4_NOTHROW
Delete a pixel buffer.
int l4re_video_goos_info(l4re_video_goos_t goos, l4re_video_goos_info_t *ginfo) L4_NOTHROW
Get information on a goos.
int l4re_video_goos_refresh(l4re_video_goos_t goos, int x, int y, int w, int h) L4_NOTHROW
Flush a rectangle of pixels of the goos screen.
int l4re_video_goos_get_static_buffer(l4re_video_goos_t goos, unsigned idx, l4_cap_idx_t buffer) L4_NOTHROW
Get the data-space capability of the static pixel buffer.
int l4re_video_goos_get_view(l4re_video_goos_t goos, unsigned idx, l4re_video_view_t *view) L4_NOTHROW
Get a view for the given index.
int l4re_video_goos_create_view(l4re_video_goos_t goos, l4re_video_view_t *view) L4_NOTHROW
Create a new view (.
int l4re_video_goos_delete_view(l4re_video_goos_t goos, l4re_video_view_t *view) L4_NOTHROW
Delete a view.
int l4re_video_goos_create_buffer(l4re_video_goos_t goos, unsigned long size, l4_cap_idx_t buffer) L4_NOTHROW
Create a new buffer (memory buffer) for pixel data.
@ F_l4re_video_goos_pointer
We have a mouse pointer.
Definition: goos.h:42
@ F_l4re_video_goos_dynamic_views
Supports dynamically allocated views.
Definition: goos.h:43
@ F_l4re_video_goos_dynamic_buffers
Supports dynamically allocated buffers.
Definition: goos.h:44
@ F_l4re_video_goos_auto_refresh
The graphics display is automatically refreshed.
Definition: goos.h:41
unsigned long l4_cap_idx_t
L4 Capability selector Type.
Definition: types.h:342
#define L4_CV
Define calling convention.
Definition: linkage.h:44
Common L4 ABI Data Types.
Goos information structure.
Definition: goos.h:52
l4re_video_pixel_info_t pixel_info
Pixel layout of the goos.
Definition: goos.h:58
unsigned long height
Height of the goos.
Definition: goos.h:54
unsigned long width
Width of the goos.
Definition: goos.h:53
unsigned num_static_views
Number of static views.
Definition: goos.h:56
unsigned flags
Flags of the framebuffer, see l4re_video_goos_info_flags_t.
Definition: goos.h:55
unsigned num_static_buffers
Number of static buffers.
Definition: goos.h:57
Pixel_info structure.
Definition: colors.h:42
C representation of a goos view.
Definition: view.h:79