L4Re Operating System Framework – Interface and Usage Documentation
Loading...
Searching...
No Matches
goos_fb
1// vi:set ft=cpp: -*- Mode: C++ -*-
2/*
3 * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
4 * Alexander Warg <warg@os.inf.tu-dresden.de>
5 * economic rights: Technische Universität Dresden (Germany)
6 *
7 * This file is part of TUD:OS and distributed under the terms of the
8 * GNU General Public License 2.
9 * Please see the COPYING-GPL-2 file for details.
10 *
11 * As a special exception, you may use this file as part of a free software
12 * library without restriction. Specifically, if other files instantiate
13 * templates or use macros or inline functions from this file, or you compile
14 * this file and link it with other files to produce an executable, this
15 * file does not by itself cause the resulting executable to be covered by
16 * the GNU General Public License. This exception does not however
17 * invalidate any other reasons why the executable file might be covered by
18 * the GNU General Public License.
19 */
20#pragma once
21
22#include <l4/re/video/goos>
23
24namespace L4Re { namespace Util { namespace Video {
25
26class Goos_fb
27{
28private:
32
33 enum Flags
34 {
35 F_dyn_buffer = 0x01,
36 F_dyn_view = 0x02,
37 F_dyn_goos = 0x04,
38 };
39 unsigned _flags;
40
41 unsigned _buffer_index;
42
43private:
44 void init();
45
46 Goos_fb(Goos_fb const &);
47 void operator = (Goos_fb const &);
48
49public:
50 Goos_fb() : _goos(L4_INVALID_CAP), _buffer(L4_INVALID_CAP), _flags(0) {}
51
52 explicit Goos_fb(L4::Cap<L4Re::Video::Goos> goos);
53 explicit Goos_fb(char const *name);
54
55 void setup(L4::Cap<L4Re::Video::Goos> goos);
56 void setup(char const *name);
57
58 ~Goos_fb();
59
60 int view_info(L4Re::Video::View::Info *info)
61 { return _view.info(info); }
62
63 L4Re::Video::View const *view() const { return &_view; }
64 L4Re::Video::View *view() { return &_view; }
65
66 L4::Cap<L4Re::Dataspace> buffer() const { return _buffer; }
67 void *attach_buffer();
68
69 int refresh(int x, int y, int w, int h)
70 { return _view.refresh(x, y, w, h); }
71
72 L4::Cap<L4Re::Video::Goos> goos() const { return _goos; }
73};
74}}}
View of a framebuffer.
Definition goos:43
int info(Info *info) const noexcept
Return the view information of the view.
Definition goos:370
int refresh(int x, int y, int w, int h) const noexcept
Refresh/Redraw the view.
Definition goos:382
C++ interface for capabilities.
Definition capability.h:222
@ L4_INVALID_CAP
Invalid capability selector.
Definition consts.h:168
L4Re C++ Interfaces.
Definition cmd_control:15
Information structure of a view.
Definition goos:95