gl_common: minor cleanup/refactor
[mplayer.git] / sub / ass_mp.h
blob3cfbe147b79af019caff099fd7e485887972b109
1 /*
2 * Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com>
4 * This file is part of MPlayer.
6 * MPlayer is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * MPlayer is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with libass; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 #ifndef MPLAYER_ASS_MP_H
22 #define MPLAYER_ASS_MP_H
24 #include <stdint.h>
25 #include <stdbool.h>
27 #include "config.h"
28 #include "subreader.h"
30 #ifdef CONFIG_ASS
31 #include <ass/ass.h>
32 #include <ass/ass_types.h>
34 struct MPOpts;
35 struct mp_eosd_res;
37 ASS_Track *mp_ass_default_track(ASS_Library *library, struct MPOpts *opts);
38 ASS_Track *mp_ass_read_subdata(ASS_Library *library, struct MPOpts *opts,
39 sub_data *subdata, double fps);
40 ASS_Track *mp_ass_read_stream(ASS_Library *library, const char *fname,
41 char *charset);
43 struct MPOpts;
44 void mp_ass_configure(ASS_Renderer *priv, struct MPOpts *opts,
45 struct mp_eosd_res *dim, bool unscaled);
46 void mp_ass_configure_fonts(ASS_Renderer *priv);
47 ASS_Library *mp_ass_init(struct MPOpts *opts);
49 #else /* CONFIG_ASS */
51 /* Needed for EOSD code using this type to compile */
53 typedef struct ass_image {
54 int w, h;
55 int stride;
56 unsigned char *bitmap;
57 uint32_t color;
58 int dst_x, dst_y;
59 struct ass_image *next;
60 } ASS_Image;
62 #endif
64 #endif /* MPLAYER_ASS_MP_H */