libkate  0.4.1
Data Structures | Typedefs | Enumerations | Functions
kate.h File Reference
#include "kate/kate_config.h"

Go to the source code of this file.

Data Structures

struct  kate_region
 
struct  kate_color
 
struct  kate_style
 
struct  kate_curve
 
struct  kate_motion
 
struct  kate_palette
 
struct  kate_bitmap
 
struct  kate_font_range
 
struct  kate_font_mapping
 
struct  kate_info
 
struct  kate_state
 
struct  kate_comment
 
struct  kate_event
 
struct  kate_tracker
 
struct  kate_packet
 

Macros

API version
#define KATE_VERSION_MAJOR   0
 
#define KATE_VERSION_MINOR   4
 
#define KATE_VERSION_PATCH   1
 
Bitstream version
#define KATE_BITSTREAM_VERSION_MAJOR   0
 
#define KATE_BITSTREAM_VERSION_MINOR   7
 
Error codes
#define KATE_E_NOT_FOUND   (-1)
 
#define KATE_E_INVALID_PARAMETER   (-2)
 
#define KATE_E_OUT_OF_MEMORY   (-3)
 
#define KATE_E_BAD_GRANULE   (-4)
 
#define KATE_E_INIT   (-5)
 
#define KATE_E_BAD_PACKET   (-6)
 
#define KATE_E_TEXT   (-7)
 
#define KATE_E_LIMIT   (-8)
 
#define KATE_E_VERSION   (-9)
 
#define KATE_E_NOT_KATE   (-10)
 
#define KATE_E_BAD_TAG   (-11)
 
#define KATE_E_IMPL   (-12)
 

Typedefs

typedef struct kate_region kate_region
 
typedef struct kate_color kate_color
 
typedef struct kate_style kate_style
 
typedef enum kate_curve_type kate_curve_type
 
typedef struct kate_curve kate_curve
 
typedef enum kate_motion_mapping kate_motion_mapping
 
typedef enum kate_motion_semantics kate_motion_semantics
 
typedef struct kate_motion kate_motion
 
typedef enum kate_text_directionality kate_text_directionality
 
typedef struct kate_palette kate_palette
 
typedef enum kate_bitmap_type kate_bitmap_type
 
typedef struct kate_bitmap kate_bitmap
 
typedef struct kate_font_range kate_font_range
 
typedef struct kate_font_mapping kate_font_mapping
 
typedef struct kate_info kate_info
 
typedef struct kate_state kate_state
 
typedef struct kate_comment kate_comment
 
typedef struct kate_event kate_event
 
typedef struct kate_tracker kate_tracker
 
typedef struct kate_packet kate_packet
 

Enumerations

enum  kate_text_encoding { kate_utf8 }
 
enum  kate_markup_type { kate_markup_none, kate_markup_simple }
 
enum  kate_space_metric { kate_pixel, kate_percentage, kate_millionths }
 
enum  kate_wrap_mode { kate_wrap_word, kate_wrap_none }
 
enum  kate_curve_type {
  kate_curve_none, kate_curve_static, kate_curve_linear, kate_curve_catmull_rom_spline,
  kate_curve_bezier_cubic_spline, kate_curve_bspline
}
 
enum  kate_motion_mapping {
  kate_motion_mapping_none, kate_motion_mapping_frame, kate_motion_mapping_window, kate_motion_mapping_region,
  kate_motion_mapping_event_duration, kate_motion_mapping_bitmap_size, kate_motion_mapping_user =128
}
 
enum  kate_motion_semantics {
  kate_motion_semantics_time, kate_motion_semantics_z, kate_motion_semantics_region_position, kate_motion_semantics_region_size,
  kate_motion_semantics_text_alignment_int, kate_motion_semantics_text_alignment_ext, kate_motion_semantics_text_position, kate_motion_semantics_text_size,
  kate_motion_semantics_marker1_position, kate_motion_semantics_marker2_position, kate_motion_semantics_marker3_position, kate_motion_semantics_marker4_position,
  kate_motion_semantics_glyph_pointer_1, kate_motion_semantics_glyph_pointer_2, kate_motion_semantics_glyph_pointer_3, kate_motion_semantics_glyph_pointer_4,
  kate_motion_semantics_text_color_rg, kate_motion_semantics_text_color_ba, kate_motion_semantics_background_color_rg, kate_motion_semantics_background_color_ba,
  kate_motion_semantics_draw_color_rg, kate_motion_semantics_draw_color_ba, kate_motion_semantics_style_morph, kate_motion_semantics_text_path,
  kate_motion_semantics_text_path_section, kate_motion_semantics_draw, kate_motion_semantics_text_visible_section, kate_motion_semantics_horizontal_margins,
  kate_motion_semantics_vertical_margins, kate_motion_semantics_bitmap_position, kate_motion_semantics_bitmap_size, kate_motion_semantics_marker1_bitmap,
  kate_motion_semantics_marker2_bitmap, kate_motion_semantics_marker3_bitmap, kate_motion_semantics_marker4_bitmap, kate_motion_semantics_glyph_pointer_1_bitmap,
  kate_motion_semantics_glyph_pointer_2_bitmap, kate_motion_semantics_glyph_pointer_3_bitmap, kate_motion_semantics_glyph_pointer_4_bitmap, kate_motion_semantics_draw_width,
  kate_motion_semantics_user = 128
}
 
enum  kate_text_directionality { kate_l2r_t2b, kate_r2l_t2b, kate_t2b_r2l, kate_t2b_l2r }
 
enum  kate_bitmap_type { kate_bitmap_type_paletted, kate_bitmap_type_png }
 

Functions

int kate_get_version (void)
 
const char * kate_get_version_string (void)
 
int kate_get_bitstream_version (void)
 
const char * kate_get_bitstream_version_string (void)
 
int kate_info_init (kate_info *ki)
 
int kate_info_set_granule_encoding (kate_info *ki, kate_float resolution, kate_float max_length, kate_float max_event_lifetime)
 
int kate_info_set_language (kate_info *ki, const char *language)
 
int kate_info_set_text_directionality (kate_info *ki, kate_text_directionality text_directionality)
 
int kate_info_set_markup_type (kate_info *ki, kate_markup_type text_markup_type)
 
int kate_info_set_category (kate_info *ki, const char *category)
 
int kate_info_set_original_canvas_size (kate_info *ki, size_t width, size_t height)
 
int kate_info_add_region (kate_info *ki, kate_region *kr)
 
int kate_info_add_style (kate_info *ki, kate_style *ks)
 
int kate_info_add_curve (kate_info *ki, kate_curve *kc)
 
int kate_info_add_motion (kate_info *ki, kate_motion *km)
 
int kate_info_add_palette (kate_info *ki, kate_palette *kp)
 
int kate_info_add_bitmap (kate_info *ki, kate_bitmap *kb)
 
int kate_info_add_font_range (kate_info *ki, kate_font_range *kfr)
 
int kate_info_add_font_mapping (kate_info *ki, kate_font_mapping *kfm)
 
int kate_info_matches_language (const kate_info *ki, const char *language)
 
int kate_info_remove_markup (kate_info *ki, int flag)
 
int kate_info_no_limits (kate_info *ki, int flag)
 
int kate_info_clear (kate_info *ki)
 
int kate_granule_shift (const kate_info *ki)
 
int kate_granule_split_time (const kate_info *ki, kate_int64_t granulepos, kate_float *base, kate_float *offset)
 
kate_float kate_granule_time (const kate_info *ki, kate_int64_t granulepos)
 
kate_int64_t kate_duration_granule (const kate_info *ki, kate_float duration)
 
kate_float kate_granule_duration (const kate_info *ki, kate_int64_t duration)
 
int kate_clear (kate_state *k)
 
int kate_motion_get_point (const kate_motion *km, kate_float duration, kate_float t, kate_float *x, kate_float *y)
 
int kate_curve_get_point (const kate_curve *kc, kate_float t, kate_float *x, kate_float *y)
 
int kate_region_init (kate_region *kr)
 
int kate_style_init (kate_style *ks)
 
int kate_palette_init (kate_palette *kp)
 
int kate_bitmap_init (kate_bitmap *kb)
 
int kate_bitmap_init_new (kate_bitmap *kb)
 
int kate_curve_init (kate_curve *kc)
 
int kate_motion_init (kate_motion *km)
 
int kate_text_get_character (kate_text_encoding text_encoding, const char **const text, size_t *len0)
 
int kate_text_set_character (kate_text_encoding text_encoding, int c, char **const text, size_t *len0)
 
int kate_text_remove_markup (kate_text_encoding text_encoding, char *text, size_t *len0)
 
int kate_text_validate (kate_text_encoding text_encoding, const char *text, size_t len0)
 
int kate_comment_init (kate_comment *kc)
 
int kate_comment_clear (kate_comment *kc)
 
int kate_comment_add (kate_comment *kc, const char *comment)
 
