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

Side by Side Diff: core/fxge/include/fx_dib.h

Issue 1973913002: Clean up CFX_ImageTransformer. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: address comments Created 4 years, 7 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/dib/fx_dib_transform.cpp ('k') | xfa/fxfa/app/xfa_ffwidget.cpp » ('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 #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 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 551
552 class CFX_BitmapStorer : public IFX_ScanlineComposer { 552 class CFX_BitmapStorer : public IFX_ScanlineComposer {
553 public: 553 public:
554 CFX_BitmapStorer(); 554 CFX_BitmapStorer();
555 ~CFX_BitmapStorer() override; 555 ~CFX_BitmapStorer() override;
556 556
557 // IFX_ScanlineComposer 557 // IFX_ScanlineComposer
558 void ComposeScanline(int line, 558 void ComposeScanline(int line,
559 const uint8_t* scanline, 559 const uint8_t* scanline,
560 const uint8_t* scan_extra_alpha) override; 560 const uint8_t* scan_extra_alpha) override;
561
562 FX_BOOL SetInfo(int width, 561 FX_BOOL SetInfo(int width,
563 int height, 562 int height,
564 FXDIB_Format src_format, 563 FXDIB_Format src_format,
565 uint32_t* pSrcPalette) override; 564 uint32_t* pSrcPalette) override;
566 565
567 CFX_DIBitmap* GetBitmap() { return m_pBitmap; } 566 CFX_DIBitmap* GetBitmap() { return m_pBitmap.get(); }
568 567 std::unique_ptr<CFX_DIBitmap> Detach();
569 CFX_DIBitmap* Detach(); 568 void Replace(std::unique_ptr<CFX_DIBitmap> pBitmap);
570
571 void Replace(CFX_DIBitmap* pBitmap);
572 569
573 private: 570 private:
574 CFX_DIBitmap* m_pBitmap; 571 std::unique_ptr<CFX_DIBitmap> m_pBitmap;
575 }; 572 };
576 573
577 class CFX_ImageStretcher { 574 class CFX_ImageStretcher {
578 public: 575 public:
579 CFX_ImageStretcher(IFX_ScanlineComposer* pDest, 576 CFX_ImageStretcher(IFX_ScanlineComposer* pDest,
580 const CFX_DIBSource* pSource, 577 const CFX_DIBSource* pSource,
581 int dest_width, 578 int dest_width,
582 int dest_height, 579 int dest_height,
583 const FX_RECT& bitmap_rect, 580 const FX_RECT& bitmap_rect,
584 uint32_t flags); 581 uint32_t flags);
(...skipping 21 matching lines...) Expand all
606 int m_DestWidth; 603 int m_DestWidth;
607 int m_DestHeight; 604 int m_DestHeight;
608 FX_RECT m_ClipRect; 605 FX_RECT m_ClipRect;
609 const FXDIB_Format m_DestFormat; 606 const FXDIB_Format m_DestFormat;
610 const int m_DestBPP; 607 const int m_DestBPP;
611 int m_LineIndex; 608 int m_LineIndex;
612 }; 609 };
613 610
614 class CFX_ImageTransformer { 611 class CFX_ImageTransformer {
615 public: 612 public:
616 CFX_ImageTransformer(); 613 CFX_ImageTransformer(const CFX_DIBSource* pSrc,
614 const CFX_Matrix* pMatrix,
615 int flags,
616 const FX_RECT* pClip);
617 ~CFX_ImageTransformer(); 617 ~CFX_ImageTransformer();
618 618
619 FX_BOOL Start(const CFX_DIBSource* pSrc, 619 FX_BOOL Start();
620 const CFX_Matrix* pMatrix,
621 int flags,
622 const FX_RECT* pClip);
623
624 FX_BOOL Continue(IFX_Pause* pPause); 620 FX_BOOL Continue(IFX_Pause* pPause);
625 621
626 CFX_Matrix* m_pMatrix; 622 const FX_RECT& result() const { return m_result; }
623 std::unique_ptr<CFX_DIBitmap> DetachBitmap();
624
625 private:
626 const CFX_DIBSource* const m_pSrc;
627 const CFX_Matrix* const m_pMatrix;
628 const FX_RECT* const m_pClip;
627 FX_RECT m_StretchClip; 629 FX_RECT m_StretchClip;
628 int m_ResultLeft; 630 FX_RECT m_result;
629 int m_ResultTop;
630 int m_ResultWidth;
631 int m_ResultHeight;
632 CFX_Matrix m_dest2stretch; 631 CFX_Matrix m_dest2stretch;
633 std::unique_ptr<CFX_ImageStretcher> m_Stretcher; 632 std::unique_ptr<CFX_ImageStretcher> m_Stretcher;
634 CFX_BitmapStorer m_Storer; 633 CFX_BitmapStorer m_Storer;
635 uint32_t m_Flags; 634 const uint32_t m_Flags;
636 int m_Status; 635 int m_Status;
637 }; 636 };
638 637
639 class CFX_ImageRenderer { 638 class CFX_ImageRenderer {
640 public: 639 public:
641 CFX_ImageRenderer(); 640 CFX_ImageRenderer();
642 ~CFX_ImageRenderer(); 641 ~CFX_ImageRenderer();
643 642
644 FX_BOOL Start(CFX_DIBitmap* pDevice, 643 FX_BOOL Start(CFX_DIBitmap* pDevice,
645 const CFX_ClipRgn* pClipRgn, 644 const CFX_ClipRgn* pClipRgn,
(...skipping 21 matching lines...) Expand all
667 int m_Status; 666 int m_Status;
668 FX_RECT m_ClipBox; 667 FX_RECT m_ClipBox;
669 uint32_t m_Flags; 668 uint32_t m_Flags;
670 int m_AlphaFlag; 669 int m_AlphaFlag;
671 void* m_pIccTransform; 670 void* m_pIccTransform;
672 FX_BOOL m_bRgbByteOrder; 671 FX_BOOL m_bRgbByteOrder;
673 int m_BlendType; 672 int m_BlendType;
674 }; 673 };
675 674
676 #endif // CORE_FXGE_INCLUDE_FX_DIB_H_ 675 #endif // CORE_FXGE_INCLUDE_FX_DIB_H_
OLDNEW
« no previous file with comments | « core/fxge/dib/fx_dib_transform.cpp ('k') | xfa/fxfa/app/xfa_ffwidget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698