Pre-convert crosshair's color to ImGui's format

pull/58/head
jackun 4 years ago committed by FlightlessMango
parent 1a8b98e09d
commit e881a1538a

@ -65,12 +65,6 @@ string engineName, engineVersion;
struct amdGpu amdgpu;
int64_t frameStart, frameEnd, targetFrameTime = 0, frameOverhead = 0, sleepTime = 0;
#define RGBGetBValue(rgb) (rgb & 0x000000FF)
#define RGBGetGValue(rgb) ((rgb >> 8) & 0x000000FF)
#define RGBGetRValue(rgb) ((rgb >> 16) & 0x000000FF)
#define ToRGBColor(r, g, b, a) ((r << 16) | (g << 8) | (b));
/* Mapped from VkInstace/VkPhysicalDevice */
struct instance_data {
struct vk_instance_dispatch_table vtable;
@ -1346,12 +1340,12 @@ static void compute_swapchain_display(struct swapchain_data *data)
ImGui::Begin("Logging", &open, ImGuiWindowFlags_NoDecoration);
ImVec2 horiz = ImVec2(data->width / 2 - (instance_data->params.crosshair_size / 2), data->height / 2);
ImVec2 vert = ImVec2(data->width / 2, data->height / 2 - (instance_data->params.crosshair_size / 2));
ImGui::GetWindowDrawList()->AddLine(horiz, ImVec2(horiz.x + instance_data->params.crosshair_size, horiz.y + 0),
IM_COL32(RGBGetRValue(instance_data->params.crosshair_color), RGBGetGValue(instance_data->params.crosshair_color),
RGBGetBValue(instance_data->params.crosshair_color), 255), 2.0f);
ImGui::GetWindowDrawList()->AddLine(vert, ImVec2(vert.x + 0, vert.y + instance_data->params.crosshair_size),
IM_COL32(RGBGetRValue(instance_data->params.crosshair_color), RGBGetGValue(instance_data->params.crosshair_color),
RGBGetBValue(instance_data->params.crosshair_color), 255), 2.0f);
ImGui::GetWindowDrawList()->AddLine(horiz,
ImVec2(horiz.x + instance_data->params.crosshair_size, horiz.y + 0),
instance_data->params.crosshair_color, 2.0f);
ImGui::GetWindowDrawList()->AddLine(vert,
ImVec2(vert.x + 0, vert.y + instance_data->params.crosshair_size),
instance_data->params.crosshair_color, 2.0f);
ImGui::End();
}
ImGui::PopStyleVar(2);

@ -28,6 +28,7 @@
#include <sys/sysinfo.h>
#include <X11/Xlib.h>
#include "X11/keysym.h"
#include "imgui.h"
#include "overlay_params.h"
#include "config.h"
@ -343,7 +344,13 @@ parse_overlay_config(struct overlay_params *params,
// Command buffer gets reused and timestamps cause hangs for some reason, force off for now
params->enabled[OVERLAY_PARAM_ENABLED_gpu_timing] = false;
// Convert from 0xRRGGBB to ImGui's format
params->crosshair_color =
IM_COL32(RGBGetRValue(params->crosshair_color),
RGBGetGValue(params->crosshair_color),
RGBGetBValue(params->crosshair_color),
255);
params->tableCols = 3;
if (!params->font_size)

@ -35,6 +35,12 @@ extern "C" {
#include <stdbool.h>
#include <X11/Xlib.h>
#define RGBGetBValue(rgb) (rgb & 0x000000FF)
#define RGBGetGValue(rgb) ((rgb >> 8) & 0x000000FF)
#define RGBGetRValue(rgb) ((rgb >> 16) & 0x000000FF)
#define ToRGBColor(r, g, b, a) ((r << 16) | (g << 8) | (b));
#define OVERLAY_PARAMS \
OVERLAY_PARAM_BOOL(fps) \
OVERLAY_PARAM_BOOL(frame) \

Loading…
Cancel
Save