mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
81 lines
2.8 KiB
C#
81 lines
2.8 KiB
C#
using System.Diagnostics.CodeAnalysis;
|
|
using System.Numerics;
|
|
|
|
namespace Dalamud.Bindings.ImGui;
|
|
|
|
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
|
public static unsafe partial class ImGui
|
|
{
|
|
public static bool ColorEdit3(
|
|
ImU8String label, scoped ref Vector3 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
|
{
|
|
fixed (byte* labelPtr = &label.GetPinnableNullTerminatedReference())
|
|
fixed (Vector3* colPtr = &col)
|
|
{
|
|
var res = ImGuiNative.ColorEdit3(labelPtr, &colPtr->X, flags) != 0;
|
|
label.Recycle();
|
|
return res;
|
|
}
|
|
}
|
|
|
|
public static bool ColorEdit4(
|
|
ImU8String label, scoped ref Vector4 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
|
{
|
|
fixed (byte* labelPtr = &label.GetPinnableNullTerminatedReference())
|
|
fixed (Vector4* colPtr = &col)
|
|
{
|
|
var res = ImGuiNative.ColorEdit4(labelPtr, &colPtr->X, flags) != 0;
|
|
label.Recycle();
|
|
return res;
|
|
}
|
|
}
|
|
|
|
public static bool ColorPicker3(
|
|
ImU8String label, scoped ref Vector3 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
|
{
|
|
fixed (byte* labelPtr = &label.GetPinnableNullTerminatedReference())
|
|
fixed (Vector3* colPtr = &col)
|
|
{
|
|
var res = ImGuiNative.ColorPicker3(labelPtr, &colPtr->X, flags) != 0;
|
|
label.Recycle();
|
|
return res;
|
|
}
|
|
}
|
|
|
|
public static bool ColorPicker4(
|
|
ImU8String label, scoped ref Vector4 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
|
{
|
|
fixed (byte* labelPtr = &label.GetPinnableNullTerminatedReference())
|
|
fixed (Vector4* colPtr = &col)
|
|
{
|
|
var res = ImGuiNative.ColorPicker4(labelPtr, &colPtr->X, flags, null) != 0;
|
|
label.Recycle();
|
|
return res;
|
|
}
|
|
}
|
|
|
|
public static bool ColorPicker4(
|
|
ImU8String label, scoped ref Vector4 col, ImGuiColorEditFlags flags, scoped in Vector4 refCol)
|
|
{
|
|
fixed (byte* labelPtr = &label.GetPinnableNullTerminatedReference())
|
|
fixed (Vector4* colPtr = &col)
|
|
fixed (Vector4* refColPtr = &refCol)
|
|
{
|
|
var res = ImGuiNative.ColorPicker4(labelPtr, &colPtr->X, flags, &refColPtr->X) != 0;
|
|
label.Recycle();
|
|
return res;
|
|
}
|
|
}
|
|
|
|
public static bool ColorPicker4(ImU8String label, scoped ref Vector4 col, scoped in Vector4 refCol)
|
|
{
|
|
fixed (byte* labelPtr = &label.GetPinnableNullTerminatedReference())
|
|
fixed (Vector4* colPtr = &col)
|
|
fixed (Vector4* refColPtr = &refCol)
|
|
{
|
|
var res = ImGuiNative.ColorPicker4(labelPtr, &colPtr->X, ImGuiColorEditFlags.None, &refColPtr->X) != 0;
|
|
label.Recycle();
|
|
return res;
|
|
}
|
|
}
|
|
}
|