Data Structures | |
struct | vbi_char |
Attributed character. More... | |
struct | vbi_page |
Formatted Teletext or Closed Caption page. More... | |
Typedefs | |
typedef uint32_t | vbi_rgba |
Colormap entry: 0xAABBGGRR. libzvbi sets the alpha channel always to 0xFF. | |
typedef vbi_font_descr | vbi_font_descr |
Opaque font descriptor. | |
Enumerations | |
enum | vbi_color { VBI_BLACK, VBI_RED, VBI_GREEN, VBI_YELLOW, VBI_BLUE, VBI_MAGENTA, VBI_CYAN, VBI_WHITE } |
Index into the vbi_page->color_map. More... | |
enum | vbi_opacity { VBI_TRANSPARENT_SPACE, VBI_TRANSPARENT_FULL, VBI_SEMI_TRANSPARENT, VBI_OPAQUE } |
Defines the opacity of a vbi_char and vbi_page border. More... | |
enum | vbi_size { VBI_NORMAL_SIZE, VBI_DOUBLE_WIDTH, VBI_DOUBLE_HEIGHT, VBI_DOUBLE_SIZE, VBI_OVER_TOP, VBI_OVER_BOTTOM, VBI_DOUBLE_HEIGHT2, VBI_DOUBLE_SIZE2 } |
Defines the size of a vbi_char in a vbi_page. More... | |
Functions | |
vbi_inline vbi_bool | vbi_is_print (unsigned int unicode) |
vbi_inline vbi_bool | vbi_is_gfx (unsigned int unicode) |
vbi_inline vbi_bool | vbi_is_drcs (unsigned int unicode) |
enum vbi_color |
Index into the vbi_page->color_map.
The enumerated color names refer to the Teletext and Closed Caption base palette of eight colors. Note however the color_map really has 40 entries for Teletext Level 2.5+, 32 of which are redefinable, the remaining eight are private colors of libzvbi e. g. for navigational information. So these symbols may not necessarily correspond to the respective color.
enum vbi_opacity |
Defines the opacity of a vbi_char and vbi_page border.
Teletext Level 2.5 defines a special transparent color which permits unusual characters with transparent foreground, opaque background. For simplicity this type of opacity has been omitted. Also renderers shall rely on the opacity attribute and not attempt to interpret the color value as transparency indicator.
enum vbi_size |
Defines the size of a vbi_char in a vbi_page.
Double width or height characters expand into the next column right and/or next row below.
Scanning two rows left to right, you will find
VBI_NORMAL_SIZE | VBI_DOUBLE_WIDTH VBI_OVER_TOP | VBI_DOUBLE_HEIGHT | VBI_DOUBLE_SIZE VBI_OVER_TOP x | x x | VBI_DOUBLE_HEIGHT2 | VBI_DOUBLE_SIZE2 VBI_OVER_BOTTOM
A VBI_DOUBLE_HEIGHT2, VBI_DOUBLE_SIZE2, VBI_OVER_TOP, VBI_OVER_BOTTOM vbi_char has the same character unicode and attributes as the top/left anchor. Partial characters (like a single VBI_DOUBLE_HEIGHT2) will not appear, so VBI_DOUBLE_HEIGHT2, VBI_DOUBLE_SIZE2, VBI_OVER_TOP, VBI_OVER_BOTTOM can be safely ignored when scanning the page.
vbi_inline vbi_bool vbi_is_print | ( | unsigned int | unicode | ) |
unicode | Unicode as in vbi_char. |
TRUE
if unicode represents a Teletext or Closed Caption printable character. This excludes Teletext Arabic characters (which are represented by private codes U+E600 ... U+E7FF until the conversion table is ready), the Teletext Turkish currency sign U+E800 which is not representable in Unicode, the Teletext G1 Block Mosaic and G3 Smooth Mosaics and Line Drawing Set, with codes U+EE00 ... U+EFFF, and Teletext DRCS coded U+F000 ... U+F7FF. vbi_inline vbi_bool vbi_is_gfx | ( | unsigned int | unicode | ) |
unicode | Unicode as in vbi_char. |
TRUE
if unicode represents a Teletext G1 Block Mosaic or G3 Smooth Mosaics and Line Drawing Set, that is a code in range U+EE00 ... U+EFFF. vbi_inline vbi_bool vbi_is_drcs | ( | unsigned int | unicode | ) |
unicode | Unicode as in vbi_char. |
TRUE
if unicode represents a Teletext DRCS (Dynamically Redefinable Character), that is a code in range U+F000 ... U+F7FF.