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 #ifndef _FX_DIRECT_WRITE_ | 7 #ifndef _FX_DIRECT_WRITE_ |
8 #define _FX_DIRECT_WRITE_ | 8 #define _FX_DIRECT_WRITE_ |
9 #ifndef DECLSPEC_UUID | 9 #ifndef DECLSPEC_UUID |
10 #if (_MSC_VER >= 1100) && defined (__cplusplus) | 10 #if (_MSC_VER >= 1100) && defined(__cplusplus) |
11 #define DECLSPEC_UUID(x) __declspec(uuid(x)) | 11 #define DECLSPEC_UUID(x) __declspec(uuid(x)) |
12 #else | 12 #else |
13 #define DECLSPEC_UUID(x) | 13 #define DECLSPEC_UUID(x) |
14 #endif | 14 #endif |
15 #endif | 15 #endif |
16 #ifndef DECLSPEC_NOVTABLE | 16 #ifndef DECLSPEC_NOVTABLE |
17 #if (_MSC_VER >= 1100) && defined(__cplusplus) | 17 #if (_MSC_VER >= 1100) && defined(__cplusplus) |
18 #define DECLSPEC_NOVTABLE __declspec(novtable) | 18 #define DECLSPEC_NOVTABLE __declspec(novtable) |
19 #else | 19 #else |
20 #define DECLSPEC_NOVTABLE | 20 #define DECLSPEC_NOVTABLE |
21 #endif | 21 #endif |
22 #endif | 22 #endif |
23 #if(WINVER < 0x0500) | 23 #if (WINVER < 0x0500) |
24 #ifndef _MAC | 24 #ifndef _MAC |
25 DECLARE_HANDLE(HMONITOR); | 25 DECLARE_HANDLE(HMONITOR); |
26 #endif | 26 #endif |
27 #endif | 27 #endif |
28 class CDWriteExt | 28 class CDWriteExt { |
29 { | 29 public: |
30 public: | 30 CDWriteExt(); |
31 CDWriteExt(); | 31 ~CDWriteExt(); |
32 ~CDWriteExt(); | |
33 | 32 |
34 void» » » Load(); | 33 void Load(); |
35 void Unload(); | 34 void Unload(); |
36 | 35 |
37 FX_BOOL» » » IsAvailable() | 36 FX_BOOL IsAvailable() { return m_pDWriteFactory != NULL; } |
38 { | |
39 return m_pDWriteFactory != NULL; | |
40 } | |
41 | 37 |
42 void*» » » DwCreateFontFaceFromStream(FX_LPBYTE pData, FX_D
WORD size, int simulation_style); | 38 void* DwCreateFontFaceFromStream(FX_LPBYTE pData, |
43 FX_BOOL DwCreateRenderingTarget(CFX_DIBitmap* pSrc, void** renderTar
get); | 39 FX_DWORD size, |
44 void DwDeleteRenderingTarget(void* renderTarget); | 40 int simulation_style); |
45 FX_BOOL» » » DwRendingString(void* renderTarget, CFX_ClipRgn*
pClipRgn, FX_RECT& stringRect, CFX_AffineMatrix* pMatrix, | 41 FX_BOOL DwCreateRenderingTarget(CFX_DIBitmap* pSrc, void** renderTarget); |
46 void *font, FX_FLOAT font_size, FX_ARGB text
_color, | 42 void DwDeleteRenderingTarget(void* renderTarget); |
47 int glyph_count, unsigned short* glyph_indic
es, | 43 FX_BOOL DwRendingString(void* renderTarget, |
48 FX_FLOAT baselineOriginX, FX_FLOAT baselineO
riginY, | 44 CFX_ClipRgn* pClipRgn, |
49 void* glyph_offsets, | 45 FX_RECT& stringRect, |
50 FX_FLOAT* glyph_advances); | 46 CFX_AffineMatrix* pMatrix, |
51 void» » » DwDeleteFont(void* pFont); | 47 void* font, |
| 48 FX_FLOAT font_size, |
| 49 FX_ARGB text_color, |
| 50 int glyph_count, |
| 51 unsigned short* glyph_indices, |
| 52 FX_FLOAT baselineOriginX, |
| 53 FX_FLOAT baselineOriginY, |
| 54 void* glyph_offsets, |
| 55 FX_FLOAT* glyph_advances); |
| 56 void DwDeleteFont(void* pFont); |
52 | 57 |
53 protected: | 58 protected: |
54 void*» » » m_hModule; | 59 void* m_hModule; |
55 void*» » » m_pDWriteFactory; | 60 void* m_pDWriteFactory; |
56 void*» » m_pDwFontContext; | 61 void* m_pDwFontContext; |
57 void*» m_pDwTextRenderer; | 62 void* m_pDwTextRenderer; |
58 }; | 63 }; |
59 #endif | 64 #endif |
OLD | NEW |