| 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 #ifndef CORE_FXGE_INCLUDE_FX_DIB_H_ | 7 #ifndef CORE_FXGE_INCLUDE_FX_DIB_H_ |
| 8 #define CORE_FXGE_INCLUDE_FX_DIB_H_ | 8 #define CORE_FXGE_INCLUDE_FX_DIB_H_ |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 uint32_t GetPaletteEntry(int index) const; | 197 uint32_t GetPaletteEntry(int index) const; |
| 198 | 198 |
| 199 void SetPaletteEntry(int index, uint32_t color); | 199 void SetPaletteEntry(int index, uint32_t color); |
| 200 uint32_t GetPaletteArgb(int index) const { return GetPaletteEntry(index); } | 200 uint32_t GetPaletteArgb(int index) const { return GetPaletteEntry(index); } |
| 201 void SetPaletteArgb(int index, uint32_t color) { | 201 void SetPaletteArgb(int index, uint32_t color) { |
| 202 SetPaletteEntry(index, color); | 202 SetPaletteEntry(index, color); |
| 203 } | 203 } |
| 204 | 204 |
| 205 void CopyPalette(const uint32_t* pSrcPal, uint32_t size = 256); | 205 void CopyPalette(const uint32_t* pSrcPal, uint32_t size = 256); |
| 206 | 206 |
| 207 CFX_DIBitmap* Clone(const FX_RECT* pClip = NULL) const; | 207 CFX_DIBitmap* Clone(const FX_RECT* pClip = nullptr) const; |
| 208 CFX_DIBitmap* CloneConvert(FXDIB_Format format, | 208 CFX_DIBitmap* CloneConvert(FXDIB_Format format, |
| 209 const FX_RECT* pClip = NULL, | 209 const FX_RECT* pClip = nullptr, |
| 210 void* pIccTransform = NULL) const; | 210 void* pIccTransform = nullptr) const; |
| 211 | 211 |
| 212 CFX_DIBitmap* StretchTo(int dest_width, | 212 CFX_DIBitmap* StretchTo(int dest_width, |
| 213 int dest_height, | 213 int dest_height, |
| 214 uint32_t flags = 0, | 214 uint32_t flags = 0, |
| 215 const FX_RECT* pClip = NULL) const; | 215 const FX_RECT* pClip = nullptr) const; |
| 216 CFX_DIBitmap* TransformTo(const CFX_Matrix* pMatrix, | 216 CFX_DIBitmap* TransformTo(const CFX_Matrix* pMatrix, |
| 217 int& left, | 217 int& left, |
| 218 int& top, | 218 int& top, |
| 219 uint32_t flags = 0, | 219 uint32_t flags = 0, |
| 220 const FX_RECT* pClip = NULL) const; | 220 const FX_RECT* pClip = nullptr) const; |
| 221 | 221 |
| 222 CFX_DIBitmap* GetAlphaMask(const FX_RECT* pClip = NULL) const; | 222 CFX_DIBitmap* GetAlphaMask(const FX_RECT* pClip = nullptr) const; |
| 223 FX_BOOL CopyAlphaMask(const CFX_DIBSource* pAlphaMask, | 223 FX_BOOL CopyAlphaMask(const CFX_DIBSource* pAlphaMask, |
| 224 const FX_RECT* pClip = NULL); | 224 const FX_RECT* pClip = nullptr); |
| 225 | 225 |
| 226 CFX_DIBitmap* SwapXY(FX_BOOL bXFlip, | 226 CFX_DIBitmap* SwapXY(FX_BOOL bXFlip, |
| 227 FX_BOOL bYFlip, | 227 FX_BOOL bYFlip, |
| 228 const FX_RECT* pClip = NULL) const; | 228 const FX_RECT* pClip = nullptr) const; |
| 229 | 229 |
| 230 CFX_DIBitmap* FlipImage(FX_BOOL bXFlip, FX_BOOL bYFlip) const; | 230 CFX_DIBitmap* FlipImage(FX_BOOL bXFlip, FX_BOOL bYFlip) const; |
| 231 | 231 |
| 232 void GetOverlapRect(int& dest_left, | 232 void GetOverlapRect(int& dest_left, |
| 233 int& dest_top, | 233 int& dest_top, |
| 234 int& width, | 234 int& width, |
| 235 int& height, | 235 int& height, |
| 236 int src_width, | 236 int src_width, |
| 237 int src_height, | 237 int src_height, |
| 238 int& src_left, | 238 int& src_left, |
| (...skipping 20 matching lines...) Expand all Loading... |
| 259 | 259 |
| 260 class CFX_DIBitmap : public CFX_DIBSource { | 260 class CFX_DIBitmap : public CFX_DIBSource { |
| 261 public: | 261 public: |
| 262 CFX_DIBitmap(); | 262 CFX_DIBitmap(); |
| 263 explicit CFX_DIBitmap(const CFX_DIBitmap& src); | 263 explicit CFX_DIBitmap(const CFX_DIBitmap& src); |
| 264 ~CFX_DIBitmap() override; | 264 ~CFX_DIBitmap() override; |
| 265 | 265 |
| 266 FX_BOOL Create(int width, | 266 FX_BOOL Create(int width, |
| 267 int height, | 267 int height, |
| 268 FXDIB_Format format, | 268 FXDIB_Format format, |
| 269 uint8_t* pBuffer = NULL, | 269 uint8_t* pBuffer = nullptr, |
| 270 int pitch = 0); | 270 int pitch = 0); |
| 271 | 271 |
| 272 FX_BOOL Copy(const CFX_DIBSource* pSrc); | 272 FX_BOOL Copy(const CFX_DIBSource* pSrc); |
| 273 | 273 |
| 274 // CFX_DIBSource | 274 // CFX_DIBSource |
| 275 uint8_t* GetBuffer() const override; | 275 uint8_t* GetBuffer() const override; |
| 276 const uint8_t* GetScanline(int line) const override; | 276 const uint8_t* GetScanline(int line) const override; |
| 277 void DownSampleScanline(int line, | 277 void DownSampleScanline(int line, |
| 278 uint8_t* dest_scan, | 278 uint8_t* dest_scan, |
| 279 int dest_bpp, | 279 int dest_bpp, |
| 280 int dest_width, | 280 int dest_width, |
| 281 FX_BOOL bFlipX, | 281 FX_BOOL bFlipX, |
| 282 int clip_left, | 282 int clip_left, |
| 283 int clip_width) const override; | 283 int clip_width) const override; |
| 284 | 284 |
| 285 void TakeOver(CFX_DIBitmap* pSrcBitmap); | 285 void TakeOver(CFX_DIBitmap* pSrcBitmap); |
| 286 | 286 |
| 287 FX_BOOL ConvertFormat(FXDIB_Format format, void* pIccTransform = NULL); | 287 FX_BOOL ConvertFormat(FXDIB_Format format, void* pIccTransform = nullptr); |
| 288 | 288 |
| 289 void Clear(uint32_t color); | 289 void Clear(uint32_t color); |
| 290 | 290 |
| 291 uint32_t GetPixel(int x, int y) const; | 291 uint32_t GetPixel(int x, int y) const; |
| 292 | 292 |
| 293 void SetPixel(int x, int y, uint32_t color); | 293 void SetPixel(int x, int y, uint32_t color); |
| 294 | 294 |
| 295 FX_BOOL LoadChannel(FXDIB_Channel destChannel, | 295 FX_BOOL LoadChannel(FXDIB_Channel destChannel, |
| 296 const CFX_DIBSource* pSrcBitmap, | 296 const CFX_DIBSource* pSrcBitmap, |
| 297 FXDIB_Channel srcChannel); | 297 FXDIB_Channel srcChannel); |
| 298 | 298 |
| 299 FX_BOOL LoadChannel(FXDIB_Channel destChannel, int value); | 299 FX_BOOL LoadChannel(FXDIB_Channel destChannel, int value); |
| 300 | 300 |
| 301 FX_BOOL MultiplyAlpha(int alpha); | 301 FX_BOOL MultiplyAlpha(int alpha); |
| 302 | 302 |
| 303 FX_BOOL MultiplyAlpha(const CFX_DIBSource* pAlphaMask); | 303 FX_BOOL MultiplyAlpha(const CFX_DIBSource* pAlphaMask); |
| 304 | 304 |
| 305 FX_BOOL TransferBitmap(int dest_left, | 305 FX_BOOL TransferBitmap(int dest_left, |
| 306 int dest_top, | 306 int dest_top, |
| 307 int width, | 307 int width, |
| 308 int height, | 308 int height, |
| 309 const CFX_DIBSource* pSrcBitmap, | 309 const CFX_DIBSource* pSrcBitmap, |
| 310 int src_left, | 310 int src_left, |
| 311 int src_top, | 311 int src_top, |
| 312 void* pIccTransform = NULL); | 312 void* pIccTransform = nullptr); |
| 313 | 313 |
| 314 FX_BOOL CompositeBitmap(int dest_left, | 314 FX_BOOL CompositeBitmap(int dest_left, |
| 315 int dest_top, | 315 int dest_top, |
| 316 int width, | 316 int width, |
| 317 int height, | 317 int height, |
| 318 const CFX_DIBSource* pSrcBitmap, | 318 const CFX_DIBSource* pSrcBitmap, |
| 319 int src_left, | 319 int src_left, |
| 320 int src_top, | 320 int src_top, |
| 321 int blend_type = FXDIB_BLEND_NORMAL, | 321 int blend_type = FXDIB_BLEND_NORMAL, |
| 322 const CFX_ClipRgn* pClipRgn = NULL, | 322 const CFX_ClipRgn* pClipRgn = nullptr, |
| 323 FX_BOOL bRgbByteOrder = FALSE, | 323 FX_BOOL bRgbByteOrder = FALSE, |
| 324 void* pIccTransform = NULL); | 324 void* pIccTransform = nullptr); |
| 325 | 325 |
| 326 FX_BOOL TransferMask(int dest_left, | 326 FX_BOOL TransferMask(int dest_left, |
| 327 int dest_top, | 327 int dest_top, |
| 328 int width, | 328 int width, |
| 329 int height, | 329 int height, |
| 330 const CFX_DIBSource* pMask, | 330 const CFX_DIBSource* pMask, |
| 331 uint32_t color, | 331 uint32_t color, |
| 332 int src_left, | 332 int src_left, |
| 333 int src_top, | 333 int src_top, |
| 334 int alpha_flag = 0, | 334 int alpha_flag = 0, |
| 335 void* pIccTransform = NULL); | 335 void* pIccTransform = nullptr); |
| 336 | 336 |
| 337 FX_BOOL CompositeMask(int dest_left, | 337 FX_BOOL CompositeMask(int dest_left, |
| 338 int dest_top, | 338 int dest_top, |
| 339 int width, | 339 int width, |
| 340 int height, | 340 int height, |
| 341 const CFX_DIBSource* pMask, | 341 const CFX_DIBSource* pMask, |
| 342 uint32_t color, | 342 uint32_t color, |
| 343 int src_left, | 343 int src_left, |
| 344 int src_top, | 344 int src_top, |
| 345 int blend_type = FXDIB_BLEND_NORMAL, | 345 int blend_type = FXDIB_BLEND_NORMAL, |
| 346 const CFX_ClipRgn* pClipRgn = NULL, | 346 const CFX_ClipRgn* pClipRgn = nullptr, |
| 347 FX_BOOL bRgbByteOrder = FALSE, | 347 FX_BOOL bRgbByteOrder = FALSE, |
| 348 int alpha_flag = 0, | 348 int alpha_flag = 0, |
| 349 void* pIccTransform = NULL); | 349 void* pIccTransform = nullptr); |
| 350 | 350 |
| 351 FX_BOOL CompositeRect(int dest_left, | 351 FX_BOOL CompositeRect(int dest_left, |
| 352 int dest_top, | 352 int dest_top, |
| 353 int width, | 353 int width, |
| 354 int height, | 354 int height, |
| 355 uint32_t color, | 355 uint32_t color, |
| 356 int alpha_flag = 0, | 356 int alpha_flag = 0, |
| 357 void* pIccTransform = NULL); | 357 void* pIccTransform = nullptr); |
| 358 | 358 |
| 359 FX_BOOL ConvertColorScale(uint32_t forecolor, uint32_t backcolor); | 359 FX_BOOL ConvertColorScale(uint32_t forecolor, uint32_t backcolor); |
| 360 | 360 |
| 361 protected: | 361 protected: |
| 362 FX_BOOL GetGrayData(void* pIccTransform = NULL); | 362 FX_BOOL GetGrayData(void* pIccTransform = nullptr); |
| 363 | 363 |
| 364 uint8_t* m_pBuffer; | 364 uint8_t* m_pBuffer; |
| 365 FX_BOOL m_bExtBuf; | 365 FX_BOOL m_bExtBuf; |
| 366 }; | 366 }; |
| 367 | 367 |
| 368 class CFX_DIBExtractor { | 368 class CFX_DIBExtractor { |
| 369 public: | 369 public: |
| 370 CFX_DIBExtractor(const CFX_DIBSource* pSrc); | 370 CFX_DIBExtractor(const CFX_DIBSource* pSrc); |
| 371 | 371 |
| 372 ~CFX_DIBExtractor(); | 372 ~CFX_DIBExtractor(); |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 414 | 414 |
| 415 uint8_t* m_pScanline; | 415 uint8_t* m_pScanline; |
| 416 }; | 416 }; |
| 417 | 417 |
| 418 class IFX_ScanlineComposer { | 418 class IFX_ScanlineComposer { |
| 419 public: | 419 public: |
| 420 virtual ~IFX_ScanlineComposer() {} | 420 virtual ~IFX_ScanlineComposer() {} |
| 421 | 421 |
| 422 virtual void ComposeScanline(int line, | 422 virtual void ComposeScanline(int line, |
| 423 const uint8_t* scanline, | 423 const uint8_t* scanline, |
| 424 const uint8_t* scan_extra_alpha = NULL) = 0; | 424 const uint8_t* scan_extra_alpha = nullptr) = 0; |
| 425 | 425 |
| 426 virtual FX_BOOL SetInfo(int width, | 426 virtual FX_BOOL SetInfo(int width, |
| 427 int height, | 427 int height, |
| 428 FXDIB_Format src_format, | 428 FXDIB_Format src_format, |
| 429 uint32_t* pSrcPalette) = 0; | 429 uint32_t* pSrcPalette) = 0; |
| 430 }; | 430 }; |
| 431 class CFX_ScanlineCompositor { | 431 class CFX_ScanlineCompositor { |
| 432 public: | 432 public: |
| 433 CFX_ScanlineCompositor(); | 433 CFX_ScanlineCompositor(); |
| 434 | 434 |
| 435 ~CFX_ScanlineCompositor(); | 435 ~CFX_ScanlineCompositor(); |
| 436 | 436 |
| 437 FX_BOOL Init(FXDIB_Format dest_format, | 437 FX_BOOL Init(FXDIB_Format dest_format, |
| 438 FXDIB_Format src_format, | 438 FXDIB_Format src_format, |
| 439 int32_t width, | 439 int32_t width, |
| 440 uint32_t* pSrcPalette, | 440 uint32_t* pSrcPalette, |
| 441 uint32_t mask_color, | 441 uint32_t mask_color, |
| 442 int blend_type, | 442 int blend_type, |
| 443 FX_BOOL bClip, | 443 FX_BOOL bClip, |
| 444 FX_BOOL bRgbByteOrder = FALSE, | 444 FX_BOOL bRgbByteOrder = FALSE, |
| 445 int alpha_flag = 0, | 445 int alpha_flag = 0, |
| 446 void* pIccTransform = NULL); | 446 void* pIccTransform = nullptr); |
| 447 | 447 |
| 448 void CompositeRgbBitmapLine(uint8_t* dest_scan, | 448 void CompositeRgbBitmapLine(uint8_t* dest_scan, |
| 449 const uint8_t* src_scan, | 449 const uint8_t* src_scan, |
| 450 int width, | 450 int width, |
| 451 const uint8_t* clip_scan, | 451 const uint8_t* clip_scan, |
| 452 const uint8_t* src_extra_alpha = NULL, | 452 const uint8_t* src_extra_alpha = nullptr, |
| 453 uint8_t* dst_extra_alpha = NULL); | 453 uint8_t* dst_extra_alpha = nullptr); |
| 454 | 454 |
| 455 void CompositePalBitmapLine(uint8_t* dest_scan, | 455 void CompositePalBitmapLine(uint8_t* dest_scan, |
| 456 const uint8_t* src_scan, | 456 const uint8_t* src_scan, |
| 457 int src_left, | 457 int src_left, |
| 458 int width, | 458 int width, |
| 459 const uint8_t* clip_scan, | 459 const uint8_t* clip_scan, |
| 460 const uint8_t* src_extra_alpha = NULL, | 460 const uint8_t* src_extra_alpha = nullptr, |
| 461 uint8_t* dst_extra_alpha = NULL); | 461 uint8_t* dst_extra_alpha = nullptr); |
| 462 | 462 |
| 463 void CompositeByteMaskLine(uint8_t* dest_scan, | 463 void CompositeByteMaskLine(uint8_t* dest_scan, |
| 464 const uint8_t* src_scan, | 464 const uint8_t* src_scan, |
| 465 int width, | 465 int width, |
| 466 const uint8_t* clip_scan, | 466 const uint8_t* clip_scan, |
| 467 uint8_t* dst_extra_alpha = NULL); | 467 uint8_t* dst_extra_alpha = nullptr); |
| 468 | 468 |
| 469 void CompositeBitMaskLine(uint8_t* dest_scan, | 469 void CompositeBitMaskLine(uint8_t* dest_scan, |
| 470 const uint8_t* src_scan, | 470 const uint8_t* src_scan, |
| 471 int src_left, | 471 int src_left, |
| 472 int width, | 472 int width, |
| 473 const uint8_t* clip_scan, | 473 const uint8_t* clip_scan, |
| 474 uint8_t* dst_extra_alpha = NULL); | 474 uint8_t* dst_extra_alpha = nullptr); |
| 475 | 475 |
| 476 protected: | 476 protected: |
| 477 int m_Transparency; | 477 int m_Transparency; |
| 478 FXDIB_Format m_SrcFormat, m_DestFormat; | 478 FXDIB_Format m_SrcFormat, m_DestFormat; |
| 479 uint32_t* m_pSrcPalette; | 479 uint32_t* m_pSrcPalette; |
| 480 | 480 |
| 481 int m_MaskAlpha, m_MaskRed, m_MaskGreen, m_MaskBlue, m_MaskBlack; | 481 int m_MaskAlpha, m_MaskRed, m_MaskGreen, m_MaskBlue, m_MaskBlack; |
| 482 int m_BlendType; | 482 int m_BlendType; |
| 483 void* m_pIccTransform; | 483 void* m_pIccTransform; |
| 484 uint8_t* m_pCacheScanline; | 484 uint8_t* m_pCacheScanline; |
| 485 int m_CacheSize; | 485 int m_CacheSize; |
| 486 FX_BOOL m_bRgbByteOrder; | 486 FX_BOOL m_bRgbByteOrder; |
| 487 }; | 487 }; |
| 488 | 488 |
| 489 class CFX_BitmapComposer : public IFX_ScanlineComposer { | 489 class CFX_BitmapComposer : public IFX_ScanlineComposer { |
| 490 public: | 490 public: |
| 491 CFX_BitmapComposer(); | 491 CFX_BitmapComposer(); |
| 492 ~CFX_BitmapComposer() override; | 492 ~CFX_BitmapComposer() override; |
| 493 | 493 |
| 494 void Compose(CFX_DIBitmap* pDest, | 494 void Compose(CFX_DIBitmap* pDest, |
| 495 const CFX_ClipRgn* pClipRgn, | 495 const CFX_ClipRgn* pClipRgn, |
| 496 int bitmap_alpha, | 496 int bitmap_alpha, |
| 497 uint32_t mask_color, | 497 uint32_t mask_color, |
| 498 FX_RECT& dest_rect, | 498 FX_RECT& dest_rect, |
| 499 FX_BOOL bVertical, | 499 FX_BOOL bVertical, |
| 500 FX_BOOL bFlipX, | 500 FX_BOOL bFlipX, |
| 501 FX_BOOL bFlipY, | 501 FX_BOOL bFlipY, |
| 502 FX_BOOL bRgbByteOrder = FALSE, | 502 FX_BOOL bRgbByteOrder = FALSE, |
| 503 int alpha_flag = 0, | 503 int alpha_flag = 0, |
| 504 void* pIccTransform = NULL, | 504 void* pIccTransform = nullptr, |
| 505 int blend_type = FXDIB_BLEND_NORMAL); | 505 int blend_type = FXDIB_BLEND_NORMAL); |
| 506 | 506 |
| 507 // IFX_ScanlineComposer | 507 // IFX_ScanlineComposer |
| 508 FX_BOOL SetInfo(int width, | 508 FX_BOOL SetInfo(int width, |
| 509 int height, | 509 int height, |
| 510 FXDIB_Format src_format, | 510 FXDIB_Format src_format, |
| 511 uint32_t* pSrcPalette) override; | 511 uint32_t* pSrcPalette) override; |
| 512 | 512 |
| 513 void ComposeScanline(int line, | 513 void ComposeScanline(int line, |
| 514 const uint8_t* scanline, | 514 const uint8_t* scanline, |
| 515 const uint8_t* scan_extra_alpha) override; | 515 const uint8_t* scan_extra_alpha) override; |
| 516 | 516 |
| 517 protected: | 517 protected: |
| 518 void DoCompose(uint8_t* dest_scan, | 518 void DoCompose(uint8_t* dest_scan, |
| 519 const uint8_t* src_scan, | 519 const uint8_t* src_scan, |
| 520 int dest_width, | 520 int dest_width, |
| 521 const uint8_t* clip_scan, | 521 const uint8_t* clip_scan, |
| 522 const uint8_t* src_extra_alpha = NULL, | 522 const uint8_t* src_extra_alpha = nullptr, |
| 523 uint8_t* dst_extra_alpha = NULL); | 523 uint8_t* dst_extra_alpha = nullptr); |
| 524 CFX_DIBitmap* m_pBitmap; | 524 CFX_DIBitmap* m_pBitmap; |
| 525 const CFX_ClipRgn* m_pClipRgn; | 525 const CFX_ClipRgn* m_pClipRgn; |
| 526 FXDIB_Format m_SrcFormat; | 526 FXDIB_Format m_SrcFormat; |
| 527 int m_DestLeft, m_DestTop, m_DestWidth, m_DestHeight, m_BitmapAlpha; | 527 int m_DestLeft, m_DestTop, m_DestWidth, m_DestHeight, m_BitmapAlpha; |
| 528 uint32_t m_MaskColor; | 528 uint32_t m_MaskColor; |
| 529 const CFX_DIBitmap* m_pClipMask; | 529 const CFX_DIBitmap* m_pClipMask; |
| 530 CFX_ScanlineCompositor m_Compositor; | 530 CFX_ScanlineCompositor m_Compositor; |
| 531 FX_BOOL m_bVertical, m_bFlipX, m_bFlipY; | 531 FX_BOOL m_bVertical, m_bFlipX, m_bFlipY; |
| 532 int m_AlphaFlag; | 532 int m_AlphaFlag; |
| 533 void* m_pIccTransform; | 533 void* m_pIccTransform; |
| 534 FX_BOOL m_bRgbByteOrder; | 534 FX_BOOL m_bRgbByteOrder; |
| 535 int m_BlendType; | 535 int m_BlendType; |
| 536 void ComposeScanlineV(int line, | 536 void ComposeScanlineV(int line, |
| 537 const uint8_t* scanline, | 537 const uint8_t* scanline, |
| 538 const uint8_t* scan_extra_alpha = NULL); | 538 const uint8_t* scan_extra_alpha = nullptr); |
| 539 uint8_t* m_pScanlineV; | 539 uint8_t* m_pScanlineV; |
| 540 uint8_t* m_pClipScanV; | 540 uint8_t* m_pClipScanV; |
| 541 uint8_t* m_pAddClipScan; | 541 uint8_t* m_pAddClipScan; |
| 542 uint8_t* m_pScanlineAlphaV; | 542 uint8_t* m_pScanlineAlphaV; |
| 543 }; | 543 }; |
| 544 | 544 |
| 545 class CFX_BitmapStorer : public IFX_ScanlineComposer { | 545 class CFX_BitmapStorer : public IFX_ScanlineComposer { |
| 546 public: | 546 public: |
| 547 CFX_BitmapStorer(); | 547 CFX_BitmapStorer(); |
| 548 ~CFX_BitmapStorer() override; | 548 ~CFX_BitmapStorer() override; |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 635 | 635 |
| 636 FX_BOOL Start(CFX_DIBitmap* pDevice, | 636 FX_BOOL Start(CFX_DIBitmap* pDevice, |
| 637 const CFX_ClipRgn* pClipRgn, | 637 const CFX_ClipRgn* pClipRgn, |
| 638 const CFX_DIBSource* pSource, | 638 const CFX_DIBSource* pSource, |
| 639 int bitmap_alpha, | 639 int bitmap_alpha, |
| 640 uint32_t mask_color, | 640 uint32_t mask_color, |
| 641 const CFX_Matrix* pMatrix, | 641 const CFX_Matrix* pMatrix, |
| 642 uint32_t dib_flags, | 642 uint32_t dib_flags, |
| 643 FX_BOOL bRgbByteOrder = FALSE, | 643 FX_BOOL bRgbByteOrder = FALSE, |
| 644 int alpha_flag = 0, | 644 int alpha_flag = 0, |
| 645 void* pIccTransform = NULL, | 645 void* pIccTransform = nullptr, |
| 646 int blend_type = FXDIB_BLEND_NORMAL); | 646 int blend_type = FXDIB_BLEND_NORMAL); |
| 647 | 647 |
| 648 FX_BOOL Continue(IFX_Pause* pPause); | 648 FX_BOOL Continue(IFX_Pause* pPause); |
| 649 | 649 |
| 650 protected: | 650 protected: |
| 651 CFX_DIBitmap* m_pDevice; | 651 CFX_DIBitmap* m_pDevice; |
| 652 const CFX_ClipRgn* m_pClipRgn; | 652 const CFX_ClipRgn* m_pClipRgn; |
| 653 int m_BitmapAlpha; | 653 int m_BitmapAlpha; |
| 654 uint32_t m_MaskColor; | 654 uint32_t m_MaskColor; |
| 655 CFX_Matrix m_Matrix; | 655 CFX_Matrix m_Matrix; |
| 656 CFX_ImageTransformer* m_pTransformer; | 656 CFX_ImageTransformer* m_pTransformer; |
| 657 std::unique_ptr<CFX_ImageStretcher> m_Stretcher; | 657 std::unique_ptr<CFX_ImageStretcher> m_Stretcher; |
| 658 CFX_BitmapComposer m_Composer; | 658 CFX_BitmapComposer m_Composer; |
| 659 int m_Status; | 659 int m_Status; |
| 660 FX_RECT m_ClipBox; | 660 FX_RECT m_ClipBox; |
| 661 uint32_t m_Flags; | 661 uint32_t m_Flags; |
| 662 int m_AlphaFlag; | 662 int m_AlphaFlag; |
| 663 void* m_pIccTransform; | 663 void* m_pIccTransform; |
| 664 FX_BOOL m_bRgbByteOrder; | 664 FX_BOOL m_bRgbByteOrder; |
| 665 int m_BlendType; | 665 int m_BlendType; |
| 666 }; | 666 }; |
| 667 | 667 |
| 668 #endif // CORE_FXGE_INCLUDE_FX_DIB_H_ | 668 #endif // CORE_FXGE_INCLUDE_FX_DIB_H_ |
| OLD | NEW |