From 2b3127be2b5a9f5fe167feda0559520e2b504238 Mon Sep 17 00:00:00 2001 From: Marcus Comstedt Date: Mon, 4 Jul 2022 22:26:54 +0200 Subject: [PATCH] fix: use correct RGB shifts on big endian --- thirdparty/imgui/imgui.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/thirdparty/imgui/imgui.h b/thirdparty/imgui/imgui.h index dc00f86c5..00e4dd066 100644 --- a/thirdparty/imgui/imgui.h +++ b/thirdparty/imgui/imgui.h @@ -2263,17 +2263,33 @@ struct ImGuiListClipper // Helpers macros to generate 32-bit encoded colors #ifdef IMGUI_USE_BGRA_PACKED_COLOR +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #define IM_COL32_R_SHIFT 16 #define IM_COL32_G_SHIFT 8 #define IM_COL32_B_SHIFT 0 #define IM_COL32_A_SHIFT 24 #define IM_COL32_A_MASK 0xFF000000 #else +#define IM_COL32_R_SHIFT 8 +#define IM_COL32_G_SHIFT 16 +#define IM_COL32_B_SHIFT 24 +#define IM_COL32_A_SHIFT 0 +#define IM_COL32_A_MASK 0x000000FF +#endif +#else +#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #define IM_COL32_R_SHIFT 0 #define IM_COL32_G_SHIFT 8 #define IM_COL32_B_SHIFT 16 #define IM_COL32_A_SHIFT 24 #define IM_COL32_A_MASK 0xFF000000 +#else +#define IM_COL32_R_SHIFT 24 +#define IM_COL32_G_SHIFT 16 +#define IM_COL32_B_SHIFT 8 +#define IM_COL32_A_SHIFT 0 +#define IM_COL32_A_MASK 0x000000FF +#endif #endif #define IM_COL32(R,G,B,A) (((ImU32)(A)<