summaryrefslogtreecommitdiffstats
path: root/libass/ass_render.c
Commit message (Collapse)AuthorAgeFilesLines
* Make ass_new_font return ass_font_t struct (instead of just FT_Face).eugeni2006-11-261-24/+20
| | | | | | | Use it to access the font face. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21283 b3059339-0415-0410-9bf9-f77b7e298cf2
* Rename:eugeni2006-11-261-4/+4
| | | | | | | | | face_desc_t -> ass_font_desc_t face_cache_item_t -> ass_font_t *face* -> *font* git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21281 b3059339-0415-0410-9bf9-f77b7e298cf2
* Cosmetics: remove unneeded curly brackets.eugeni2006-11-201-3/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21114 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix collision detection. The old method tried to avoid gaps between subtitleseugeni2006-11-201-21/+12
| | | | | | | | by moving the upper subtitle down. This is wrong. With this fix, a subtitle will be moved only if it overlaps with another one. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21113 b3059339-0415-0410-9bf9-f77b7e298cf2
* MSGTRs for libasskraymer2006-11-191-16/+16
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21082 b3059339-0415-0410-9bf9-f77b7e298cf2
* Collect all includes of mplayer headers in libass in a single file (mputils.h).eugeni2006-11-191-4/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21042 b3059339-0415-0410-9bf9-f77b7e298cf2
* Support \t with acceleration.eugeni2006-11-131-1/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20891 b3059339-0415-0410-9bf9-f77b7e298cf2
* s/break/continue/. A crazy mistake, somehow unnoticed for more that 2 months.eugeni2006-11-081-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20795 b3059339-0415-0410-9bf9-f77b7e298cf2
* Calculate text bounding box in a way that does not depend on actual glypheugeni2006-11-061-36/+15
| | | | | | | | bitmaps. Each glyph is considered to be bounded by (origin, origin + advance) horizontally, and (max font ascender, max font descender) vertically. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20734 b3059339-0415-0410-9bf9-f77b7e298cf2
* More precise bounding box calculation for karaoke effects.eugeni2006-11-041-2/+7
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20669 b3059339-0415-0410-9bf9-f77b7e298cf2
* Introduce MSGT_ASS, use it for all libass messages.eugeni2006-11-031-42/+42
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20645 b3059339-0415-0410-9bf9-f77b7e298cf2
* Revert r20517.eugeni2006-10-291-1/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20519 b3059339-0415-0410-9bf9-f77b7e298cf2
* Copy the following functions to libass to avoid dependency on the rest of ↵eugeni2006-10-291-3/+1
| | | | | | | | | | | | mplayer: guess_buffer_cp utf8_get_char blur git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20517 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix width -> orig_width typo.eugeni2006-10-291-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20513 b3059339-0415-0410-9bf9-f77b7e298cf2
* Libass interface reworked:eugeni2006-10-281-33/+33
| | | | | | | | | - ass_instance_t renamed to ass_renderer_t - ass_library_t introduced - use of mplayer-specific global variables limited to ass_mp.c git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20493 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add missing fontconfig_done() call.eugeni2006-10-271-0/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20467 b3059339-0415-0410-9bf9-f77b7e298cf2
* Split ass_configure() into several smaller functions.eugeni2006-10-261-44/+83
| | | | | | | FontConfig initialization moved from ass_init() to ass_set_fonts(). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20462 b3059339-0415-0410-9bf9-f77b7e298cf2
* Don't forget to apply scaling coefficients to kerning values.eugeni2006-10-201-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20326 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix center of rotation calculation. It was overly complex andeugeni2006-10-191-9/+3
| | | | | | | incorrect for right- and center-aligned text. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20308 b3059339-0415-0410-9bf9-f77b7e298cf2
* Center of rotation depends on alignment.eugeni2006-10-181-2/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20302 b3059339-0415-0410-9bf9-f77b7e298cf2
* Support separate rotation angle for each glyph.eugeni2006-10-181-10/+17
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20301 b3059339-0415-0410-9bf9-f77b7e298cf2
* Move base point calculation to a separate function. Will be reused soon.eugeni2006-10-181-26/+41
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20300 b3059339-0415-0410-9bf9-f77b7e298cf2
* Cosmetics: remove commented code.eugeni2006-10-181-5/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20299 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix a typo in collision detection code.eugeni2006-10-181-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20297 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove an outdated debug message.eugeni2006-10-161-1/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20275 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix crash because of last_glyph < first_glyph, probably caused by first linereimar2006-10-151-1/+1
| | | | | | | only consisting of '\n' git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20232 b3059339-0415-0410-9bf9-f77b7e298cf2
* Zerofill libass static variables during initialization.eugeni2006-10-141-0/+4
| | | | | | | Patch by Jindrich Makovicka <makovick a gmail d com>. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20208 b3059339-0415-0410-9bf9-f77b7e298cf2
* Free FT_Stroker during libass deinitialization.eugeni2006-10-141-0/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20207 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add copyright notice and vim/emacs comments to libass and vf_ass.c.eugeni2006-10-011-0/+20
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20014 b3059339-0415-0410-9bf9-f77b7e298cf2
* Shadow support in libass.eugeni2006-09-241-4/+30
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19971 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix width -> orig_width typo causing subtitles to be too far to the rightreimar2006-09-221-1/+1
| | | | | | | for movies with vertical black bars (aspect < monitoraspect). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19946 b3059339-0415-0410-9bf9-f77b7e298cf2
* Move calculation of text parameters (number of lines, height, etc.) fromeugeni2006-09-221-21/+36
| | | | | | | | | | wrap_lines_smart() into a separate function. Call it for every event, even those that do not require line wrapping. This fixes randomly wrong positioning of 'Banner' events. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19938 b3059339-0415-0410-9bf9-f77b7e298cf2
* Move variable declaration to a more deeply nested block. It is not used ↵eugeni2006-09-221-1/+2
| | | | | | outside of it. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19937 b3059339-0415-0410-9bf9-f77b7e298cf2
* Cosmetics: fix indentation after last commit.eugeni2006-09-211-18/+18
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19925 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix FT_Stroker use in libass. The previous variant ended up with 0-widtheugeni2006-09-211-28/+18
| | | | | | | outline in some cases. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19924 b3059339-0415-0410-9bf9-f77b7e298cf2
* In r19831, font size multiplier was mistakenly applied to border width.eugeni2006-09-211-1/+3
| | | | | | | Fixed. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19923 b3059339-0415-0410-9bf9-f77b7e298cf2
* Sort events by ReadOrder (if both layer and start time are equal).eugeni2006-09-191-0/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19912 b3059339-0415-0410-9bf9-f77b7e298cf2
* Calculate text bounding box in such way that it does not depend on the heighteugeni2006-09-191-0/+2
| | | | | | | of individual glyphs. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19910 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix a stupid bug in list concatenation.eugeni2006-09-181-18/+9
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19897 b3059339-0415-0410-9bf9-f77b7e298cf2
* Reduce code duplication in init_render_context().eugeni2006-09-171-77/+84
| | | | | | | Don't use glyph stroker for borderless glyphs. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19879 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add \be (blur edges) support to libass.eugeni2006-09-161-3/+16
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19854 b3059339-0415-0410-9bf9-f77b7e298cf2
* Store bitmap glyphs in a separate struct, instead of FreeType's internal buffer.eugeni2006-09-161-60/+44
| | | | | | | This is required for various bitmap modifications (like blur, outline and shadow). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19852 b3059339-0415-0410-9bf9-f77b7e298cf2
* Make font outline width proportional to movie resolution.eugeni2006-09-131-4/+6
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19831 b3059339-0415-0410-9bf9-f77b7e298cf2
* Bugfix: timing for empty karaoke words was lost, resultingeugeni2006-09-061-5/+21
| | | | | | | in faster than normal karaoke playback. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19722 b3059339-0415-0410-9bf9-f77b7e298cf2
* Workaround for broken fonts with bad ascender/descender.eugeni2006-09-051-7/+11
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19699 b3059339-0415-0410-9bf9-f77b7e298cf2
* Change \fad behaviour so that it does not get cancelled by \r.eugeni2006-09-051-9/+10
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19698 b3059339-0415-0410-9bf9-f77b7e298cf2
* Simplification.eugeni2006-09-051-44/+34
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19697 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add vertical clipping for subtitles that were moved because of a collision.eugeni2006-09-041-0/+15
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19670 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix possible unallocated memory read in libass line wrapping code.eugeni2006-09-041-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19669 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix last commit.eugeni2006-09-031-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19657 b3059339-0415-0410-9bf9-f77b7e298cf2
* More checks in ass_render_event.eugeni2006-09-031-7/+9
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19656 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove unneeded variable.eugeni2006-09-031-4/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19655 b3059339-0415-0410-9bf9-f77b7e298cf2
* Better collision detection algorithm. The idea is to keep a subtitle in placeeugeni2006-09-021-68/+263
| | | | | | | | when a lower placed one disappears, thus improving readability. As a side effect, layers are supported now. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19644 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove some unused code.eugeni2006-09-021-5/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19642 b3059339-0415-0410-9bf9-f77b7e298cf2
* Make \fr* parameter a floating point value.eugeni2006-09-011-4/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19628 b3059339-0415-0410-9bf9-f77b7e298cf2
* Bugfix: wrong height value used in font size calculation.eugeni2006-08-311-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19616 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix font scaling taking margins into account.eugeni2006-08-281-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19572 b3059339-0415-0410-9bf9-f77b7e298cf2
* Cosmetics: fix indentation after r19562.eugeni2006-08-271-29/+29
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19563 b3059339-0415-0410-9bf9-f77b7e298cf2
* Transition effects support.eugeni2006-08-271-22/+113
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19562 b3059339-0415-0410-9bf9-f77b7e298cf2
* Reset glyph cache on reconfigure.eugeni2006-08-261-1/+7
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19545 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add right and left margins support to libass.eugeni2006-08-261-4/+14
| | | | | | | Add ability to not use margins even when they are available. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19544 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix previous commit.eugeni2006-08-241-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19524 b3059339-0415-0410-9bf9-f77b7e298cf2
* Simplify vf_ass initialization.eugeni2006-08-241-3/+7
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19523 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix wrong handling of transparency in \fad(\fade).eugeni2006-08-161-4/+15
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19412 b3059339-0415-0410-9bf9-f77b7e298cf2
* Replace stdint.h with inttypes.h.eugeni2006-08-151-1/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19411 b3059339-0415-0410-9bf9-f77b7e298cf2
* Angle value from style was ignored. Not anymore.eugeni2006-08-151-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19410 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add subdata to ass_track conversion for external subtitles.eugeni2006-08-151-1/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19407 b3059339-0415-0410-9bf9-f77b7e298cf2
* Cosmetics: fix indentation after the last patch.eugeni2006-08-151-12/+12
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19405 b3059339-0415-0410-9bf9-f77b7e298cf2
* Allow \fade to be used in place of \fad and vice versa.eugeni2006-08-151-21/+23
| | | | | | | Now they are distinguished by the number of arguments. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19404 b3059339-0415-0410-9bf9-f77b7e298cf2
* Replace %lld with PRId64, part 2.eugeni2006-08-131-1/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19384 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix compilation with gcc 2.95.eugeni2006-08-121-6/+7
| | | | | | | Patch by Jason Tackaberry, tack at urandom dot ca. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19376 b3059339-0415-0410-9bf9-f77b7e298cf2
* marks several read-only string parameters which aren't modified inside the ↵reynaldo2006-07-151-1/+1
| | | | | | called function as const. Patch by Stefan Huehner, stefan AT huehner-org git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19109 b3059339-0415-0410-9bf9-f77b7e298cf2
* marks several function without a prototype which arent used outside its ↵reynaldo2006-07-131-2/+2
| | | | | | sourcefile as static, Patch by Stefan Huehner - stefan AT huehner-org git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19071 b3059339-0415-0410-9bf9-f77b7e298cf2
* Support 6 argument variant of \move.eugeni2006-07-121-7/+20
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19049 b3059339-0415-0410-9bf9-f77b7e298cf2
* Ignoring FT_Glyph_Stroke() errors can potentially lead to double free().eugeni2006-07-101-1/+5
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19007 b3059339-0415-0410-9bf9-f77b7e298cf2
* Initial libass release (without mencoder support).eugeni2006-07-071-0/+1766
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18942 b3059339-0415-0410-9bf9-f77b7e298cf2