diff options
| author | Po Lu | 2024-10-26 08:39:24 +0800 |
|---|---|---|
| committer | Po Lu | 2024-10-26 08:39:24 +0800 |
| commit | 574e97575f4331f43fc079b3bfa6d74213bc2559 (patch) | |
| tree | c26c89eb1b18d4b5243240cc36da28d407988584 /src/w32dwrite.c | |
| parent | 76268160ba9262a8479589427b8e783db0242260 (diff) | |
| download | emacs-574e97575f4331f43fc079b3bfa6d74213bc2559.tar.gz emacs-574e97575f4331f43fc079b3bfa6d74213bc2559.zip | |
; Fix coding style of Uniscribe files
* src/w32dwrite.c (EMACS_DWRITE_UNUSED, IDWriteFontFaceVtbl)
(IDWriteFontFace, IDWriteRenderingParamsVtbl)
(IDWriteRenderingParams, IDWriteFontVtbl, IDWriteFont)
(IDWriteBitmapRenderTargetVtbl, IDWriteBitmapRenderTarget)
(IDWriteBitmapRenderTarget1, IDWriteGdiInteropVtbl)
(IDWriteGdiInterop, IDWriteFactoryVtbl, IDWriteFactory)
(IDWriteColorGlyphRunEnumeratorVtbl)
(IDWriteColorGlyphRunEnumerator, IDWriteFactory2Vtbl)
(IDWriteFactory2, get_font_face, text_extents_internal)
(w32_initialize_direct_write, w32_dwrite_draw)
(w32_use_direct_write):
* src/w32font.c (w32font_text_extents, w32font_draw):
* src/w32uniscribe.c (uniscribe_open): Correct coding style.
Diffstat (limited to 'src/w32dwrite.c')
| -rw-r--r-- | src/w32dwrite.c | 137 |
1 files changed, 70 insertions, 67 deletions
diff --git a/src/w32dwrite.c b/src/w32dwrite.c index 1ca965fe374..ecc33af5f3f 100644 --- a/src/w32dwrite.c +++ b/src/w32dwrite.c | |||
| @@ -56,7 +56,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ | |||
| 56 | we don't use are declared with the EMACS_DWRITE_UNUSED macro, to | 56 | we don't use are declared with the EMACS_DWRITE_UNUSED macro, to |
| 57 | avoid bringing in more types that would need to be declared. */ | 57 | avoid bringing in more types that would need to be declared. */ |
| 58 | 58 | ||
| 59 | #define EMACS_DWRITE_UNUSED(name) void (STDMETHODCALLTYPE *name)(void) | 59 | #define EMACS_DWRITE_UNUSED(name) void (STDMETHODCALLTYPE *name) (void) |
| 60 | 60 | ||
| 61 | #define DWRITE_E_NOCOLOR _HRESULT_TYPEDEF_(0x8898500CL) | 61 | #define DWRITE_E_NOCOLOR _HRESULT_TYPEDEF_(0x8898500CL) |
| 62 | 62 | ||
| @@ -125,9 +125,12 @@ typedef interface IDWriteBitmapRenderTarget IDWriteBitmapRenderTarget; | |||
| 125 | typedef interface IDWriteBitmapRenderTarget1 IDWriteBitmapRenderTarget1; | 125 | typedef interface IDWriteBitmapRenderTarget1 IDWriteBitmapRenderTarget1; |
| 126 | typedef interface IDWriteColorGlyphRunEnumerator IDWriteColorGlyphRunEnumerator; | 126 | typedef interface IDWriteColorGlyphRunEnumerator IDWriteColorGlyphRunEnumerator; |
| 127 | 127 | ||
| 128 | DEFINE_GUID(IID_IDWriteBitmapRenderTarget1, 0x791e8298, 0x3ef3, 0x4230, 0x98,0x80, 0xc9,0xbd,0xec,0xc4,0x20,0x64); | 128 | DEFINE_GUID (IID_IDWriteBitmapRenderTarget1, 0x791e8298, 0x3ef3, 0x4230, 0x98, |
| 129 | DEFINE_GUID(IID_IDWriteFactory2, 0x0439fc60, 0xca44, 0x4994, 0x8d,0xee, 0x3a,0x9a,0xf7,0xb7,0x32,0xec); | 129 | 0x80, 0xc9, 0xbd, 0xec, 0xc4, 0x20, 0x64); |
| 130 | DEFINE_GUID(IID_IDWriteFactory, 0xb859ee5a, 0xd838, 0x4b5b, 0xa2,0xe8, 0x1a,0xdc,0x7d,0x93,0xdb,0x48); | 130 | DEFINE_GUID (IID_IDWriteFactory2, 0x0439fc60, 0xca44, 0x4994, 0x8d, 0xee, |
| 131 | 0x3a, 0x9a, 0xf7, 0xb7, 0x32, 0xec); | ||
| 132 | DEFINE_GUID (IID_IDWriteFactory, 0xb859ee5a, 0xd838, 0x4b5b, 0xa2, 0xe8, 0x1a, | ||
| 133 | 0xdc, 0x7d, 0x93, 0xdb, 0x48); | ||
| 131 | 134 | ||
| 132 | typedef struct DWRITE_GLYPH_OFFSET { | 135 | typedef struct DWRITE_GLYPH_OFFSET { |
| 133 | FLOAT advanceOffset; | 136 | FLOAT advanceOffset; |
| @@ -168,14 +171,14 @@ typedef struct IDWriteFontFaceVtbl { | |||
| 168 | 171 | ||
| 169 | HRESULT (STDMETHODCALLTYPE *QueryInterface) | 172 | HRESULT (STDMETHODCALLTYPE *QueryInterface) |
| 170 | (IDWriteFontFace *This, REFIID riid, void **ppvObject); | 173 | (IDWriteFontFace *This, REFIID riid, void **ppvObject); |
| 171 | ULONG (STDMETHODCALLTYPE *AddRef)(IDWriteFontFace *This); | 174 | ULONG (STDMETHODCALLTYPE *AddRef) (IDWriteFontFace *This); |
| 172 | ULONG (STDMETHODCALLTYPE *Release)(IDWriteFontFace *This); | 175 | ULONG (STDMETHODCALLTYPE *Release) (IDWriteFontFace *This); |
| 173 | 176 | ||
| 174 | EMACS_DWRITE_UNUSED(GetType); | 177 | EMACS_DWRITE_UNUSED (GetType); |
| 175 | EMACS_DWRITE_UNUSED(GetFiles); | 178 | EMACS_DWRITE_UNUSED (GetFiles); |
| 176 | EMACS_DWRITE_UNUSED(GetIndex); | 179 | EMACS_DWRITE_UNUSED (GetIndex); |
| 177 | EMACS_DWRITE_UNUSED(GetSimulations); | 180 | EMACS_DWRITE_UNUSED (GetSimulations); |
| 178 | EMACS_DWRITE_UNUSED(IsSymbolFont); | 181 | EMACS_DWRITE_UNUSED (IsSymbolFont); |
| 179 | 182 | ||
| 180 | void (STDMETHODCALLTYPE *GetMetrics) | 183 | void (STDMETHODCALLTYPE *GetMetrics) |
| 181 | (IDWriteFontFace *This, DWRITE_FONT_METRICS *metrics); | 184 | (IDWriteFontFace *This, DWRITE_FONT_METRICS *metrics); |
| @@ -207,7 +210,7 @@ typedef struct IDWriteFontFaceVtbl { | |||
| 207 | } IDWriteFontFaceVtbl; | 210 | } IDWriteFontFaceVtbl; |
| 208 | 211 | ||
| 209 | interface IDWriteFontFace { | 212 | interface IDWriteFontFace { |
| 210 | CONST_VTBL IDWriteFontFaceVtbl* lpVtbl; | 213 | CONST_VTBL IDWriteFontFaceVtbl *lpVtbl; |
| 211 | }; | 214 | }; |
| 212 | 215 | ||
| 213 | typedef struct IDWriteRenderingParamsVtbl { | 216 | typedef struct IDWriteRenderingParamsVtbl { |
| @@ -215,8 +218,8 @@ typedef struct IDWriteRenderingParamsVtbl { | |||
| 215 | 218 | ||
| 216 | HRESULT (STDMETHODCALLTYPE *QueryInterface) | 219 | HRESULT (STDMETHODCALLTYPE *QueryInterface) |
| 217 | (IDWriteRenderingParams *This, REFIID riid, void **ppvObject); | 220 | (IDWriteRenderingParams *This, REFIID riid, void **ppvObject); |
| 218 | ULONG (STDMETHODCALLTYPE *AddRef)(IDWriteRenderingParams *This); | 221 | ULONG (STDMETHODCALLTYPE *AddRef) (IDWriteRenderingParams *This); |
| 219 | ULONG (STDMETHODCALLTYPE *Release)(IDWriteRenderingParams *This); | 222 | ULONG (STDMETHODCALLTYPE *Release) (IDWriteRenderingParams *This); |
| 220 | 223 | ||
| 221 | FLOAT (STDMETHODCALLTYPE *GetGamma) | 224 | FLOAT (STDMETHODCALLTYPE *GetGamma) |
| 222 | (IDWriteRenderingParams *This); | 225 | (IDWriteRenderingParams *This); |
| @@ -230,7 +233,7 @@ typedef struct IDWriteRenderingParamsVtbl { | |||
| 230 | } IDWriteRenderingParamsVtbl; | 233 | } IDWriteRenderingParamsVtbl; |
| 231 | 234 | ||
| 232 | interface IDWriteRenderingParams { | 235 | interface IDWriteRenderingParams { |
| 233 | CONST_VTBL IDWriteRenderingParamsVtbl* lpVtbl; | 236 | CONST_VTBL IDWriteRenderingParamsVtbl *lpVtbl; |
| 234 | }; | 237 | }; |
| 235 | 238 | ||
| 236 | typedef struct IDWriteFontVtbl { | 239 | typedef struct IDWriteFontVtbl { |
| @@ -238,8 +241,8 @@ typedef struct IDWriteFontVtbl { | |||
| 238 | 241 | ||
| 239 | HRESULT (STDMETHODCALLTYPE *QueryInterface) | 242 | HRESULT (STDMETHODCALLTYPE *QueryInterface) |
| 240 | (IDWriteFont *This, REFIID riid, void **ppvObject); | 243 | (IDWriteFont *This, REFIID riid, void **ppvObject); |
| 241 | ULONG (STDMETHODCALLTYPE *AddRef)(IDWriteFont *This); | 244 | ULONG (STDMETHODCALLTYPE *AddRef) (IDWriteFont *This); |
| 242 | ULONG (STDMETHODCALLTYPE *Release)(IDWriteFont *This); | 245 | ULONG (STDMETHODCALLTYPE *Release) (IDWriteFont *This); |
| 243 | 246 | ||
| 244 | EMACS_DWRITE_UNUSED (GetFontFamily); | 247 | EMACS_DWRITE_UNUSED (GetFontFamily); |
| 245 | EMACS_DWRITE_UNUSED (GetWeight); | 248 | EMACS_DWRITE_UNUSED (GetWeight); |
| @@ -253,7 +256,7 @@ typedef struct IDWriteFontVtbl { | |||
| 253 | void (STDMETHODCALLTYPE *GetMetrics) | 256 | void (STDMETHODCALLTYPE *GetMetrics) |
| 254 | (IDWriteFont *This, DWRITE_FONT_METRICS *metrics); | 257 | (IDWriteFont *This, DWRITE_FONT_METRICS *metrics); |
| 255 | 258 | ||
| 256 | EMACS_DWRITE_UNUSED(HasCharacter); | 259 | EMACS_DWRITE_UNUSED (HasCharacter); |
| 257 | 260 | ||
| 258 | HRESULT (STDMETHODCALLTYPE *CreateFontFace) | 261 | HRESULT (STDMETHODCALLTYPE *CreateFontFace) |
| 259 | (IDWriteFont *This, IDWriteFontFace **face); | 262 | (IDWriteFont *This, IDWriteFontFace **face); |
| @@ -262,7 +265,7 @@ typedef struct IDWriteFontVtbl { | |||
| 262 | } IDWriteFontVtbl; | 265 | } IDWriteFontVtbl; |
| 263 | 266 | ||
| 264 | interface IDWriteFont { | 267 | interface IDWriteFont { |
| 265 | CONST_VTBL IDWriteFontVtbl* lpVtbl; | 268 | CONST_VTBL IDWriteFontVtbl *lpVtbl; |
| 266 | }; | 269 | }; |
| 267 | 270 | ||
| 268 | typedef struct IDWriteBitmapRenderTargetVtbl { | 271 | typedef struct IDWriteBitmapRenderTargetVtbl { |
| @@ -270,8 +273,8 @@ typedef struct IDWriteBitmapRenderTargetVtbl { | |||
| 270 | 273 | ||
| 271 | HRESULT (STDMETHODCALLTYPE *QueryInterface) | 274 | HRESULT (STDMETHODCALLTYPE *QueryInterface) |
| 272 | (IDWriteBitmapRenderTarget *This, REFIID riid, void **ppvObject); | 275 | (IDWriteBitmapRenderTarget *This, REFIID riid, void **ppvObject); |
| 273 | ULONG (STDMETHODCALLTYPE *AddRef)(IDWriteBitmapRenderTarget *This); | 276 | ULONG (STDMETHODCALLTYPE *AddRef) (IDWriteBitmapRenderTarget *This); |
| 274 | ULONG (STDMETHODCALLTYPE *Release)(IDWriteBitmapRenderTarget *This); | 277 | ULONG (STDMETHODCALLTYPE *Release) (IDWriteBitmapRenderTarget *This); |
| 275 | 278 | ||
| 276 | HRESULT (STDMETHODCALLTYPE *DrawGlyphRun) | 279 | HRESULT (STDMETHODCALLTYPE *DrawGlyphRun) |
| 277 | (IDWriteBitmapRenderTarget *This, | 280 | (IDWriteBitmapRenderTarget *This, |
| @@ -283,7 +286,7 @@ typedef struct IDWriteBitmapRenderTargetVtbl { | |||
| 283 | COLORREF textColor, | 286 | COLORREF textColor, |
| 284 | RECT *blackbox_rect); | 287 | RECT *blackbox_rect); |
| 285 | 288 | ||
| 286 | HDC (STDMETHODCALLTYPE *GetMemoryDC)(IDWriteBitmapRenderTarget *This); | 289 | HDC (STDMETHODCALLTYPE *GetMemoryDC) (IDWriteBitmapRenderTarget *This); |
| 287 | 290 | ||
| 288 | EMACS_DWRITE_UNUSED (GetPixelsPerDip); | 291 | EMACS_DWRITE_UNUSED (GetPixelsPerDip); |
| 289 | 292 | ||
| @@ -298,7 +301,7 @@ typedef struct IDWriteBitmapRenderTargetVtbl { | |||
| 298 | } IDWriteBitmapRenderTargetVtbl; | 301 | } IDWriteBitmapRenderTargetVtbl; |
| 299 | 302 | ||
| 300 | interface IDWriteBitmapRenderTarget { | 303 | interface IDWriteBitmapRenderTarget { |
| 301 | CONST_VTBL IDWriteBitmapRenderTargetVtbl* lpVtbl; | 304 | CONST_VTBL IDWriteBitmapRenderTargetVtbl *lpVtbl; |
| 302 | }; | 305 | }; |
| 303 | 306 | ||
| 304 | typedef struct IDWriteBitmapRenderTarget1Vtbl { | 307 | typedef struct IDWriteBitmapRenderTarget1Vtbl { |
| @@ -326,7 +329,7 @@ typedef struct IDWriteBitmapRenderTarget1Vtbl { | |||
| 326 | } IDWriteBitmapRenderTarget1Vtbl; | 329 | } IDWriteBitmapRenderTarget1Vtbl; |
| 327 | 330 | ||
| 328 | interface IDWriteBitmapRenderTarget1 { | 331 | interface IDWriteBitmapRenderTarget1 { |
| 329 | CONST_VTBL IDWriteBitmapRenderTarget1Vtbl* lpVtbl; | 332 | CONST_VTBL IDWriteBitmapRenderTarget1Vtbl *lpVtbl; |
| 330 | }; | 333 | }; |
| 331 | 334 | ||
| 332 | typedef struct IDWriteGdiInteropVtbl { | 335 | typedef struct IDWriteGdiInteropVtbl { |
| @@ -334,8 +337,8 @@ typedef struct IDWriteGdiInteropVtbl { | |||
| 334 | 337 | ||
| 335 | HRESULT (STDMETHODCALLTYPE *QueryInterface) | 338 | HRESULT (STDMETHODCALLTYPE *QueryInterface) |
| 336 | (IDWriteGdiInterop *This, REFIID riid, void **ppvObject); | 339 | (IDWriteGdiInterop *This, REFIID riid, void **ppvObject); |
| 337 | ULONG (STDMETHODCALLTYPE *AddRef)(IDWriteGdiInterop *This); | 340 | ULONG (STDMETHODCALLTYPE *AddRef) (IDWriteGdiInterop *This); |
| 338 | ULONG (STDMETHODCALLTYPE *Release)(IDWriteGdiInterop *This); | 341 | ULONG (STDMETHODCALLTYPE *Release) (IDWriteGdiInterop *This); |
| 339 | 342 | ||
| 340 | HRESULT (STDMETHODCALLTYPE *CreateFontFromLOGFONT) | 343 | HRESULT (STDMETHODCALLTYPE *CreateFontFromLOGFONT) |
| 341 | (IDWriteGdiInterop *This, const LOGFONTW *logfont, | 344 | (IDWriteGdiInterop *This, const LOGFONTW *logfont, |
| @@ -352,7 +355,7 @@ typedef struct IDWriteGdiInteropVtbl { | |||
| 352 | } IDWriteGdiInteropVtbl; | 355 | } IDWriteGdiInteropVtbl; |
| 353 | 356 | ||
| 354 | interface IDWriteGdiInterop { | 357 | interface IDWriteGdiInterop { |
| 355 | CONST_VTBL IDWriteGdiInteropVtbl* lpVtbl; | 358 | CONST_VTBL IDWriteGdiInteropVtbl *lpVtbl; |
| 356 | }; | 359 | }; |
| 357 | 360 | ||
| 358 | typedef struct IDWriteFactoryVtbl { | 361 | typedef struct IDWriteFactoryVtbl { |
| @@ -360,8 +363,8 @@ typedef struct IDWriteFactoryVtbl { | |||
| 360 | 363 | ||
| 361 | HRESULT (STDMETHODCALLTYPE *QueryInterface) | 364 | HRESULT (STDMETHODCALLTYPE *QueryInterface) |
| 362 | (IDWriteFactory *This, REFIID riid, void **ppvObject); | 365 | (IDWriteFactory *This, REFIID riid, void **ppvObject); |
| 363 | ULONG (STDMETHODCALLTYPE *AddRef)(IDWriteFactory *This); | 366 | ULONG (STDMETHODCALLTYPE *AddRef) (IDWriteFactory *This); |
| 364 | ULONG (STDMETHODCALLTYPE *Release)(IDWriteFactory *This); | 367 | ULONG (STDMETHODCALLTYPE *Release) (IDWriteFactory *This); |
| 365 | 368 | ||
| 366 | EMACS_DWRITE_UNUSED (GetSystemFontCollection); | 369 | EMACS_DWRITE_UNUSED (GetSystemFontCollection); |
| 367 | EMACS_DWRITE_UNUSED (CreateCustomFontCollection); | 370 | EMACS_DWRITE_UNUSED (CreateCustomFontCollection); |
| @@ -392,37 +395,35 @@ typedef struct IDWriteFactoryVtbl { | |||
| 392 | END_INTERFACE | 395 | END_INTERFACE |
| 393 | } IDWriteFactoryVtbl; | 396 | } IDWriteFactoryVtbl; |
| 394 | 397 | ||
| 395 | interface IDWriteFactory { CONST_VTBL IDWriteFactoryVtbl* lpVtbl; }; | 398 | interface IDWriteFactory { CONST_VTBL IDWriteFactoryVtbl *lpVtbl; }; |
| 396 | 399 | ||
| 397 | typedef struct IDWriteColorGlyphRunEnumeratorVtbl { | 400 | typedef struct IDWriteColorGlyphRunEnumeratorVtbl { |
| 398 | BEGIN_INTERFACE | 401 | BEGIN_INTERFACE |
| 399 | 402 | ||
| 400 | HRESULT (STDMETHODCALLTYPE *QueryInterface) | 403 | HRESULT (STDMETHODCALLTYPE *QueryInterface) |
| 401 | (IDWriteColorGlyphRunEnumerator *This, REFIID riid, void **ppvObject); | 404 | (IDWriteColorGlyphRunEnumerator *This, REFIID riid, void **ppvObject); |
| 402 | ULONG (STDMETHODCALLTYPE *AddRef)(IDWriteColorGlyphRunEnumerator *This); | 405 | ULONG (STDMETHODCALLTYPE *AddRef) (IDWriteColorGlyphRunEnumerator *This); |
| 403 | ULONG (STDMETHODCALLTYPE *Release)(IDWriteColorGlyphRunEnumerator *This); | 406 | ULONG (STDMETHODCALLTYPE *Release) (IDWriteColorGlyphRunEnumerator *This); |
| 404 | 407 | ||
| 405 | HRESULT (STDMETHODCALLTYPE *MoveNext)( | 408 | HRESULT (STDMETHODCALLTYPE *MoveNext) (IDWriteColorGlyphRunEnumerator *This, |
| 406 | IDWriteColorGlyphRunEnumerator *This, | 409 | WINBOOL *hasRun); |
| 407 | WINBOOL *hasRun); | ||
| 408 | 410 | ||
| 409 | HRESULT (STDMETHODCALLTYPE *GetCurrentRun)( | 411 | HRESULT (STDMETHODCALLTYPE *GetCurrentRun) (IDWriteColorGlyphRunEnumerator *This, |
| 410 | IDWriteColorGlyphRunEnumerator *This, | 412 | const DWRITE_COLOR_GLYPH_RUN **run); |
| 411 | const DWRITE_COLOR_GLYPH_RUN **run); | ||
| 412 | 413 | ||
| 413 | END_INTERFACE | 414 | END_INTERFACE |
| 414 | } IDWriteColorGlyphRunEnumeratorVtbl; | 415 | } IDWriteColorGlyphRunEnumeratorVtbl; |
| 415 | 416 | ||
| 416 | interface IDWriteColorGlyphRunEnumerator { | 417 | interface IDWriteColorGlyphRunEnumerator { |
| 417 | CONST_VTBL IDWriteColorGlyphRunEnumeratorVtbl* lpVtbl; | 418 | CONST_VTBL IDWriteColorGlyphRunEnumeratorVtbl *lpVtbl; |
| 418 | }; | 419 | }; |
| 419 | 420 | ||
| 420 | typedef struct IDWriteFactory2Vtbl { | 421 | typedef struct IDWriteFactory2Vtbl { |
| 421 | BEGIN_INTERFACE | 422 | BEGIN_INTERFACE |
| 422 | HRESULT (STDMETHODCALLTYPE *QueryInterface) | 423 | HRESULT (STDMETHODCALLTYPE *QueryInterface) |
| 423 | (IDWriteFactory2 *This, REFIID riid, void **ppvObject); | 424 | (IDWriteFactory2 *This, REFIID riid, void **ppvObject); |
| 424 | ULONG (STDMETHODCALLTYPE *AddRef)(IDWriteFactory2 *This); | 425 | ULONG (STDMETHODCALLTYPE *AddRef) (IDWriteFactory2 *This); |
| 425 | ULONG (STDMETHODCALLTYPE *Release)(IDWriteFactory2 *This); | 426 | ULONG (STDMETHODCALLTYPE *Release) (IDWriteFactory2 *This); |
| 426 | EMACS_DWRITE_UNUSED (GetSystemFontCollection); | 427 | EMACS_DWRITE_UNUSED (GetSystemFontCollection); |
| 427 | EMACS_DWRITE_UNUSED (CreateCustomFontCollection); | 428 | EMACS_DWRITE_UNUSED (CreateCustomFontCollection); |
| 428 | EMACS_DWRITE_UNUSED (RegisterFontCollectionLoader); | 429 | EMACS_DWRITE_UNUSED (RegisterFontCollectionLoader); |
| @@ -467,7 +468,7 @@ typedef struct IDWriteFactory2Vtbl { | |||
| 467 | } IDWriteFactory2Vtbl; | 468 | } IDWriteFactory2Vtbl; |
| 468 | 469 | ||
| 469 | interface IDWriteFactory2 { | 470 | interface IDWriteFactory2 { |
| 470 | CONST_VTBL IDWriteFactory2Vtbl* lpVtbl; | 471 | CONST_VTBL IDWriteFactory2Vtbl *lpVtbl; |
| 471 | }; | 472 | }; |
| 472 | #else /* MINGW_W64 */ | 473 | #else /* MINGW_W64 */ |
| 473 | # include <dwrite_3.h> | 474 | # include <dwrite_3.h> |
| @@ -529,15 +530,15 @@ get_font_face (struct font *infont, IDWriteFontFace **face) | |||
| 529 | LOGFONTW logfont; | 530 | LOGFONTW logfont; |
| 530 | IDWriteFont *font; | 531 | IDWriteFont *font; |
| 531 | 532 | ||
| 532 | struct uniscribe_font_info *uniscribe_font = | 533 | struct uniscribe_font_info *uniscribe_font |
| 533 | (struct uniscribe_font_info *) infont; | 534 | = (struct uniscribe_font_info *) infont; |
| 534 | 535 | ||
| 535 | /* Check the cache. */ | 536 | /* Check the cache. */ |
| 536 | *face = uniscribe_font->dwrite_cache; | 537 | *face = uniscribe_font->dwrite_cache; |
| 537 | if (*face) | 538 | if (*face) |
| 538 | return uniscribe_font->dwrite_font_size; | 539 | return uniscribe_font->dwrite_font_size; |
| 539 | 540 | ||
| 540 | GetObjectW (FONT_HANDLE(infont), sizeof (LOGFONTW), &logfont); | 541 | GetObjectW (FONT_HANDLE (infont), sizeof (LOGFONTW), &logfont); |
| 541 | 542 | ||
| 542 | hr = gdi_interop->lpVtbl->CreateFontFromLOGFONT (gdi_interop, | 543 | hr = gdi_interop->lpVtbl->CreateFontFromLOGFONT (gdi_interop, |
| 543 | (const LOGFONTW *) &logfont, | 544 | (const LOGFONTW *) &logfont, |
| @@ -597,8 +598,8 @@ text_extents_internal (IDWriteFontFace *dwrite_font_face, | |||
| 597 | for (int i = 0; i < nglyphs; i++) | 598 | for (int i = 0; i < nglyphs; i++) |
| 598 | indices[i] = code[i]; | 599 | indices[i] = code[i]; |
| 599 | 600 | ||
| 600 | DWRITE_GLYPH_METRICS* gmetrics = | 601 | DWRITE_GLYPH_METRICS *gmetrics |
| 601 | SAFE_ALLOCA (nglyphs * sizeof (DWRITE_GLYPH_METRICS)); | 602 | = SAFE_ALLOCA (nglyphs * sizeof (DWRITE_GLYPH_METRICS)); |
| 602 | 603 | ||
| 603 | hr = dwrite_font_face->lpVtbl->GetGdiCompatibleGlyphMetrics (dwrite_font_face, | 604 | hr = dwrite_font_face->lpVtbl->GetGdiCompatibleGlyphMetrics (dwrite_font_face, |
| 604 | font_size, | 605 | font_size, |
| @@ -620,18 +621,18 @@ text_extents_internal (IDWriteFontFace *dwrite_font_face, | |||
| 620 | 621 | ||
| 621 | for (int i = 0; i < nglyphs; i++) | 622 | for (int i = 0; i < nglyphs; i++) |
| 622 | { | 623 | { |
| 623 | float advance = | 624 | float advance |
| 624 | convert_metrics_sz (gmetrics[i].advanceWidth, font_size, du_per_em); | 625 | = convert_metrics_sz (gmetrics[i].advanceWidth, font_size, du_per_em); |
| 625 | 626 | ||
| 626 | width += advance; | 627 | width += advance; |
| 627 | 628 | ||
| 628 | float lbearing = | 629 | float lbearing |
| 629 | round (convert_metrics_sz (gmetrics[i].leftSideBearing, font_size, | 630 | = round (convert_metrics_sz (gmetrics[i].leftSideBearing, font_size, |
| 630 | du_per_em)); | 631 | du_per_em)); |
| 631 | float rbearing = | 632 | float rbearing |
| 632 | round (advance - | 633 | = round (advance - |
| 633 | convert_metrics_sz (gmetrics[i].rightSideBearing, | 634 | convert_metrics_sz (gmetrics[i].rightSideBearing, |
| 634 | font_size, du_per_em)); | 635 | font_size, du_per_em)); |
| 635 | if (i == 0) | 636 | if (i == 0) |
| 636 | { | 637 | { |
| 637 | metrics->lbearing = lbearing; | 638 | metrics->lbearing = lbearing; |
| @@ -759,7 +760,8 @@ w32_initialize_direct_write (void) | |||
| 759 | return; | 760 | return; |
| 760 | 761 | ||
| 761 | /* This is only used here, no need to define it globally. */ | 762 | /* This is only used here, no need to define it globally. */ |
| 762 | typedef HRESULT (WINAPI *DWCreateFactory) (DWRITE_FACTORY_TYPE f, REFIID r, IUnknown** u); | 763 | typedef HRESULT (WINAPI *DWCreateFactory) (DWRITE_FACTORY_TYPE, |
| 764 | REFIID, IUnknown **); | ||
| 763 | 765 | ||
| 764 | DWCreateFactory dw_create_factory | 766 | DWCreateFactory dw_create_factory |
| 765 | = (DWCreateFactory) get_proc_addr (direct_write, | 767 | = (DWCreateFactory) get_proc_addr (direct_write, |
| @@ -843,7 +845,7 @@ w32_initialize_direct_write (void) | |||
| 843 | config_gamma, | 845 | config_gamma, |
| 844 | config_enhanced_contrast, | 846 | config_enhanced_contrast, |
| 845 | config_clear_type_level, | 847 | config_clear_type_level, |
| 846 | def->lpVtbl->GetPixelGeometry(def), | 848 | def->lpVtbl->GetPixelGeometry (def), |
| 847 | RENDERING_MODE, | 849 | RENDERING_MODE, |
| 848 | &rendering_params); | 850 | &rendering_params); |
| 849 | 851 | ||
| @@ -851,7 +853,8 @@ w32_initialize_direct_write (void) | |||
| 851 | 853 | ||
| 852 | if (FAILED (hr)) | 854 | if (FAILED (hr)) |
| 853 | { | 855 | { |
| 854 | DebPrint (("DirectWrite HRESULT failed: (%d) CreateCustomRenderingParams\n", hr)); | 856 | DebPrint (("DirectWrite HRESULT failed: (%d)" |
| 857 | " CreateCustomRenderingParams\n", hr)); | ||
| 855 | RELEASE_COM (dwrite_factory); | 858 | RELEASE_COM (dwrite_factory); |
| 856 | RELEASE_COM (dwrite_factory2); | 859 | RELEASE_COM (dwrite_factory2); |
| 857 | RELEASE_COM (gdi_interop); | 860 | RELEASE_COM (gdi_interop); |
| @@ -874,8 +877,8 @@ w32_dwrite_draw (HDC hdc, int x, int y, unsigned *glyphs, int len, | |||
| 874 | 877 | ||
| 875 | USE_SAFE_ALLOCA; | 878 | USE_SAFE_ALLOCA; |
| 876 | 879 | ||
| 877 | struct uniscribe_font_info *uniscribe_font = | 880 | struct uniscribe_font_info *uniscribe_font |
| 878 | (struct uniscribe_font_info *) font; | 881 | = (struct uniscribe_font_info *) font; |
| 879 | 882 | ||
| 880 | /* What we get as y is the baseline position. */ | 883 | /* What we get as y is the baseline position. */ |
| 881 | y -= font->ascent; | 884 | y -= font->ascent; |
| @@ -907,8 +910,8 @@ w32_dwrite_draw (HDC hdc, int x, int y, unsigned *glyphs, int len, | |||
| 907 | } | 910 | } |
| 908 | 911 | ||
| 909 | /* This DC can't be released. */ | 912 | /* This DC can't be released. */ |
| 910 | HDC text_dc = bitmap_render_target->lpVtbl->GetMemoryDC | 913 | HDC text_dc |
| 911 | (bitmap_render_target); | 914 | = bitmap_render_target->lpVtbl->GetMemoryDC (bitmap_render_target); |
| 912 | 915 | ||
| 913 | /* Copy the background pixel to the render target bitmap. */ | 916 | /* Copy the background pixel to the render target bitmap. */ |
| 914 | BitBlt (text_dc, 0, 0, bitmap_width, bitmap_height, hdc, x, y, SRCCOPY); | 917 | BitBlt (text_dc, 0, 0, bitmap_width, bitmap_height, hdc, x, y, SRCCOPY); |
| @@ -1036,10 +1039,10 @@ bool | |||
| 1036 | w32_use_direct_write (struct w32font_info *w32font) | 1039 | w32_use_direct_write (struct w32font_info *w32font) |
| 1037 | { | 1040 | { |
| 1038 | #ifdef HAVE_HARFBUZZ | 1041 | #ifdef HAVE_HARFBUZZ |
| 1039 | return direct_write_available | 1042 | return (direct_write_available |
| 1040 | && w32font->font.driver == &harfbuzz_font_driver | 1043 | && w32font->font.driver == &harfbuzz_font_driver |
| 1041 | && !w32_inhibit_dwrite | 1044 | && !w32_inhibit_dwrite |
| 1042 | && !((struct uniscribe_font_info *) w32font)->dwrite_skip_font; | 1045 | && !((struct uniscribe_font_info *) w32font)->dwrite_skip_font); |
| 1043 | #else | 1046 | #else |
| 1044 | return false; | 1047 | return false; |
| 1045 | #endif | 1048 | #endif |