ZVBI Library
0.2.33
|
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 struct vbi_char | vbi_char |
Attributed character. | |
typedef struct vbi_page | vbi_page |
Formatted Teletext or Closed Caption page. | |
typedef struct 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) |
Formatted Teletext or Closed Caption page.
Clients can fetch pages from the respective cache using vbi_fetch_vt_page() or vbi_fetch_cc_page() for evaluation, display or output. Since the page may reference other objects in cache which are locked by the fetch functions, vbi_unref_page() must be called when done. Note this structure is large, some 10 KB.
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.