split icons to their own files
Some checks failed
ContinuousDelivery / windows (push) Waiting to run
ContinuousDelivery / windows-asan (push) Waiting to run
ContinuousDelivery / release (push) Blocked by required conditions
ContinuousIntegration / macos (push) Waiting to run
ContinuousIntegration / windows (push) Waiting to run
ContinuousDelivery / linux-ubuntu (push) Failing after 4m31s
ContinuousDelivery / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Failing after 5m31s
ContinuousDelivery / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Failing after 5m45s
ContinuousIntegration / linux (push) Successful in 4m20s
ContinuousIntegration / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Failing after 5m20s
ContinuousIntegration / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Failing after 5m6s
Some checks failed
ContinuousDelivery / windows (push) Waiting to run
ContinuousDelivery / windows-asan (push) Waiting to run
ContinuousDelivery / release (push) Blocked by required conditions
ContinuousIntegration / macos (push) Waiting to run
ContinuousIntegration / windows (push) Waiting to run
ContinuousDelivery / linux-ubuntu (push) Failing after 4m31s
ContinuousDelivery / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Failing after 5m31s
ContinuousDelivery / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Failing after 5m45s
ContinuousIntegration / linux (push) Successful in 4m20s
ContinuousIntegration / android (map[ndk_abi:arm64-v8a vcpkg_toolkit:arm64-android]) (push) Failing after 5m20s
ContinuousIntegration / android (map[ndk_abi:x86_64 vcpkg_toolkit:x64-android]) (push) Failing after 5m6s
This commit is contained in:
49
src/chat_gui/icons/direct.cpp
Normal file
49
src/chat_gui/icons/direct.cpp
Normal file
@ -0,0 +1,49 @@
|
||||
#include "./direct.hpp"
|
||||
|
||||
#include <array>
|
||||
|
||||
static void drawIconDirectLines(
|
||||
const ImVec2 p0,
|
||||
const ImVec2 p1_o,
|
||||
const ImU32 col,
|
||||
const float thickness
|
||||
) {
|
||||
#define PLINE(x0, y0, x1, y1) \
|
||||
ImGui::GetWindowDrawList()->AddLine( \
|
||||
{p0.x + p1_o.x*(x0), p0.y + p1_o.y*(y0)}, \
|
||||
{p0.x + p1_o.x*(x1), p0.y + p1_o.y*(y1)}, \
|
||||
col, \
|
||||
thickness \
|
||||
);
|
||||
|
||||
// arrow 1
|
||||
// (3,1) -> (9,7)
|
||||
PLINE(0.3f, 0.1f, 0.9f, 0.7f)
|
||||
// (9,7) -> (9,5)
|
||||
PLINE(0.9f, 0.7f, 0.9f, 0.5f)
|
||||
// (9,7) -> (7,7)
|
||||
PLINE(0.9f, 0.7f, 0.7f, 0.7f)
|
||||
|
||||
// arrow 2
|
||||
// (7,9) -> (1,3)
|
||||
PLINE(0.7f, 0.9f, 0.1f, 0.3f)
|
||||
// (1,3) -> (3,3)
|
||||
PLINE(0.1f, 0.3f, 0.3f, 0.3f)
|
||||
// (1,3) -> (1,5)
|
||||
PLINE(0.1f, 0.3f, 0.1f, 0.5f)
|
||||
#undef PLINE
|
||||
}
|
||||
|
||||
void drawIconDirect(
|
||||
const ImVec2 p0,
|
||||
const ImVec2 p1_o,
|
||||
const ImU32 col_main,
|
||||
const ImU32 col_back
|
||||
) {
|
||||
// dark background
|
||||
// the circle looks bad in light mode
|
||||
//ImGui::GetWindowDrawList()->AddCircleFilled({p0.x + p1_o.x*0.5f, p0.y + p1_o.y*0.5f}, p1_o.x*0.5f, col_back);
|
||||
drawIconDirectLines(p0, p1_o, col_back, 4.0f);
|
||||
drawIconDirectLines(p0, p1_o, col_main, 1.5f);
|
||||
}
|
||||
|
Reference in New Issue
Block a user