int kate_comment_add_length (kate_comment *kc, const char *comment, size_t len)
 
int kate_comment_add_tag (kate_comment *kc, const char *tag, const char *value)
 
const char * kate_comment_query (const kate_comment *kc, const char *tag, int count)
 
int kate_comment_query_count (const kate_comment *kc, const char *tag)
 
int kate_encode_init (kate_state *k, kate_info *ki)
 
int kate_encode_headers (kate_state *k, kate_comment *kc, kate_packet *kp)
 
int kate_encode_text (kate_state *k, kate_float start_time, kate_float stop_time, const char *text, size_t sz, kate_packet *kp)
 
int kate_encode_text_raw_times (kate_state *k, kate_int64_t start_time, kate_int64_t stop_time, const char *text, size_t sz, kate_packet *kp)
 
int kate_encode_keepalive (kate_state *k, kate_float t, kate_packet *kp)
 
int kate_encode_keepalive_raw_times (kate_state *k, kate_int64_t t, kate_packet *kp)
 
int kate_encode_repeat (kate_state *k, kate_float t, kate_float threshold, kate_packet *kp)
 
int kate_encode_repeat_raw_times (kate_state *k, kate_int64_t t, kate_int64_t threshold, kate_packet *kp)
 
int kate_encode_finish (kate_state *k, kate_float t, kate_packet *kp)
 
int kate_encode_finish_raw_times (kate_state *k, kate_int64_t t, kate_packet *kp)
 
int kate_encode_set_id (kate_state *k, kate_int32_t id)
 
int kate_encode_set_language (kate_state *k, const char *language)
 
int kate_encode_set_text_encoding (kate_state *k, kate_text_encoding text_encoding)
 
int kate_encode_set_text_directionality (kate_state *k, kate_text_directionality text_directionality)
 
int kate_encode_set_region_index (kate_state *k, size_t region)
 
int kate_encode_set_region (kate_state *k, const kate_region *kr)
 
int kate_encode_set_style_index (kate_state *k, size_t style)
 
int kate_encode_set_style (kate_state *k, const kate_style *ks)
 
int kate_encode_set_secondary_style_index (kate_state *k, size_t style)
 
int kate_encode_set_secondary_style (kate_state *k, const kate_style *ks)
 
int kate_encode_set_font_mapping_index (kate_state *k, size_t font_mapping)
 
int kate_encode_add_motion (kate_state *k, kate_motion *km, int destroy)
 
int kate_encode_add_motion_index (kate_state *k, size_t motion)
 
int kate_encode_set_palette_index (kate_state *k, size_t palette)
 
int kate_encode_set_palette (kate_state *k, const kate_palette *kp)
 
int kate_encode_set_bitmap_index (kate_state *k, size_t bitmap)
 
int kate_encode_set_bitmap (kate_state *k, const kate_bitmap *kb)
 
int kate_encode_add_bitmap (kate_state *k, const kate_bitmap *kb)
 
int kate_encode_add_bitmap_index (kate_state *k, size_t bitmap)
 
int kate_encode_set_markup_type (kate_state *k, int markup_type)
 
int kate_encode_merge_meta (kate_state *k, kate_meta *meta)
 
int kate_encode_add_meta (kate_state *k, const kate_meta *meta)
 
kate_int64_t kate_encode_get_granule (const kate_state *k)
 
int kate_decode_is_idheader (const kate_packet *kp)
 
int kate_decode_init (kate_state *k, kate_info *ki)
 
int kate_decode_headerin (kate_info *ki, kate_comment *kc, kate_packet *kp)
 
int kate_decode_packetin (kate_state *k, kate_packet *kp)
 
int kate_decode_eventout (kate_state *k, kate_const kate_event **ev)
 
int kate_decode_seek (kate_state *k)
 
int kate_tracker_init (kate_tracker *kin, const kate_info *ki, kate_const kate_event *ev)
 
int kate_tracker_clear (kate_tracker *kin)
 
int kate_tracker_update (kate_tracker *kin, kate_float t, int window_w, int window_h, int frame_x, int frame_y, int frame_w, int frame_h)
 
int kate_tracker_morph_styles (kate_style *style, kate_float t, const kate_style *from, const kate_style *to)
 
int kate_tracker_get_text_path_position (kate_tracker *kin, size_t glyph, int *x, int *y)
 
int kate_tracker_update_property_at_duration (const kate_tracker *kin, kate_float duration, kate_float t, kate_motion_semantics semantics, kate_float *x, kate_float *y)
 
int kate_tracker_remap (const kate_tracker *kin, kate_motion_mapping x_mapping, kate_motion_mapping y_mapping, kate_float *x, kate_float *y)
 
int kate_font_get_index_from_code_point (const kate_font_mapping *kfm, int c)
 
int kate_high_decode_init (kate_state *k)
 
int kate_high_decode_packetin (kate_state *k, kate_packet *kp, kate_const kate_event **ev)
 
int kate_high_decode_clear (kate_state *k)
 
const kate_commentkate_high_decode_get_comments (kate_state *k)
 
int kate_packet_wrap (kate_packet *kp, size_t nbytes, const void *data)
 
int kate_packet_init (kate_packet *kp, size_t nbytes, const void *data)
 
int kate_packet_clear (kate_packet *kp)
 
int kate_meta_create (kate_meta **km)
 
int kate_meta_destroy (kate_meta *km)
 
int kate_meta_add (kate_meta *km, const char *tag, const char *value, size_t len)
 
int kate_meta_add_string (kate_meta *km, const char *tag, const char *value)
 
int kate_meta_query_tag_count (const kate_meta *km, const char *tag)
 
int kate_meta_query_tag (const kate_meta *km, const char *tag, unsigned int idx, const char **value, size_t *len)
 
int kate_meta_remove_tag (kate_meta *km, const char *tag, unsigned int idx)
 
int kate_meta_query_count (const kate_meta *km)
 
int kate_meta_query (const kate_meta *km, unsigned int idx, const char **tag, const char **value, size_t *len)
 
int kate_meta_remove (kate_meta *km, unsigned int idx)
 
int kate_meta_merge (kate_meta *km, kate_meta *km2)
 

Detailed Description

The libkate public API.

Macro Definition Documentation

◆ KATE_BITSTREAM_VERSION_MAJOR

#define KATE_BITSTREAM_VERSION_MAJOR   0

major version number of the highest bitstream version this version of libkate supports

◆ KATE_BITSTREAM_VERSION_MINOR

#define KATE_BITSTREAM_VERSION_MINOR   7

minor version number of the highest bitstream version this version of libkate supports

◆ KATE_E_BAD_GRANULE

#define KATE_E_BAD_GRANULE   (-4)

decreasing granule

◆ KATE_E_BAD_PACKET

#define KATE_E_BAD_PACKET   (-6)

packet contains invalid data

◆ KATE_E_BAD_TAG

#define KATE_E_BAD_TAG   (-11)

a tag does not comply with the Vorbis comment rules

◆ KATE_E_IMPL

#define KATE_E_IMPL   (-12)

the requested feature is not implemented

◆ KATE_E_INIT

#define KATE_E_INIT   (-5)

initializing twice, using an uninitialized state, etc

◆ KATE_E_INVALID_PARAMETER

#define KATE_E_INVALID_PARAMETER   (-2)

a bogus parameter was passed (usually NULL)

◆ KATE_E_LIMIT

#define KATE_E_LIMIT   (-8)

a limit was exceeded (eg, string too long, pixel value above bpp, etc)

◆ KATE_E_NOT_FOUND

#define KATE_E_NOT_FOUND   (-1)

whatever was requested was not found

◆ KATE_E_NOT_KATE

#define KATE_E_NOT_KATE   (-10)

the packet is not a Kate packet

◆ KATE_E_OUT_OF_MEMORY

#define KATE_E_OUT_OF_MEMORY   (-3)

we're running out of cheese, bring some more

◆ KATE_E_TEXT

#define KATE_E_TEXT   (-7)

invalid/truncated character/sequence, etc

◆ KATE_E_VERSION

#define KATE_E_VERSION   (-9)

we do not understand that bitstream version

◆ KATE_VERSION_MAJOR

#define KATE_VERSION_MAJOR   0

major version number of the libkate API

◆ KATE_VERSION_MINOR

#define KATE_VERSION_MINOR   4

minor version number of the libkate API

◆ KATE_VERSION_PATCH

#define KATE_VERSION_PATCH   1

patch version number of the libkate API

Typedef Documentation

◆ kate_bitmap

typedef struct kate_bitmap kate_bitmap

defines a paletted image

◆ kate_bitmap_type

defines a particular type of bitmap

◆ kate_color

typedef struct kate_color kate_color

defines an RGBA color

◆ kate_comment

typedef struct kate_comment kate_comment

Vorbis comments - this is the same as Vorbis and Theora comments

◆ kate_curve

typedef struct kate_curve kate_curve

defines a curve

◆ kate_curve_type

defines a type of curve

◆ kate_event

