| Index: core/include/fxge/fx_dib.h | 
| diff --git a/core/include/fxge/fx_dib.h b/core/include/fxge/fx_dib.h | 
| index e39bad2b876c846c08114ea3aaf70721d19e4280..43746e5d48c1e660bf87058f1af69ddf328637c1 100644 | 
| --- a/core/include/fxge/fx_dib.h | 
| +++ b/core/include/fxge/fx_dib.h | 
| @@ -160,30 +160,23 @@ FX_ARGB ArgbEncode(int a, FX_COLORREF rgb); | 
| #define FXSETFLAG_ALPHA_FILL(flag, val) flag = ((val) | (flag & 0xffffff00)) | 
| #define FXSETFLAG_ALPHA_STROKE(flag, val) \ | 
| flag = (((val) << 16) | (flag & 0xff00ffff)) | 
| + | 
| class CFX_DIBSource { | 
| public: | 
| virtual ~CFX_DIBSource(); | 
|  | 
| int GetWidth() const { return m_Width; } | 
| - | 
| int GetHeight() const { return m_Height; } | 
|  | 
| FXDIB_Format GetFormat() const { | 
| return (FXDIB_Format)(m_AlphaFlag * 0x100 + m_bpp); | 
| } | 
| - | 
| FX_DWORD GetPitch() const { return m_Pitch; } | 
| - | 
| FX_DWORD* GetPalette() const { return m_pPalette; } | 
|  | 
| -  virtual uint8_t* GetBuffer() const { return NULL; } | 
| - | 
| +  virtual uint8_t* GetBuffer() const; | 
| virtual const uint8_t* GetScanline(int line) const = 0; | 
| - | 
| -  virtual FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) const { | 
| -    return FALSE; | 
| -  } | 
| - | 
| +  virtual FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) const; | 
| virtual void DownSampleScanline(int line, | 
| uint8_t* dest_scan, | 
| int dest_bpp, | 
| @@ -191,7 +184,6 @@ class CFX_DIBSource { | 
| FX_BOOL bFlipX, | 
| int clip_left, | 
| int clip_width) const = 0; | 
| - | 
| virtual void SetDownSampleSize(int width, int height) {} | 
|  | 
| int GetBPP() const { return m_bpp; } | 
| @@ -219,7 +211,6 @@ class CFX_DIBSource { | 
| void CopyPalette(const FX_DWORD* pSrcPal, FX_DWORD size = 256); | 
|  | 
| CFX_DIBitmap* Clone(const FX_RECT* pClip = NULL) const; | 
| - | 
| CFX_DIBitmap* CloneConvert(FXDIB_Format format, | 
| const FX_RECT* pClip = NULL, | 
| void* pIccTransform = NULL) const; | 
| @@ -228,7 +219,6 @@ class CFX_DIBSource { | 
| int dest_height, | 
| FX_DWORD flags = 0, | 
| const FX_RECT* pClip = NULL) const; | 
| - | 
| CFX_DIBitmap* TransformTo(const CFX_Matrix* pMatrix, | 
| int& left, | 
| int& top, | 
| @@ -236,7 +226,6 @@ class CFX_DIBSource { | 
| const FX_RECT* pClip = NULL) const; | 
|  | 
| CFX_DIBitmap* GetAlphaMask(const FX_RECT* pClip = NULL) const; | 
| - | 
| FX_BOOL CopyAlphaMask(const CFX_DIBSource* pAlphaMask, | 
| const FX_RECT* pClip = NULL); | 
|  | 
| @@ -262,23 +251,15 @@ class CFX_DIBSource { | 
| CFX_DIBSource(); | 
|  | 
| int m_Width; | 
| - | 
| int m_Height; | 
| - | 
| int m_bpp; | 
| - | 
| FX_DWORD m_AlphaFlag; | 
| - | 
| FX_DWORD m_Pitch; | 
| - | 
| FX_DWORD* m_pPalette; | 
|  | 
| void BuildPalette(); | 
| - | 
| FX_BOOL BuildAlphaMask(); | 
| - | 
| int FindPalette(FX_DWORD color) const; | 
| - | 
| void GetPalette(FX_DWORD* pal, int alpha) const; | 
| }; | 
| class CFX_DIBitmap : public CFX_DIBSource { | 
| @@ -296,10 +277,8 @@ class CFX_DIBitmap : public CFX_DIBSource { | 
| FX_BOOL Copy(const CFX_DIBSource* pSrc); | 
|  | 
| // 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; | 
| -  } | 
| +  uint8_t* GetBuffer() const override; | 
| +  const uint8_t* GetScanline(int line) const override; | 
| void DownSampleScanline(int line, | 
| uint8_t* dest_scan, | 
| int dest_bpp, | 
|  |