Files
UnleashedRecomp-hedge-dev/UnleashedRecomp/gpu/imgui_common.h
Skyth 8ca852583b Implement text skew, grayscale image, and marquee fade.
Marquee fade currently does not work with text shadow as the repeatedly drawn font accumulates its alpha.
2024-12-09 20:31:44 +03:00

60 lines
1.1 KiB
C

#pragma once
#define IMGUI_SHADER_MODIFIER_NONE 0
#define IMGUI_SHADER_MODIFIER_SCANLINE 1
#define IMGUI_SHADER_MODIFIER_CHECKERBOARD 2
#define IMGUI_SHADER_MODIFIER_SCANLINE_BUTTON 3
#define IMGUI_SHADER_MODIFIER_TEXT_SKEW 4
#define IMGUI_SHADER_MODIFIER_MARQUEE_FADE 5
#define IMGUI_SHADER_MODIFIER_GRAYSCALE 6
#ifdef __cplusplus
enum class ImGuiCallback : int32_t
{
SetGradient = -1,
SetShaderModifier = -2,
SetOrigin = -3,
SetScale = -4,
SetMarqueeFade = -5,
// -8 is ImDrawCallback_ResetRenderState, don't use!
};
union ImGuiCallbackData
{
struct
{
float boundsMin[2];
float boundsMax[2];
uint32_t gradientTop;
uint32_t gradientBottom;
} setGradient;
struct
{
uint32_t shaderModifier;
} setShaderModifier;
struct
{
float origin[2];
} setOrigin;
struct
{
float scale[2];
} setScale;
struct
{
float boundsMin[2];
float boundsMax[2];
} setMarqueeFade;
};
extern ImGuiCallbackData* AddImGuiCallback(ImGuiCallback callback);
extern void ResetImGuiCallbacks();
#endif