typedef struct kate_event kate_event

This is an event passed to the user. A kate_tracker may be used to track animation changes to this event.

◆ kate_font_mapping

defines a set of ranges to define a font mapping

◆ kate_font_range

defines a set of images to map to a range of Unicode code points

◆ kate_info

typedef struct kate_info kate_info

Information about a Kate bitstream. On encoding, this information will be filled by the encoder. On decoding, it will be extracted from the stream headers.

◆ kate_motion

typedef struct kate_motion kate_motion

defines a motion - well, try to find a better explanation

◆ kate_motion_mapping

defines a way to transform a curve point

◆ kate_motion_semantics

defines what uses a motion can have

◆ kate_packet

typedef struct kate_packet kate_packet

a kate packet raw data

◆ kate_palette

typedef struct kate_palette kate_palette

defines colors to correspond to a bitmap's pixels

◆ kate_region

typedef struct kate_region kate_region

defines an area where to draw

◆ kate_state

typedef struct kate_state kate_state

top level information about a Kate bitstream

◆ kate_style

typedef struct kate_style kate_style

defines a style to display text

◆ kate_text_directionality

defines the direction in which glyphs within a text are drawn

◆ kate_tracker

typedef struct kate_tracker kate_tracker

this keeps track of changes during an event's lifetime

Enumeration Type Documentation

◆ kate_bitmap_type

defines a particular type of bitmap

Enumerator
kate_bitmap_type_paletted 

paletted bitmap

kate_bitmap_type_png 

a PNG bitmap

◆ kate_curve_type

defines a type of curve

Enumerator
kate_curve_none 

no curve

kate_curve_static 

a single point

kate_curve_linear 

linear interpolation of line segments

kate_curve_catmull_rom_spline 

Catmull-Rom spline, goes through each point (even the first and last)

kate_curve_bezier_cubic_spline 

Bezier cubic spline, goes through the first and last points, but not others

kate_curve_bspline 

Cubic uniform B-spline with 3-multiplicity end knots (goes through each point)

◆ kate_markup_type

defines the type of markup in a text

Enumerator
kate_markup_none 

the text should not be interpreted for markup

kate_markup_simple 

the text should be interpreted for simple markup

◆ kate_motion_mapping

defines a way to transform a curve point

Enumerator
kate_motion_mapping_none 

motion maps to itself

kate_motion_mapping_frame 

0x0 at top left of frame, 1x1 at bottom right of frame

kate_motion_mapping_window 

0x0 at top left of window, 1x1 at bottom right of window

kate_motion_mapping_region 

0x0 at top left of region, 1x1 at bottom right of region

kate_motion_mapping_event_duration 

0-1 map to 0 to the duration of the event (to be used with time)

kate_motion_mapping_bitmap_size 

0x0 at top left of bitmap, 1x1 at bottom right of bitmap

kate_motion_mapping_user 

128 to 255 for user specific mappings

◆ kate_motion_semantics

defines what uses a motion can have

Enumerator
kate_motion_semantics_time 

controls the flow of time - 1D

kate_motion_semantics_z 

controls the "depth" of the plane - 1D

kate_motion_semantics_region_position 

controls the region position

kate_motion_semantics_region_size 

controls the region size

kate_motion_semantics_text_alignment_int 

controls internal text alignment

kate_motion_semantics_text_alignment_ext 

controls external text alignment

kate_motion_semantics_text_position 

controls the text position

kate_motion_semantics_text_size 

controls the text size

kate_motion_semantics_marker1_position 

controls the position of a point

kate_motion_semantics_marker2_position 

controls the position of a point

kate_motion_semantics_marker3_position 

controls the position of a point

kate_motion_semantics_marker4_position 

controls the position of a point

kate_motion_semantics_glyph_pointer_1 

controls a pointer to a particular glyph in the text

kate_motion_semantics_glyph_pointer_2 

controls a pointer to a particular glyph in the text

kate_motion_semantics_glyph_pointer_3 

controls a pointer to a particular glyph in the text

kate_motion_semantics_glyph_pointer_4 

controls a pointer to a particular glyph in the text

kate_motion_semantics_text_color_rg 

controls the red and green components of the text color

kate_motion_semantics_text_color_ba 

controls the blue and alpha components of the text color

kate_motion_semantics_background_color_rg 

controls the red and green components of the background color

kate_motion_semantics_background_color_ba 

controls the blue and alpha components of the background color

kate_motion_semantics_draw_color_rg 

controls the red and green components of the draw color

kate_motion_semantics_draw_color_ba 

controls the blue and alpha components of the draw color

kate_motion_semantics_style_morph 

controls morphing between style and secondary style

kate_motion_semantics_text_path 

controls the path on which text is drawn

kate_motion_semantics_text_path_section 

controls the section of the path on which text is drawn

kate_motion_semantics_draw 

controls drawing

kate_motion_semantics_text_visible_section 

controls the section of the text which is visible

kate_motion_semantics_horizontal_margins 

controls the size of the left and right margins

kate_motion_semantics_vertical_margins 

controls the size of the top and bottom margins

kate_motion_semantics_bitmap_position 

controls the position of the background image

kate_motion_semantics_bitmap_size 

controls the size of the background image

kate_motion_semantics_marker1_bitmap 

controls the bitmap of the image used for marker 1

kate_motion_semantics_marker2_bitmap 

controls the bitmap of the image used for marker 2

kate_motion_semantics_marker3_bitmap 

controls the bitmap of the image used for marker 3

kate_motion_semantics_marker4_bitmap 

controls the bitmap of the image used for marker 4

kate_motion_semantics_glyph_pointer_1_bitmap 

controls the bitmap of the image used for glyph pointer 1

kate_motion_semantics_glyph_pointer_2_bitmap 

controls the bitmap of the image used for glyph pointer 2

kate_motion_semantics_glyph_pointer_3_bitmap 

controls the bitmap of the image used for glyph pointer 3

kate_motion_semantics_glyph_pointer_4_bitmap 

controls the bitmap of the image used for glyph pointer 4

kate_motion_semantics_draw_width 

controls the width of the drawn line

kate_motion_semantics_user 

128 to 255 for user specific semantics

◆ kate_space_metric

defines how to interpret spatial dimension values

Enumerator
kate_pixel 

dimensions are in pixels

kate_percentage 

dimensions are in percentage of total size

kate_millionths 

dimensions are in millionths of total size

◆ kate_text_directionality

defines the direction in which glyphs within a text are drawn

Enumerator
kate_l2r_t2b 

left to right, top to bottom: eg, English

kate_r2l_t2b 

right to left, top to bottom: eg, Arabic

kate_t2b_r2l 

top to bottom, right to left: eg, Japanese

kate_t2b_l2r 

top to bottom, left to right: eg, Sometimes Japanese

◆ kate_text_encoding

defines the character encoding used by text

Enumerator
kate_utf8 

utf-8 variable length byte encoding, see RFC 3629

◆ kate_wrap_mode

defines how to wrap text if necessary

Enumerator
kate_wrap_word 

allow wrapping at word boundaries

kate_wrap_none 

forbid wrapping

Function Documentation

◆ kate_clear()

int kate_clear ( kate_state k)

Destroys a kate_state structure. The kate_state structure should have been initialized with kate_decode_init or kate_encode_init.

Parameters
kthe kate_state structure to clear
Returns
0 success
KATE_E_* error
Examples
decoding.c, and encoding.c.

References KATE_E_INVALID_PARAMETER.

Referenced by kate_high_decode_clear().

◆ kate_curve_get_point()

int kate_curve_get_point ( const kate_curve kc,
kate_float  t,
kate_float *  x,
kate_float *  y 
)

Returns the point defined by the given curve at the given time. t will be between 0 and 1

Parameters
kcthe curve to get the point from
tthe time at which the point should be taken (between 0 and motion duration)
xa pointer to the first coordinate of the computed point (may be NULL)
ya pointer to the second coordinate of the computed point (may be NULL)
Returns
0 success
1 no point at this time in the curve
KATE_E_* error

References kate_curve_bezier_cubic_spline, kate_curve_bspline, kate_curve_catmull_rom_spline, kate_curve_linear, kate_curve_none, kate_curve_static, KATE_E_INIT, KATE_E_INVALID_PARAMETER, kate_curve::npts, kate_curve::pts, and kate_curve::type.

Referenced by kate_motion_get_point().

◆ kate_meta_add()

int kate_meta_add ( kate_meta *  km,
const char *  tag,
const char *  value,
size_t  len 
)

Adds a tag/value metadata pair to the kate_meta structure. The tag must be 7 bit ASCII, and may not contain embedded NULs The value is binary data, and dependent on the tag. Text values should be UTF-8 and may contain embedded NULs

Parameters
kmthe kate_meta structure to add the metadata to
tagthe tag for the metadata add
valuethe value for the metadata add (a stream of len bytes)
lenthe number of bytes in the value
Returns
0 success
KATE_E_* error

