Index: core/include/fxge/fx_dib.h |
diff --git a/core/include/fxge/fx_dib.h b/core/include/fxge/fx_dib.h |
index d798ca35118f9a4ad045fdc3ebc65ca71d8364a2..50dd3e9eed9862a33f766e8613d630d801e256f4 100644 |
--- a/core/include/fxge/fx_dib.h |
+++ b/core/include/fxge/fx_dib.h |
@@ -100,33 +100,33 @@ FX_ARGB ArgbEncode(int a, FX_COLORREF rgb); |
#define FXCMYK2GRAY(c,m,y,k) (((255-(c)) * (255-(k)) * 30 + (255-(m)) * (255-(k)) * 59 + (255-(y)) * (255-(k)) * 11) / 25500) |
#define FXDIB_ALPHA_MERGE(backdrop, source, source_alpha) (((backdrop) * (255-(source_alpha)) + (source)*(source_alpha))/255) |
#define FXDIB_ALPHA_UNION(dest, src) ((dest) + (src) - (dest)*(src)/255) |
-#define FXCMYK_GETDIB(p) ((((FX_LPBYTE)(p))[0] << 24 | (((FX_LPBYTE)(p))[1] << 16) | (((FX_LPBYTE)(p))[2] << 8) | ((FX_LPBYTE)(p))[3])) |
-#define FXCMYK_SETDIB(p, cmyk) ((FX_LPBYTE)(p))[0] = (uint8_t)((cmyk) >> 24), \ |
- ((FX_LPBYTE)(p))[1] = (uint8_t)((cmyk) >> 16), \ |
- ((FX_LPBYTE)(p))[2] = (uint8_t)((cmyk) >> 8), \ |
- ((FX_LPBYTE)(p))[3] = (uint8_t)(cmyk)) |
-#define FXARGB_GETDIB(p) ((((FX_LPBYTE)(p))[0]) | (((FX_LPBYTE)(p))[1] << 8) | (((FX_LPBYTE)(p))[2] << 16) | (((FX_LPBYTE)(p))[3] << 24)) |
-#define FXARGB_SETDIB(p, argb) ((FX_LPBYTE)(p))[0] = (uint8_t)(argb), \ |
- ((FX_LPBYTE)(p))[1] = (uint8_t)((argb) >> 8), \ |
- ((FX_LPBYTE)(p))[2] = (uint8_t)((argb) >> 16), \ |
- ((FX_LPBYTE)(p))[3] = (uint8_t)((argb) >> 24) |
-#define FXARGB_COPY(dest, src) *(FX_LPBYTE)(dest) = *(FX_LPBYTE)(src), \ |
- *((FX_LPBYTE)(dest)+1) = *((FX_LPBYTE)(src)+1), \ |
- *((FX_LPBYTE)(dest)+2) = *((FX_LPBYTE)(src)+2), \ |
- *((FX_LPBYTE)(dest)+3) = *((FX_LPBYTE)(src)+3) |
-#define FXCMYK_COPY(dest, src) *(FX_LPBYTE)(dest) = *(FX_LPBYTE)(src), \ |
- *((FX_LPBYTE)(dest)+1) = *((FX_LPBYTE)(src)+1), \ |
- *((FX_LPBYTE)(dest)+2) = *((FX_LPBYTE)(src)+2), \ |
- *((FX_LPBYTE)(dest)+3) = *((FX_LPBYTE)(src)+3) |
-#define FXARGB_SETRGBORDERDIB(p, argb) ((FX_LPBYTE)(p))[3] = (uint8_t)(argb>>24), \ |
- ((FX_LPBYTE)(p))[0] = (uint8_t)((argb) >> 16), \ |
- ((FX_LPBYTE)(p))[1] = (uint8_t)((argb) >> 8), \ |
- ((FX_LPBYTE)(p))[2] = (uint8_t)(argb) |
-#define FXARGB_GETRGBORDERDIB(p) (((FX_LPBYTE)(p))[2]) | (((FX_LPBYTE)(p))[1] << 8) | (((FX_LPBYTE)(p))[0] << 16) | (((FX_LPBYTE)(p))[3] << 24) |
-#define FXARGB_RGBORDERCOPY(dest, src) *((FX_LPBYTE)(dest)+3) = *((FX_LPBYTE)(src)+3), \ |
- *(FX_LPBYTE)(dest) = *((FX_LPBYTE)(src)+2), \ |
- *((FX_LPBYTE)(dest)+1) = *((FX_LPBYTE)(src)+1), \ |
- *((FX_LPBYTE)(dest)+2) = *((FX_LPBYTE)(src)) |
+#define FXCMYK_GETDIB(p) ((((uint8_t*)(p))[0] << 24 | (((uint8_t*)(p))[1] << 16) | (((uint8_t*)(p))[2] << 8) | ((uint8_t*)(p))[3])) |
+#define FXCMYK_SETDIB(p, cmyk) ((uint8_t*)(p))[0] = (uint8_t)((cmyk) >> 24), \ |
+ ((uint8_t*)(p))[1] = (uint8_t)((cmyk) >> 16), \ |
+ ((uint8_t*)(p))[2] = (uint8_t)((cmyk) >> 8), \ |
+ ((uint8_t*)(p))[3] = (uint8_t)(cmyk)) |
+#define FXARGB_GETDIB(p) ((((uint8_t*)(p))[0]) | (((uint8_t*)(p))[1] << 8) | (((uint8_t*)(p))[2] << 16) | (((uint8_t*)(p))[3] << 24)) |
+#define FXARGB_SETDIB(p, argb) ((uint8_t*)(p))[0] = (uint8_t)(argb), \ |
+ ((uint8_t*)(p))[1] = (uint8_t)((argb) >> 8), \ |
+ ((uint8_t*)(p))[2] = (uint8_t)((argb) >> 16), \ |
+ ((uint8_t*)(p))[3] = (uint8_t)((argb) >> 24) |
+#define FXARGB_COPY(dest, src) *(uint8_t*)(dest) = *(uint8_t*)(src), \ |
+ *((uint8_t*)(dest)+1) = *((uint8_t*)(src)+1), \ |
+ *((uint8_t*)(dest)+2) = *((uint8_t*)(src)+2), \ |
+ *((uint8_t*)(dest)+3) = *((uint8_t*)(src)+3) |
+#define FXCMYK_COPY(dest, src) *(uint8_t*)(dest) = *(uint8_t*)(src), \ |
+ *((uint8_t*)(dest)+1) = *((uint8_t*)(src)+1), \ |
+ *((uint8_t*)(dest)+2) = *((uint8_t*)(src)+2), \ |
+ *((uint8_t*)(dest)+3) = *((uint8_t*)(src)+3) |
+#define FXARGB_SETRGBORDERDIB(p, argb) ((uint8_t*)(p))[3] = (uint8_t)(argb>>24), \ |
+ ((uint8_t*)(p))[0] = (uint8_t)((argb) >> 16), \ |
+ ((uint8_t*)(p))[1] = (uint8_t)((argb) >> 8), \ |
+ ((uint8_t*)(p))[2] = (uint8_t)(argb) |
+#define FXARGB_GETRGBORDERDIB(p) (((uint8_t*)(p))[2]) | (((uint8_t*)(p))[1] << 8) | (((uint8_t*)(p))[0] << 16) | (((uint8_t*)(p))[3] << 24) |
+#define FXARGB_RGBORDERCOPY(dest, src) *((uint8_t*)(dest)+3) = *((uint8_t*)(src)+3), \ |
+ *(uint8_t*)(dest) = *((uint8_t*)(src)+2), \ |
+ *((uint8_t*)(dest)+1) = *((uint8_t*)(src)+1), \ |
+ *((uint8_t*)(dest)+2) = *((uint8_t*)(src)) |
#define FXARGB_TODIB(argb) (argb) |
#define FXCMYK_TODIB(cmyk) ((uint8_t)((cmyk) >> 24) | ((uint8_t)((cmyk) >> 16)) << 8 | ((uint8_t)((cmyk) >> 8)) << 16 | ((uint8_t)(cmyk) << 24)) |
#define FXARGB_TOBGRORDERDIB(argb) ((uint8_t)(argb>>16) | ((uint8_t)(argb>>8)) << 8 | ((uint8_t)(argb)) << 16 | ((uint8_t)(argb>>24) << 24)) |
@@ -171,19 +171,19 @@ public: |
- virtual FX_LPBYTE GetBuffer() const |
+ virtual uint8_t* GetBuffer() const |
{ |
return NULL; |
} |
- virtual FX_LPCBYTE GetScanline(int line) const = 0; |
+ virtual const uint8_t* GetScanline(int line) const = 0; |
virtual FX_BOOL SkipToScanline(int line, IFX_Pause* pPause) const |
{ |
return FALSE; |
} |
- virtual void DownSampleScanline(int line, FX_LPBYTE dest_scan, int dest_bpp, |
+ 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 = 0; |
virtual void SetDownSampleSize(int width, int height) const {} |
@@ -291,21 +291,21 @@ public: |
CFX_DIBitmap(const CFX_DIBitmap& src); |
- FX_BOOL Create(int width, int height, FXDIB_Format format, FX_LPBYTE pBuffer = NULL, int pitch = 0); |
+ FX_BOOL Create(int width, int height, FXDIB_Format format, uint8_t* pBuffer = NULL, int pitch = 0); |
FX_BOOL Copy(const CFX_DIBSource* pSrc); |
- virtual FX_LPBYTE GetBuffer() const |
+ virtual uint8_t* GetBuffer() const |
{ |
return m_pBuffer; |
} |
- virtual FX_LPCBYTE GetScanline(int line) const |
+ virtual const uint8_t* GetScanline(int line) const |
{ |
return m_pBuffer ? m_pBuffer + line * m_Pitch : NULL; |
} |
- virtual void DownSampleScanline(int line, FX_LPBYTE dest_scan, int dest_bpp, |
+ 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 TakeOver(CFX_DIBitmap* pSrcBitmap); |
@@ -347,7 +347,7 @@ public: |
FX_BOOL DitherFS(const FX_DWORD* pPalette, int pal_size, const FX_RECT* pRect = NULL); |
protected: |
- FX_LPBYTE m_pBuffer; |
+ uint8_t* m_pBuffer; |
FX_BOOL m_bExtBuf; |
@@ -385,26 +385,26 @@ public: |
virtual FX_DWORD* GetDestPalette() = 0; |
- virtual void TranslateScanline(FX_LPBYTE dest_buf, FX_LPCBYTE src_buf) const = 0; |
+ virtual void TranslateScanline(uint8_t* dest_buf, const uint8_t* src_buf) const = 0; |
- virtual void TranslateDownSamples(FX_LPBYTE dest_buf, FX_LPCBYTE src_buf, int pixels, int Bpp) const = 0; |
+ virtual void TranslateDownSamples(uint8_t* dest_buf, const uint8_t* src_buf, int pixels, int Bpp) const = 0; |
protected: |
- virtual FX_LPCBYTE GetScanline(int line) const; |
- virtual void DownSampleScanline(int line, FX_LPBYTE dest_scan, int dest_bpp, |
+ 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; |
const CFX_DIBSource* m_pSrc; |
FX_BOOL m_bAutoDropSrc; |
- FX_LPBYTE m_pScanline; |
+ uint8_t* m_pScanline; |
}; |
class IFX_ScanlineComposer |
{ |
public: |
virtual ~IFX_ScanlineComposer() { } |
- virtual void ComposeScanline(int line, FX_LPCBYTE scanline, FX_LPCBYTE scan_extra_alpha = NULL) = 0; |
+ virtual void ComposeScanline(int line, const uint8_t* scanline, const uint8_t* scan_extra_alpha = NULL) = 0; |
virtual FX_BOOL SetInfo(int width, int height, FXDIB_Format src_format, FX_DWORD* pSrcPalette) = 0; |
}; |
@@ -419,20 +419,20 @@ public: |
FX_DWORD mask_color, int blend_type, FX_BOOL bClip, FX_BOOL bRgbByteOrder = FALSE, int alpha_flag = 0, void* pIccTransform = NULL); |
- void CompositeRgbBitmapLine(FX_LPBYTE dest_scan, FX_LPCBYTE src_scan, int width, FX_LPCBYTE clip_scan, |
- FX_LPCBYTE src_extra_alpha = NULL, FX_LPBYTE dst_extra_alpha = NULL); |
+ void CompositeRgbBitmapLine(uint8_t* dest_scan, const uint8_t* src_scan, int width, const uint8_t* clip_scan, |
+ const uint8_t* src_extra_alpha = NULL, uint8_t* dst_extra_alpha = NULL); |
- void CompositePalBitmapLine(FX_LPBYTE dest_scan, FX_LPCBYTE src_scan, int src_left, int width, FX_LPCBYTE clip_scan, |
- FX_LPCBYTE src_extra_alpha = NULL, FX_LPBYTE dst_extra_alpha = NULL); |
+ void CompositePalBitmapLine(uint8_t* dest_scan, const uint8_t* src_scan, int src_left, int width, const uint8_t* clip_scan, |
+ const uint8_t* src_extra_alpha = NULL, uint8_t* dst_extra_alpha = NULL); |
- void CompositeByteMaskLine(FX_LPBYTE dest_scan, FX_LPCBYTE src_scan, int width, FX_LPCBYTE clip_scan, |
- FX_LPBYTE dst_extra_alpha = NULL); |
+ void CompositeByteMaskLine(uint8_t* dest_scan, const uint8_t* src_scan, int width, const uint8_t* clip_scan, |
+ uint8_t* dst_extra_alpha = NULL); |
- void CompositeBitMaskLine(FX_LPBYTE dest_scan, FX_LPCBYTE src_scan, int src_left, int width, FX_LPCBYTE clip_scan, |
- FX_LPBYTE dst_extra_alpha = NULL); |
+ void CompositeBitMaskLine(uint8_t* dest_scan, const uint8_t* src_scan, int src_left, int width, const uint8_t* clip_scan, |
+ uint8_t* dst_extra_alpha = NULL); |
protected: |
int m_Transparency; |
FXDIB_Format m_SrcFormat, |
@@ -446,7 +446,7 @@ protected: |
m_MaskBlack; |
int m_BlendType; |
void* m_pIccTransform; |
- FX_LPBYTE m_pCacheScanline; |
+ uint8_t* m_pCacheScanline; |
int m_CacheSize; |
FX_BOOL m_bRgbByteOrder; |
}; |
@@ -467,11 +467,11 @@ public: |
virtual FX_BOOL SetInfo(int width, int height, FXDIB_Format src_format, FX_DWORD* pSrcPalette); |
- virtual void ComposeScanline(int line, FX_LPCBYTE scanline, FX_LPCBYTE scan_extra_alpha); |
+ virtual void ComposeScanline(int line, const uint8_t* scanline, const uint8_t* scan_extra_alpha); |
protected: |
- void DoCompose(FX_LPBYTE dest_scan, FX_LPCBYTE src_scan, int dest_width, FX_LPCBYTE clip_scan, |
- FX_LPCBYTE src_extra_alpha = NULL, FX_LPBYTE dst_extra_alpha = NULL); |
+ 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 = NULL, uint8_t* dst_extra_alpha = NULL); |
CFX_DIBitmap* m_pBitmap; |
const CFX_ClipRgn* m_pClipRgn; |
FXDIB_Format m_SrcFormat; |
@@ -484,8 +484,11 @@ protected: |
void* m_pIccTransform; |
FX_BOOL m_bRgbByteOrder; |
int m_BlendType; |
- void ComposeScanlineV(int line, FX_LPCBYTE scanline, FX_LPCBYTE scan_extra_alpha = NULL); |
- FX_LPBYTE m_pScanlineV, m_pClipScanV, m_pAddClipScan, m_pScanlineAlphaV; |
+ void ComposeScanlineV(int line, const uint8_t* scanline, const uint8_t* scan_extra_alpha = NULL); |
+ uint8_t* m_pScanlineV; |
+ uint8_t* m_pClipScanV; |
+ uint8_t* m_pAddClipScan; |
+ uint8_t* m_pScanlineAlphaV; |
}; |
class CFX_BitmapStorer : public IFX_ScanlineComposer |
{ |
@@ -495,7 +498,7 @@ public: |
~CFX_BitmapStorer(); |
- virtual void ComposeScanline(int line, FX_LPCBYTE scanline, FX_LPCBYTE scan_extra_alpha); |
+ 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); |
@@ -535,8 +538,8 @@ public: |
FX_RECT m_ClipRect; |
int m_LineIndex; |
int m_DestBPP; |
- FX_LPBYTE m_pScanline; |
- FX_LPBYTE m_pMaskScanline; |
+ uint8_t* m_pScanline; |
+ uint8_t* m_pMaskScanline; |
FXDIB_Format m_DestFormat; |
int32_t m_Status; |