3 * \note The C interface of L4Re::Video does _NOT_ reflect the full C++
4 * interface on purpose. Use the C++ where possible.
7 * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>
8 * economic rights: Technische Universität Dresden (Germany)
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.
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.
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>
31 * \defgroup api_l4re_c_video Video API
36 * \brief Flags of information on the goos.
37 * \ingroup api_l4re_c_video
39 enum l4re_video_goos_info_flags_t
41 F_l4re_video_goos_auto_refresh = 0x01, ///< The graphics display is automatically refreshed
42 F_l4re_video_goos_pointer = 0x02, ///< We have a mouse pointer
43 F_l4re_video_goos_dynamic_views = 0x04, ///< Supports dynamically allocated views
44 F_l4re_video_goos_dynamic_buffers = 0x08, ///< Supports dynamically allocated buffers
48 * \brief Goos information structure
49 * \ingroup api_l4re_c_video
53 unsigned long width; ///< Width of the goos
54 unsigned long height; ///< Height of the goos
55 unsigned flags; ///< Flags of the framebuffer
56 unsigned num_static_views; ///< Number of static views
57 unsigned num_static_buffers; ///< Number of static buffers
58 l4re_video_pixel_info_t pixel_info; ///< Pixel layout of the goos
59 } l4re_video_goos_info_t;
62 * \brief Goos object type
63 * \ingroup api_l4re_c_fb
65 typedef l4_cap_idx_t l4re_video_goos_t;
70 * \brief Get information on a goos.
71 * \ingroup api_l4re_c_video
73 * \param goos Goos object
74 * \retval ginfo Pointer to goos information structure.
76 * \return 0 for success, <0 on error
81 l4re_video_goos_info(l4re_video_goos_t goos,
82 l4re_video_goos_info_t *ginfo) L4_NOTHROW;