References KATE_E_INVALID_PARAMETER, and KATE_E_OUT_OF_MEMORY.

Referenced by kate_meta_add_string().

◆ kate_meta_add_string()

int kate_meta_add_string ( kate_meta *  km,
const char *  tag,
const char *  value 
)

Adds a tag/value metadata pair to the kate_meta structure.

Parameters
kmthe kate_meta structure to add the metadata to
tagthe tag for the metadata add
valuethe value for the metadata add (a NUL terminated UTF-8 string)
Returns
0 success
KATE_E_* error

References KATE_E_INVALID_PARAMETER, kate_meta_add(), kate_text_validate(), and kate_utf8.

◆ kate_meta_create()

int kate_meta_create ( kate_meta **  km)

Creates and initializes a kate_meta_list structure.

Parameters
kmthe structure to initialize
Returns
0 success
KATE_E_* error

References KATE_E_INVALID_PARAMETER, and KATE_E_OUT_OF_MEMORY.

◆ kate_meta_destroy()

int kate_meta_destroy ( kate_meta *  km)

Destroys a kate_meta structure.

Parameters
kmthe structure to destroy
Returns
0 success
KATE_E_* error

References KATE_E_INVALID_PARAMETER.

Referenced by kate_info_clear().

◆ kate_meta_merge()

int kate_meta_merge ( kate_meta *  km,
kate_meta *  km2 
)

Merges two sets of metadata together

Parameters
kmthe kate_meta structure to contain the merged metadata.
km2the kate_meta structure to merge to km. It will be freed if this call is successful.
Returns
0 success
KATE_E_* error

References KATE_E_INVALID_PARAMETER, and KATE_E_OUT_OF_MEMORY.

◆ kate_meta_query()

int kate_meta_query ( const kate_meta *  km,
unsigned int  idx,
const char **  tag,
const char **  value,
size_t *  len 
)

Retrieves the data for a given metadata.

Parameters
kmthe kate_meta structure to search in
idxthe index of the metadata to get data for
tagwhere to store the tag of the metadata
valuewhere to store the value of the tag
lenwhere to store the length (in bytes) of the value
Returns
0 success
KATE_E_* error

References KATE_E_INVALID_PARAMETER.

◆ kate_meta_query_count()

int kate_meta_query_count ( const kate_meta *  km)

Returns the number of metadata in this structure

Parameters
kmthe kate_meta structure to search in
Returns
0 success, no metadata is present
>0 success, the value is the number of metadata found
KATE_E_* error

References KATE_E_INVALID_PARAMETER.

◆ kate_meta_query_tag()

int kate_meta_query_tag ( const kate_meta *  km,
const char *  tag,
unsigned int  idx,
const char **  value,
size_t *  len 
)

Retrieves the data for a given metadata.

Parameters
kmthe kate_meta structure to search in
tagthe tag to search for
idxthe index of the tag to search for (eg, if a tag is present more than once)
valuewhere to store the value of the tag
lenwhere to store the length (in bytes) of the value
Returns
0 success
KATE_E_* error

References KATE_E_INVALID_PARAMETER.

◆ kate_meta_query_tag_count()

int kate_meta_query_tag_count ( const kate_meta *  km,
const char *  tag 
)

Returns the number of metadata with the given tag

Parameters
kmthe kate_meta structure to search in
tagthe tag to search for
Returns
0 success, no matching tags were found
>0 success, the value is the number of tags found
KATE_E_* error

References KATE_E_INVALID_PARAMETER.

◆ kate_meta_remove()

int kate_meta_remove ( kate_meta *  km,
unsigned int  idx 
)

Removes a given metadata pair.

Parameters
kmthe kate_meta structure to change
idxthe index of the metadata
Returns
0 success
KATE_E_* error

References KATE_E_INVALID_PARAMETER.

◆ kate_meta_remove_tag()

int kate_meta_remove_tag ( kate_meta *  km,
const char *  tag,
unsigned int  idx 
)

Removes a given metadata pair.

Parameters
kmthe kate_meta structure to change
tagthe tag to search for, may be NULL to match any tag
idxthe index of the metadata
Returns
0 success
KATE_E_* error

References KATE_E_INVALID_PARAMETER.

◆ kate_motion_get_point()

int kate_motion_get_point ( const kate_motion km,
kate_float  duration,
kate_float  t,
kate_float *  x,
kate_float *  y 
)

Returns the point defined by the given motion at the given time. t will be between 0 and the duration of the motion

Parameters
kmthe motion to get the point from
durationthe duration the motion spans
tthe time at which the point should be taken (between 0 and motion duration)
xa pointer to the first coordinate of the computed point (may be NULL)
ya pointer to the second coordinate of the computed point (may be NULL)
Returns
0 success
1 no point at this time in the motion
KATE_E_* error

References kate_motion::curves, kate_motion::durations, kate_curve_get_point(), KATE_E_INVALID_PARAMETER, kate_motion::ncurves, and kate_motion::periodic.

Referenced by kate_tracker_update(), and kate_tracker_update_property_at_duration().

