Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / core / src / fxge / dib / fx_dib_main.cpp
index 7644e39..74c4276 100644 (file)
@@ -62,8 +62,8 @@ CFX_DIBitmap::CFX_DIBitmap()
 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;
@@ -84,14 +84,13 @@ FX_BOOL CFX_DIBitmap::Create(int width, int height, FXDIB_Format format, FX_LPBY
         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;
@@ -206,9 +205,6 @@ void CFX_DIBSource::BuildPalette()
     }
     if (GetBPP() == 1) {
         m_pPalette = FX_Alloc(FX_DWORD, 2);
-        if (!m_pPalette) {
-            return;
-        }
         if(IsCmykImage()) {
             m_pPalette[0] = 0xff;
             m_pPalette[1] = 0;
@@ -218,9 +214,6 @@ void CFX_DIBSource::BuildPalette()
         }
     } 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;
@@ -280,14 +273,14 @@ int CFX_DIBSource::FindPalette(FX_DWORD color) const
     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 ++)
@@ -432,7 +425,6 @@ FX_BOOL CFX_DIBitmap::TransferBitmap(int dest_left, int dest_top, int width, int
     }
     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)
 {
@@ -448,7 +440,6 @@ FX_BOOL CFX_DIBitmap::TransferMask(int dest_left, int dest_top, int width, int h
     if (width == 0 || height == 0) {
         return TRUE;
     }
-    int src_pitch = pMask->GetPitch();
     int src_bpp = pMask->GetBPP();
     int alpha;
     FX_DWORD dst_color;
@@ -472,7 +463,7 @@ FX_BOOL CFX_DIBitmap::TransferMask(int dest_left, int dest_top, int width, int h
         }
     }
     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 ++) {
@@ -528,7 +519,6 @@ FX_BOOL CFX_DIBitmap::TransferMask(int dest_left, int dest_top, int width, int h
     }
     return TRUE;
 }
-#endif
 void CFX_DIBSource::CopyPalette(const FX_DWORD* pSrc, FX_DWORD size)
 {
     if (pSrc == NULL || GetBPP() > 8) {
@@ -541,9 +531,6 @@ void CFX_DIBSource::CopyPalette(const FX_DWORD* pSrc, FX_DWORD size)
         if (m_pPalette == NULL) {
             m_pPalette = FX_Alloc(FX_DWORD, pal_size);
         }
-        if (!m_pPalette) {
-            return;
-        }
         if (pal_size > size) {
             pal_size = size;
         }
@@ -899,12 +886,12 @@ FX_BOOL CFX_DIBitmap::GetGrayData(void* pIccTransform)
                 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) {
@@ -933,12 +920,12 @@ FX_BOOL CFX_DIBitmap::GetGrayData(void* pIccTransform)
                 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) {
@@ -1055,7 +1042,6 @@ FX_BOOL CFX_DIBitmap::MultiplyAlpha(int alpha)
     }
     return TRUE;
 }
-#if !defined(_FPDFAPI_MINI_) || defined(_FXCORE_FEATURE_ALL_)
 FX_DWORD CFX_DIBitmap::GetPixel(int x, int y) const
 {
     if (m_pBuffer == NULL) {
@@ -1092,7 +1078,6 @@ FX_DWORD CFX_DIBitmap::GetPixel(int x, int y) const
     }
     return 0;
 }
-#endif
 void CFX_DIBitmap::SetPixel(int x, int y, FX_DWORD color)
 {
     if (m_pBuffer == NULL) {
@@ -1126,13 +1111,13 @@ void CFX_DIBitmap::SetPixel(int x, int y, FX_DWORD color)
             }
             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;
                         }
                     }
@@ -1178,9 +1163,7 @@ void CFX_DIBitmap::DownSampleScanline(int line, FX_LPBYTE dest_scan, int dest_bp
             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) {
@@ -1190,9 +1173,7 @@ void CFX_DIBitmap::DownSampleScanline(int line, FX_LPBYTE dest_scan, int dest_bp
             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()) {
@@ -1217,9 +1198,7 @@ void CFX_DIBitmap::DownSampleScanline(int line, FX_LPBYTE dest_scan, int dest_bp
         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];
@@ -1267,7 +1246,7 @@ FX_BOOL CFX_DIBitmap::ConvertColorScale(FX_DWORD forecolor, FX_DWORD backcolor)
         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);
@@ -1287,7 +1266,7 @@ FX_BOOL CFX_DIBitmap::ConvertColorScale(FX_DWORD forecolor, FX_DWORD backcolor)
             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;
@@ -1316,7 +1295,7 @@ FX_BOOL CFX_DIBitmap::ConvertColorScale(FX_DWORD forecolor, FX_DWORD backcolor)
         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);
@@ -1356,11 +1335,11 @@ FX_BOOL CFX_DIBitmap::DitherFS(const FX_DWORD* pPalette, int pal_size, const FX_
     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;
@@ -1374,7 +1353,7 @@ FX_BOOL CFX_DIBitmap::DitherFS(const FX_DWORD* pPalette, int pal_size, const FX_
         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];
@@ -1543,11 +1522,11 @@ void CFX_FilteredDIB::LoadSrc(const CFX_DIBSource* pSrc, FX_BOOL bAutoDropSrc)
     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
 {
@@ -1662,7 +1641,7 @@ FX_BOOL CFX_ImageRenderer::Continue(IFX_Pause* pPause)
         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);
                 }