summaryrefslogtreecommitdiffstats
path: root/libass/ass_priv.h
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_priv.h')
-rw-r--r--libass/ass_priv.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/libass/ass_priv.h b/libass/ass_priv.h
new file mode 100644
index 0000000..3ee2b45
--- /dev/null
+++ b/libass/ass_priv.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
+ *
+ * This file is part of libass.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef LIBASS_PRIV_H
+#define LIBASS_PRIV_H
+
+#include <stdint.h>
+
+typedef enum {
+ PST_UNKNOWN = 0,
+ PST_INFO,
+ PST_STYLES,
+ PST_EVENTS,
+ PST_FONTS
+} ParserState;
+
+typedef enum {
+ SINFO_LANGUAGE = 1 << 0,
+ SINFO_PLAYRESX = 1 << 1,
+ SINFO_PLAYRESY = 1 << 2,
+ SINFO_TIMER = 1 << 3,
+ SINFO_WRAPSTYLE = 1 << 4,
+ SINFO_SCALEDBORDER = 1 << 5,
+ SINFO_COLOURMATRIX = 1 << 6,
+ SINFO_KERNING = 1 << 7,
+ // for legacy detection
+ GENBY_FFMPEG = 1 << 8
+ // max 32 enumerators
+} ScriptInfo;
+
+struct parser_priv {
+ ParserState state;
+ char *fontname;
+ char *fontdata;
+ int fontdata_size;
+ int fontdata_used;
+
+ // contains bitmap of ReadOrder IDs of all read events
+ uint32_t *read_order_bitmap;
+ int read_order_elems; // size in uint32_t units of read_order_bitmap
+ int check_readorder;
+
+ int enable_extensions;
+
+ // tracks [Script Info] headers set by the script
+ uint32_t header_flags;
+};
+
+#endif /* LIBASS_PRIV_H */