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 |