Revert commit 95c018e2d15ecc3a5bd2a9aab18638316a6d3d46

Fixes for re-enabling more MSVC level 4 warnings: pdfium/ edition

BUG=81439
TBR=pkasting@chromium.org

Review URL: https://codereview.chromium.org/376043003
diff --git a/core/include/fxcrt/fx_ucd.h b/core/include/fxcrt/fx_ucd.h
index 9e1862a..447d555 100644
--- a/core/include/fxcrt/fx_ucd.h
+++ b/core/include/fxcrt/fx_ucd.h
@@ -88,6 +88,20 @@
     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 f4f1375..a563762 100644
--- a/fpdfsdk/include/fpdfview.h
+++ b/fpdfsdk/include/fpdfview.h
@@ -487,7 +487,11 @@
 //			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.
-//			color		-	A 32-bit value specifing the color, in 8888 ARGB format.
+//			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.
 // Return value:
 //			None.
 // Comments:
@@ -496,7 +500,8 @@
 //			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, FPDF_DWORD color);
+DLLEXPORT void STDCALL FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top, int width, int height, 
+									int red, int green, int blue, int alpha);
 
 // Function: FPDFBitmap_GetBuffer
 //			Get data buffer of an FXDIB
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
index a9aa9a8..10eaf5d 100644
--- a/fpdfsdk/src/fpdfview.cpp
+++ b/fpdfsdk/src/fpdfview.cpp
@@ -725,7 +725,8 @@
 	return pBitmap;
 }
 
-DLLEXPORT void STDCALL FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top, int width, int height, FPDF_DWORD color)
+DLLEXPORT void STDCALL FPDFBitmap_FillRect(FPDF_BITMAP bitmap, int left, int top, int width, int height, 
+									int red, int green, int blue, int alpha)
 {
 	if (bitmap == NULL) return;
 #ifdef _SKIA_SUPPORT_
@@ -734,9 +735,9 @@
 	CFX_FxgeDevice device;
 #endif
 	device.Attach((CFX_DIBitmap*)bitmap);
-	if (!((CFX_DIBitmap*)bitmap)->HasAlpha()) color |= 0xFF000000;
+	if (!((CFX_DIBitmap*)bitmap)->HasAlpha()) alpha = 255;
 	FX_RECT rect(left, top, left+width, top+height);
-	device.FillRect(&rect, color);
+	device.FillRect(&rect, FXARGB_MAKE(alpha, red, green, blue));
 }
 
 DLLEXPORT void* STDCALL FPDFBitmap_GetBuffer(FPDF_BITMAP bitmap)
diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc
index f8e5673..c504bf4 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, 0xFFFFFFFF);
+    FPDFBitmap_FillRect(bitmap, 0, 0, width, height, 255, 255, 255, 255);
 
     FPDF_RenderPageBitmap(bitmap, page, 0, 0, width, height, 0, 0);
     FPDF_FFLDraw(form, bitmap, page, 0, 0, width, height, 0, 0);