Fixes for re-enabling more MSVC level 4 warnings: pdfium/ edition (try 2)

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
diff --git a/core/include/fxcrt/fx_ucd.h b/core/include/fxcrt/fx_ucd.h
index 447d555..9e1862a 100644
--- a/core/include/fxcrt/fx_ucd.h
+++ b/core/include/fxcrt/fx_ucd.h
@@ -88,20 +88,6 @@
     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 a563762..f4f1375 100644
--- a/fpdfsdk/include/fpdfview.h
+++ b/fpdfsdk/include/fpdfview.h
@@ -487,11 +487,7 @@
 //			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 @@
 //			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 10eaf5d..a9aa9a8 100644
--- a/fpdfsdk/src/fpdfview.cpp
+++ b/fpdfsdk/src/fpdfview.cpp
@@ -725,8 +725,7 @@
 	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 @@
 	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 c504bf4..f8e5673 100644
--- a/samples/pdfium_test.cc
+++ b/samples/pdfium_test.cc
@@ -230,7 +230,7 @@
     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);