path: root/libass/
diff options
authorwm4 <wm4@nowhere>2015-07-11 20:33:15 +0200
committerwm4 <wm4@nowhere>2015-07-11 23:09:59 +0200
commit1c55ca966f356030a863479459055c48e98ed1e5 (patch)
tree6130d9d0aeb16bbfb62ff824c900dfaffc227a42 /libass/
parentab9b9cf254a7871f4f8cdee386971f0ba5c58e13 (diff)
directwrite: convert to C
Unfortunately, nobody ever tested the MinGW dwrite.h header in C. There are multiple glaring mistakes, and the header doesn't even compile by itself. The main issues are overloaded functions (which doesn't work in C), and broken COBJMACROS defines. dwrite.diff contains changes to dwrite.h which make libass work. Warning: the patch lacks a required change to the DrawInlineObject method of IDWriteTextRenderer (missing THIS_). Additionally, these definitions would ideally be provided by dwrite.h: DEFINE_GUID(IID_IDWriteFactory, 0xb859ee5a,0xd838,0x4b5b,0xa2,0xe8,0x1a,0xdc,0x7d,0x93,0xdb,0x48); DEFINE_GUID(IID_IDWritePixelSnapping, 0xeaf3a2da,0xecf4,0x4d24,0xb6,0x44,0xb3,0x4f,0x68,0x42,0x02,0x4b); DEFINE_GUID(IID_IDWriteTextRenderer, 0xef8a8135,0x5cc6,0x45fe,0x88,0x25,0xc5,0xa0,0x72,0x4e,0xb8,0x19); Also, in order to make libass compile out of the box with current MinGW/msys installations, a very stripped down in-tree copy of dwrite.h is provided.
Diffstat (limited to 'libass/')
1 files changed, 1 insertions, 1 deletions
diff --git a/libass/ b/libass/
index 4e266f1..2d7bc44 100644
--- a/libass/
+++ b/libass/
@@ -19,7 +19,7 @@ SRC_INTEL_RASTERIZER = x86/rasterizer.asm
SRC_RASTERIZER = ass_rasterizer.h ass_rasterizer.c ass_rasterizer_c.c
-SRC_DIRECTWRITE = ass_directwrite.cpp ass_directwrite.h
+SRC_DIRECTWRITE = ass_directwrite.c ass_directwrite.h dwrite.h
libass_la_SOURCES = ass.c ass_cache.c ass_font.c ass_fontselect.c ass_render.c \