Mercurial > mplayer.hg
view libass/ass_types.h @ 27815:f92271dc5f17
Remove X11 backing store: this is now a useless flag.
Also, it is mandatory for Xserver 1.5.x (part of Xorg 7.4, shipped on all
Linux distributions starting from Oct. 08) and will be removed
from Xserver 1.6 anyhow ...
Patch by Stephane Marchesin (marchesin at icps dot u dash strasbg dot fr).
For more info, see long flame thread at:
http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2008-August/058323.html
author | ben |
---|---|
date | Wed, 29 Oct 2008 22:03:36 +0000 |
parents | 588ce97b44f2 |
children | 0366ab2c1cb9 |
line wrap: on
line source
// -*- c-basic-offset: 8; indent-tabs-mode: t -*- // vim:ts=8:sw=8:noet:ai: /* * Copyright (C) 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com> * * This file is part of libass. * * libass is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * libass is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with libass; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef LIBASS_TYPES_H #define LIBASS_TYPES_H #include <stdint.h> #define VALIGN_SUB 0 #define VALIGN_CENTER 8 #define VALIGN_TOP 4 #define HALIGN_LEFT 1 #define HALIGN_CENTER 2 #define HALIGN_RIGHT 3 /// ass Style: line typedef struct ass_style_s { char* Name; char* FontName; double FontSize; uint32_t PrimaryColour; uint32_t SecondaryColour; uint32_t OutlineColour; uint32_t BackColour; int Bold; int Italic; int Underline; int StrikeOut; double ScaleX; double ScaleY; double Spacing; int Angle; int BorderStyle; double Outline; double Shadow; int Alignment; int MarginL; int MarginR; int MarginV; // int AlphaLevel; int Encoding; } ass_style_t; typedef struct render_priv_s render_priv_t; /// ass_event_t corresponds to a single Dialogue line /// Text is stored as-is, style overrides will be parsed later typedef struct ass_event_s { long long Start; // ms long long Duration; // ms int ReadOrder; int Layer; int Style; char* Name; int MarginL; int MarginR; int MarginV; char* Effect; char* Text; render_priv_t* render_priv; } ass_event_t; typedef struct parser_priv_s parser_priv_t; typedef struct ass_library_s ass_library_t; /// ass track represent either an external script or a matroska subtitle stream (no real difference between them) /// it can be used in rendering after the headers are parsed (i.e. events format line read) typedef struct ass_track_s { int n_styles; // amount used int max_styles; // amount allocated int n_events; int max_events; ass_style_t* styles; // array of styles, max_styles length, n_styles used ass_event_t* events; // the same as styles char* style_format; // style format line (everything after "Format: ") char* event_format; // event format line enum {TRACK_TYPE_UNKNOWN = 0, TRACK_TYPE_ASS, TRACK_TYPE_SSA} track_type; // script header fields int PlayResX; int PlayResY; double Timer; int WrapStyle; int default_style; // index of default style char* name; // file name in case of external subs, 0 for streams ass_library_t* library; parser_priv_t* parser_priv; } ass_track_t; #endif /* LIBASS_TYPES_H */