theoldImDrawCornersFlagsusedanawkwarddefaultvalueof~0or0xF(4lowerbitsset)tosignify"round all corners".Westillsupportoldflags,butnotethatthenewnamedflagsareopt-outinsteadofopt-in!
-useofrounding>0.0falongoldflagsexplicitelysetashardcoded0wouldhavepreviouslyoveriddentheroundingvaluebackinto"no rounding",whereasitwillnowbehaveas"round all corners".Thisistechnicallytheonlyrealbreakingchangewhichwecan'tsolveautomatically.
// The old enums are defined under ImDrawCornerFlags_ in the "Obsolete functions and types" section of this header)
// (Legacy: bit 0 must always correspond to ImDrawFlags_Closed to be backward compatible with old API using a bool. Bits 1..3 must b unused)
enumImDrawFlags_
{
ImDrawFlags_None=0,
ImDrawFlags_Closed=1<<0,// PathStroke(), AddPolyline(): specify that (LEGACY: this must always stay == 1 to be backward compatible with old API using a bool)
// (bits 1..3 unused to facilitate handling of legacy behavior and detection of Flags = 0x0F)
ImDrawFlags_NoRoundCornerTL=1<<4,
ImDrawFlags_NoRoundCornerTR=1<<5,
ImDrawFlags_NoRoundCornerBL=1<<6,
ImDrawFlags_NoRoundCornerBR=1<<7,
ImDrawFlags_Closed=1<<0,// PathStroke(), AddPolyline(): specify that shape should be closed (Important: this is always == 1 for legacy reason)
ImDrawCornerFlags_TopLeft=1<<28,// Order is identical to ImDrawFlags_NoRoundCorner* flag order and is exploited by FixImDrawCornerFlags() for support of legacy code.
ImDrawCornerFlags_TopLeft=1<<24,// Was (1 << 0) prior to 1.82. Order matches ImDrawFlags_NoRoundCorner* flag (we exploit this internally).
ImDrawCornerFlags_TopRight=1<<25,// Was (1 << 1) prior to 1.82.
ImDrawCornerFlags_BotLeft=1<<26,// Was (1 << 2) prior to 1.82.
ImDrawCornerFlags_BotRight=1<<27,// Was (1 << 3) prior to 1.82.
ImDrawCornerFlags_All=ImDrawCornerFlags_TopLeft|ImDrawCornerFlags_TopRight|ImDrawCornerFlags_BotLeft|ImDrawCornerFlags_BotRight,// Was (0x0F) prior to 1.82