1/* Copyright (C) 2008 Vincent Penquerc'h.
2   This file is part of the Kate codec library.
3   Written by Vincent Penquerc'h.
4
5   Use, distribution and reproduction of this library is governed
6   by a BSD style source license included with this source in the
7   file 'COPYING'. Please read these terms before distributing. */
8
9
10/**
11
12\page format_0x00 Format - data packet type 0x00 - text
13
14Text packets are the main payload packet.
15
16\li a 64 bit value representing the start of the event, at the granule rate.
17\li a 64 bit value representing the duration of the event, at the granule rate.
18\li a 64 bit value representing the start of the earliest event still active when this event starts, at the granule rate.
19\li a 32 bit value representing the number of bytes in the text to follow.
20\li that same number of bytes representing the text.
21\li 1 bit being 1 if the event is assigned an ID, 0 if not.
22\li if the event is assigned an ID, a \ref format_32v "variable length integer" representing the ID assigned to this event.
23\li 1 bit being 1 if there are motions attached to this event.
24
25Next, if there are motions attached to this event:
26\li a \ref format_32v "variable length integer" representing the number of motions attached to this event.
27
28For each motion:
29\li a bit being 1 if the next motion is predefined, 0 if not
30\li if the next motion is predefined, a \ref format_32v "variable length integer" representing the index of this motion
31in the list of predefined motions
32\li if the next motion is not predefined, a \ref format_motion "motion" definition.
33
34Next, a bit being 1 if there are overrides for this event. If there are:
35\li if the next bit is set, 8 bits for the \ref #kate_text_encoding "text encoding" used by the text in this packet.
36\li if the next bit is set, 8 bits for the \ref #kate_text_directionality "text directionality" used by the text in this packet.
37\li if the next bit is set, a ref format_32v "variable length integer" representing the number of characters in the following language string,
38followed by this number of bytes for a (non NUL terminated) string representing the language used by the text in this event.
39\li if the next bit is set, a \ref format_32v "variable length integer" representing the index of a predefined region to use for this event.
40\li if the next bit is set, a \ref format_region "region" definition to use for this event.
41\li if the next bit is set, a \ref format_32v "variable length integer" representing the index of a predefined style to use for this event.
42\li if the next bit is set, a \ref format_style "style" definition to use for this event.
43\li if the next bit is set, a \ref format_32v "variable length integer" representing the index of a predefined style to use as secondary style for this event.
44\li if the next bit is set, a \ref format_style "style" definition to use as secondary style for this event.
45\li if the next bit is set, a \ref format_32v "variable length integer" representing the index of the font mapping to use for the text in this event.
46
47
48Next, there is a \ref format_warp "warp".
49
50Bitstream version 0.2 starts making use of this warp:
51\li if the next bit is set, a \ref format_32v "variable length integer" representing the index of the palette to use for the bitmap in this event.
52\li if the next bit is set, a \ref format_palette "palette" definition to use for the bitmap in this event.
53\li if the next bit is set, a \ref format_32v "variable length integer" representing the index of the bitmap to use for this event.
54\li if the next bit is set, a \ref format_bitmap "bitmap" definition to use for this event.
55\li if the next bit is set, 8 bits representing the type of \ref #kate_markup_type "markup" to use to interpret the text in this event.
56
57Bitstream version 0.4 makes further use of this warp:
58\li a \ref format_32v "variable length integer" representing the number of bitmaps associated with this event.
59For this many bitmaps:
60\li a bit being 1 is the bitmap is a reference to one already present in the stream headers
61\li if the bitmap is already present in the stream headers, a \ref format_32v "variable length integer" representing its index in the stream headers.
62\li if the bitmap is not already present in the stream headers, a \ref format_bitmap "bitmap" definition.
63
64Bitstream 0.6 makes further use of this warp to add:
65
66\li a \ref format_metadata "metadata" set.
67
68\note
69Since a \ref format_warp "warp" may contain any number of chained warps, it is important to note that the bistream
70will contain another warp after any non empty warps. This means that a warp is a chain of single warps, where the
71last warp (and only the last one) is empty.
72
73Next, the data ends.
74
75
76*/
77
78