| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include "../../../include/fxge/fx_ge.h" | 7 #include "../../../include/fxge/fx_ge.h" |
| 8 #if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_ | 8 #if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_ |
| 9 #include "../../../include/fxge/fx_ge_win32.h" | 9 #include "../../../include/fxge/fx_ge_win32.h" |
| 10 #include "dwrite_int.h" | 10 #include "dwrite_int.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 { | 50 { |
| 51 public: | 51 public: |
| 52 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void** ppvObjec
t); | 52 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void** ppvObjec
t); |
| 53 virtual ULONG STDMETHODCALLTYPE AddRef(); | 53 virtual ULONG STDMETHODCALLTYPE AddRef(); |
| 54 virtual ULONG STDMETHODCALLTYPE Release(); | 54 virtual ULONG STDMETHODCALLTYPE Release(); |
| 55 virtual HRESULT STDMETHODCALLTYPE CreateStreamFromKey(void const* fontFileRe
ferenceKey, UINT32 fontFileReferenceKeySize, OUT IDWriteFontFileStream** fontFil
eStream); | 55 virtual HRESULT STDMETHODCALLTYPE CreateStreamFromKey(void const* fontFileRe
ferenceKey, UINT32 fontFileReferenceKeySize, OUT IDWriteFontFileStream** fontFil
eStream); |
| 56 | 56 |
| 57 static IDWriteFontFileLoader* GetLoader() | 57 static IDWriteFontFileLoader* GetLoader() |
| 58 { | 58 { |
| 59 if (instance_ == NULL) { | 59 if (instance_ == NULL) { |
| 60 instance_ = FX_NEW CDwFontFileLoader(); | 60 instance_ = new CDwFontFileLoader(); |
| 61 return instance_; | |
| 62 } | 61 } |
| 63 return instance_; | 62 return instance_; |
| 64 } | 63 } |
| 65 static bool IsLoaderInitialized() | 64 static bool IsLoaderInitialized() |
| 66 { | 65 { |
| 67 return instance_ != NULL; | 66 return instance_ != NULL; |
| 68 } | 67 } |
| 69 private: | 68 private: |
| 70 CDwFontFileLoader(); | 69 CDwFontFileLoader(); |
| 71 ULONG refCount_; | 70 ULONG refCount_; |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 DWRITE_RENDERING_MODE_DEFAULT, | 201 DWRITE_RENDERING_MODE_DEFAULT, |
| 203 &pRenderingParams | 202 &pRenderingParams |
| 204 ); | 203 ); |
| 205 if (FAILED(hr)) { | 204 if (FAILED(hr)) { |
| 206 goto failed; | 205 goto failed; |
| 207 } | 206 } |
| 208 hr = pBitmapRenderTarget->SetPixelsPerDip(1.0f); | 207 hr = pBitmapRenderTarget->SetPixelsPerDip(1.0f); |
| 209 if (FAILED(hr)) { | 208 if (FAILED(hr)) { |
| 210 goto failed; | 209 goto failed; |
| 211 } | 210 } |
| 212 *(CDwGdiTextRenderer**)renderTarget = FX_NEW CDwGdiTextRenderer(pBitmap, pBi
tmapRenderTarget, pRenderingParams); | 211 *(CDwGdiTextRenderer**)renderTarget = new CDwGdiTextRenderer(pBitmap, pBitma
pRenderTarget, pRenderingParams); |
| 213 if (*(CDwGdiTextRenderer**)renderTarget == NULL) { | |
| 214 goto failed; | |
| 215 } | |
| 216 SafeRelease(&pGdiInterop); | 212 SafeRelease(&pGdiInterop); |
| 217 SafeRelease(&pBitmapRenderTarget); | 213 SafeRelease(&pBitmapRenderTarget); |
| 218 SafeRelease(&pRenderingParams); | 214 SafeRelease(&pRenderingParams); |
| 219 return TRUE; | 215 return TRUE; |
| 220 failed: | 216 failed: |
| 221 SafeRelease(&pGdiInterop); | 217 SafeRelease(&pGdiInterop); |
| 222 SafeRelease(&pBitmapRenderTarget); | 218 SafeRelease(&pBitmapRenderTarget); |
| 223 SafeRelease(&pRenderingParams); | 219 SafeRelease(&pRenderingParams); |
| 224 return FALSE; | 220 return FALSE; |
| 225 } | 221 } |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 } | 361 } |
| 366 return newCount; | 362 return newCount; |
| 367 } | 363 } |
| 368 HRESULT STDMETHODCALLTYPE CDwFontFileLoader::CreateStreamFromKey( | 364 HRESULT STDMETHODCALLTYPE CDwFontFileLoader::CreateStreamFromKey( |
| 369 void const* fontFileReferenceKey, | 365 void const* fontFileReferenceKey, |
| 370 UINT32 fontFileReferenceKeySize, | 366 UINT32 fontFileReferenceKeySize, |
| 371 OUT IDWriteFontFileStream** fontFileStream | 367 OUT IDWriteFontFileStream** fontFileStream |
| 372 ) | 368 ) |
| 373 { | 369 { |
| 374 *fontFileStream = NULL; | 370 *fontFileStream = NULL; |
| 375 CDwFontFileStream* stream = FX_NEW CDwFontFileStream(fontFileReferenceKey, f
ontFileReferenceKeySize); | 371 CDwFontFileStream* stream = new CDwFontFileStream(fontFileReferenceKey, font
FileReferenceKeySize); |
| 376 if (stream == NULL)»{ | |
| 377 return E_OUTOFMEMORY; | |
| 378 } | |
| 379 if (!stream->IsInitialized()) { | 372 if (!stream->IsInitialized()) { |
| 380 delete stream; | 373 delete stream; |
| 381 return E_FAIL; | 374 return E_FAIL; |
| 382 } | 375 } |
| 383 *fontFileStream = SafeAcquire(stream); | 376 *fontFileStream = SafeAcquire(stream); |
| 384 return S_OK; | 377 return S_OK; |
| 385 } | 378 } |
| 386 CDwFontContext::CDwFontContext(IDWriteFactory* dwriteFactory) : | 379 CDwFontContext::CDwFontContext(IDWriteFactory* dwriteFactory) : |
| 387 hr_(S_FALSE), | 380 hr_(S_FALSE), |
| 388 dwriteFactory_(SafeAcquire(dwriteFactory)) | 381 dwriteFactory_(SafeAcquire(dwriteFactory)) |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 text_bbox.Height(), | 464 text_bbox.Height(), |
| 472 &dib, | 465 &dib, |
| 473 text_bbox.left, | 466 text_bbox.left, |
| 474 text_bbox.top, | 467 text_bbox.top, |
| 475 FXDIB_BLEND_NORMAL, | 468 FXDIB_BLEND_NORMAL, |
| 476 pClipRgn | 469 pClipRgn |
| 477 ); | 470 ); |
| 478 return hr; | 471 return hr; |
| 479 } | 472 } |
| 480 #endif | 473 #endif |
| OLD | NEW |