diff options
Diffstat (limited to 'core/fxge/fx_dib.h')
-rw-r--r-- | core/fxge/fx_dib.h | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/core/fxge/fx_dib.h b/core/fxge/fx_dib.h index 3be4fc6e3b..e0018f32f5 100644 --- a/core/fxge/fx_dib.h +++ b/core/fxge/fx_dib.h @@ -132,126 +132,4 @@ class IFX_ScanlineComposer { uint32_t* pSrcPalette) = 0; }; -class CFX_BitmapComposer : public IFX_ScanlineComposer { - public: - CFX_BitmapComposer(); - ~CFX_BitmapComposer() override; - - void Compose(const CFX_RetainPtr<CFX_DIBitmap>& pDest, - const CFX_ClipRgn* pClipRgn, - int bitmap_alpha, - uint32_t mask_color, - FX_RECT& dest_rect, - bool bVertical, - bool bFlipX, - bool bFlipY, - bool bRgbByteOrder = false, - int alpha_flag = 0, - void* pIccTransform = nullptr, - int blend_type = FXDIB_BLEND_NORMAL); - - // IFX_ScanlineComposer - bool SetInfo(int width, - int height, - FXDIB_Format src_format, - uint32_t* pSrcPalette) override; - - void ComposeScanline(int line, - const uint8_t* scanline, - const uint8_t* scan_extra_alpha) override; - - protected: - void DoCompose(uint8_t* dest_scan, - const uint8_t* src_scan, - int dest_width, - const uint8_t* clip_scan, - const uint8_t* src_extra_alpha = nullptr, - uint8_t* dst_extra_alpha = nullptr); - void ComposeScanlineV(int line, - const uint8_t* scanline, - const uint8_t* scan_extra_alpha = nullptr); - - CFX_RetainPtr<CFX_DIBitmap> m_pBitmap; - const CFX_ClipRgn* m_pClipRgn; - FXDIB_Format m_SrcFormat; - int m_DestLeft; - int m_DestTop; - int m_DestWidth; - int m_DestHeight; - int m_BitmapAlpha; - uint32_t m_MaskColor; - CFX_RetainPtr<CFX_DIBitmap> m_pClipMask; - CFX_ScanlineCompositor m_Compositor; - bool m_bVertical; - bool m_bFlipX; - bool m_bFlipY; - int m_AlphaFlag; - void* m_pIccTransform; - bool m_bRgbByteOrder; - int m_BlendType; - uint8_t* m_pScanlineV; - uint8_t* m_pClipScanV; - uint8_t* m_pAddClipScan; - uint8_t* m_pScanlineAlphaV; -}; - -class CFX_BitmapStorer : public IFX_ScanlineComposer { - public: - CFX_BitmapStorer(); - ~CFX_BitmapStorer() override; - - // IFX_ScanlineComposer - void ComposeScanline(int line, - const uint8_t* scanline, - const uint8_t* scan_extra_alpha) override; - bool SetInfo(int width, - int height, - FXDIB_Format src_format, - uint32_t* pSrcPalette) override; - - CFX_RetainPtr<CFX_DIBitmap> GetBitmap() { return m_pBitmap; } - CFX_RetainPtr<CFX_DIBitmap> Detach(); - void Replace(CFX_RetainPtr<CFX_DIBitmap>&& pBitmap); - - private: - CFX_RetainPtr<CFX_DIBitmap> m_pBitmap; -}; - -class CFX_ImageStretcher { - public: - CFX_ImageStretcher(IFX_ScanlineComposer* pDest, - const CFX_RetainPtr<CFX_DIBSource>& pSource, - int dest_width, - int dest_height, - const FX_RECT& bitmap_rect, - uint32_t flags); - ~CFX_ImageStretcher(); - - bool Start(); - bool Continue(IFX_Pause* pPause); - - CFX_RetainPtr<CFX_DIBSource> source() { return m_pSource; } - - private: - bool StartQuickStretch(); - bool StartStretch(); - bool ContinueQuickStretch(IFX_Pause* pPause); - bool ContinueStretch(IFX_Pause* pPause); - - IFX_ScanlineComposer* const m_pDest; - CFX_RetainPtr<CFX_DIBSource> m_pSource; - std::unique_ptr<CStretchEngine> m_pStretchEngine; - std::unique_ptr<uint8_t, FxFreeDeleter> m_pScanline; - std::unique_ptr<uint8_t, FxFreeDeleter> m_pMaskScanline; - const uint32_t m_Flags; - bool m_bFlipX; - bool m_bFlipY; - int m_DestWidth; - int m_DestHeight; - FX_RECT m_ClipRect; - const FXDIB_Format m_DestFormat; - const int m_DestBPP; - int m_LineIndex; -}; - #endif // CORE_FXGE_FX_DIB_H_ |