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 <crtdbg.h> | 10 #include <crtdbg.h> |
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
384 } | 384 } |
385 FX_BOOL CWin32FontInfo::GetFontCharset(void* hFont, int& charset) | 385 FX_BOOL CWin32FontInfo::GetFontCharset(void* hFont, int& charset) |
386 { | 386 { |
387 TEXTMETRIC tm; | 387 TEXTMETRIC tm; |
388 HFONT hOldFont = (HFONT)::SelectObject(m_hDC, (HFONT)hFont); | 388 HFONT hOldFont = (HFONT)::SelectObject(m_hDC, (HFONT)hFont); |
389 ::GetTextMetrics(m_hDC, &tm); | 389 ::GetTextMetrics(m_hDC, &tm); |
390 ::SelectObject(m_hDC, hOldFont); | 390 ::SelectObject(m_hDC, hOldFont); |
391 charset = tm.tmCharSet; | 391 charset = tm.tmCharSet; |
392 return TRUE; | 392 return TRUE; |
393 } | 393 } |
394 #ifndef _FPDFAPI_MINI_ | |
395 IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() | 394 IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() |
396 { | 395 { |
397 return FX_NEW CWin32FontInfo; | 396 return FX_NEW CWin32FontInfo; |
398 } | 397 } |
399 #endif | |
400 void CFX_GEModule::InitPlatform() | 398 void CFX_GEModule::InitPlatform() |
401 { | 399 { |
402 CWin32Platform* pPlatformData = FX_NEW CWin32Platform; | 400 CWin32Platform* pPlatformData = FX_NEW CWin32Platform; |
403 if (!pPlatformData) { | 401 if (!pPlatformData) { |
404 return; | 402 return; |
405 } | 403 } |
406 OSVERSIONINFO ver; | 404 OSVERSIONINFO ver; |
407 ver.dwOSVersionInfoSize = sizeof(ver); | 405 ver.dwOSVersionInfoSize = sizeof(ver); |
408 GetVersionEx(&ver); | 406 GetVersionEx(&ver); |
409 pPlatformData->m_bHalfTone = ver.dwMajorVersion >= 5; | 407 pPlatformData->m_bHalfTone = ver.dwMajorVersion >= 5; |
(...skipping 562 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
972 } else { | 970 } else { |
973 CFX_DIBitmap bitmap; | 971 CFX_DIBitmap bitmap; |
974 if (bitmap.Create(width, height, FXDIB_Rgb)) { | 972 if (bitmap.Create(width, height, FXDIB_Rgb)) { |
975 bmi.bmiHeader.biBitCount = 24; | 973 bmi.bmiHeader.biBitCount = 24; |
976 ::GetDIBits(hDCMemory, hbmp, 0, height, bitmap.GetBuffer(), &bmi, DI
B_RGB_COLORS); | 974 ::GetDIBits(hDCMemory, hbmp, 0, height, bitmap.GetBuffer(), &bmi, DI
B_RGB_COLORS); |
977 ret = pBitmap->TransferBitmap(0, 0, width, height, &bitmap, 0, 0, pI
ccTransform); | 975 ret = pBitmap->TransferBitmap(0, 0, width, height, &bitmap, 0, 0, pI
ccTransform); |
978 } else { | 976 } else { |
979 ret = FALSE; | 977 ret = FALSE; |
980 } | 978 } |
981 } | 979 } |
982 #ifndef _FPDFAPI_MINI_ | |
983 if (pBitmap->HasAlpha() && ret) { | 980 if (pBitmap->HasAlpha() && ret) { |
984 pBitmap->LoadChannel(FXDIB_Alpha, 0xff); | 981 pBitmap->LoadChannel(FXDIB_Alpha, 0xff); |
985 } | 982 } |
986 #endif | |
987 DeleteObject(hbmp); | 983 DeleteObject(hbmp); |
988 DeleteObject(hDCMemory); | 984 DeleteObject(hDCMemory); |
989 return ret; | 985 return ret; |
990 } | 986 } |
991 FX_BOOL CGdiDisplayDriver::SetDIBits(const CFX_DIBSource* pSource, FX_DWORD colo
r, const FX_RECT* pSrcRect, int left, int top, int blend_type, | 987 FX_BOOL CGdiDisplayDriver::SetDIBits(const CFX_DIBSource* pSource, FX_DWORD colo
r, const FX_RECT* pSrcRect, int left, int top, int blend_type, |
992 int alpha_flag, void* pIccTransform) | 988 int alpha_flag, void* pIccTransform) |
993 { | 989 { |
994 ASSERT(blend_type == FXDIB_BLEND_NORMAL); | 990 ASSERT(blend_type == FXDIB_BLEND_NORMAL); |
995 if (pSource->IsAlphaMask()) { | 991 if (pSource->IsAlphaMask()) { |
996 int width = pSource->GetWidth(), height = pSource->GetHeight(); | 992 int width = pSource->GetWidth(), height = pSource->GetHeight(); |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1168 IFX_RenderDeviceDriver* CFX_WindowsDevice::CreateDriver(HDC hDC, FX_BOOL bCmykOu
tput) | 1164 IFX_RenderDeviceDriver* CFX_WindowsDevice::CreateDriver(HDC hDC, FX_BOOL bCmykOu
tput) |
1169 { | 1165 { |
1170 int device_type = ::GetDeviceCaps(hDC, TECHNOLOGY); | 1166 int device_type = ::GetDeviceCaps(hDC, TECHNOLOGY); |
1171 int obj_type = ::GetObjectType(hDC); | 1167 int obj_type = ::GetObjectType(hDC); |
1172 int device_class; | 1168 int device_class; |
1173 if (device_type == DT_RASPRINTER || device_type == DT_PLOTTER || obj_type ==
OBJ_ENHMETADC) { | 1169 if (device_type == DT_RASPRINTER || device_type == DT_PLOTTER || obj_type ==
OBJ_ENHMETADC) { |
1174 device_class = FXDC_PRINTER; | 1170 device_class = FXDC_PRINTER; |
1175 } else { | 1171 } else { |
1176 device_class = FXDC_DISPLAY; | 1172 device_class = FXDC_DISPLAY; |
1177 } | 1173 } |
1178 #ifndef _FPDFAPI_MINI_ | |
1179 if (device_class == FXDC_PRINTER) { | 1174 if (device_class == FXDC_PRINTER) { |
1180 return FX_NEW CGdiPrinterDriver(hDC); | 1175 return FX_NEW CGdiPrinterDriver(hDC); |
1181 } | 1176 } |
1182 #endif | |
1183 return FX_NEW CGdiDisplayDriver(hDC); | 1177 return FX_NEW CGdiDisplayDriver(hDC); |
1184 } | 1178 } |
1185 CFX_WinBitmapDevice::CFX_WinBitmapDevice(int width, int height, FXDIB_Format for
mat) | 1179 CFX_WinBitmapDevice::CFX_WinBitmapDevice(int width, int height, FXDIB_Format for
mat) |
1186 { | 1180 { |
1187 BITMAPINFOHEADER bmih; | 1181 BITMAPINFOHEADER bmih; |
1188 FXSYS_memset32(&bmih, 0, sizeof (BITMAPINFOHEADER)); | 1182 FXSYS_memset32(&bmih, 0, sizeof (BITMAPINFOHEADER)); |
1189 bmih.biSize = sizeof(BITMAPINFOHEADER); | 1183 bmih.biSize = sizeof(BITMAPINFOHEADER); |
1190 bmih.biBitCount = format & 0xff; | 1184 bmih.biBitCount = format & 0xff; |
1191 bmih.biHeight = -height; | 1185 bmih.biHeight = -height; |
1192 bmih.biPlanes = 1; | 1186 bmih.biPlanes = 1; |
(...skipping 22 matching lines...) Expand all Loading... |
1215 if (m_hDC) { | 1209 if (m_hDC) { |
1216 SelectObject(m_hDC, m_hOldBitmap); | 1210 SelectObject(m_hDC, m_hOldBitmap); |
1217 DeleteDC(m_hDC); | 1211 DeleteDC(m_hDC); |
1218 } | 1212 } |
1219 if (m_hBitmap) { | 1213 if (m_hBitmap) { |
1220 DeleteObject(m_hBitmap); | 1214 DeleteObject(m_hBitmap); |
1221 } | 1215 } |
1222 delete GetBitmap(); | 1216 delete GetBitmap(); |
1223 } | 1217 } |
1224 #endif | 1218 #endif |
OLD | NEW |