kate_motion_semantics_time
@ kate_motion_semantics_time
Definition: kate.h:155
kate_motion_semantics_region_position
@ kate_motion_semantics_region_position
Definition: kate.h:157
kate_font_mapping::nranges
size_t nranges
Definition: kate.h:264
kate_decode_is_idheader
int kate_decode_is_idheader(const kate_packet *kp)
Definition: kate_decode.c:237
kate_motion_semantics_draw_color_rg
@ kate_motion_semantics_draw_color_rg
Definition: kate.h:175
kate_info_set_granule_encoding
int kate_info_set_granule_encoding(kate_info *ki, kate_float resolution, kate_float max_length, kate_float max_event_lifetime)
Definition: kate_info.c:100
kate_tracker::bitmap_size
unsigned int bitmap_size
Definition: kate.h:427
kate_style::text_color
kate_color text_color
Definition: kate.h:86
kate_bitmap_type
kate_bitmap_type
Definition: kate.h:232
kate_meta_destroy
int kate_meta_destroy(kate_meta *km)
Definition: kate_meta.c:84
kate_motion_semantics_text_size
@ kate_motion_semantics_text_size
Definition: kate.h:162
kate_motion_semantics_style_morph
@ kate_motion_semantics_style_morph
Definition: kate.h:177
kate_time_granule
kate_int64_t kate_time_granule(const kate_info *ki, kate_float base, kate_float offset)
Definition: kate_granule.c:37
kate_ogg_encode_text
int kate_ogg_encode_text(kate_state *k, kate_float start_time, kate_float stop_time, const char *text, size_t sz, ogg_packet *op)
Definition: kate_ogg.c:75
kate_encode_finish
int kate_encode_finish(kate_state *k, kate_float t, kate_packet *kp)
Definition: kate_encode.c:1256
kate_tracker::text_size_x
kate_float text_size_x
Definition: kate.h:458
kate_style::halign
kate_float halign
Definition: kate.h:83
kate_high_decode_packetin
int kate_high_decode_packetin(kate_state *k, kate_packet *kp, kate_const kate_event **ev)
Definition: kate_high.c:85
kate_region::y
int y
Definition: kate.h:57
kate_info::bitmaps
kate_const kate_bitmap *kate_const * bitmaps
Definition: kate.h:309
kate_ogg_encode_repeat
int kate_ogg_encode_repeat(kate_state *k, kate_float t, kate_float threshold, ogg_packet *op)
Definition: kate_ogg.c:114
KATE_BITSTREAM_VERSION_MAJOR
#define KATE_BITSTREAM_VERSION_MAJOR
Definition: kate.h:28
kate_tracker::text_size
unsigned int text_size
Definition: kate.h:414
kate_curve_none
@ kate_curve_none
Definition: kate.h:117
kate_encode_add_motion_index
int kate_encode_add_motion_index(kate_state *k, size_t motion)
Definition: kate_encode.c:1322
kate_info::original_canvas_height
size_t original_canvas_height
Definition: kate.h:320
kate_color::b
unsigned char b
Definition: kate.h:71
kate_encode_set_region_index
int kate_encode_set_region_index(kate_state *k, size_t region)
Definition: kate_encode.c:1374
kate_tracker::path
unsigned int path
Definition: kate.h:420
kate_meta_query
int kate_meta_query(const kate_meta *km, unsigned int idx, const char **tag, const char **value, size_t *len)
Definition: kate_meta.c:219
kate_meta_add_string
int kate_meta_add_string(kate_meta *km, const char *tag, const char *value)
Definition: kate_meta.c:164
kate_ogg_encode_finish
int kate_ogg_encode_finish(kate_state *k, kate_float t, ogg_packet *op)
Definition: kate_ogg.c:193
kate_encode_set_palette_index
int kate_encode_set_palette_index(kate_state *k, size_t palette)
Definition: kate_encode.c:1485
kate_encode_add_bitmap
int kate_encode_add_bitmap(kate_state *k, const kate_bitmap *kb)
Definition: kate_encode.c:1340
kate_info_set_markup_type
int kate_info_set_markup_type(kate_info *ki, kate_markup_type text_markup_type)
Definition: kate_info.c:303
kate_encode_set_bitmap
int kate_encode_set_bitmap(kate_state *k, const kate_bitmap *kb)
Definition: kate_encode.c:1541
kate_ogg_encode_repeat_raw_times
int kate_ogg_encode_repeat_raw_times(kate_state *k, kate_int64_t t, kate_int64_t threshold, ogg_packet *op)
Definition: kate_ogg.c:137
kate_tracker::draw
unsigned int draw
Definition: kate.h:421
kate_comment::vendor
char * vendor
Definition: kate.h:351
kate_style::bottom_margin
kate_float bottom_margin
Definition: kate.h:98
kate_text_set_character
int kate_text_set_character(kate_text_encoding text_encoding, int c, char **const text, size_t *len0)
Definition: kate_text.c:251
kate_event::backlink
kate_int64_t backlink
Definition: kate.h:361
kate_encode_add_motion
int kate_encode_add_motion(kate_state *k, kate_motion *km, int destroy)
Definition: kate_encode.c:1306
kate_encode_keepalive_raw_times
int kate_encode_keepalive_raw_times(kate_state *k, kate_int64_t t, kate_packet *kp)
Definition: kate_encode.c:1071
kate_duration_granule
kate_int64_t kate_duration_granule(const kate_info *ki, kate_float duration)
Definition: kate_granule.c:108
kate_font_get_index_from_code_point
int kate_font_get_index_from_code_point(const kate_font_mapping *kfm, int c)
Definition: kate_font.c:23
kate_ogg_encode_text_raw_times
int kate_ogg_encode_text_raw_times(kate_state *k, kate_int64_t start_time, kate_int64_t stop_time, const char *text, size_t sz, ogg_packet *op)
Definition: kate_ogg.c:95
kate_tracker::path_start
kate_float path_start
Definition: kate.h:479
kate_text_directionality
kate_text_directionality
Definition: kate.h:216
kate_bitmap_init_new
int kate_bitmap_init_new(kate_bitmap *kb)
Definition: kate.c:239
kate_tracker::marker_bitmap
unsigned int marker_bitmap
Definition: kate.h:428
kate_packet_init
int kate_packet_init(kate_packet *kp, size_t nbytes, const void *data)
Definition: kate_packet.c:55
kate_tracker_update_property_at_duration
int kate_tracker_update_property_at_duration(const kate_tracker *kin, kate_float duration, kate_float t, kate_motion_semantics semantics, kate_float *x, kate_float *y)
Definition: kate_tracker.c:234
kate_region_init
int kate_region_init(kate_region *kr)
Definition: kate.c:120
kate_tracker::left_margin
kate_float left_margin
Definition: kate.h:494
kate_event::len
size_t len
Definition: kate.h:372
kate_meta_query_tag
int kate_meta_query_tag(const kate_meta *km, const char *tag, unsigned int idx, const char **value, size_t *len)
Definition: kate_meta.c:189
kate_info_add_region
int kate_info_add_region(kate_info *ki, kate_region *kr)
Definition: kate_info.c:354
kate_event::id
kate_int32_t id
Definition: kate.h:366
kate_motion_semantics_horizontal_margins
@ kate_motion_semantics_horizontal_margins
Definition: kate.h:182
kate_info_matches_language
int kate_info_matches_language(const kate_info *ki, const char *language)
Definition: kate_info.c:467
kate_tracker::window_h
int window_h
Definition: kate.h:437
kate_bitmap
Definition: kate.h:238
KATE_E_VERSION
#define KATE_E_VERSION
Definition: kate.h:689
kate_info::curves
kate_const kate_curve *kate_const * curves
Definition: kate.h:300
kate_info::num_headers
unsigned char num_headers
Definition: kate.h:282
kate_bitmap_init
int kate_bitmap_init(kate_bitmap *kb)
Definition: kate.c:200
kate_font_range::first_bitmap
int first_bitmap
Definition: kate.h:258
kate_region::style
int style
Definition: kate.h:60
kate_info
Definition: kate.h:274
kate_curve_linear
@ kate_curve_linear
Definition: kate.h:119
kate_packet_wrap
int kate_packet_wrap(kate_packet *kp, size_t nbytes, const void *data)
Definition: kate_packet.c:30
kate_region::w
int w
Definition: kate.h:58
kate_info_add_font_mapping
int kate_info_add_font_mapping(kate_info *ki, kate_font_mapping *kfm)
Definition: kate_info.c:446
kate_event::secondary_style
kate_const kate_style * secondary_style
Definition: kate.h:380
kate_get_version
int kate_get_version(void)
Definition: kate.c:32
kate_info_add_style
int kate_info_add_style(kate_info *ki, kate_style *ks)
Definition: kate_info.c:368
kate_tracker::region_x
kate_float region_x
Definition: kate.h:444
kate_tracker::hmargins
unsigned int hmargins
Definition: kate.h:424
kate_motion_semantics_glyph_pointer_1_bitmap
@ kate_motion_semantics_glyph_pointer_1_bitmap
Definition: kate.h:190
kate_tracker::window_w
int window_w
Definition: kate.h:436
kate_bitmap::height
size_t height
Definition: kate.h:240
kate_l2r_t2b
@ kate_l2r_t2b
Definition: kate.h:217
kate_style::font_metric
kate_space_metric font_metric
Definition: kate.h:90
kate_curve_get_point
int kate_curve_get_point(const kate_curve *kc, kate_float t, kate_float *x, kate_float *y)
Definition: kate_motion.c:64
kate_percentage
@ kate_percentage
Definition: kate.h:46
kate_meta_query_tag_count
int kate_meta_query_tag_count(const kate_meta *km, const char *tag)
Definition: kate_meta.c:238
kate_event::len0
size_t len0
Definition: kate.h:373
kate_encode_get_granule
kate_int64_t kate_encode_get_granule(const kate_state *k)
Definition: kate_encode.c:1708
kate_motion_semantics_draw_color_ba
@ kate_motion_semantics_draw_color_ba
Definition: kate.h:176
KATE_E_LIMIT
#define KATE_E_LIMIT
Definition: kate.h:688
kate_motion::x_mapping
kate_motion_mapping x_mapping
Definition: kate.h:206
KATE_E_NOT_KATE
#define KATE_E_NOT_KATE
Definition: kate.h:690
kate_bitmap::width
size_t width
Definition: kate.h:239
kate_text_get_character
int kate_text_get_character(kate_text_encoding text_encoding, const char **const text, size_t *len0)
Definition: kate_text.c:218
kate_tracker::visible_section
unsigned int visible_section
Definition: kate.h:422
kate_get_bitstream_version_string
const char * kate_get_bitstream_version_string(void)
Definition: kate.c:62
kate_comment::comments
int comments
Definition: kate.h:350
kate_font_range::first_code_point
int first_code_point
Definition: kate.h:256
kate_style::underline
unsigned int underline
Definition: kate.h:102
KATE_BITSTREAM_VERSION_MINOR
#define KATE_BITSTREAM_VERSION_MINOR
Definition: kate.h:29
kate_tracker::draw_color
unsigned int draw_color
Definition: kate.h:418
KATE_E_INVALID_PARAMETER
#define KATE_E_INVALID_PARAMETER
Definition: kate.h:682
kate_motion_semantics_text_color_ba
@ kate_motion_semantics_text_color_ba
Definition: kate.h:172
kate_motion_semantics_vertical_margins
@ kate_motion_semantics_vertical_margins
Definition: kate.h:183
kate_motion_semantics_z
@ kate_motion_semantics_z
Definition: kate.h:156
kate_motion_semantics_text_alignment_ext
@ kate_motion_semantics_text_alignment_ext
Definition: kate.h:160
kate_tracker::frame_x
int frame_x
Definition: kate.h:438
kate_text_encoding
kate_text_encoding
Definition: kate.h:33
kate_motion_mapping_window
@ kate_motion_mapping_window
Definition: kate.h:138
kate_motion_semantics_text_position
@ kate_motion_semantics_text_position
Definition: kate.h:161
kate_style::wrap_mode
unsigned int wrap_mode
Definition: kate.h:105
kate_motion::durations
kate_float * durations
Definition: kate.h:205
KATE_E_IMPL
#define KATE_E_IMPL
Definition: kate.h:692
kate_info::gps_numerator
kate_uint32_t gps_numerator
Definition: kate.h:286
kate_tracker::text_y
kate_float text_y
Definition: kate.h:455
kate_encode_set_text_encoding
int kate_encode_set_text_encoding(kate_state *k, kate_text_encoding text_encoding)
Definition: kate_encode.c:1578
kate_encode_text
int kate_encode_text(kate_state *k, kate_float t0, kate_float t1, const char *text, size_t sz, kate_packet *kp)
Definition: kate_encode.c:1056
kate_motion_semantics_region_size
@ kate_motion_semantics_region_size
Definition: kate.h:158
kate_palette
Definition: kate.h:224
kate_tracker::text_pos
unsigned int text_pos
Definition: kate.h:413
kate_curve
Definition: kate.h:126
kate_encode_merge_meta
int kate_encode_merge_meta(kate_state *k, kate_meta *km)
Definition: kate_encode.c:1693
kate_tracker::text_valign
kate_float text_valign
Definition: kate.h:451
kate_style::font_width
kate_float font_width
Definition: kate.h:91
kate_event::text_markup_type
kate_markup_type text_markup_type
Definition: kate.h:385
kate_encode_set_font_mapping_index
int kate_encode_set_font_mapping_index(kate_state *k, size_t font_mapping)
Definition: kate_encode.c:1560
kate_state
Definition: kate.h:336
kate_tracker::visible_y
kate_float visible_y
Definition: kate.h:488
kate_curve_init
int kate_curve_init(kate_curve *kc)
Definition: kate.c:267
kate_tracker::region_y
kate_float region_y
Definition: kate.h:445
kate_encode_set_style_index
int kate_encode_set_style_index(kate_state *k, size_t style)
Definition: kate_encode.c:1411
kate_region::h
int h
Definition: kate.h:59
kate_encode_set_secondary_style_index
int kate_encode_set_secondary_style_index(kate_state *k, size_t style)
Definition: kate_encode.c:1448
kate_motion_semantics_text_visible_section
@ kate_motion_semantics_text_visible_section
Definition: kate.h:181
kate_curve::pts
kate_float * pts
Definition: kate.h:129
kate_tracker_remap
int kate_tracker_remap(const kate_tracker *kin, kate_motion_mapping x_mapping, kate_motion_mapping y_mapping, kate_float *x, kate_float *y)
Definition: kate_tracker.c:147
kate_encode_set_secondary_style
int kate_encode_set_secondary_style(kate_state *k, const kate_style *ks)
Definition: kate_encode.c:1467
kate_info_set_original_canvas_size
int kate_info_set_original_canvas_size(kate_info *ki, size_t width, size_t height)
Definition: kate_info.c:319
kate_info::regions
kate_const kate_region *kate_const * regions
Definition: kate.h:294
kate_curve_catmull_rom_spline
@ kate_curve_catmull_rom_spline
Definition: kate.h:120
kate_tracker::draw_x
kate_float draw_x
Definition: kate.h:483
kate_info::gps_denominator
kate_uint32_t gps_denominator
Definition: kate.h:287
kate_state::ki
kate_const kate_info * ki
Definition: kate.h:337
KATE_E_BAD_PACKET
#define KATE_E_BAD_PACKET
Definition: kate.h:686
kate_comment
Definition: kate.h:347
kate_bitmap::type
kate_bitmap_type type
Definition: kate.h:242
kate_curve_static
@ kate_curve_static
Definition: kate.h:118
kate_event::text_encoding
kate_text_encoding text_encoding
Definition: kate.h:368
kate_meta_add
int kate_meta_add(kate_meta *km, const char *tag, const char *value, size_t len)
Definition: kate_meta.c:116
kate_tracker::marker_y
kate_float marker_y[4]
Definition: kate.h:463
kate_tracker::frame_h
int frame_h
Definition: kate.h:441
kate_tracker::bitmap_y
kate_float bitmap_y
Definition: kate.h:503
kate_color::a
unsigned char a
Definition: kate.h:72
kate_motion_semantics_glyph_pointer_1
@ kate_motion_semantics_glyph_pointer_1
Definition: kate.h:167
kate_motion_semantics_background_color_ba
@ kate_motion_semantics_background_color_ba
Definition: kate.h:174
kate_high_decode_clear
int kate_high_decode_clear(kate_state *k)
Definition: kate_high.c:123
kate_high_decode_init
int kate_high_decode_init(kate_state *k)
Definition: kate_high.c:27
kate_motion_semantics_text_path_section
@ kate_motion_semantics_text_path_section
Definition: kate.h:179
kate_font_mapping::ranges
kate_font_range ** ranges
Definition: kate.h:265
kate_comment_add
int kate_comment_add(kate_comment *kc, const char *comment)
Definition: kate_comment.c:136
kate_motion_semantics_text_color_rg
@ kate_motion_semantics_text_color_rg
Definition: kate.h:171
kate_motion::periodic
unsigned int periodic
Definition: kate.h:209
kate_info::nbitmaps
size_t nbitmaps
Definition: kate.h:308
oggkate.h
kate_decode_eventout
int kate_decode_eventout(kate_state *k, kate_const kate_event **event)
Definition: kate_decode.c:1589
kate_comment_query_count
int kate_comment_query_count(const kate_comment *kc, const char *tag)
Definition: kate_comment.c:213
KATE_E_INIT
#define KATE_E_INIT
Definition: kate.h:685
kate_motion_semantics_bitmap_size
@ kate_motion_semantics_bitmap_size
Definition: kate.h:185
kate_tracker::bitmap_pos
unsigned int bitmap_pos
Definition: kate.h:426
kate_bitmap::y_offset
int y_offset
Definition: kate.h:249
kate_event::bitmap
kate_const kate_bitmap * bitmap
Definition: kate.h:383
kate_granule_shift
int kate_granule_shift(const kate_info *ki)
Definition: kate_granule.c:22
kate_comment_add_length
int kate_comment_add_length(kate_comment *kc, const char *comment, size_t len)
Definition: kate_comment.c:86
kate_curve_bspline
@ kate_curve_bspline
Definition: kate.h:122
kate_meta_remove_tag
int kate_meta_remove_tag(kate_meta *km, const char *tag, unsigned int idx)
Definition: kate_meta.c:279
KATE_E_BAD_TAG
#define KATE_E_BAD_TAG
Definition: kate.h:691
kate_info::text_encoding
kate_text_encoding text_encoding
Definition: kate.h:279
kate_bitmap::size
size_t size
Definition: kate.h:247
kate_style::top_margin
kate_float top_margin
Definition: kate.h:96
kate_info::motions
kate_const kate_motion *kate_const * motions
Definition: kate.h:303
kate_tracker::vmargins
unsigned int vmargins
Definition: kate.h:425
kate_curve::type
kate_curve_type type
Definition: kate.h:127
kate_info::npalettes
size_t npalettes
Definition: kate.h:305
kate_event::motions
kate_const kate_motion *kate_const * motions
Definition: kate.h:376
kate_encode_add_bitmap_index
int kate_encode_add_bitmap_index(kate_state *k, size_t bitmap)
Definition: kate_encode.c:1356
kate_info_init
int kate_info_init(kate_info *ki)
Definition: kate_info.c:29
kate_info::original_canvas_width
size_t original_canvas_width
Definition: kate.h:319
kate_style::left_margin
kate_float left_margin
Definition: kate.h:95
kate_color::r
unsigned char r
Definition: kate.h:69
kate_info_remove_markup
int kate_info_remove_markup(kate_info *ki, int flag)
Definition: kate_info.c:508
kate_region::metric
kate_space_metric metric
Definition: kate.h:55
kate_tracker::glyph_height
kate_float glyph_height[4]
Definition: kate.h:476
kate_font_mapping
Definition: kate.h:263
kate_motion_semantics_draw_width
@ kate_motion_semantics_draw_width
Definition: kate.h:194
kate_motion_semantics_bitmap_position
@ kate_motion_semantics_bitmap_position
Definition: kate.h:184
kate_style::font
kate_const char * font
Definition: kate.h:108
kate_tracker::top_margin
kate_float top_margin
Definition: kate.h:498
kate_tracker_morph_styles
int kate_tracker_morph_styles(kate_style *style, kate_float t, const kate_style *from, const kate_style *to)
Definition: kate_tracker.c:90
kate_markup_none
@ kate_markup_none
Definition: kate.h:39
kate_tracker::region
unsigned int region
Definition: kate.h:410
kate_curve::npts
size_t npts
Definition: kate.h:128
kate_event::bitmaps
kate_const kate_bitmap *kate_const * bitmaps
Definition: kate.h:388
kate_bitmap::x_offset
int x_offset
Definition: kate.h:248
kate_tracker::text_alignment_int
unsigned int text_alignment_int
Definition: kate.h:411
kate_tracker::t
kate_float t
Definition: kate.h:407
kate_event::nbitmaps
size_t nbitmaps
Definition: kate.h:387
kate_style::draw_color
kate_color draw_color
Definition: kate.h:88
kate_ogg_encode_headers
int kate_ogg_encode_headers(kate_state *k, kate_comment *kc, ogg_packet *op)
Definition: kate_ogg.c:54
kate_info::language
kate_const char * language
Definition: kate.h:289
kate_tracker::ki
const kate_info * ki
Definition: kate.h:405
kate_tracker::marker_x
kate_float marker_x[4]
Definition: kate.h:462
kate_tracker::visible_x
kate_float visible_x
Definition: kate.h:487
kate_tracker::frame_y
int frame_y
Definition: kate.h:439
kate_info_add_motion
int kate_info_add_motion(kate_info *ki, kate_motion *km)
Definition: kate_info.c:394
kate_info::styles
kate_const kate_style *kate_const * styles
Definition: kate.h:297
kate_encode_keepalive
int kate_encode_keepalive(kate_state *k, kate_float t, kate_packet *kp)
Definition: kate_encode.c:1117
kate_granule_time
kate_float kate_granule_time(const kate_info *ki, kate_int64_t granulepos)
Definition: kate_granule.c:90
kate_info::font_ranges
kate_const kate_font_range *kate_const * font_ranges
Definition: kate.h:312
kate_color::g
unsigned char g
Definition: kate.h:70
kate_motion_get_point
int kate_motion_get_point(const kate_motion *km, kate_float duration, kate_float t, kate_float *x, kate_float *y)
Definition: kate_motion.c:188
KATE_VERSION_MINOR
#define KATE_VERSION_MINOR
Definition: kate.h:22
kate_style::valign
kate_float valign
Definition: kate.h:84
kate_tracker
Definition: kate.h:404
kate_info::bitstream_version_minor
unsigned char bitstream_version_minor
Definition: kate.h:276
kate_motion::y_mapping
kate_motion_mapping y_mapping
Definition: kate.h:207
kate_info::nstyles
size_t nstyles
Definition: kate.h:296
kate_granule_duration
kate_float kate_granule_duration(const kate_info *ki, kate_int64_t duration)
Definition: kate_granule.c:128
KATE_E_BAD_GRANULE
#define KATE_E_BAD_GRANULE
Definition: kate.h:684
kate_event::language
kate_const char * language
Definition: kate.h:370
kate_style::font_height
kate_float font_height
Definition: kate.h:92
kate_pixel
@ kate_pixel
Definition: kate.h:45
kate_style::right_margin
kate_float right_margin
Definition: kate.h:97
kate_info::nfont_ranges
size_t nfont_ranges
Definition: kate.h:311
kate_palette_init
int kate_palette_init(kate_palette *kp)
Definition: kate.c:179
kate_info::palettes
kate_const kate_palette *kate_const * palettes
Definition: kate.h:306
kate_tracker::text_alignment_ext
unsigned int text_alignment_ext
Definition: kate.h:412
kate_tracker::right_margin
kate_float right_margin
Definition: kate.h:495
kate_event::start
kate_int64_t start
Definition: kate.h:359
kate_comment::user_comments
char ** user_comments
Definition: kate.h:348
kate_tracker_init
int kate_tracker_init(kate_tracker *kin, const kate_info *ki, kate_const kate_event *ev)
Definition: kate_tracker.c:33
kate_tracker::frame_w
int frame_w
Definition: kate.h:440
kate_wrap_word
@ kate_wrap_word
Definition: kate.h:77
kate_motion::curves
kate_curve ** curves
Definition: kate.h:204
kate_motion_mapping_region
@ kate_motion_mapping_region
Definition: kate.h:139
KATE_VERSION_MAJOR
#define KATE_VERSION_MAJOR
Definition: kate.h:21
kate_comment_clear
int kate_comment_clear(kate_comment *kc)
Definition: kate_comment.c:48
kate_tracker::marker_pos
unsigned int marker_pos
Definition: kate.h:415
kate_info::bitstream_version_major
unsigned char bitstream_version_major
Definition: kate.h:275
kate_tracker::has
struct kate_tracker::@0 has
kate_info_add_bitmap
int kate_info_add_bitmap(kate_info *ki, kate_bitmap *kb)
Definition: kate_info.c:420
KATE_E_NOT_FOUND
#define KATE_E_NOT_FOUND
Definition: kate.h:681
kate_markup_type
kate_markup_type
Definition: kate.h:38
kate_font_range
Definition: kate.h:255
kate_text_validate
int kate_text_validate(kate_text_encoding text_encoding, const char *text, size_t len0)
Definition: kate_text.c:341
kate_style::margin_metric
kate_space_metric margin_metric
Definition: kate.h:94
kate_motion_mapping_frame
@ kate_motion_mapping_frame
Definition: kate.h:137
kate_event::text_directionality
kate_text_directionality text_directionality
Definition: kate.h:369
KATE_E_OUT_OF_MEMORY
#define KATE_E_OUT_OF_MEMORY
Definition: kate.h:683
kate_style::bold
unsigned int bold
Definition: kate.h:100
kate_bitmap::palette
int palette
Definition: kate.h:245
kate_motion_semantics_background_color_rg
@ kate_motion_semantics_background_color_rg
Definition: kate.h:173
kate_tracker::glyph_pointer_bitmap
unsigned int glyph_pointer_bitmap
Definition: kate.h:429
kate_motion_mapping_bitmap_size
@ kate_motion_mapping_bitmap_size
Definition: kate.h:141
kate_encode_set_text_directionality
int kate_encode_set_text_directionality(kate_state *k, kate_text_directionality text_directionality)
Definition: kate_encode.c:1594
kate_comment_init
int kate_comment_init(kate_comment *kc)
Definition: kate_comment.c:29
kate_tracker::text_color
unsigned int text_color
Definition: kate.h:416
kate_tracker::path_end
kate_float path_end
Definition: kate.h:480
kate_encode_init
int kate_encode_init(kate_state *k, kate_info *ki)
Definition: kate_encode.c:36
kate_ogg_decode_headerin
int kate_ogg_decode_headerin(kate_info *ki, kate_comment *kc, ogg_packet *op)
Definition: kate_ogg.c:244
kate_text_remove_markup
int kate_text_remove_markup(kate_text_encoding text_encoding, char *text, size_t *len0)
Definition: kate_text.c:283
kate_info::nmotions
size_t nmotions
Definition: kate.h:302
kate_tracker::background_color
unsigned int background_color
Definition: kate.h:417
kate_event
Definition: kate.h:358
kate_curve_bezier_cubic_spline
@ kate_curve_bezier_cubic_spline
Definition: kate.h:121
kate_motion_semantics_text_path
@ kate_motion_semantics_text_path
Definition: kate.h:178
kate_style_init
int kate_style_init(kate_style *ks)
Definition: kate.c:144
kate_ogg_encode_finish_raw_times
int kate_ogg_encode_finish_raw_times(kate_state *k, kate_int64_t t, ogg_packet *op)
Definition: kate_ogg.c:211
kate_info_clear
int kate_info_clear(kate_info *ki)
Definition: kate_info.c:539
kate_motion_mapping_none
@ kate_motion_mapping_none
Definition: kate.h:136
kate_ogg_decode_is_idheader
int kate_ogg_decode_is_idheader(const ogg_packet *op)
Definition: kate_ogg.c:226
kate.h
kate_font_range::last_code_point
int last_code_point
Definition: kate.h:257
kate_ogg_encode_keepalive
int kate_ogg_encode_keepalive(kate_state *k, kate_float t, ogg_packet *op)
Definition: kate_ogg.c:158
kate_decode_headerin
int kate_decode_headerin(kate_info *ki, kate_comment *kc, kate_packet *kp)
Definition: kate_decode.c:1069
kate_tracker::text_size_y
kate_float text_size_y
Definition: kate.h:459
kate_motion_mapping
kate_motion_mapping
Definition: kate.h:134
kate_info::text_markup_type
kate_markup_type text_markup_type
Definition: kate.h:317
kate_event::end_time
kate_float end_time
Definition: kate.h:364
kate_info::text_directionality
kate_text_directionality text_directionality
Definition: kate.h:280
kate_motion_init
int kate_motion_init(kate_motion *km)
Definition: kate.c:288
kate_packet::data
void * data
Definition: kate.h:528
kate_encode_set_region
int kate_encode_set_region(kate_state *k, const kate_region *kr)
Definition: kate_encode.c:1393
kate_encode_set_bitmap_index
int kate_encode_set_bitmap_index(kate_state *k, size_t bitmap)
Definition: kate_encode.c:1522
kate_encode_set_language
int kate_encode_set_language(kate_state *k, const char *language)
Definition: kate_encode.c:1630
kate_high_decode_get_comments
const kate_comment * kate_high_decode_get_comments(kate_state *k)
Definition: kate_high.c:149
kate_meta_merge
int kate_meta_merge(kate_meta *km, kate_meta *km2)
Definition: kate_meta.c:327
kate_encode_set_palette
int kate_encode_set_palette(kate_state *k, const kate_palette *kp)
Definition: kate_encode.c:1504
kate_tracker::text_halign
kate_float text_halign
Definition: kate.h:450
kate_tracker::bitmap_size_y
kate_float bitmap_size_y
Definition: kate.h:507
kate_motion::semantics
kate_motion_semantics semantics
Definition: kate.h:208
kate_info_set_text_directionality
int kate_info_set_text_directionality(kate_info *ki, kate_text_directionality text_directionality)
Definition: kate_info.c:265
kate_event::palette
kate_const kate_palette * palette
Definition: kate.h:382
kate_motion_semantics_text_alignment_int
@ kate_motion_semantics_text_alignment_int
Definition: kate.h:159
kate_event::text
kate_const char * text
Definition: kate.h:371
kate_info::font_mappings
kate_const kate_font_mapping *kate_const * font_mappings
Definition: kate.h:315
kate_tracker::draw_y
kate_float draw_y
Definition: kate.h:484
kate_info_set_category
int kate_info_set_category(kate_info *ki, const char *category)
Definition: kate_info.c:287
kate_bitmap::pixels
unsigned char * pixels
Definition: kate.h:246
kate_motion_semantics_draw
@ kate_motion_semantics_draw
Definition: kate.h:180
kate_style::italics
unsigned int italics
Definition: kate.h:101
kate_get_bitstream_version
int kate_get_bitstream_version(void)
Definition: kate.c:52
kate_tracker::region_h
kate_float region_h
Definition: kate.h:447
kate_motion::ncurves
size_t ncurves
Definition: kate.h:203
kate_style::background_color
kate_color background_color
Definition: kate.h:87
kate_encode_text_raw_times
int kate_encode_text_raw_times(kate_state *k, kate_int64_t t0, kate_int64_t t1, const char *text, size_t sz, kate_packet *kp)
Definition: kate_encode.c:953
kate_ogg_encode_keepalive_raw_times
int kate_ogg_encode_keepalive_raw_times(kate_state *k, kate_int64_t t, ogg_packet *op)
Definition: kate_ogg.c:175
kate_clear
int kate_clear(kate_state *k)
Definition: kate.c:74
kate_event::start_time
kate_float start_time
Definition: kate.h:363
kate_bitmap_type_png
@ kate_bitmap_type_png
Definition: kate.h:234
kate_bitmap_type_paletted
@ kate_bitmap_type_paletted
Definition: kate.h:233
kate_event::nmotions
size_t nmotions
Definition: kate.h:375
kate_meta_query_count
int kate_meta_query_count(const kate_meta *km)
Definition: kate_meta.c:263
kate_tracker::event
kate_const kate_event * event
Definition: kate.h:406
kate_encode_add_meta
int kate_encode_add_meta(kate_state *k, const kate_meta *km)
Definition: kate_encode.c:1677
kate_info::granule_shift
unsigned char granule_shift
Definition: kate.h:283
kate_event::region
kate_const kate_region * region
Definition: kate.h:378
kate_tracker::bottom_margin
kate_float bottom_margin
Definition: kate.h:499
kate_encode_set_style
int kate_encode_set_style(kate_state *k, const kate_style *ks)
Definition: kate_encode.c:1430
kate_event::font_mapping
kate_const kate_font_mapping * font_mapping
Definition: kate.h:381
KATE_VERSION_PATCH
#define KATE_VERSION_PATCH
Definition: kate.h:23
kate_tracker_clear
int kate_tracker_clear(kate_tracker *kin)
Definition: kate_tracker.c:65
kate_style::strike
unsigned int strike
Definition: kate.h:103
kate_tracker::bitmap_size_x
kate_float bitmap_size_x
Definition: kate.h:506
kate_comment::comment_lengths
int * comment_lengths
Definition: kate.h:349
kate_style::justify
unsigned int justify
Definition: kate.h:104
kate_motion
Definition: kate.h:202
kate_encode_set_markup_type
int kate_encode_set_markup_type(kate_state *k, int text_markup_type)
Definition: kate_encode.c:1659
kate_palette::ncolors
size_t ncolors
Definition: kate.h:225
kate_info_set_language
int kate_info_set_language(kate_info *ki, const char *language)
Definition: kate_info.c:176
kate_packet::nbytes
size_t nbytes
Definition: kate.h:527
kate_info::nregions
size_t nregions
Definition: kate.h:293
kate_decode_seek
int kate_decode_seek(kate_state *k)
Definition: kate_decode.c:1611
kate_event::style
kate_const kate_style * style
Definition: kate.h:379
kate_tracker::bitmap_x
kate_float bitmap_x
Definition: kate.h:502
KATE_E_TEXT
#define KATE_E_TEXT
Definition: kate.h:687
kate_motion_semantics_marker1_position
@ kate_motion_semantics_marker1_position
Definition: kate.h:163
kate_comment_query
const char * kate_comment_query(const kate_comment *kc, const char *tag, int count)
Definition: kate_comment.c:184
kate_encode_set_id
int kate_encode_set_id(kate_state *k, kate_int32_t id)
Definition: kate_encode.c:1612
kate_millionths
@ kate_millionths
Definition: kate.h:47
kate_color
Definition: kate.h:68
kate_tracker::z
unsigned int z
Definition: kate.h:423
kate_encode_headers
int kate_encode_headers(kate_state *k, kate_comment *kc, kate_packet *kp)
Definition: kate_encode.c:1274
kate_packet
Definition: kate.h:526
kate_info_no_limits
int kate_info_no_limits(kate_info *ki, int flag)
Definition: kate_info.c:524
kate_comment_add_tag
int kate_comment_add_tag(kate_comment *kc, const char *tag, const char *value)
Definition: kate_comment.c:156
kate_tracker::region_w
kate_float region_w
Definition: kate.h:446
kate_utf8
@ kate_utf8
Definition: kate.h:34
kate_tracker::text_x
kate_float text_x
Definition: kate.h:454
kate_palette::colors
kate_color * colors
Definition: kate.h:226
kate_get_version_string
const char * kate_get_version_string(void)
Definition: kate.c:42
kate_motion_semantics
kate_motion_semantics
Definition: kate.h:154
kate_info::category
kate_const char * category
Definition: kate.h:291
kate_info_add_palette
int kate_info_add_palette(kate_info *ki, kate_palette *kp)
Definition: kate_info.c:407
kate_region
Definition: kate.h:54
kate_tracker_get_text_path_position
int kate_tracker_get_text_path_position(kate_tracker *kin, size_t glyph, int *x, int *y)
Definition: kate_tracker.c:613
kate_info_add_font_range
int kate_info_add_font_range(kate_info *ki, kate_font_range *kfr)
Definition: kate_info.c:433
kate_tracker::draw_width
unsigned int draw_width
Definition: kate.h:430
kate_bitmap::bpp
unsigned char bpp
Definition: kate.h:241
kate_encode_repeat
int kate_encode_repeat(kate_state *k, kate_float t, kate_float threshold, kate_packet *kp)
Definition: kate_encode.c:1192
kate_meta_remove
int kate_meta_remove(kate_meta *km, unsigned int idx)
Definition: kate_meta.c:308
kate_region::x
int x
Definition: kate.h:56
kate_region::clip
unsigned int clip
Definition: kate.h:61
kate_encode_finish_raw_times
int kate_encode_finish_raw_times(kate_state *k, kate_int64_t t, kate_packet *kp)
Definition: kate_encode.c:1209
kate_motion_semantics_marker1_bitmap
@ kate_motion_semantics_marker1_bitmap
Definition: kate.h:186
kate_decode_packetin
int kate_decode_packetin(kate_state *k, kate_packet *kp)
Definition: kate_decode.c:1548
kate_motion_mapping_event_duration
@ kate_motion_mapping_event_duration
Definition: kate.h:140
kate_ogg_decode_packetin
int kate_ogg_decode_packetin(kate_state *k, ogg_packet *op)
Definition: kate_ogg.c:260
kate_granule_split_time
int kate_granule_split_time(const kate_info *ki, kate_int64_t granulepos, kate_float *base, kate_float *offset)
Definition: kate_granule.c:67
kate_packet_clear
int kate_packet_clear(kate_packet *kp)
Definition: kate_packet.c:76
kate_info_add_curve
int kate_info_add_curve(kate_info *ki, kate_curve *kc)
Definition: kate_info.c:381
kate_style
Definition: kate.h:82
kate_info::ncurves
size_t ncurves
Definition: kate.h:299
kate_tracker_update
int kate_tracker_update(kate_tracker *kin, kate_float t, int window_w, int window_h, int frame_x, int frame_y, int frame_w, int frame_h)
Definition: kate_tracker.c:327
kate_meta_create
int kate_meta_create(kate_meta **km)
Definition: kate_meta.c:40
kate_tracker::glyph_pointer
unsigned int glyph_pointer
Definition: kate.h:419
kate_decode_init
int kate_decode_init(kate_state *k, kate_info *ki)
Definition: kate_decode.c:1160
kate_encode_repeat_raw_times
int kate_encode_repeat_raw_times(kate_state *k, kate_int64_t t, kate_int64_t threshold, kate_packet *kp)
Definition: kate_encode.c:1141
kate_info::nfont_mappings
size_t nfont_mappings
Definition: kate.h:314
kate_event::duration
kate_int64_t duration
Definition: kate.h:360