public Style Push(ImGuiStyleVar idx, Vector2 value, bool condition = true) { if (condition) { CheckStyleIdx(idx, typeof(Vector2)); ImGui.PushStyleVar(idx, value); ++_count; } return(this); }
private static void CheckStyleIdx(ImGuiStyleVar idx, Type type) { var shouldThrow = idx switch { ImGuiStyleVar.Alpha => type != typeof(float), ImGuiStyleVar.WindowPadding => type != typeof(Vector2), ImGuiStyleVar.WindowRounding => type != typeof(float), ImGuiStyleVar.WindowBorderSize => type != typeof(float), ImGuiStyleVar.WindowMinSize => type != typeof(Vector2), ImGuiStyleVar.WindowTitleAlign => type != typeof(Vector2), ImGuiStyleVar.ChildRounding => type != typeof(float), ImGuiStyleVar.ChildBorderSize => type != typeof(float), ImGuiStyleVar.PopupRounding => type != typeof(float), ImGuiStyleVar.PopupBorderSize => type != typeof(float), ImGuiStyleVar.FramePadding => type != typeof(Vector2), ImGuiStyleVar.FrameRounding => type != typeof(float), ImGuiStyleVar.FrameBorderSize => type != typeof(float), ImGuiStyleVar.ItemSpacing => type != typeof(Vector2), ImGuiStyleVar.ItemInnerSpacing => type != typeof(Vector2), ImGuiStyleVar.IndentSpacing => type != typeof(float), ImGuiStyleVar.CellPadding => type != typeof(Vector2), ImGuiStyleVar.ScrollbarSize => type != typeof(float), ImGuiStyleVar.ScrollbarRounding => type != typeof(float), ImGuiStyleVar.GrabMinSize => type != typeof(float), ImGuiStyleVar.GrabRounding => type != typeof(float), ImGuiStyleVar.TabRounding => type != typeof(float), ImGuiStyleVar.ButtonTextAlign => type != typeof(Vector2), ImGuiStyleVar.SelectableTextAlign => type != typeof(Vector2), _ => throw new ArgumentOutOfRangeException(nameof(idx), idx, null), }; if (shouldThrow) { throw new ArgumentException($"Unable to push {type} to {idx}."); } }
public static void PushStyleVar(ImGuiStyleVar var, ImVec2 value) { ImGuiNative.igPushStyleVarVec(var, value); }
public static void PushStyleVar(ImGuiStyleVar var, float value) { ImGuiNative.igPushStyleVar(var, value); }
public static Style PushStyle(ImGuiStyleVar idx, float value, bool condition = true) => new Style().Push(idx, value, condition);
private void PushStyle(ImGuiStyleVar styleVar, Vector2 val) { ImGui.PushStyleVar(styleVar, val); styleCounter += 1; }
private void PushStyle(ImGuiStyleVar styleVar, float val) { ImGui.PushStyleVar(styleVar, val); styleCounter += 1; }
public static void PushStyleVar(ImGuiStyleVar idx, ImVec2 val) => PushStyleVarVec2(idx, val);
public static void PushStyleVar(ImGuiStyleVar idx, float val) => PushStyleVarFloat(idx, val);
public abstract void igPushStyleVarVec2(ImGuiStyleVar idx, Vector2 val);
public abstract void igPushStyleVarFloat(ImGuiStyleVar idx, float val);
public ImGuiRaii PushStyle(ImGuiStyleVar style, float value) { ImGui.PushStyleVar(style, value); ++_styleStack; return(this); }