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

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

Issue 1513363002: Remove CFX_AffineMatrix/CPDF_Matrix (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years 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
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 "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 <windows.h> 10 #include <windows.h>
(...skipping 947 matching lines...) Expand 10 before | Expand all | Expand 10 after
958 CallFunc(GdipSetInterpolationMode)(pGraphics, InterpolationModeBilinear); 958 CallFunc(GdipSetInterpolationMode)(pGraphics, InterpolationModeBilinear);
959 } 959 }
960 FX_RECT src_rect(0, 0, pBitmap->GetWidth(), pBitmap->GetHeight()); 960 FX_RECT src_rect(0, 0, pBitmap->GetWidth(), pBitmap->GetHeight());
961 OutputImage(pGraphics, pBitmap, &src_rect, dest_left, dest_top, dest_width, 961 OutputImage(pGraphics, pBitmap, &src_rect, dest_left, dest_top, dest_width,
962 dest_height); 962 dest_height);
963 CallFunc(GdipDeleteGraphics)(pGraphics); 963 CallFunc(GdipDeleteGraphics)(pGraphics);
964 CallFunc(GdipDeleteGraphics)(pGraphics); 964 CallFunc(GdipDeleteGraphics)(pGraphics);
965 return TRUE; 965 return TRUE;
966 } 966 }
967 static GpPen* _GdipCreatePen(const CFX_GraphStateData* pGraphState, 967 static GpPen* _GdipCreatePen(const CFX_GraphStateData* pGraphState,
968 const CFX_AffineMatrix* pMatrix, 968 const CFX_Matrix* pMatrix,
969 DWORD argb, 969 DWORD argb,
970 FX_BOOL bTextMode = FALSE) { 970 FX_BOOL bTextMode = FALSE) {
971 CGdiplusExt& GdiplusExt = 971 CGdiplusExt& GdiplusExt =
972 ((CWin32Platform*)CFX_GEModule::Get()->GetPlatformData())->m_GdiplusExt; 972 ((CWin32Platform*)CFX_GEModule::Get()->GetPlatformData())->m_GdiplusExt;
973 FX_FLOAT width = pGraphState ? pGraphState->m_LineWidth : 1.0f; 973 FX_FLOAT width = pGraphState ? pGraphState->m_LineWidth : 1.0f;
974 if (!bTextMode) { 974 if (!bTextMode) {
975 FX_FLOAT unit = 975 FX_FLOAT unit =
976 pMatrix == NULL 976 pMatrix == NULL
977 ? 1.0f 977 ? 1.0f
978 : FXSYS_Div(1.0f, (pMatrix->GetXUnit() + pMatrix->GetYUnit()) / 2); 978 : FXSYS_Div(1.0f, (pMatrix->GetXUnit() + pMatrix->GetYUnit()) / 2);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1065 } 1065 }
1066 } 1066 }
1067 CallFunc(GdipSetPenDashOffset)(pPen, phase); 1067 CallFunc(GdipSetPenDashOffset)(pPen, phase);
1068 FX_Free(pDashArray); 1068 FX_Free(pDashArray);
1069 pDashArray = NULL; 1069 pDashArray = NULL;
1070 } 1070 }
1071 CallFunc(GdipSetPenMiterLimit)(pPen, pGraphState->m_MiterLimit); 1071 CallFunc(GdipSetPenMiterLimit)(pPen, pGraphState->m_MiterLimit);
1072 return pPen; 1072 return pPen;
1073 } 1073 }
1074 static FX_BOOL IsSmallTriangle(PointF* points, 1074 static FX_BOOL IsSmallTriangle(PointF* points,
1075 const CFX_AffineMatrix* pMatrix, 1075 const CFX_Matrix* pMatrix,
1076 int& v1, 1076 int& v1,
1077 int& v2) { 1077 int& v2) {
1078 int pairs[] = {1, 2, 0, 2, 0, 1}; 1078 int pairs[] = {1, 2, 0, 2, 0, 1};
1079 for (int i = 0; i < 3; i++) { 1079 for (int i = 0; i < 3; i++) {
1080 int pair1 = pairs[i * 2]; 1080 int pair1 = pairs[i * 2];
1081 int pair2 = pairs[i * 2 + 1]; 1081 int pair2 = pairs[i * 2 + 1];
1082 FX_FLOAT x1 = points[pair1].X, x2 = points[pair2].X; 1082 FX_FLOAT x1 = points[pair1].X, x2 = points[pair2].X;
1083 FX_FLOAT y1 = points[pair1].Y, y2 = points[pair2].Y; 1083 FX_FLOAT y1 = points[pair1].Y, y2 = points[pair2].Y;
1084 if (pMatrix) { 1084 if (pMatrix) {
1085 pMatrix->Transform(x1, y1); 1085 pMatrix->Transform(x1, y1);
1086 pMatrix->Transform(x2, y2); 1086 pMatrix->Transform(x2, y2);
1087 } 1087 }
1088 FX_FLOAT dx = x1 - x2; 1088 FX_FLOAT dx = x1 - x2;
1089 FX_FLOAT dy = y1 - y2; 1089 FX_FLOAT dy = y1 - y2;
1090 FX_FLOAT distance_square = FXSYS_Mul(dx, dx) + FXSYS_Mul(dy, dy); 1090 FX_FLOAT distance_square = FXSYS_Mul(dx, dx) + FXSYS_Mul(dy, dy);
1091 if (distance_square < (1.0f * 2 + 1.0f / 4)) { 1091 if (distance_square < (1.0f * 2 + 1.0f / 4)) {
1092 v1 = i; 1092 v1 = i;
1093 v2 = pair1; 1093 v2 = pair1;
1094 return TRUE; 1094 return TRUE;
1095 } 1095 }
1096 } 1096 }
1097 return FALSE; 1097 return FALSE;
1098 } 1098 }
1099 FX_BOOL CGdiplusExt::DrawPath(HDC hDC, 1099 FX_BOOL CGdiplusExt::DrawPath(HDC hDC,
1100 const CFX_PathData* pPathData, 1100 const CFX_PathData* pPathData,
1101 const CFX_AffineMatrix* pObject2Device, 1101 const CFX_Matrix* pObject2Device,
1102 const CFX_GraphStateData* pGraphState, 1102 const CFX_GraphStateData* pGraphState,
1103 FX_DWORD fill_argb, 1103 FX_DWORD fill_argb,
1104 FX_DWORD stroke_argb, 1104 FX_DWORD stroke_argb,
1105 int fill_mode) { 1105 int fill_mode) {
1106 int nPoints = pPathData->GetPointCount(); 1106 int nPoints = pPathData->GetPointCount();
1107 if (nPoints == 0) { 1107 if (nPoints == 0) {
1108 return TRUE; 1108 return TRUE;
1109 } 1109 }
1110 FX_PATHPOINT* pPoints = pPathData->GetPoints(); 1110 FX_PATHPOINT* pPoints = pPathData->GetPoints();
1111 GpGraphics* pGraphics = NULL; 1111 GpGraphics* pGraphics = NULL;
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
1507 dest_pitch); 1507 dest_pitch);
1508 } 1508 }
1509 } 1509 }
1510 CFX_DIBitmap* pDIBitmap = _FX_WindowsDIB_LoadFromBuf( 1510 CFX_DIBitmap* pDIBitmap = _FX_WindowsDIB_LoadFromBuf(
1511 pInfo->pbmi, pData, pInfo->pbmi->bmiHeader.biBitCount == 32); 1511 pInfo->pbmi, pData, pInfo->pbmi->bmiHeader.biBitCount == 32);
1512 FX_Free(pData); 1512 FX_Free(pData);
1513 FreeDIBitmap(pInfo); 1513 FreeDIBitmap(pInfo);
1514 return pDIBitmap; 1514 return pDIBitmap;
1515 } 1515 }
1516 #endif 1516 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698