Difference between revisions of "GDISP"

From uGFX Wiki
Jump to: navigation, search
Line 8: Line 8:
 
Furthermore, you can drive more than just one display with GDISP. They don't even need to have the same display driver. Please refer to the [[GDISP#Multiple_Displays|multiple displays]] section for more information.
 
Furthermore, you can drive more than just one display with GDISP. They don't even need to have the same display driver. Please refer to the [[GDISP#Multiple_Displays|multiple displays]] section for more information.
 
Especially interesting might be the use of one or more [[GDISP#Remote_Displays|remote displays]].
 
Especially interesting might be the use of one or more [[GDISP#Remote_Displays|remote displays]].
 +
 +
== Board file ==
 +
ToDo
 +
<syntaxhighlight lang=c>
 +
static void    init_board(GDisplay *g);
 +
static void    post_init_board(GDisplay *g);
 +
static void    setpin_reset(GDisplay *g, bool_t state);
 +
static void    set_backlight(GDisplay *g, uint8_t percent);
 +
static void    acquire_bus(GDisplay *g);
 +
static void    release_bus(GDisplay *g);
 +
static void    write_index(GDisplay *g, uint16_t index);
 +
static void    write_data(GDisplay *g, uint16_t data);
 +
static void    setreadmode(GDisplay *g);
 +
static void    setwritemode(GDisplay *g);
 +
static uint16_t read_data(GDisplay *g);
 +
</syntaxhighlight>
  
 
== Drawing ==
 
== Drawing ==
Line 18: Line 34:
 
ToDo
 
ToDo
  
== Hardware Acceleration ==
+
== Hardware acceleration ==
 
ToDo
 
ToDo
  
== Multipel Displays ==
+
== Multipel displays ==
 
ToDo
 
ToDo
  
== Remote Displays ==
+
== Remote displays ==
 
ToDo
 
ToDo

Revision as of 23:45, 2 July 2014

GDISP module architecture.

The GDISP module provides a simple interface for graphic displays and a feature rich set of highlevel functions to draw primitive shapes such as lines, circles and rectangles, but also font rendering, clipping and other advanced features.

Whilst most other graphics libraries require the use of a framebuffer, GDISP does not necessarily need one. This allows to drive graphics displays on microcontrollers and other low-performance systems that have insufficient RAM for a frame buffer.

Some LCD controllers offer hardware accelerated drawings for complex drawing operations such as circles or ellipses. The GDISP module is based on a software emulation layer: When the LCD controller does not support these features (most cases), the GDISP module emulates these drawing operations. Therefore, the exact same application code can be used on very different hardware platforms.

Furthermore, you can drive more than just one display with GDISP. They don't even need to have the same display driver. Please refer to the multiple displays section for more information. Especially interesting might be the use of one or more remote displays.

Board file

ToDo

static void     init_board(GDisplay *g);
static void     post_init_board(GDisplay *g);
static void     setpin_reset(GDisplay *g, bool_t state);
static void     set_backlight(GDisplay *g, uint8_t percent);
static void     acquire_bus(GDisplay *g);
static void     release_bus(GDisplay *g);
static void     write_index(GDisplay *g, uint16_t index);
static void     write_data(GDisplay *g, uint16_t data);
static void     setreadmode(GDisplay *g);
static void     setwritemode(GDisplay *g);
static uint16_t read_data(GDisplay *g);

Drawing

ToDo

Images

The GDISP module provides built-in decoders for a variety of image formats. See Images.

FrameBuffer

ToDo

Hardware acceleration

ToDo

Multipel displays

ToDo

Remote displays

ToDo