Loading...
Searching...
No Matches
L4Re::Video::Goos Class Reference

Class that abstracts framebuffers. More...

`#include <goos>`

Inheritance diagram for L4Re::Video::Goos:
Collaboration diagram for L4Re::Video::Goos:

## Data Structures

struct | Info
| Information structure of a Goos. More...

## Public Types

enum | Flags { F_auto_refresh = 0x01 , F_pointer = 0x02 , F_dynamic_views = 0x04 , F_dynamic_buffers = 0x08 }
| Flags for a Goos. More...

## Public Member Functions

long | info (Info *info)
| Return the Goos information of the Goos.
long | get_static_buffer (unsigned idx, L4::Ipc::Out< L4::Cap< L4Re::Dataspace > > rbuf)
| Return a static buffer of a Goos.
long | create_buffer (unsigned long size, L4::Ipc::Out< L4::Cap< L4Re::Dataspace > > rbuf)
| Create a buffer.
long | delete_buffer (unsigned idx)
| Delete a buffer.
int | create_view (View *view, l4_utcb_t *utcb=l4_utcb()) const noexcept
| Create a view.
int | delete_view (View const &v, l4_utcb_t *utcb=l4_utcb()) const noexcept
| Delete a view.
View | view (unsigned index) const noexcept
| Return a view.
long | refresh (int x, int y, int w, int h)
| Trigger refreshing of the given area on the virtual screen.
Public Member Functions inherited from L4::Kobject
l4_msgtag_t | dec_refcnt (l4_mword_t diff, l4_utcb_t *utcb=l4_utcb())
| Decrement the in kernel reference counter for the object.

## Additional Inherited Members

Protected Types inherited from L4::Kobject_t< Goos, L4::Kobject, L4RE_PROTO_GOOS >
typedef Goos | Class
| The target interface type (inheriting from Kobject_t).
typedef Typeid::Iface< PROTO, Goos > | __Iface
| The interface description for the derived class.
typedef Typeid::Merge_list< Typeid::Iface_list< __Iface >, typename L4::Kobject::__Iface_list > | __Iface_list
| The list of all RPC interfaces provided directly or through inheritance.
Protected Member Functions inherited from L4::Kobject_t< Goos, L4::Kobject, L4RE_PROTO_GOOS >
L4::Cap< Class > | c () const noexcept
| Get the capability to ourselves.
Protected Member Functions inherited from L4::Kobject
l4_cap_idx_t | cap () const noexcept
| Return capability selector.
Static Protected Member Functions inherited from L4::Kobject_t< Goos, L4::Kobject, L4RE_PROTO_GOOS >
static void | __check_protocols__ () noexcept
| Helper to check for protocol conflicts.

## Detailed Description

Class that abstracts framebuffers.

A framebuffer is the pixel data that is displayed on a screen and a Goos object lets the user manipulate that data. A Goos makes use of two kinds of objects:

- Buffers in the form of L4Re::Dataspace objects. These hold the bytes for the pixel data.
- L4Re::Video::View objects.

Both can either be static, that is their number and configuration is fixed and determined by the framebuffer, or they can be dynamic, with the user allocating them.

Definition at line 223 of file goos.

## Member Enumeration Documentation

## Flags

enum L4Re::Video::Goos::Flags

Flags for a Goos.

Enumerator
F_auto_refresh | The graphics display is automatically refreshed.
F_pointer | We have a mouse pointer.
F_dynamic_views | Supports dynamically allocated views.
F_dynamic_buffers | Supports dynamically allocated buffers.

Definition at line 228 of file goos.

## Member Function Documentation

## create_buffer()

long L4Re::Video::Goos::create_buffer | ( | unsigned long | size,
|  | L4::Ipc::Out< L4::Cap< L4Re::Dataspace > > | rbuf )

Create a buffer.

Parameters

  size | Size of buffer in bytes.
  rbuf | Capability slot to point the buffer dataspace to.

Return values

  >=0 | Success, the value returned is the buffer index.
  <0 | Error

Referenced by get_static_buffer().

Here is the caller graph for this function:

## create_view()

int L4Re::Video::Goos::create_view | ( | View * | view,
|  | l4_utcb_t * | utcb = l4_utcb() ) const

inlinenoexcept

Create a view.

Parameters

  [out] | view | A view object.
  | utcb | UTCB of the caller. This is a default parameter.

Return values

  >=0 | Success, the value returned is the view index.
  <0 | Error

Definition at line 312 of file goos.

References L4::Kobject_t< Goos, L4::Kobject, L4RE_PROTO_GOOS >::c(), L4::Kobject::cap(), and view().

Referenced by delete_buffer().

Here is the call graph for this function:
Here is the caller graph for this function:

## delete_buffer()

long L4Re::Video::Goos::delete_buffer | ( | unsigned | idx | ) |

Delete a buffer.

Parameters

  idx | Buffer to delete.

Return values

  0 | Success
  <0 | Error

References create_view(), and delete_buffer().

Referenced by delete_buffer().

Here is the call graph for this function:
Here is the caller graph for this function:

## delete_view()

int L4Re::Video::Goos::delete_view | ( | View const & | v,
|  | l4_utcb_t * | utcb = l4_utcb() ) const

inlinenoexcept

Delete a view.

Parameters

  v | The view object to delete.
  utcb | UTCB of the caller. This is a default parameter.

Return values

  0 | Success
  <0 | Error

Definition at line 332 of file goos.

References L4::Kobject_t< Goos, L4::Kobject, L4RE_PROTO_GOOS >::c().

Here is the call graph for this function:

## get_static_buffer()

long L4Re::Video::Goos::get_static_buffer | ( | unsigned | idx,
|  | L4::Ipc::Out< L4::Cap< L4Re::Dataspace > > | rbuf )

Return a static buffer of a Goos.

Parameters

  idx | Index of the static buffer.
  rbuf | Capability slot to point the buffer dataspace to.

Return values

  0 | Success
  <0 | Error

References create_buffer().

Referenced by info().

Here is the call graph for this function:
Here is the caller graph for this function:

## info()

long L4Re::Video::Goos::info | ( | Info * | info | ) |

Return the Goos information of the Goos.

Parameters

  [out] | info | Goos information structure pointer.

Return values

  0 | Success
  <0 | Error

References get_static_buffer(), and info().

Referenced by info(), and refresh().

Here is the call graph for this function:
Here is the caller graph for this function:

## view()

View L4Re::Video::Goos::view | ( | unsigned | index | ) | const

inlinenoexcept

Return a view.

Parameters

  index | Index of the view to return.

Returns
  The view.

Definition at line 363 of file goos.

References L4::Kobject::cap().

Referenced by create_view().

Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this class was generated from the following file:

- l4/re/video/goos