summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2014-07-09 11:47:15 -0700
committerLei Zhang <thestig@chromium.org>2014-07-09 11:47:15 -0700
commit532a6a7ece21ca4ea253a196bb5c61a1861d12a0 (patch)
tree720fbe2b116a56aba6fa507cfd840b42e2a23622
parentd573678115676fc06575d6dac0801a3532cf0216 (diff)
downloadpdfium-chromium/2088.tar.xz
This contains fixes for the following sorts of issues: * Nonstandard extension: unnamed struct/union This also changes the signature of FPDF_FillRect() to enable the cleanest possible changes in https://codereview.chromium.org/372273005 . BUG=81439 TEST=none Original patch by Peter Kasting <pkasting@chromium.org> Original code review: https://codereview.chromium.org/376003003/ R=pkasting@chromium.org Review URL: https://codereview.chromium.org/377353002
-rw-r--r--core/include/fxcrt/fx_ucd.h14
-rw-r--r--fpdfsdk/include/fpdfview.h9
-rw-r--r--fpdfsdk/src/fpdfview.cpp7
-rw-r--r--samples/pdfium_test.cc2
4 files changed, 6 insertions, 26 deletions
diff --git a/core/include/fxcrt/fx_ucd.h b/core/include/fxcrt/fx_ucd.h
index 447d555a4b..9e1862aa80 100644
--- a/core/include/fxcrt/fx_ucd.h
+++ b/core/include/fxcrt/fx_ucd.h
@@ -88,20 +88,6 @@ enum FX_CHARTYPE {
FX_CHARTYPE_ArabicForm = (11 << FX_CHARTYPEBITS),
FX_CHARTYPE_Arabic = (12 << FX_CHARTYPEBITS),
};
-typedef struct _FX_CHARPROPERTIES {
- union {
- struct {
- FX_DWORD dwBreakType : 6;
- FX_DWORD dwBidiClass : 5;
- FX_DWORD dwCharType : 4;
- FX_DWORD dwRotation : 1;
- FX_DWORD dwCJKSpecial : 1;
- FX_DWORD dwVertIndex : 6;
- FX_DWORD dwBidiIndex : 9;
- };
- FX_DWORD dwCharProps;
- };
-} FX_CHARPROPERTIES;
FX_DWORD FX_GetUnicodeProperties(FX_WCHAR wch);
FX_BOOL FX_IsCtrlCode(FX_WCHAR ch);
FX_BOOL FX_IsRotationCode(FX_WCHAR ch);
diff --git a/fpdfsdk/include/fpdfview.h b/fpdfsdk/include/fpdfview.h
index a563762613..f4f13750bc 100644
--- a/fpdfsdk/include/fpdfview.h
+++ b/fpdfsdk/include/fpdfview.h
@@ -487,11 +487,7 @@ DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_CreateEx(int width, int height, int for
// top - The top side position. Starting from 0 at the top-most scan line.
// width - Number of pixels to be filled in each scan line.
// height - Number of scan lines to be filled.
-// red - A number from 0 to 255, identifying the red intensity.
-// green - A number from 0 to 255, identifying the green intensity.
-// blue - A number from 0 to 255, identifying the blue intensity.
-// alpha - (Only if the alpha channeled is used when bitmap created) A number from 0 to 255,
-// identifying the alpha value.
+// color - A 32-bit value specifing the color, in 8888 ARGB format.
// Return value:
// None.
// Comments:
@@ -500,8 +496,7 @@ DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_CreateEx(int width, int height, int for
// instead the background will be replaced by the source color and alpha.
// If alpha channel is not used, the "alpha" parameter is ignored.
//
-DLLEXPORT void STDCALL FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top, int width, int height,
- int red, int green, int blue, int alpha);
+DLLEXPORT void STDCALL FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top, int width, int height, FPDF_DWORD color);
// Function: FPDFBitmap_GetBuffer
// Get data buffer of an FXDIB
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
index 10eaf5d980..a9aa9a8ff2 100644
--- a/fpdfsdk/src/fpdfview.cpp
+++ b/fpdfsdk/src/fpdfview.cpp
@@ -725,8 +725,7 @@ DLLEXPORT FPDF_BITMAP STDCALL FPDFBitmap_CreateEx(int width, int height, int for
return pBitmap;
}
-DLLEXPORT void STDCALL FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top, int width, int height,
- int red, int green, int blue, int alpha)
+DLLEXPORT void STDCALL FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top, int width, int height, FPDF_DWORD color)
{
if (bitmap == NULL) return;
#ifdef _SKIA_SUPPORT_
@@ -735,9 +734,9 @@ DLLEXPORT void STDCALL FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top
CFX_FxgeDevice device;
#endif
device.Attach((CFX_DIBitmap*)bitmap);
- if (!((CFX_DIBitmap*)bitmap)->HasAlpha()) alpha = 255;
+ if (!((CFX_DIBitmap*)bitmap)->HasAlpha()) color |= 0xFF000000;
FX_RECT rect(left, top, left+width, top+height);
- device.FillRect(&rect, FXARGB_MAKE(alpha, red, green, blue));
+ device.FillRect(&rect, color);
}
DLLEXPORT void* STDCALL FPDFBitmap_GetBuffer(FPDF_BITMAP bitmap)
diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc
index c504bf4823..f8e567349b 100644
--- a/samples/pdfium_test.cc
+++ b/samples/pdfium_test.cc
@@ -230,7 +230,7 @@ void RenderPdf(const char* name, const char* pBuf, size_t len,
int width = static_cast<int>(FPDF_GetPageWidth(page));
int height = static_cast<int>(FPDF_GetPageHeight(page));
FPDF_BITMAP bitmap = FPDFBitmap_Create(width, height, 0);
- FPDFBitmap_FillRect(bitmap, 0, 0, width, height, 255, 255, 255, 255);
+ FPDFBitmap_FillRect(bitmap, 0, 0, width, height, 0xFFFFFFFF);
FPDF_RenderPageBitmap(bitmap, page, 0, 0, width, height, 0, 0);
FPDF_FFLDraw(form, bitmap, page, 0, 0, width, height, 0, 0);