PicoVGA  1.0-cmake
VGA/TV display on Raspberry Pico
vga_screen.h File Reference

File Description

VGA screen layout.

Author
Miroslav Nemecek Panda.nosp@m.38@s.nosp@m.eznam.nosp@m..cz
See also
Screen Layout
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  sSegm
 Video segment (on change update SSEGM_* in define.h) More...
 
struct  sStrip
 Video strip (on change update SSTRIP_* in define.h) More...
 
struct  sScreen
 Video screen (on change update SSCREEN_* in define.h) More...
 

Functions

void ScreenClear (sScreen *s)
 Clear screen (set 0 strips, does not modify sprites) More...
 
sStripScreenAddStrip (sScreen *s, int height)
 Add empty strip to the screen. More...
 
sSegmScreenAddSegm (sStrip *strip, int width)
 Add empty segment to video strip; returns pointer to the segment and initialises it to defaults. More...
 
void ScreenSegmColor (sSegm *segm, u32 col1, u32 col2)
 Set video segment to simple color format GF_COLOR. More...
 
void ScreenSegmGrad1 (sSegm *segm, const void *data, int wb)
 Set video segment to gradient with 1 line. More...
 
void ScreenSegmGrad2 (sSegm *segm, const void *data, int wb)
 Set video segment to gradient with 2 lines. More...
 
void ScreenSegmGraph8 (sSegm *segm, const void *data, int wb)
 Set video segment to native 8-bit graphics (R3G3B2) More...
 
void GenPal16Trans (u16 *trans, const u8 *pal)
 Generate 16-color palette translation table. More...
 
void ScreenSegmGraph4 (sSegm *segm, const void *data, const void *trans, int wb)
 Set video segment to 4-bit palette graphics. More...
 
void GenPal4Trans (u32 *trans, const u8 *pal)
 Generate palette 4 translation table for function. More...
 
void ScreenSegmGraph2 (sSegm *segm, const void *data, const void *trans, int wb)
 Set video segment to 2-bit palette graphics. More...
 
void ScreenSegmGraph1 (sSegm *segm, const void *data, u8 bg, u8 fg, int wb)
 Set video segment to 1-bit palette graphics. More...
 
void ScreenSegmMText (sSegm *segm, const void *data, const void *font, u16 fontheight, u8 bg, u8 fg, int wb)
 Set video segment to 8-pixel mono text. More...
 
void ScreenSegmAText (sSegm *segm, const void *data, const void *font, u16 fontheight, const void *pal, int wb)
 Set video segment to 8-pixel attribute text. More...
 
void ScreenSegmFText (sSegm *segm, const void *data, const void *font, u16 fontheight, u8 bg, int wb)
 Set video segment to 8-pixel foreground color text. More...
 
void ScreenSegmCText (sSegm *segm, const void *data, const void *font, u16 fontheight, int wb)
 Set video segment to 8-pixel color text. More...
 
void ScreenSegmGText (sSegm *segm, const void *data, const void *font, u8 fontheight, u8 bg, const void *grad, int wb)
 Set video segment to 8-pixel gradient color text. More...
 
void ScreenSegmDText (sSegm *segm, const void *data, const void *font, u8 fontheight, u8 bg, const void *grad, int wb)
 Set video segment to 8-pixel double gradient color text. More...
 
void ScreenSegmTile (sSegm *segm, const void *data, const void *tiles, int w, int h, int wb)
 Set video segment to tiles. More...
 
void ScreenSegmTile2 (sSegm *segm, const void *data, const void *tiles, int w, int h, int tilewb, int wb)
 Set video segment to alternate tiles. More...
 
void ScreenSegmLevel (sSegm *segm, const void *data, u8 zero, u8 bg, u8 fg)
 Set video segment to level graph GF_LEVEL. More...
 
void ScreenSegmLevelGrad (sSegm *segm, const void *data, const void *sample1, const void *sample2)
 Set video segment to leve gradient graph GF_LEVELGRAD. More...
 
void ScreenSegmOscil (sSegm *segm, const void *data, u8 bg, u8 fg, int pixh)
 Set video segment to oscilloscope 1-pixel graph GF_OSCIL. More...
 
void ScreenSegmOscLine (sSegm *segm, const void *data, u8 bg, u8 fg)
 Set video segment to oscilloscope line graph GF_OSCLIN. More...
 
void GenPal4Plane (u32 *trans, const u8 *pal)
 Generate palette 4-color translation table for function ScreenSegmPlane2() More...
 
void ScreenSegmPlane2 (sSegm *segm, const void *data, int plane, const void *trans, int wb)
 Set video segment to 4-color on 2-planes graphics. More...
 
void ScreenSegmAttrib8 (sSegm *segm, const void *data, const void *attr, const u8 *pal, int wb)
 Set video segment to 2x4 bit color attribute per 8x8 pixel sample graphics. More...
 
void ScreenSegmProgress (sSegm *segm, const void *data, const void *sample1, const void *sample2)
 Set video segment to horizontal progress indicator GF_PROGRESS. More...
 
void ScreenSegmGraph8Mat (sSegm *segm, const void *data, const int *mat, u16 xbits, u16 ybits)
 Set video segment to 8-bit graphics with 2D matrix transformation. More...
 
void ScreenSegmGraph8Persp (sSegm *segm, const void *data, const int *mat, u16 xbits, u16 ybits, u16 horiz)
 Set video segment to 8-bit graphics with perspective projection. More...
 
void ScreenSegmTilePersp (sSegm *segm, const u8 *map, const u8 *tiles, const int *mat, u8 mapwbits, u8 maphbits, u8 tilebits, s8 horizon)
 Set video segment to tiles with perspective. More...
 
void ScreenSegmTilePersp15 (sSegm *segm, const u8 *map, const u8 *tiles, const int *mat, u8 mapwbits, u8 maphbits, u8 tilebits, s8 horizon)
 Set video segment to tiles with perspective, 1.5 pixels. More...
 
void ScreenSegmTilePersp2 (sSegm *segm, const u8 *map, const u8 *tiles, const int *mat, u8 mapwbits, u8 maphbits, u8 tilebits, s8 horizon)
 Set video segment to tiles with perspective, double pixels. More...
 
void ScreenSegmTilePersp3 (sSegm *segm, const u8 *map, const u8 *tiles, const int *mat, u8 mapwbits, u8 maphbits, u8 tilebits, s8 horizon)
 Set video segment to tiles with perspective, triple pixels. More...
 
void ScreenSegmTilePersp4 (sSegm *segm, const u8 *map, const u8 *tiles, const int *mat, u8 mapwbits, u8 maphbits, u8 tilebits, s8 horizon)
 Set video segment to tiles with perspective, quadruple pixels. More...
 

Variables

sScreen Screen
 Default video screen.
 
sScreenpScreen
 Pointer to current video screen.