FX_BOOL CFX_DIBitmap::Create(int width, int height, FXDIB_Format format, FX_LPBYTE pBuffer, int pitch)
{
m_pBuffer = NULL;
- m_bpp = (FX_BYTE)format;
- m_AlphaFlag = (FX_BYTE)(format >> 8);
+ m_bpp = (uint8_t)format;
+ m_AlphaFlag = (uint8_t)(format >> 8);
m_Width = m_Height = m_Pitch = 0;
if (width <= 0 || height <= 0 || pitch < 0) {
return FALSE;
int size = pitch * height + 4;
int oomlimit = _MAX_OOM_LIMIT_;
if (oomlimit >= 0 && size >= oomlimit) {
- m_pBuffer = FX_AllocNL(FX_BYTE, size);
+ m_pBuffer = FX_TryAlloc(uint8_t, size);
+ if (m_pBuffer == NULL) {
+ return FALSE;
+ }
} else {
- m_pBuffer = FX_Alloc(FX_BYTE, size);
- }
- if (m_pBuffer == NULL) {
- return FALSE;
+ m_pBuffer = FX_Alloc(uint8_t, size);
}
- FXSYS_memset32(m_pBuffer, 0, sizeof (FX_BYTE) * size);
}
m_Width = width;
m_Height = height;
}
if (GetBPP() == 1) {
m_pPalette = FX_Alloc(FX_DWORD, 2);
- if (!m_pPalette) {
- return;
- }
if(IsCmykImage()) {
m_pPalette[0] = 0xff;
m_pPalette[1] = 0;
}
} else if (GetBPP() == 8) {
m_pPalette = FX_Alloc(FX_DWORD, 256);
- if (!m_pPalette) {
- return;
- }
if(IsCmykImage()) {
for (int i = 0; i < 256; i ++) {
m_pPalette[i] = 0xff - i;
if (m_pPalette == NULL) {
if (IsCmykImage()) {
if (GetBPP() == 1) {
- return ((FX_BYTE)color == 0xff) ? 0 : 1;
+ return ((uint8_t)color == 0xff) ? 0 : 1;
}
- return 0xff - (FX_BYTE)color;
+ return 0xff - (uint8_t)color;
}
if (GetBPP() == 1) {
- return ((FX_BYTE)color == 0xff) ? 1 : 0;
+ return ((uint8_t)color == 0xff) ? 1 : 0;
}
- return (FX_BYTE)color;
+ return (uint8_t)color;
}
int palsize = (1 << GetBPP());
for (int i = 0; i < palsize; i ++)
}
return TRUE;
}
-#ifndef _FPDFAPI_MINI_
FX_BOOL CFX_DIBitmap::TransferMask(int dest_left, int dest_top, int width, int height,
const CFX_DIBSource* pMask, FX_DWORD color, int src_left, int src_top, int alpha_flag, void* pIccTransform)
{
if (width == 0 || height == 0) {
return TRUE;
}
- int src_pitch = pMask->GetPitch();
int src_bpp = pMask->GetBPP();
int alpha;
FX_DWORD dst_color;
}
}
if(!IsCmykImage()) {
- color_p[3] = (FX_BYTE)alpha;
+ color_p[3] = (uint8_t)alpha;
}
if (GetFormat() == FXDIB_Argb) {
for (int row = 0; row < height; row ++) {
}
return TRUE;
}
-#endif
void CFX_DIBSource::CopyPalette(const FX_DWORD* pSrc, FX_DWORD size)
{
if (pSrc == NULL || GetBPP() > 8) {
if (m_pPalette == NULL) {
m_pPalette = FX_Alloc(FX_DWORD, pal_size);
}
- if (!m_pPalette) {
- return;
- }
if (pal_size > size) {
pal_size = size;
}
if (m_pPalette == NULL) {
return FALSE;
}
- FX_BYTE gray[2];
+ uint8_t gray[2];
for (int i = 0; i < 2; i ++) {
- int r = (FX_BYTE)(m_pPalette[i] >> 16);
- int g = (FX_BYTE)(m_pPalette[i] >> 8);
- int b = (FX_BYTE)m_pPalette[i];
- gray[i] = (FX_BYTE)FXRGB2GRAY(r, g, b);
+ int r = (uint8_t)(m_pPalette[i] >> 16);
+ int g = (uint8_t)(m_pPalette[i] >> 8);
+ int b = (uint8_t)m_pPalette[i];
+ gray[i] = (uint8_t)FXRGB2GRAY(r, g, b);
}
CFX_DIBitmap* pMask = FX_NEW CFX_DIBitmap;
if (!pMask) {
if (m_pPalette == NULL) {
return FALSE;
}
- FX_BYTE gray[256];
+ uint8_t gray[256];
for (int i = 0; i < 256; i ++) {
- int r = (FX_BYTE)(m_pPalette[i] >> 16);
- int g = (FX_BYTE)(m_pPalette[i] >> 8);
- int b = (FX_BYTE)m_pPalette[i];
- gray[i] = (FX_BYTE)FXRGB2GRAY(r, g, b);
+ int r = (uint8_t)(m_pPalette[i] >> 16);
+ int g = (uint8_t)(m_pPalette[i] >> 8);
+ int b = (uint8_t)m_pPalette[i];
+ gray[i] = (uint8_t)FXRGB2GRAY(r, g, b);
}
CFX_DIBitmap* pMask = FX_NEW CFX_DIBitmap;
if (!pMask) {
}
return TRUE;
}
-#if !defined(_FPDFAPI_MINI_) || defined(_FXCORE_FEATURE_ALL_)
FX_DWORD CFX_DIBitmap::GetPixel(int x, int y) const
{
if (m_pBuffer == NULL) {
}
return 0;
}
-#endif
void CFX_DIBitmap::SetPixel(int x, int y, FX_DWORD color)
{
if (m_pBuffer == NULL) {
}
break;
case FXDIB_8bppMask:
- *pos = (FX_BYTE)(color >> 24);
+ *pos = (uint8_t)(color >> 24);
break;
case FXDIB_8bppRgb: {
if (m_pPalette) {
for (int i = 0; i < 256; i ++) {
if (m_pPalette[i] == color) {
- *pos = (FX_BYTE)i;
+ *pos = (uint8_t)i;
return;
}
}
if (bFlipX) {
src_x = m_Width - src_x - 1;
}
-#ifdef FOXIT_CHROME_BUILD
src_x %= m_Width;
-#endif
dest_scan[i] = (scanline[src_x / 8] & (1 << (7 - src_x % 8))) ? 255 : 0;
}
} else if (src_Bpp == 1) {
if (bFlipX) {
src_x = m_Width - src_x - 1;
}
-#ifdef FOXIT_CHROME_BUILD
src_x %= m_Width;
-#endif
int dest_pos = i;
if (m_pPalette) {
if (!IsCmykImage()) {
for (int i = 0; i < clip_width; i ++) {
FX_DWORD dest_x = clip_left + i;
FX_DWORD src_x = bFlipX ? (m_Width - dest_x * m_Width / dest_width - 1) * src_Bpp : (dest_x * m_Width / dest_width) * src_Bpp;
-#ifdef FOXIT_CHROME_BUILD
src_x %= m_Width * src_Bpp;
-#endif
int dest_pos = i * src_Bpp;
for (int b = 0; b < src_Bpp; b ++) {
dest_scan[dest_pos + b] = scanline[src_x + b];
int size = 1 << m_bpp;
if (isCmykImage) {
for (int i = 0; i < size; i ++) {
- FX_BYTE b, g, r;
+ uint8_t b, g, r;
AdobeCMYK_to_sRGB1(FXSYS_GetCValue(m_pPalette[i]), FXSYS_GetMValue(m_pPalette[i]), FXSYS_GetYValue(m_pPalette[i]), FXSYS_GetKValue(m_pPalette[i]),
r, g, b);
int gray = 255 - FXRGB2GRAY(r, g, b);
for (int row = 0; row < m_Height; row ++) {
FX_LPBYTE scanline = m_pBuffer + row * m_Pitch;
for (int col = 0; col < m_Width; col ++) {
- FX_BYTE b, g, r;
+ uint8_t b, g, r;
AdobeCMYK_to_sRGB1(scanline[0], scanline[1], scanline[2], scanline[3],
r, g, b);
*scanline ++ = 0;
for (int row = 0; row < m_Height; row ++) {
FX_LPBYTE scanline = m_pBuffer + row * m_Pitch;
for (int col = 0; col < m_Width; col ++) {
- FX_BYTE b, g, r;
+ uint8_t b, g, r;
AdobeCMYK_to_sRGB1(scanline[0], scanline[1], scanline[2], scanline[3],
r, g, b);
int gray = 255 - FXRGB2GRAY(r, g, b);
if (pRect) {
rect.Intersect(*pRect);
}
- FX_BYTE translate[256];
+ uint8_t translate[256];
for (int i = 0; i < 256; i ++) {
int err2 = 65536;
for (int j = 0; j < pal_size; j ++) {
- FX_BYTE entry = (FX_BYTE)pPalette[j];
+ uint8_t entry = (uint8_t)pPalette[j];
int err = (int)entry - i;
if (err * err < err2) {
err2 = err * err;
for (int col = rect.left; col < rect.right; col ++) {
int src_pixel = scan[col];
int dest_pixel = translate[src_pixel];
- scan[col] = (FX_BYTE)dest_pixel;
+ scan[col] = (uint8_t)dest_pixel;
int error = -dest_pixel + src_pixel;
if (col < rect.right - 1) {
int src = scan[col + 1];
m_Width = pSrc->GetWidth();
m_Height = pSrc->GetHeight();
FXDIB_Format format = GetDestFormat();
- m_bpp = (FX_BYTE)format;
- m_AlphaFlag = (FX_BYTE)(format >> 8);
+ m_bpp = (uint8_t)format;
+ m_AlphaFlag = (uint8_t)(format >> 8);
m_Pitch = (m_Width * (format & 0xff) + 31) / 32 * 4;
m_pPalette = GetDestPalette();
- m_pScanline = FX_Alloc(FX_BYTE, m_Pitch);
+ m_pScanline = FX_Alloc(uint8_t, m_Pitch);
}
FX_LPCBYTE CFX_FilteredDIB::GetScanline(int line) const
{
if (pBitmap->IsAlphaMask()) {
if (m_BitmapAlpha != 255) {
if (m_AlphaFlag >> 8) {
- m_AlphaFlag = (((FX_BYTE)((m_AlphaFlag & 0xff) * m_BitmapAlpha / 255)) | ((m_AlphaFlag >> 8) << 8));
+ m_AlphaFlag = (((uint8_t)((m_AlphaFlag & 0xff) * m_BitmapAlpha / 255)) | ((m_AlphaFlag >> 8) << 8));
} else {
m_MaskColor = FXARGB_MUL_ALPHA(m_MaskColor, m_BitmapAlpha);
}