Aufgabe 7: Anwendung
Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE > Class Template Reference
Implementation of primitive operations on a memory area used as framebuffer. More...
#include <graphics/framebuffer.h>
Inheritance diagram for Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE >:
Classes | |
union | Pixel |
Pixel (colored) More... | |
struct | Pixel.__unnamed16__ |
Bits per pixel. More... | |
class | PixelComponent |
Pixel component. More... | |
Protected Member Functions | |
void | init (const unsigned width, const unsigned height, const unsigned pitch) |
Initialize screen dimensions. More... | |
void | buffer (void *lfb) |
Set the video memory address. More... | |
void | clear () |
Clear all pixel of the current back buffer (set full screen to black) | |
Pixel * | get (const unsigned x, const unsigned y) const |
Get pixel at position. More... | |
Pixel * | get (const Point &p) const |
Get pixel at position. More... | |
template<enum SpriteColorMode COLOR, bool ALPHA, unsigned BITS> | |
void | set (const unsigned x, const unsigned y, const SpritePixel< COLOR, ALPHA, BITS > &color) |
Assign color to a pixel at a given position. More... | |
template<enum SpriteColorMode COLOR, bool ALPHA, unsigned BITS> | |
void | set (const Point &p, const SpritePixel< COLOR, ALPHA, BITS > &color) |
Assign color to a pixel at a given position. More... | |
Protected Attributes | |
unsigned | screen_width |
Visible width of the screen. | |
unsigned | screen_height |
Visible height of the screen. | |
Detailed Description
template<unsigned char COLORDEPTH, unsigned char OFFSET_RED, unsigned char OFFSET_GREEN, unsigned char OFFSET_BLUE, unsigned char BITS_RED, unsigned char BITS_GREEN, unsigned char BITS_BLUE>
class Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE >
Implementation of primitive operations on a memory area used as framebuffer.
The implementation as template class allows the compiler to heavily optimize the bit operations depending on the video mode.
- Template Parameters
-
COLORDEPTH color depth of video mode OFFSET_RED Bit position of red color mask in video mode OFFSET_GREEN Bit position of green color mask in video mode OFFSET_BLUE Bit position of blue color mask in video mode BITS_RED Size of red color mask in video mode BITS_GREEN Size of green color mask in video mode BITS_BLUE Size of blue color mask in video mode
Class Documentation
struct Framebuffer::Pixel.__unnamed16__ |
template<unsigned char COLORDEPTH, unsigned char OFFSET_RED, unsigned char OFFSET_GREEN, unsigned char OFFSET_BLUE, unsigned char BITS_RED, unsigned char BITS_GREEN, unsigned char BITS_BLUE>
struct Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE >::Pixel.__unnamed16__
Bits per pixel.
Class Members | ||
---|---|---|
unsigned | data: COLORDEPTH | RGB value. |
Member Function Documentation
template<unsigned char COLORDEPTH, unsigned char OFFSET_RED, unsigned char OFFSET_GREEN, unsigned char OFFSET_BLUE, unsigned char BITS_RED, unsigned char BITS_GREEN, unsigned char BITS_BLUE>
|
inlineprotected |
Initialize screen dimensions.
- Parameters
-
width visible width of graphics screen height visible height of graphics screen pitch width of graphics screen (including invisible part, has to be at least width
)
template<unsigned char COLORDEPTH, unsigned char OFFSET_RED, unsigned char OFFSET_GREEN, unsigned char OFFSET_BLUE, unsigned char BITS_RED, unsigned char BITS_GREEN, unsigned char BITS_BLUE>
|
inlineprotected |
Set the video memory address.
- Parameters
-
lfb pointer to the linear framebuffer (lfb)
template<unsigned char COLORDEPTH, unsigned char OFFSET_RED, unsigned char OFFSET_GREEN, unsigned char OFFSET_BLUE, unsigned char BITS_RED, unsigned char BITS_GREEN, unsigned char BITS_BLUE>
|
inlineprotected |
Get pixel at position.
- Parameters
-
x X position y Y position
- Returns
- Pointer to pixel
template<unsigned char COLORDEPTH, unsigned char OFFSET_RED, unsigned char OFFSET_GREEN, unsigned char OFFSET_BLUE, unsigned char BITS_RED, unsigned char BITS_GREEN, unsigned char BITS_BLUE>
|
inlineprotected |
Get pixel at position.
- Parameters
-
p Coordinate of position
- Returns
- Pointer to pixel
template<unsigned char COLORDEPTH, unsigned char OFFSET_RED, unsigned char OFFSET_GREEN, unsigned char OFFSET_BLUE, unsigned char BITS_RED, unsigned char BITS_GREEN, unsigned char BITS_BLUE>
template<enum SpriteColorMode COLOR, bool ALPHA, unsigned BITS>
|
inlineprotected |
Assign color to a pixel at a given position.
- Template Parameters
-
COLOR color or greyscale? ALPHA with transparency? BITS Size of mask
- Parameters
-
x X position y Y position color color to assign
template<unsigned char COLORDEPTH, unsigned char OFFSET_RED, unsigned char OFFSET_GREEN, unsigned char OFFSET_BLUE, unsigned char BITS_RED, unsigned char BITS_GREEN, unsigned char BITS_BLUE>
template<enum SpriteColorMode COLOR, bool ALPHA, unsigned BITS>
|
inlineprotected |
Assign color to a pixel at a given position.
- Template Parameters
-
COLOR color or greyscale? ALPHA with transparency? BITS Size of mask
- Parameters
-
p Coordinate of position color color to assign
The documentation for this class was generated from the following file:
- graphics/framebuffer.h