Re-land "Change FX_BOOL definition from int to bool."
This reverts commit 747dcf7
Review-Url: https://codereview.chromium.org/2468723002
diff --git a/core/fxcrt/fx_system.h b/core/fxcrt/fx_system.h
index 8364db3..bcddf1a 100644
--- a/core/fxcrt/fx_system.h
+++ b/core/fxcrt/fx_system.h
@@ -65,11 +65,18 @@
#ifdef __cplusplus
extern "C" {
+typedef bool FX_BOOL; // Deprecated.
+#ifndef TRUE
+#define TRUE true
#endif
+#ifndef FALSE
+#define FALSE false
+#endif
+#endif // __cplusplus
+
typedef void* FX_POSITION; // Keep until fxcrt containers gone
typedef float FX_FLOAT; // Keep, allow upgrade to doubles.
typedef double FX_DOUBLE; // Keep, allow downgrade to floats.
-typedef int FX_BOOL; // Keep, sadly not always 0 or 1.
typedef char FX_CHAR; // Keep, questionable signedness.
typedef wchar_t FX_WCHAR; // Keep, maybe bad platform wchars.
@@ -83,14 +90,6 @@
// TODO(palmer): it should be a |size_t|, or at least unsigned.
typedef int FX_STRSIZE;
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
#ifdef __cplusplus
static_assert(TRUE == true, "true_needs_to_be_true");
static_assert(FALSE == false, "false_needs_to_be_false");