| 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 <crtdbg.h> | 7 #include <crtdbg.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <memory> | 10 #include <memory> |
| 11 #include <vector> | 11 #include <vector> |
| 12 | 12 |
| 13 #include "core/fxcodec/fx_codec.h" | 13 #include "core/fxcodec/fx_codec.h" |
| 14 #include "core/fxcrt/fx_memory.h" | 14 #include "core/fxcrt/fx_memory.h" |
| 15 #include "core/fxcrt/fx_system.h" | 15 #include "core/fxcrt/fx_system.h" |
| 16 #include "core/fxge/cfx_fontmapper.h" | 16 #include "core/fxge/cfx_fontmapper.h" |
| 17 #include "core/fxge/cfx_gemodule.h" | 17 #include "core/fxge/cfx_gemodule.h" |
| 18 #include "core/fxge/cfx_graphstatedata.h" | 18 #include "core/fxge/cfx_graphstatedata.h" |
| 19 #include "core/fxge/cfx_pathdata.h" | 19 #include "core/fxge/cfx_pathdata.h" |
| 20 #include "core/fxge/cfx_windowsdevice.h" | 20 #include "core/fxge/cfx_windowsdevice.h" |
| 21 #include "core/fxge/dib/dib_int.h" | 21 #include "core/fxge/dib/dib_int.h" |
| 22 #include "core/fxge/fx_font.h" | 22 #include "core/fxge/fx_font.h" |
| 23 #include "core/fxge/fx_freetype.h" | 23 #include "core/fxge/fx_freetype.h" |
| 24 #include "core/fxge/ge/cfx_folderfontinfo.h" | 24 #include "core/fxge/ge/cfx_folderfontinfo.h" |
| 25 #include "core/fxge/ge/fx_text_int.h" | 25 #include "core/fxge/ge/fx_text_int.h" |
| 26 #include "core/fxge/ifx_systemfontinfo.h" | 26 #include "core/fxge/ifx_systemfontinfo.h" |
| 27 #include "core/fxge/win32/cfx_windowsdib.h" | 27 #include "core/fxge/win32/cfx_windowsdib.h" |
| 28 #include "core/fxge/win32/dwrite_int.h" | 28 #include "core/fxge/win32/dwrite_int.h" |
| 29 #include "core/fxge/win32/win32_int.h" | 29 #include "core/fxge/win32/win32_int.h" |
| 30 #include "third_party/base/ptr_util.h" |
| 30 #include "third_party/base/stl_util.h" | 31 #include "third_party/base/stl_util.h" |
| 31 | 32 |
| 32 #ifndef _SKIA_SUPPORT_ | 33 #ifndef _SKIA_SUPPORT_ |
| 33 #include "core/fxge/agg/fx_agg_driver.h" | 34 #include "core/fxge/agg/fx_agg_driver.h" |
| 34 #endif | 35 #endif |
| 35 | 36 |
| 36 namespace { | 37 namespace { |
| 37 | 38 |
| 38 const struct { | 39 const struct { |
| 39 const FX_CHAR* m_pFaceName; | 40 const FX_CHAR* m_pFaceName; |
| (...skipping 1322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1362 int bitmap_alpha, | 1363 int bitmap_alpha, |
| 1363 uint32_t color, | 1364 uint32_t color, |
| 1364 const CFX_Matrix* pMatrix, | 1365 const CFX_Matrix* pMatrix, |
| 1365 uint32_t render_flags, | 1366 uint32_t render_flags, |
| 1366 void*& handle, | 1367 void*& handle, |
| 1367 int blend_type) { | 1368 int blend_type) { |
| 1368 return FALSE; | 1369 return FALSE; |
| 1369 } | 1370 } |
| 1370 | 1371 |
| 1371 CFX_WindowsDevice::CFX_WindowsDevice(HDC hDC) { | 1372 CFX_WindowsDevice::CFX_WindowsDevice(HDC hDC) { |
| 1372 SetDeviceDriver(WrapUnique(CreateDriver(hDC))); | 1373 SetDeviceDriver(pdfium::WrapUnique(CreateDriver(hDC))); |
| 1373 } | 1374 } |
| 1374 | 1375 |
| 1375 CFX_WindowsDevice::~CFX_WindowsDevice() {} | 1376 CFX_WindowsDevice::~CFX_WindowsDevice() {} |
| 1376 | 1377 |
| 1377 HDC CFX_WindowsDevice::GetDC() const { | 1378 HDC CFX_WindowsDevice::GetDC() const { |
| 1378 IFX_RenderDeviceDriver* pRDD = GetDeviceDriver(); | 1379 IFX_RenderDeviceDriver* pRDD = GetDeviceDriver(); |
| 1379 return pRDD ? reinterpret_cast<HDC>(pRDD->GetPlatformSurface()) : nullptr; | 1380 return pRDD ? reinterpret_cast<HDC>(pRDD->GetPlatformSurface()) : nullptr; |
| 1380 } | 1381 } |
| 1381 | 1382 |
| 1382 // static | 1383 // static |
| 1383 IFX_RenderDeviceDriver* CFX_WindowsDevice::CreateDriver(HDC hDC) { | 1384 IFX_RenderDeviceDriver* CFX_WindowsDevice::CreateDriver(HDC hDC) { |
| 1384 int device_type = ::GetDeviceCaps(hDC, TECHNOLOGY); | 1385 int device_type = ::GetDeviceCaps(hDC, TECHNOLOGY); |
| 1385 int obj_type = ::GetObjectType(hDC); | 1386 int obj_type = ::GetObjectType(hDC); |
| 1386 bool use_printer = device_type == DT_RASPRINTER || | 1387 bool use_printer = device_type == DT_RASPRINTER || |
| 1387 device_type == DT_PLOTTER || obj_type == OBJ_ENHMETADC; | 1388 device_type == DT_PLOTTER || obj_type == OBJ_ENHMETADC; |
| 1388 if (use_printer) | 1389 if (use_printer) |
| 1389 return new CGdiPrinterDriver(hDC); | 1390 return new CGdiPrinterDriver(hDC); |
| 1390 return new CGdiDisplayDriver(hDC); | 1391 return new CGdiDisplayDriver(hDC); |
| 1391 } | 1392 } |
| OLD | NEW |