• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2025/26
      • Systemprogrammierung 2
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
      • Projekt angewandte Systemsoftwaretechnik
      • Aktuelle Entwicklung in Verteilten und Objektorientierten Betriebssystemen (für Bachelor-/Masterarbeit)
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssysteme

    Aufgabe 7: Anwendung

    Classes | Protected Member Functions | Protected Attributes | List of all members
    Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE > Class Template Reference
    Graphics

    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 >:
    [legend]

    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
    COLORDEPTHcolor depth of video mode
    OFFSET_REDBit position of red color mask in video mode
    OFFSET_GREENBit position of green color mask in video mode
    OFFSET_BLUEBit position of blue color mask in video mode
    BITS_REDSize of red color mask in video mode
    BITS_GREENSize of green color mask in video mode
    BITS_BLUESize of blue color mask in video mode

    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>
    void Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE >::init ( const unsigned  width,
    const unsigned  height,
    const unsigned  pitch 
    )
    inlineprotected

    Initialize screen dimensions.

    Parameters
    widthvisible width of graphics screen
    heightvisible height of graphics screen
    pitchwidth 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>
    void Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE >::buffer ( void *  lfb)
    inlineprotected

    Set the video memory address.

    Parameters
    lfbpointer 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>
    Pixel * Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE >::get ( const unsigned  x,
    const unsigned  y 
    ) const
    inlineprotected

    Get pixel at position.

    Parameters
    xX position
    yY 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>
    Pixel * Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE >::get ( const Point &  p) const
    inlineprotected

    Get pixel at position.

    Parameters
    pCoordinate 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>
    void Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE >::set ( const unsigned  x,
    const unsigned  y,
    const SpritePixel< COLOR, ALPHA, BITS > &  color 
    )
    inlineprotected

    Assign color to a pixel at a given position.

    Template Parameters
    COLORcolor or greyscale?
    ALPHAwith transparency?
    BITSSize of mask
    Parameters
    xX position
    yY position
    colorcolor 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>
    void Framebuffer< COLORDEPTH, OFFSET_RED, OFFSET_GREEN, OFFSET_BLUE, BITS_RED, BITS_GREEN, BITS_BLUE >::set ( const Point &  p,
    const SpritePixel< COLOR, ALPHA, BITS > &  color 
    )
    inlineprotected

    Assign color to a pixel at a given position.

    Template Parameters
    COLORcolor or greyscale?
    ALPHAwith transparency?
    BITSSize of mask
    Parameters
    pCoordinate of position
    colorcolor to assign

    The documentation for this class was generated from the following file:
    • graphics/framebuffer.h
    Friedrich-Alexander-Universität
    Erlangen-Nürnberg

    Schlossplatz 4
    91054 Erlangen
    • Impressum
    • Datenschutz
    • Barrierefreiheit
    • Facebook
    • RSS Feed
    • Xing
    Nach oben