Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(560)

Side by Side Diff: core/src/fxge/win32/fx_win32_device.cpp

Issue 1062863006: Remove checks in fxge/{apple,win32,skia,dib} now that FX_NEW cant return 0 (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Fix missing |new| typo. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « core/src/fxge/skia/fx_skia_device.cpp ('k') | core/src/fxge/win32/fx_win32_dib.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() 394 IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault()
395 { 395 {
396 return FX_NEW CWin32FontInfo; 396 return new CWin32FontInfo;
397 } 397 }
398 void CFX_GEModule::InitPlatform() 398 void CFX_GEModule::InitPlatform()
399 { 399 {
400 CWin32Platform* pPlatformData = FX_NEW CWin32Platform; 400 CWin32Platform* pPlatformData = new CWin32Platform;
401 if (!pPlatformData) {
402 return;
403 }
404 OSVERSIONINFO ver; 401 OSVERSIONINFO ver;
405 ver.dwOSVersionInfoSize = sizeof(ver); 402 ver.dwOSVersionInfoSize = sizeof(ver);
406 GetVersionEx(&ver); 403 GetVersionEx(&ver);
407 pPlatformData->m_bHalfTone = ver.dwMajorVersion >= 5; 404 pPlatformData->m_bHalfTone = ver.dwMajorVersion >= 5;
408 pPlatformData->m_GdiplusExt.Load(); 405 pPlatformData->m_GdiplusExt.Load();
409 m_pPlatformData = pPlatformData; 406 m_pPlatformData = pPlatformData;
410 m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault()); 407 m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault());
411 } 408 }
412 void CFX_GEModule::DestroyPlatform() 409 void CFX_GEModule::DestroyPlatform()
413 { 410 {
(...skipping 722 matching lines...) Expand 10 before | Expand all | Expand 10 after
1136 } 1133 }
1137 } 1134 }
1138 return 2; 1135 return 2;
1139 } 1136 }
1140 int CFX_WindowsDevice::m_psLevel = 2; 1137 int CFX_WindowsDevice::m_psLevel = 2;
1141 CFX_WindowsDevice::CFX_WindowsDevice(HDC hDC, FX_BOOL bCmykOutput, FX_BOOL bForc ePSOutput, int psLevel) 1138 CFX_WindowsDevice::CFX_WindowsDevice(HDC hDC, FX_BOOL bCmykOutput, FX_BOOL bForc ePSOutput, int psLevel)
1142 { 1139 {
1143 m_bForcePSOutput = bForcePSOutput; 1140 m_bForcePSOutput = bForcePSOutput;
1144 m_psLevel = psLevel; 1141 m_psLevel = psLevel;
1145 if (bForcePSOutput) { 1142 if (bForcePSOutput) {
1146 IFX_RenderDeviceDriver* pDriver = FX_NEW CPSPrinterDriver; 1143 IFX_RenderDeviceDriver* pDriver = new CPSPrinterDriver;
1147 if (!pDriver) {
1148 return;
1149 }
1150 ((CPSPrinterDriver*)pDriver)->Init(hDC, psLevel, bCmykOutput); 1144 ((CPSPrinterDriver*)pDriver)->Init(hDC, psLevel, bCmykOutput);
1151 SetDeviceDriver(pDriver); 1145 SetDeviceDriver(pDriver);
1152 return; 1146 return;
1153 } 1147 }
1154 SetDeviceDriver(CreateDriver(hDC, bCmykOutput)); 1148 SetDeviceDriver(CreateDriver(hDC, bCmykOutput));
1155 } 1149 }
1156 HDC CFX_WindowsDevice::GetDC() const 1150 HDC CFX_WindowsDevice::GetDC() const
1157 { 1151 {
1158 IFX_RenderDeviceDriver *pRDD = GetDeviceDriver(); 1152 IFX_RenderDeviceDriver *pRDD = GetDeviceDriver();
1159 if (!pRDD) { 1153 if (!pRDD) {
1160 return NULL; 1154 return NULL;
1161 } 1155 }
1162 return (HDC)pRDD->GetPlatformSurface(); 1156 return (HDC)pRDD->GetPlatformSurface();
1163 } 1157 }
1164 IFX_RenderDeviceDriver* CFX_WindowsDevice::CreateDriver(HDC hDC, FX_BOOL bCmykOu tput) 1158 IFX_RenderDeviceDriver* CFX_WindowsDevice::CreateDriver(HDC hDC, FX_BOOL bCmykOu tput)
1165 { 1159 {
1166 int device_type = ::GetDeviceCaps(hDC, TECHNOLOGY); 1160 int device_type = ::GetDeviceCaps(hDC, TECHNOLOGY);
1167 int obj_type = ::GetObjectType(hDC); 1161 int obj_type = ::GetObjectType(hDC);
1168 int device_class; 1162 int device_class;
1169 if (device_type == DT_RASPRINTER || device_type == DT_PLOTTER || obj_type == OBJ_ENHMETADC) { 1163 if (device_type == DT_RASPRINTER || device_type == DT_PLOTTER || obj_type == OBJ_ENHMETADC) {
1170 device_class = FXDC_PRINTER; 1164 device_class = FXDC_PRINTER;
1171 } else { 1165 } else {
1172 device_class = FXDC_DISPLAY; 1166 device_class = FXDC_DISPLAY;
1173 } 1167 }
1174 if (device_class == FXDC_PRINTER) { 1168 if (device_class == FXDC_PRINTER) {
1175 return FX_NEW CGdiPrinterDriver(hDC); 1169 return new CGdiPrinterDriver(hDC);
1176 } 1170 }
1177 return FX_NEW CGdiDisplayDriver(hDC); 1171 return new CGdiDisplayDriver(hDC);
1178 } 1172 }
1179 CFX_WinBitmapDevice::CFX_WinBitmapDevice(int width, int height, FXDIB_Format for mat) 1173 CFX_WinBitmapDevice::CFX_WinBitmapDevice(int width, int height, FXDIB_Format for mat)
1180 { 1174 {
1181 BITMAPINFOHEADER bmih; 1175 BITMAPINFOHEADER bmih;
1182 FXSYS_memset32(&bmih, 0, sizeof (BITMAPINFOHEADER)); 1176 FXSYS_memset32(&bmih, 0, sizeof (BITMAPINFOHEADER));
1183 bmih.biSize = sizeof(BITMAPINFOHEADER); 1177 bmih.biSize = sizeof(BITMAPINFOHEADER);
1184 bmih.biBitCount = format & 0xff; 1178 bmih.biBitCount = format & 0xff;
1185 bmih.biHeight = -height; 1179 bmih.biHeight = -height;
1186 bmih.biPlanes = 1; 1180 bmih.biPlanes = 1;
1187 bmih.biWidth = width; 1181 bmih.biWidth = width;
1188 FX_LPBYTE pBuffer; 1182 FX_LPBYTE pBuffer;
1189 m_hBitmap = CreateDIBSection(NULL, (BITMAPINFO*)&bmih, DIB_RGB_COLORS, (FX_L PVOID*)&pBuffer, NULL, 0); 1183 m_hBitmap = CreateDIBSection(NULL, (BITMAPINFO*)&bmih, DIB_RGB_COLORS, (FX_L PVOID*)&pBuffer, NULL, 0);
1190 if (m_hBitmap == NULL) { 1184 if (m_hBitmap == NULL) {
1191 return; 1185 return;
1192 } 1186 }
1193 CFX_DIBitmap* pBitmap = FX_NEW CFX_DIBitmap; 1187 CFX_DIBitmap* pBitmap = new CFX_DIBitmap;
1194 if (!pBitmap) {
1195 return;
1196 }
1197 pBitmap->Create(width, height, format, pBuffer); 1188 pBitmap->Create(width, height, format, pBuffer);
1198 SetBitmap(pBitmap); 1189 SetBitmap(pBitmap);
1199 m_hDC = ::CreateCompatibleDC(NULL); 1190 m_hDC = ::CreateCompatibleDC(NULL);
1200 m_hOldBitmap = (HBITMAP)SelectObject(m_hDC, m_hBitmap); 1191 m_hOldBitmap = (HBITMAP)SelectObject(m_hDC, m_hBitmap);
1201 IFX_RenderDeviceDriver* pDriver = FX_NEW CGdiDisplayDriver(m_hDC); 1192 IFX_RenderDeviceDriver* pDriver = new CGdiDisplayDriver(m_hDC);
1202 if (!pDriver) {
1203 return;
1204 }
1205 SetDeviceDriver(pDriver); 1193 SetDeviceDriver(pDriver);
1206 } 1194 }
1207 CFX_WinBitmapDevice::~CFX_WinBitmapDevice() 1195 CFX_WinBitmapDevice::~CFX_WinBitmapDevice()
1208 { 1196 {
1209 if (m_hDC) { 1197 if (m_hDC) {
1210 SelectObject(m_hDC, m_hOldBitmap); 1198 SelectObject(m_hDC, m_hOldBitmap);
1211 DeleteDC(m_hDC); 1199 DeleteDC(m_hDC);
1212 } 1200 }
1213 if (m_hBitmap) { 1201 if (m_hBitmap) {
1214 DeleteObject(m_hBitmap); 1202 DeleteObject(m_hBitmap);
1215 } 1203 }
1216 delete GetBitmap(); 1204 delete GetBitmap();
1217 } 1205 }
1218 #endif 1206 #endif
OLDNEW
« no previous file with comments | « core/src/fxge/skia/fx_skia_device.cpp ('k') | core/src/fxge/win32/fx_win32_dib.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698