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 "core/include/fxge/fx_ge.h" | 7 #include "core/include/fxge/fx_ge.h" |
8 | 8 |
9 #if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_DESKTOP_ | 9 #if _FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_DESKTOP_ |
10 #include <dwrite.h> | 10 #include <dwrite.h> |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, | 58 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, |
59 void** ppvObject); | 59 void** ppvObject); |
60 virtual ULONG STDMETHODCALLTYPE AddRef(); | 60 virtual ULONG STDMETHODCALLTYPE AddRef(); |
61 virtual ULONG STDMETHODCALLTYPE Release(); | 61 virtual ULONG STDMETHODCALLTYPE Release(); |
62 virtual HRESULT STDMETHODCALLTYPE | 62 virtual HRESULT STDMETHODCALLTYPE |
63 CreateStreamFromKey(void const* fontFileReferenceKey, | 63 CreateStreamFromKey(void const* fontFileReferenceKey, |
64 UINT32 fontFileReferenceKeySize, | 64 UINT32 fontFileReferenceKeySize, |
65 OUT IDWriteFontFileStream** fontFileStream); | 65 OUT IDWriteFontFileStream** fontFileStream); |
66 | 66 |
67 static IDWriteFontFileLoader* GetLoader() { | 67 static IDWriteFontFileLoader* GetLoader() { |
68 if (instance_ == NULL) { | 68 if (!instance_) { |
69 instance_ = new CDwFontFileLoader(); | 69 instance_ = new CDwFontFileLoader(); |
70 } | 70 } |
71 return instance_; | 71 return instance_; |
72 } | 72 } |
73 static bool IsLoaderInitialized() { return instance_ != NULL; } | 73 static bool IsLoaderInitialized() { return instance_ != NULL; } |
74 | 74 |
75 private: | 75 private: |
76 CDwFontFileLoader(); | 76 CDwFontFileLoader(); |
77 ULONG refCount_; | 77 ULONG refCount_; |
78 static IDWriteFontFileLoader* instance_; | 78 static IDWriteFontFileLoader* instance_; |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 CFX_Matrix* pMatrix, | 209 CFX_Matrix* pMatrix, |
210 void* font, | 210 void* font, |
211 FX_FLOAT font_size, | 211 FX_FLOAT font_size, |
212 FX_ARGB text_color, | 212 FX_ARGB text_color, |
213 int glyph_count, | 213 int glyph_count, |
214 unsigned short* glyph_indices, | 214 unsigned short* glyph_indices, |
215 FX_FLOAT baselineOriginX, | 215 FX_FLOAT baselineOriginX, |
216 FX_FLOAT baselineOriginY, | 216 FX_FLOAT baselineOriginY, |
217 void* glyph_offsets, | 217 void* glyph_offsets, |
218 FX_FLOAT* glyph_advances) { | 218 FX_FLOAT* glyph_advances) { |
219 if (renderTarget == NULL) { | 219 if (!renderTarget) { |
220 return TRUE; | 220 return TRUE; |
221 } | 221 } |
222 CDwGdiTextRenderer* pTextRenderer = (CDwGdiTextRenderer*)renderTarget; | 222 CDwGdiTextRenderer* pTextRenderer = (CDwGdiTextRenderer*)renderTarget; |
223 DWRITE_MATRIX transform; | 223 DWRITE_MATRIX transform; |
224 DWRITE_GLYPH_RUN glyphRun; | 224 DWRITE_GLYPH_RUN glyphRun; |
225 HRESULT hr = S_OK; | 225 HRESULT hr = S_OK; |
226 if (pMatrix) { | 226 if (pMatrix) { |
227 transform.m11 = pMatrix->a; | 227 transform.m11 = pMatrix->a; |
228 transform.m12 = pMatrix->b; | 228 transform.m12 = pMatrix->b; |
229 transform.m21 = pMatrix->c; | 229 transform.m21 = pMatrix->c; |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 textColor); | 401 textColor); |
402 if (FAILED(hr)) { | 402 if (FAILED(hr)) { |
403 return hr; | 403 return hr; |
404 } | 404 } |
405 pBitmap_->CompositeBitmap(text_bbox.left, text_bbox.top, text_bbox.Width(), | 405 pBitmap_->CompositeBitmap(text_bbox.left, text_bbox.top, text_bbox.Width(), |
406 text_bbox.Height(), &dib, text_bbox.left, | 406 text_bbox.Height(), &dib, text_bbox.left, |
407 text_bbox.top, FXDIB_BLEND_NORMAL, pClipRgn); | 407 text_bbox.top, FXDIB_BLEND_NORMAL, pClipRgn); |
408 return hr; | 408 return hr; |
409 } | 409 } |
410 #endif | 410 #endif |
OLD | NEW |