L4Re Operating System Framework
Interface and Usage Documentation
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 Base::__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< Classc () 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:

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 226 of file goos.

Member Enumeration Documentation

◆ 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 231 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
sizeSize of buffer in bytes.
rbufCapability slot to point the buffer dataspace to.
Return values
>=0Success, the value returned is the buffer index.
<0Error

◆ create_view()

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

Create a view.

Parameters
[out]viewA view object.
utcbUTCB of the caller. This is a default parameter.
Return values
>=0Success, the value returned is the view index.
<0Error

Definition at line 315 of file goos.

◆ delete_buffer()

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

Delete a buffer.

Parameters
idxBuffer to delete.
Return values
0Success
<0Error

◆ delete_view()

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

Delete a view.

Parameters
vThe view object to delete.
utcbUTCB of the caller. This is a default parameter.
Return values
0Success
<0Error

Definition at line 335 of file goos.

◆ 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
idxIndex of the static buffer.
rbufCapability slot to point the buffer dataspace to.
Return values
0Success
<0Error

◆ info()

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

Return the Goos information of the Goos.

Parameters
[out]infoGoos information structure pointer.
Return values
0Success
<0Error

◆ view()

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

Return a view.

Parameters
indexIndex of the view to return.
Returns
The view.

Definition at line 366 of file goos.


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