| Index: core/include/fxge/fx_dib.h
|
| diff --git a/core/include/fxge/fx_dib.h b/core/include/fxge/fx_dib.h
|
| index ddc47d3db5900068fed14088d0725ec2e8aaf597..818aaac5209adbd867aee6ca91b5cc81bd1ccd33 100644
|
| --- a/core/include/fxge/fx_dib.h
|
| +++ b/core/include/fxge/fx_dib.h
|
| @@ -69,6 +69,8 @@ typedef FX_DWORD FX_CMYK;
|
| class CFX_ClipRgn;
|
| class CFX_DIBSource;
|
| class CFX_DIBitmap;
|
| +class CStretchEngine;
|
| +
|
| #define FXSYS_RGB(r, g, b) ((r) | ((g) << 8) | ((b) << 16))
|
| #define FXSYS_GetRValue(rgb) ((rgb)&0xff)
|
| #define FXSYS_GetGValue(rgb) (((rgb) >> 8) & 0xff)
|
| @@ -281,11 +283,9 @@ class CFX_DIBSource {
|
| };
|
| class CFX_DIBitmap : public CFX_DIBSource {
|
| public:
|
| - virtual ~CFX_DIBitmap();
|
| -
|
| CFX_DIBitmap();
|
| -
|
| - CFX_DIBitmap(const CFX_DIBitmap& src);
|
| + explicit CFX_DIBitmap(const CFX_DIBitmap& src);
|
| + ~CFX_DIBitmap() override;
|
|
|
| FX_BOOL Create(int width,
|
| int height,
|
| @@ -295,19 +295,18 @@ class CFX_DIBitmap : public CFX_DIBSource {
|
|
|
| FX_BOOL Copy(const CFX_DIBSource* pSrc);
|
|
|
| - virtual uint8_t* GetBuffer() const { return m_pBuffer; }
|
| -
|
| - virtual const uint8_t* GetScanline(int line) const {
|
| + // CFX_DIBSource
|
| + uint8_t* GetBuffer() const override { return m_pBuffer; }
|
| + const uint8_t* GetScanline(int line) const override {
|
| return m_pBuffer ? m_pBuffer + line * m_Pitch : NULL;
|
| }
|
| -
|
| - virtual void DownSampleScanline(int line,
|
| - uint8_t* dest_scan,
|
| - int dest_bpp,
|
| - int dest_width,
|
| - FX_BOOL bFlipX,
|
| - int clip_left,
|
| - int clip_width) const;
|
| + void DownSampleScanline(int line,
|
| + uint8_t* dest_scan,
|
| + int dest_bpp,
|
| + int dest_width,
|
| + FX_BOOL bFlipX,
|
| + int clip_left,
|
| + int clip_width) const override;
|
|
|
| void TakeOver(CFX_DIBitmap* pSrcBitmap);
|
|
|
| @@ -407,12 +406,12 @@ class CFX_DIBExtractor {
|
| private:
|
| CFX_DIBitmap* m_pBitmap;
|
| };
|
| +
|
| typedef CFX_CountRef<CFX_DIBitmap> CFX_DIBitmapRef;
|
| class CFX_FilteredDIB : public CFX_DIBSource {
|
| public:
|
| CFX_FilteredDIB();
|
| -
|
| - ~CFX_FilteredDIB();
|
| + ~CFX_FilteredDIB() override;
|
|
|
| void LoadSrc(const CFX_DIBSource* pSrc, FX_BOOL bAutoDropSrc = FALSE);
|
|
|
| @@ -429,14 +428,15 @@ class CFX_FilteredDIB : public CFX_DIBSource {
|
| int Bpp) const = 0;
|
|
|
| protected:
|
| - virtual const uint8_t* GetScanline(int line) const;
|
| - virtual void DownSampleScanline(int line,
|
| - uint8_t* dest_scan,
|
| - int dest_bpp,
|
| - int dest_width,
|
| - FX_BOOL bFlipX,
|
| - int clip_left,
|
| - int clip_width) const;
|
| + // CFX_DIBSource
|
| + const uint8_t* GetScanline(int line) const override;
|
| + void DownSampleScanline(int line,
|
| + uint8_t* dest_scan,
|
| + int dest_bpp,
|
| + int dest_width,
|
| + FX_BOOL bFlipX,
|
| + int clip_left,
|
| + int clip_width) const override;
|
|
|
| const CFX_DIBSource* m_pSrc;
|
|
|
| @@ -444,6 +444,7 @@ class CFX_FilteredDIB : public CFX_DIBSource {
|
|
|
| uint8_t* m_pScanline;
|
| };
|
| +
|
| class IFX_ScanlineComposer {
|
| public:
|
| virtual ~IFX_ScanlineComposer() {}
|
| @@ -514,11 +515,11 @@ class CFX_ScanlineCompositor {
|
| int m_CacheSize;
|
| FX_BOOL m_bRgbByteOrder;
|
| };
|
| +
|
| class CFX_BitmapComposer : public IFX_ScanlineComposer {
|
| public:
|
| CFX_BitmapComposer();
|
| -
|
| - ~CFX_BitmapComposer();
|
| + ~CFX_BitmapComposer() override;
|
|
|
| void Compose(CFX_DIBitmap* pDest,
|
| const CFX_ClipRgn* pClipRgn,
|
| @@ -533,14 +534,15 @@ class CFX_BitmapComposer : public IFX_ScanlineComposer {
|
| void* pIccTransform = NULL,
|
| int blend_type = FXDIB_BLEND_NORMAL);
|
|
|
| - virtual FX_BOOL SetInfo(int width,
|
| - int height,
|
| - FXDIB_Format src_format,
|
| - FX_DWORD* pSrcPalette);
|
| + // IFX_ScanlineComposer
|
| + FX_BOOL SetInfo(int width,
|
| + int height,
|
| + FXDIB_Format src_format,
|
| + FX_DWORD* pSrcPalette) override;
|
|
|
| - virtual void ComposeScanline(int line,
|
| - const uint8_t* scanline,
|
| - const uint8_t* scan_extra_alpha);
|
| + void ComposeScanline(int line,
|
| + const uint8_t* scanline,
|
| + const uint8_t* scan_extra_alpha) override;
|
|
|
| protected:
|
| void DoCompose(uint8_t* dest_scan,
|
| @@ -569,20 +571,21 @@ class CFX_BitmapComposer : public IFX_ScanlineComposer {
|
| uint8_t* m_pAddClipScan;
|
| uint8_t* m_pScanlineAlphaV;
|
| };
|
| +
|
| class CFX_BitmapStorer : public IFX_ScanlineComposer {
|
| public:
|
| CFX_BitmapStorer();
|
| + ~CFX_BitmapStorer() override;
|
|
|
| - ~CFX_BitmapStorer();
|
| + // IFX_ScanlineComposer
|
| + void ComposeScanline(int line,
|
| + const uint8_t* scanline,
|
| + const uint8_t* scan_extra_alpha) override;
|
|
|
| - virtual void ComposeScanline(int line,
|
| - const uint8_t* scanline,
|
| - const uint8_t* scan_extra_alpha);
|
| -
|
| - virtual FX_BOOL SetInfo(int width,
|
| - int height,
|
| - FXDIB_Format src_format,
|
| - FX_DWORD* pSrcPalette);
|
| + FX_BOOL SetInfo(int width,
|
| + int height,
|
| + FXDIB_Format src_format,
|
| + FX_DWORD* pSrcPalette) override;
|
|
|
| CFX_DIBitmap* GetBitmap() { return m_pBitmap; }
|
|
|
| @@ -593,7 +596,7 @@ class CFX_BitmapStorer : public IFX_ScanlineComposer {
|
| private:
|
| CFX_DIBitmap* m_pBitmap;
|
| };
|
| -class CStretchEngine;
|
| +
|
| class CFX_ImageStretcher {
|
| public:
|
| CFX_ImageStretcher();
|
|
|