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

Side by Side Diff: core/fxge/agg/fx_agg_driver.cpp

Issue 1832173003: Remove FX_DWORD from core/ and delete definition (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 9 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/fxge/agg/fx_agg_driver.h ('k') | core/fxge/android/fpf_skiafont.h » ('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 "core/fxge/agg/fx_agg_driver.h" 7 #include "core/fxge/agg/fx_agg_driver.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 void CFX_AggDeviceDriver::InitPlatform() {} 226 void CFX_AggDeviceDriver::InitPlatform() {}
227 227
228 void CFX_AggDeviceDriver::DestroyPlatform() {} 228 void CFX_AggDeviceDriver::DestroyPlatform() {}
229 229
230 FX_BOOL CFX_AggDeviceDriver::DrawDeviceText(int nChars, 230 FX_BOOL CFX_AggDeviceDriver::DrawDeviceText(int nChars,
231 const FXTEXT_CHARPOS* pCharPos, 231 const FXTEXT_CHARPOS* pCharPos,
232 CFX_Font* pFont, 232 CFX_Font* pFont,
233 CFX_FontCache* pCache, 233 CFX_FontCache* pCache,
234 const CFX_Matrix* pObject2Device, 234 const CFX_Matrix* pObject2Device,
235 FX_FLOAT font_size, 235 FX_FLOAT font_size,
236 FX_DWORD color, 236 uint32_t color,
237 int alpha_flag, 237 int alpha_flag,
238 void* pIccTransform) { 238 void* pIccTransform) {
239 return FALSE; 239 return FALSE;
240 } // _FXM_PLATFORM_ != _FXM_PLATFORM_APPLE_ 240 } // _FXM_PLATFORM_ != _FXM_PLATFORM_APPLE_
241 #endif 241 #endif
242 242
243 int CFX_AggDeviceDriver::GetDeviceCaps(int caps_id) { 243 int CFX_AggDeviceDriver::GetDeviceCaps(int caps_id) {
244 switch (caps_id) { 244 switch (caps_id) {
245 case FXDC_DEVICE_CLASS: 245 case FXDC_DEVICE_CLASS:
246 return FXDC_DISPLAY; 246 return FXDC_DISPLAY;
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 RasterizeStroke(rasterizer, path_data.m_PathData, pObject2Device, 377 RasterizeStroke(rasterizer, path_data.m_PathData, pObject2Device,
378 pGraphState); 378 pGraphState);
379 rasterizer.filling_rule(agg::fill_non_zero); 379 rasterizer.filling_rule(agg::fill_non_zero);
380 SetClipMask(rasterizer); 380 SetClipMask(rasterizer);
381 return TRUE; 381 return TRUE;
382 } 382 }
383 383
384 class CFX_Renderer { 384 class CFX_Renderer {
385 private: 385 private:
386 int m_Alpha, m_Red, m_Green, m_Blue, m_Gray; 386 int m_Alpha, m_Red, m_Green, m_Blue, m_Gray;
387 FX_DWORD m_Color; 387 uint32_t m_Color;
388 FX_BOOL m_bFullCover; 388 FX_BOOL m_bFullCover;
389 FX_BOOL m_bRgbByteOrder; 389 FX_BOOL m_bRgbByteOrder;
390 CFX_DIBitmap* m_pOriDevice; 390 CFX_DIBitmap* m_pOriDevice;
391 FX_RECT m_ClipBox; 391 FX_RECT m_ClipBox;
392 const CFX_DIBitmap* m_pClipMask; 392 const CFX_DIBitmap* m_pClipMask;
393 CFX_DIBitmap* m_pDevice; 393 CFX_DIBitmap* m_pDevice;
394 const CFX_ClipRgn* m_pClipRgn; 394 const CFX_ClipRgn* m_pClipRgn;
395 void (CFX_Renderer::*composite_span)(uint8_t*, 395 void (CFX_Renderer::*composite_span)(uint8_t*,
396 int, 396 int,
397 int, 397 int,
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
739 } 739 }
740 } else { 740 } else {
741 if (clip_scan) { 741 if (clip_scan) {
742 src_alpha = m_Alpha * cover_scan[col] * clip_scan[col] / 255 / 255; 742 src_alpha = m_Alpha * cover_scan[col] * clip_scan[col] / 255 / 255;
743 } else { 743 } else {
744 src_alpha = m_Alpha * cover_scan[col] / 255; 744 src_alpha = m_Alpha * cover_scan[col] / 255;
745 } 745 }
746 } 746 }
747 if (src_alpha) { 747 if (src_alpha) {
748 if (src_alpha == 255) { 748 if (src_alpha == 255) {
749 *(FX_DWORD*)dest_scan = m_Color; 749 *(uint32_t*)dest_scan = m_Color;
750 } else { 750 } else {
751 uint8_t dest_alpha = 751 uint8_t dest_alpha =
752 dest_scan[3] + src_alpha - dest_scan[3] * src_alpha / 255; 752 dest_scan[3] + src_alpha - dest_scan[3] * src_alpha / 255;
753 dest_scan[3] = dest_alpha; 753 dest_scan[3] = dest_alpha;
754 int alpha_ratio = src_alpha * 255 / dest_alpha; 754 int alpha_ratio = src_alpha * 255 / dest_alpha;
755 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Red, alpha_ratio); 755 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Red, alpha_ratio);
756 dest_scan++; 756 dest_scan++;
757 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Green, alpha_ratio); 757 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Green, alpha_ratio);
758 dest_scan++; 758 dest_scan++;
759 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Blue, alpha_ratio); 759 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Blue, alpha_ratio);
(...skipping 15 matching lines...) Expand all
775 } 775 }
776 } else { 776 } else {
777 if (clip_scan) { 777 if (clip_scan) {
778 src_alpha = m_Alpha * cover_scan[col] * clip_scan[col] / 255 / 255; 778 src_alpha = m_Alpha * cover_scan[col] * clip_scan[col] / 255 / 255;
779 } else { 779 } else {
780 src_alpha = m_Alpha * cover_scan[col] / 255; 780 src_alpha = m_Alpha * cover_scan[col] / 255;
781 } 781 }
782 } 782 }
783 if (src_alpha) { 783 if (src_alpha) {
784 if (src_alpha == 255) { 784 if (src_alpha == 255) {
785 *(FX_DWORD*)dest_scan = m_Color; 785 *(uint32_t*)dest_scan = m_Color;
786 } else { 786 } else {
787 if (dest_scan[3] == 0) { 787 if (dest_scan[3] == 0) {
788 dest_scan[3] = src_alpha; 788 dest_scan[3] = src_alpha;
789 *dest_scan++ = m_Blue; 789 *dest_scan++ = m_Blue;
790 *dest_scan++ = m_Green; 790 *dest_scan++ = m_Green;
791 *dest_scan = m_Red; 791 *dest_scan = m_Red;
792 dest_scan += 2; 792 dest_scan += 2;
793 continue; 793 continue;
794 } 794 }
795 uint8_t dest_alpha = 795 uint8_t dest_alpha =
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
827 for (int col = col_start; col < col_end; col++) { 827 for (int col = col_start; col < col_end; col++) {
828 int src_alpha; 828 int src_alpha;
829 if (clip_scan) { 829 if (clip_scan) {
830 src_alpha = m_Alpha * cover_scan[col] * clip_scan[col] / 255 / 255; 830 src_alpha = m_Alpha * cover_scan[col] * clip_scan[col] / 255 / 255;
831 } else { 831 } else {
832 src_alpha = m_Alpha * cover_scan[col] / 255; 832 src_alpha = m_Alpha * cover_scan[col] / 255;
833 } 833 }
834 if (src_alpha) { 834 if (src_alpha) {
835 if (src_alpha == 255) { 835 if (src_alpha == 255) {
836 if (Bpp == 4) { 836 if (Bpp == 4) {
837 *(FX_DWORD*)dest_scan = m_Color; 837 *(uint32_t*)dest_scan = m_Color;
838 } else if (Bpp == 3) { 838 } else if (Bpp == 3) {
839 *dest_scan++ = m_Red; 839 *dest_scan++ = m_Red;
840 *dest_scan++ = m_Green; 840 *dest_scan++ = m_Green;
841 *dest_scan++ = m_Blue; 841 *dest_scan++ = m_Blue;
842 continue; 842 continue;
843 } 843 }
844 } else { 844 } else {
845 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Red, src_alpha); 845 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Red, src_alpha);
846 dest_scan++; 846 dest_scan++;
847 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Green, src_alpha); 847 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Green, src_alpha);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
907 } else { 907 } else {
908 if (clip_scan) { 908 if (clip_scan) {
909 src_alpha = m_Alpha * cover_scan[col] * clip_scan[col] / 255 / 255; 909 src_alpha = m_Alpha * cover_scan[col] * clip_scan[col] / 255 / 255;
910 } else { 910 } else {
911 src_alpha = m_Alpha * cover_scan[col] / 255; 911 src_alpha = m_Alpha * cover_scan[col] / 255;
912 } 912 }
913 } 913 }
914 if (src_alpha) { 914 if (src_alpha) {
915 if (src_alpha == 255) { 915 if (src_alpha == 255) {
916 if (Bpp == 4) { 916 if (Bpp == 4) {
917 *(FX_DWORD*)dest_scan = m_Color; 917 *(uint32_t*)dest_scan = m_Color;
918 } else if (Bpp == 3) { 918 } else if (Bpp == 3) {
919 *dest_scan++ = m_Blue; 919 *dest_scan++ = m_Blue;
920 *dest_scan++ = m_Green; 920 *dest_scan++ = m_Green;
921 *dest_scan++ = m_Red; 921 *dest_scan++ = m_Red;
922 continue; 922 continue;
923 } 923 }
924 } else { 924 } else {
925 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Blue, src_alpha); 925 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Blue, src_alpha);
926 dest_scan++; 926 dest_scan++;
927 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Green, src_alpha); 927 *dest_scan = FXDIB_ALPHA_MERGE(*dest_scan, m_Green, src_alpha);
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1074 if (--num_spans == 0) { 1074 if (--num_spans == 0) {
1075 break; 1075 break;
1076 } 1076 }
1077 ++span; 1077 ++span;
1078 } 1078 }
1079 } 1079 }
1080 1080
1081 FX_BOOL Init(CFX_DIBitmap* pDevice, 1081 FX_BOOL Init(CFX_DIBitmap* pDevice,
1082 CFX_DIBitmap* pOriDevice, 1082 CFX_DIBitmap* pOriDevice,
1083 const CFX_ClipRgn* pClipRgn, 1083 const CFX_ClipRgn* pClipRgn,
1084 FX_DWORD color, 1084 uint32_t color,
1085 FX_BOOL bFullCover, 1085 FX_BOOL bFullCover,
1086 FX_BOOL bRgbByteOrder, 1086 FX_BOOL bRgbByteOrder,
1087 int alpha_flag = 0, 1087 int alpha_flag = 0,
1088 void* pIccTransform = NULL) { 1088 void* pIccTransform = NULL) {
1089 m_pDevice = pDevice; 1089 m_pDevice = pDevice;
1090 m_pClipRgn = pClipRgn; 1090 m_pClipRgn = pClipRgn;
1091 composite_span = NULL; 1091 composite_span = NULL;
1092 m_bRgbByteOrder = bRgbByteOrder; 1092 m_bRgbByteOrder = bRgbByteOrder;
1093 m_pOriDevice = pOriDevice; 1093 m_pOriDevice = pOriDevice;
1094 if (m_pClipRgn) { 1094 if (m_pClipRgn) {
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1204 } 1204 }
1205 if (m_pDevice->GetBPP() == 1) { 1205 if (m_pDevice->GetBPP() == 1) {
1206 composite_span = &CFX_Renderer::CompositeSpan1bpp; 1206 composite_span = &CFX_Renderer::CompositeSpan1bpp;
1207 } 1207 }
1208 return TRUE; 1208 return TRUE;
1209 } 1209 }
1210 }; 1210 };
1211 1211
1212 FX_BOOL CFX_AggDeviceDriver::RenderRasterizer( 1212 FX_BOOL CFX_AggDeviceDriver::RenderRasterizer(
1213 agg::rasterizer_scanline_aa& rasterizer, 1213 agg::rasterizer_scanline_aa& rasterizer,
1214 FX_DWORD color, 1214 uint32_t color,
1215 FX_BOOL bFullCover, 1215 FX_BOOL bFullCover,
1216 FX_BOOL bGroupKnockout, 1216 FX_BOOL bGroupKnockout,
1217 int alpha_flag, 1217 int alpha_flag,
1218 void* pIccTransform) { 1218 void* pIccTransform) {
1219 CFX_DIBitmap* pt = bGroupKnockout ? m_pOriDevice : NULL; 1219 CFX_DIBitmap* pt = bGroupKnockout ? m_pOriDevice : NULL;
1220 CFX_Renderer render; 1220 CFX_Renderer render;
1221 if (!render.Init(m_pBitmap, pt, m_pClipRgn, color, bFullCover, 1221 if (!render.Init(m_pBitmap, pt, m_pClipRgn, color, bFullCover,
1222 m_bRgbByteOrder, alpha_flag, pIccTransform)) { 1222 m_bRgbByteOrder, alpha_flag, pIccTransform)) {
1223 return FALSE; 1223 return FALSE;
1224 } 1224 }
1225 agg::scanline_u8 scanline; 1225 agg::scanline_u8 scanline;
1226 agg::render_scanlines(rasterizer, scanline, render, 1226 agg::render_scanlines(rasterizer, scanline, render,
1227 (m_FillFlags & FXFILL_NOPATHSMOOTH) != 0); 1227 (m_FillFlags & FXFILL_NOPATHSMOOTH) != 0);
1228 return TRUE; 1228 return TRUE;
1229 } 1229 }
1230 1230
1231 FX_BOOL CFX_AggDeviceDriver::DrawPath(const CFX_PathData* pPathData, 1231 FX_BOOL CFX_AggDeviceDriver::DrawPath(const CFX_PathData* pPathData,
1232 const CFX_Matrix* pObject2Device, 1232 const CFX_Matrix* pObject2Device,
1233 const CFX_GraphStateData* pGraphState, 1233 const CFX_GraphStateData* pGraphState,
1234 FX_DWORD fill_color, 1234 uint32_t fill_color,
1235 FX_DWORD stroke_color, 1235 uint32_t stroke_color,
1236 int fill_mode, 1236 int fill_mode,
1237 int alpha_flag, 1237 int alpha_flag,
1238 void* pIccTransform, 1238 void* pIccTransform,
1239 int blend_type) { 1239 int blend_type) {
1240 if (blend_type != FXDIB_BLEND_NORMAL) { 1240 if (blend_type != FXDIB_BLEND_NORMAL) {
1241 return FALSE; 1241 return FALSE;
1242 } 1242 }
1243 if (!GetBuffer()) { 1243 if (!GetBuffer()) {
1244 return TRUE; 1244 return TRUE;
1245 } 1245 }
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1305 FXGETFLAG_ALPHA_STROKE(alpha_flag); 1305 FXGETFLAG_ALPHA_STROKE(alpha_flag);
1306 if (!RenderRasterizer(rasterizer, stroke_color, 1306 if (!RenderRasterizer(rasterizer, stroke_color,
1307 fill_mode & FXFILL_FULLCOVER, m_bGroupKnockout, 1307 fill_mode & FXFILL_FULLCOVER, m_bGroupKnockout,
1308 fill_flag, pIccTransform)) { 1308 fill_flag, pIccTransform)) {
1309 return FALSE; 1309 return FALSE;
1310 } 1310 }
1311 } 1311 }
1312 return TRUE; 1312 return TRUE;
1313 } 1313 }
1314 1314
1315 void RgbByteOrderSetPixel(CFX_DIBitmap* pBitmap, int x, int y, FX_DWORD argb) { 1315 void RgbByteOrderSetPixel(CFX_DIBitmap* pBitmap, int x, int y, uint32_t argb) {
1316 if (x < 0 || x >= pBitmap->GetWidth() || y < 0 || y >= pBitmap->GetHeight()) { 1316 if (x < 0 || x >= pBitmap->GetWidth() || y < 0 || y >= pBitmap->GetHeight()) {
1317 return; 1317 return;
1318 } 1318 }
1319 uint8_t* pos = (uint8_t*)pBitmap->GetBuffer() + y * pBitmap->GetPitch() + 1319 uint8_t* pos = (uint8_t*)pBitmap->GetBuffer() + y * pBitmap->GetPitch() +
1320 x * pBitmap->GetBPP() / 8; 1320 x * pBitmap->GetBPP() / 8;
1321 if (pBitmap->GetFormat() == FXDIB_Argb) { 1321 if (pBitmap->GetFormat() == FXDIB_Argb) {
1322 FXARGB_SETRGBORDERDIB(pos, ArgbGamma(argb)); 1322 FXARGB_SETRGBORDERDIB(pos, ArgbGamma(argb));
1323 } else { 1323 } else {
1324 int alpha = FXARGB_A(argb); 1324 int alpha = FXARGB_A(argb);
1325 pos[0] = (FXARGB_R(argb) * alpha + pos[0] * (255 - alpha)) / 255; 1325 pos[0] = (FXARGB_R(argb) * alpha + pos[0] * (255 - alpha)) / 255;
(...skipping 18 matching lines...) Expand all
1344 int src_r = FXARGB_R(argb), src_g = FXARGB_G(argb), src_b = FXARGB_B(argb); 1344 int src_r = FXARGB_R(argb), src_g = FXARGB_G(argb), src_b = FXARGB_B(argb);
1345 int Bpp = pBitmap->GetBPP() / 8; 1345 int Bpp = pBitmap->GetBPP() / 8;
1346 FX_BOOL bAlpha = pBitmap->HasAlpha(); 1346 FX_BOOL bAlpha = pBitmap->HasAlpha();
1347 int dib_argb = FXARGB_TOBGRORDERDIB(argb); 1347 int dib_argb = FXARGB_TOBGRORDERDIB(argb);
1348 uint8_t* pBuffer = pBitmap->GetBuffer(); 1348 uint8_t* pBuffer = pBitmap->GetBuffer();
1349 if (src_alpha == 255) { 1349 if (src_alpha == 255) {
1350 for (int row = rect.top; row < rect.bottom; row++) { 1350 for (int row = rect.top; row < rect.bottom; row++) {
1351 uint8_t* dest_scan = 1351 uint8_t* dest_scan =
1352 pBuffer + row * pBitmap->GetPitch() + rect.left * Bpp; 1352 pBuffer + row * pBitmap->GetPitch() + rect.left * Bpp;
1353 if (Bpp == 4) { 1353 if (Bpp == 4) {
1354 FX_DWORD* scan = (FX_DWORD*)dest_scan; 1354 uint32_t* scan = (uint32_t*)dest_scan;
1355 for (int col = 0; col < width; col++) { 1355 for (int col = 0; col < width; col++) {
1356 *scan++ = dib_argb; 1356 *scan++ = dib_argb;
1357 } 1357 }
1358 } else { 1358 } else {
1359 for (int col = 0; col < width; col++) { 1359 for (int col = 0; col < width; col++) {
1360 *dest_scan++ = src_r; 1360 *dest_scan++ = src_r;
1361 *dest_scan++ = src_g; 1361 *dest_scan++ = src_g;
1362 *dest_scan++ = src_b; 1362 *dest_scan++ = src_b;
1363 } 1363 }
1364 } 1364 }
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
1516 FX_ARGB _DefaultCMYK2ARGB(FX_CMYK cmyk, uint8_t alpha) { 1516 FX_ARGB _DefaultCMYK2ARGB(FX_CMYK cmyk, uint8_t alpha) {
1517 uint8_t r, g, b; 1517 uint8_t r, g, b;
1518 AdobeCMYK_to_sRGB1(FXSYS_GetCValue(cmyk), FXSYS_GetMValue(cmyk), 1518 AdobeCMYK_to_sRGB1(FXSYS_GetCValue(cmyk), FXSYS_GetMValue(cmyk),
1519 FXSYS_GetYValue(cmyk), FXSYS_GetKValue(cmyk), r, g, b); 1519 FXSYS_GetYValue(cmyk), FXSYS_GetKValue(cmyk), r, g, b);
1520 return ArgbEncode(alpha, r, g, b); 1520 return ArgbEncode(alpha, r, g, b);
1521 } 1521 }
1522 1522
1523 FX_BOOL _DibSetPixel(CFX_DIBitmap* pDevice, 1523 FX_BOOL _DibSetPixel(CFX_DIBitmap* pDevice,
1524 int x, 1524 int x,
1525 int y, 1525 int y,
1526 FX_DWORD color, 1526 uint32_t color,
1527 int alpha_flag, 1527 int alpha_flag,
1528 void* pIccTransform) { 1528 void* pIccTransform) {
1529 FX_BOOL bObjCMYK = FXGETFLAG_COLORTYPE(alpha_flag); 1529 FX_BOOL bObjCMYK = FXGETFLAG_COLORTYPE(alpha_flag);
1530 int alpha = bObjCMYK ? FXGETFLAG_ALPHA_FILL(alpha_flag) : FXARGB_A(color); 1530 int alpha = bObjCMYK ? FXGETFLAG_ALPHA_FILL(alpha_flag) : FXARGB_A(color);
1531 if (pIccTransform) { 1531 if (pIccTransform) {
1532 ICodec_IccModule* pIccModule = 1532 ICodec_IccModule* pIccModule =
1533 CFX_GEModule::Get()->GetCodecModule()->GetIccModule(); 1533 CFX_GEModule::Get()->GetCodecModule()->GetIccModule();
1534 color = bObjCMYK ? FXCMYK_TODIB(color) : FXARGB_TODIB(color); 1534 color = bObjCMYK ? FXCMYK_TODIB(color) : FXARGB_TODIB(color);
1535 pIccModule->TranslateScanline(pIccTransform, (uint8_t*)&color, 1535 pIccModule->TranslateScanline(pIccTransform, (uint8_t*)&color,
1536 (uint8_t*)&color, 1); 1536 (uint8_t*)&color, 1);
(...skipping 14 matching lines...) Expand all
1551 } 1551 }
1552 pDevice->SetPixel(x, y, color); 1552 pDevice->SetPixel(x, y, color);
1553 if (pDevice->m_pAlphaMask) { 1553 if (pDevice->m_pAlphaMask) {
1554 pDevice->m_pAlphaMask->SetPixel(x, y, alpha << 24); 1554 pDevice->m_pAlphaMask->SetPixel(x, y, alpha << 24);
1555 } 1555 }
1556 return TRUE; 1556 return TRUE;
1557 } 1557 }
1558 1558
1559 FX_BOOL CFX_AggDeviceDriver::SetPixel(int x, 1559 FX_BOOL CFX_AggDeviceDriver::SetPixel(int x,
1560 int y, 1560 int y,
1561 FX_DWORD color, 1561 uint32_t color,
1562 int alpha_flag, 1562 int alpha_flag,
1563 void* pIccTransform) { 1563 void* pIccTransform) {
1564 if (!m_pBitmap->GetBuffer()) { 1564 if (!m_pBitmap->GetBuffer()) {
1565 return TRUE; 1565 return TRUE;
1566 } 1566 }
1567 if (!CFX_GEModule::Get()->GetCodecModule() || 1567 if (!CFX_GEModule::Get()->GetCodecModule() ||
1568 !CFX_GEModule::Get()->GetCodecModule()->GetIccModule()) { 1568 !CFX_GEModule::Get()->GetCodecModule()->GetIccModule()) {
1569 pIccTransform = NULL; 1569 pIccTransform = NULL;
1570 } 1570 }
1571 if (!m_pClipRgn) { 1571 if (!m_pClipRgn) {
(...skipping 25 matching lines...) Expand all
1597 } else { 1597 } else {
1598 color = (color & 0xffffff) | (new_alpha << 24); 1598 color = (color & 0xffffff) | (new_alpha << 24);
1599 } 1599 }
1600 return _DibSetPixel(m_pBitmap, x, y, color, alpha_flag, pIccTransform); 1600 return _DibSetPixel(m_pBitmap, x, y, color, alpha_flag, pIccTransform);
1601 } 1601 }
1602 } 1602 }
1603 return TRUE; 1603 return TRUE;
1604 } 1604 }
1605 1605
1606 FX_BOOL CFX_AggDeviceDriver::FillRect(const FX_RECT* pRect, 1606 FX_BOOL CFX_AggDeviceDriver::FillRect(const FX_RECT* pRect,
1607 FX_DWORD fill_color, 1607 uint32_t fill_color,
1608 int alpha_flag, 1608 int alpha_flag,
1609 void* pIccTransform, 1609 void* pIccTransform,
1610 int blend_type) { 1610 int blend_type) {
1611 if (blend_type != FXDIB_BLEND_NORMAL) { 1611 if (blend_type != FXDIB_BLEND_NORMAL) {
1612 return FALSE; 1612 return FALSE;
1613 } 1613 }
1614 if (!m_pBitmap->GetBuffer()) { 1614 if (!m_pBitmap->GetBuffer()) {
1615 return TRUE; 1615 return TRUE;
1616 } 1616 }
1617 FX_RECT clip_rect; 1617 FX_RECT clip_rect;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1697 pBack, left, top); 1697 pBack, left, top);
1698 } else { 1698 } else {
1699 bRet = pBitmap->TransferBitmap(0, 0, rect.Width(), rect.Height(), pBack, 1699 bRet = pBitmap->TransferBitmap(0, 0, rect.Width(), rect.Height(), pBack,
1700 left, top, pIccTransform); 1700 left, top, pIccTransform);
1701 } 1701 }
1702 delete pBack; 1702 delete pBack;
1703 return bRet; 1703 return bRet;
1704 } 1704 }
1705 1705
1706 FX_BOOL CFX_AggDeviceDriver::SetDIBits(const CFX_DIBSource* pBitmap, 1706 FX_BOOL CFX_AggDeviceDriver::SetDIBits(const CFX_DIBSource* pBitmap,
1707 FX_DWORD argb, 1707 uint32_t argb,
1708 const FX_RECT* pSrcRect, 1708 const FX_RECT* pSrcRect,
1709 int left, 1709 int left,
1710 int top, 1710 int top,
1711 int blend_type, 1711 int blend_type,
1712 int alpha_flag, 1712 int alpha_flag,
1713 void* pIccTransform) { 1713 void* pIccTransform) {
1714 if (!m_pBitmap->GetBuffer()) { 1714 if (!m_pBitmap->GetBuffer()) {
1715 return TRUE; 1715 return TRUE;
1716 } 1716 }
1717 if (pBitmap->IsAlphaMask()) 1717 if (pBitmap->IsAlphaMask())
1718 return m_pBitmap->CompositeMask( 1718 return m_pBitmap->CompositeMask(
1719 left, top, pSrcRect->Width(), pSrcRect->Height(), pBitmap, argb, 1719 left, top, pSrcRect->Width(), pSrcRect->Height(), pBitmap, argb,
1720 pSrcRect->left, pSrcRect->top, blend_type, m_pClipRgn, m_bRgbByteOrder, 1720 pSrcRect->left, pSrcRect->top, blend_type, m_pClipRgn, m_bRgbByteOrder,
1721 alpha_flag, pIccTransform); 1721 alpha_flag, pIccTransform);
1722 return m_pBitmap->CompositeBitmap( 1722 return m_pBitmap->CompositeBitmap(
1723 left, top, pSrcRect->Width(), pSrcRect->Height(), pBitmap, pSrcRect->left, 1723 left, top, pSrcRect->Width(), pSrcRect->Height(), pBitmap, pSrcRect->left,
1724 pSrcRect->top, blend_type, m_pClipRgn, m_bRgbByteOrder, pIccTransform); 1724 pSrcRect->top, blend_type, m_pClipRgn, m_bRgbByteOrder, pIccTransform);
1725 } 1725 }
1726 1726
1727 FX_BOOL CFX_AggDeviceDriver::StretchDIBits(const CFX_DIBSource* pSource, 1727 FX_BOOL CFX_AggDeviceDriver::StretchDIBits(const CFX_DIBSource* pSource,
1728 FX_DWORD argb, 1728 uint32_t argb,
1729 int dest_left, 1729 int dest_left,
1730 int dest_top, 1730 int dest_top,
1731 int dest_width, 1731 int dest_width,
1732 int dest_height, 1732 int dest_height,
1733 const FX_RECT* pClipRect, 1733 const FX_RECT* pClipRect,
1734 FX_DWORD flags, 1734 uint32_t flags,
1735 int alpha_flag, 1735 int alpha_flag,
1736 void* pIccTransform, 1736 void* pIccTransform,
1737 int blend_type) { 1737 int blend_type) {
1738 if (!m_pBitmap->GetBuffer()) { 1738 if (!m_pBitmap->GetBuffer()) {
1739 return TRUE; 1739 return TRUE;
1740 } 1740 }
1741 if (dest_width == pSource->GetWidth() && 1741 if (dest_width == pSource->GetWidth() &&
1742 dest_height == pSource->GetHeight()) { 1742 dest_height == pSource->GetHeight()) {
1743 FX_RECT rect(0, 0, dest_width, dest_height); 1743 FX_RECT rect(0, 0, dest_width, dest_height);
1744 return SetDIBits(pSource, argb, &rect, dest_left, dest_top, blend_type, 1744 return SetDIBits(pSource, argb, &rect, dest_left, dest_top, blend_type,
(...skipping 12 matching lines...) Expand all
1757 CFX_ImageStretcher stretcher; 1757 CFX_ImageStretcher stretcher;
1758 if (stretcher.Start(&composer, pSource, dest_width, dest_height, dest_clip, 1758 if (stretcher.Start(&composer, pSource, dest_width, dest_height, dest_clip,
1759 flags)) { 1759 flags)) {
1760 stretcher.Continue(NULL); 1760 stretcher.Continue(NULL);
1761 } 1761 }
1762 return TRUE; 1762 return TRUE;
1763 } 1763 }
1764 1764
1765 FX_BOOL CFX_AggDeviceDriver::StartDIBits(const CFX_DIBSource* pSource, 1765 FX_BOOL CFX_AggDeviceDriver::StartDIBits(const CFX_DIBSource* pSource,
1766 int bitmap_alpha, 1766 int bitmap_alpha,
1767 FX_DWORD argb, 1767 uint32_t argb,
1768 const CFX_Matrix* pMatrix, 1768 const CFX_Matrix* pMatrix,
1769 FX_DWORD render_flags, 1769 uint32_t render_flags,
1770 void*& handle, 1770 void*& handle,
1771 int alpha_flag, 1771 int alpha_flag,
1772 void* pIccTransform, 1772 void* pIccTransform,
1773 int blend_type) { 1773 int blend_type) {
1774 if (!m_pBitmap->GetBuffer()) { 1774 if (!m_pBitmap->GetBuffer()) {
1775 return TRUE; 1775 return TRUE;
1776 } 1776 }
1777 CFX_ImageRenderer* pRenderer = new CFX_ImageRenderer; 1777 CFX_ImageRenderer* pRenderer = new CFX_ImageRenderer;
1778 pRenderer->Start(m_pBitmap, m_pClipRgn, pSource, bitmap_alpha, argb, pMatrix, 1778 pRenderer->Start(m_pBitmap, m_pClipRgn, pSource, bitmap_alpha, argb, pMatrix,
1779 render_flags, m_bRgbByteOrder, alpha_flag, pIccTransform); 1779 render_flags, m_bRgbByteOrder, alpha_flag, pIccTransform);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1830 new CFX_AggDeviceDriver(pBitmap, dither_bits, FALSE, pOriDevice, FALSE); 1830 new CFX_AggDeviceDriver(pBitmap, dither_bits, FALSE, pOriDevice, FALSE);
1831 SetDeviceDriver(pDriver); 1831 SetDeviceDriver(pDriver);
1832 return true; 1832 return true;
1833 } 1833 }
1834 1834
1835 CFX_FxgeDevice::~CFX_FxgeDevice() { 1835 CFX_FxgeDevice::~CFX_FxgeDevice() {
1836 if (m_bOwnedBitmap) { 1836 if (m_bOwnedBitmap) {
1837 delete GetBitmap(); 1837 delete GetBitmap();
1838 } 1838 }
1839 } 1839 }
OLDNEW
« no previous file with comments | « core/fxge/agg/fx_agg_driver.h ('k') | core/fxge/android/fpf_skiafont.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698