| 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/fxcrt/fx_ext.h" | 7 #include "../../../include/fxcrt/fx_ext.h" | 
| 8 #include "../../../include/fxge/fx_freetype.h" | 8 #include "../../../include/fxge/fx_freetype.h" | 
| 9 #include "../../../include/fxge/fx_ge.h" | 9 #include "../../../include/fxge/fx_ge.h" | 
| 10 #include "../agg/include/fx_agg_driver.h" | 10 #include "../agg/include/fx_agg_driver.h" | 
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 86         m, CGAffineTransformMake(matrix->a, matrix->b, matrix->c, matrix->d, | 86         m, CGAffineTransformMake(matrix->a, matrix->b, matrix->c, matrix->d, | 
| 87                                  matrix->e, matrix->f)); | 87                                  matrix->e, matrix->f)); | 
| 88     CGContextSetTextMatrix(context, m); | 88     CGContextSetTextMatrix(context, m); | 
| 89   } | 89   } | 
| 90   int32_t a, r, g, b; | 90   int32_t a, r, g, b; | 
| 91   ArgbDecode(argb, a, r, g, b); | 91   ArgbDecode(argb, a, r, g, b); | 
| 92   CGContextSetRGBFillColor(context, r / 255.f, g / 255.f, b / 255.f, a / 255.f); | 92   CGContextSetRGBFillColor(context, r / 255.f, g / 255.f, b / 255.f, a / 255.f); | 
| 93   CGContextSaveGState(context); | 93   CGContextSaveGState(context); | 
| 94 #if CGFLOAT_IS_DOUBLE | 94 #if CGFLOAT_IS_DOUBLE | 
| 95   CGPoint* glyphPositionsCG = new CGPoint[charsCount]; | 95   CGPoint* glyphPositionsCG = new CGPoint[charsCount]; | 
| 96   if (!glyphPositionsCG) { |  | 
| 97     return FALSE; |  | 
| 98   } |  | 
| 99   for (int index = 0; index < charsCount; ++index) { | 96   for (int index = 0; index < charsCount; ++index) { | 
| 100     glyphPositionsCG[index].x = glyphPositions[index].x; | 97     glyphPositionsCG[index].x = glyphPositions[index].x; | 
| 101     glyphPositionsCG[index].y = glyphPositions[index].y; | 98     glyphPositionsCG[index].y = glyphPositions[index].y; | 
| 102   } | 99   } | 
| 103 #else | 100 #else | 
| 104   CGPoint* glyphPositionsCG = (CGPoint*)glyphPositions; | 101   CGPoint* glyphPositionsCG = (CGPoint*)glyphPositions; | 
| 105 #endif | 102 #endif | 
| 106   CGContextShowGlyphsAtPositions(context, (CGGlyph*)glyphIndices, | 103   CGContextShowGlyphsAtPositions(context, (CGGlyph*)glyphIndices, | 
| 107                                  glyphPositionsCG, charsCount); | 104                                  glyphPositionsCG, charsCount); | 
| 108 #if CGFLOAT_IS_DOUBLE | 105 #if CGFLOAT_IS_DOUBLE | 
| (...skipping 792 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 901       join = kCGLineJoinBevel; | 898       join = kCGLineJoinBevel; | 
| 902       break; | 899       break; | 
| 903     } | 900     } | 
| 904     case CFX_GraphStateData::LineJoinMiter: | 901     case CFX_GraphStateData::LineJoinMiter: | 
| 905     default: { join = kCGLineJoinMiter; } | 902     default: { join = kCGLineJoinMiter; } | 
| 906   } | 903   } | 
| 907   CGContextSetLineJoin(_context, join); | 904   CGContextSetLineJoin(_context, join); | 
| 908   if (graphState->m_DashCount) { | 905   if (graphState->m_DashCount) { | 
| 909 #if CGFLOAT_IS_DOUBLE | 906 #if CGFLOAT_IS_DOUBLE | 
| 910     CGFloat* dashArray = new CGFloat[graphState->m_DashCount]; | 907     CGFloat* dashArray = new CGFloat[graphState->m_DashCount]; | 
| 911     if (!dashArray) { |  | 
| 912       return; |  | 
| 913     } |  | 
| 914     for (int index = 0; index < graphState->m_DashCount; ++index) { | 908     for (int index = 0; index < graphState->m_DashCount; ++index) { | 
| 915       dashArray[index] = graphState->m_DashArray[index]; | 909       dashArray[index] = graphState->m_DashArray[index]; | 
| 916     } | 910     } | 
| 917 #else | 911 #else | 
| 918     CGFloat* dashArray = (CGFloat*)graphState->m_DashArray; | 912     CGFloat* dashArray = (CGFloat*)graphState->m_DashArray; | 
| 919 #endif | 913 #endif | 
| 920     CGContextSetLineDash(_context, graphState->m_DashPhase, dashArray, | 914     CGContextSetLineDash(_context, graphState->m_DashPhase, dashArray, | 
| 921                          graphState->m_DashCount); | 915                          graphState->m_DashCount); | 
| 922 #if CGFLOAT_IS_DOUBLE | 916 #if CGFLOAT_IS_DOUBLE | 
| 923     delete[] dashArray; | 917     delete[] dashArray; | 
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 1047   } | 1041   } | 
| 1048   CFX_DIBitmap* pBitmap = new CFX_DIBitmap; | 1042   CFX_DIBitmap* pBitmap = new CFX_DIBitmap; | 
| 1049   if (!pBitmap->Create(width, height, format)) { | 1043   if (!pBitmap->Create(width, height, format)) { | 
| 1050     delete pBitmap; | 1044     delete pBitmap; | 
| 1051     return FALSE; | 1045     return FALSE; | 
| 1052   } | 1046   } | 
| 1053   m_bOwnedBitmap = TRUE; | 1047   m_bOwnedBitmap = TRUE; | 
| 1054   return Attach(pBitmap); | 1048   return Attach(pBitmap); | 
| 1055 } | 1049 } | 
| 1056 #endif  // _FXM_PLATFORM_  == _FXM_PLATFORM_APPLE_ | 1050 #endif  // _FXM_PLATFORM_  == _FXM_PLATFORM_APPLE_ | 
| OLD | NEW | 
|---|