|
|
|
@ -2041,21 +2041,21 @@ static void ShowExampleAppCustomRendering(bool* p_open)
|
|
|
|
|
|
|
|
|
|
bool adding_preview = false;
|
|
|
|
|
ImGui::InvisibleButton("canvas", canvas_size);
|
|
|
|
|
ImVec2 mouse_pos_in_canvas = ImVec2(ImGui::GetIO().MousePos.x - canvas_pos.x, ImGui::GetIO().MousePos.y - canvas_pos.y);
|
|
|
|
|
if (adding_line)
|
|
|
|
|
{
|
|
|
|
|
adding_preview = true;
|
|
|
|
|
points.push_back(mouse_pos_in_canvas);
|
|
|
|
|
if (!ImGui::GetIO().MouseDown[0])
|
|
|
|
|
adding_line = adding_preview = false;
|
|
|
|
|
}
|
|
|
|
|
if (ImGui::IsItemHovered())
|
|
|
|
|
{
|
|
|
|
|
ImVec2 mouse_pos_in_canvas = ImVec2(ImGui::GetIO().MousePos.x - canvas_pos.x, ImGui::GetIO().MousePos.y - canvas_pos.y);
|
|
|
|
|
if (!adding_line && ImGui::IsMouseClicked(0))
|
|
|
|
|
{
|
|
|
|
|
points.push_back(mouse_pos_in_canvas);
|
|
|
|
|
adding_line = true;
|
|
|
|
|
}
|
|
|
|
|
if (adding_line)
|
|
|
|
|
{
|
|
|
|
|
adding_preview = true;
|
|
|
|
|
points.push_back(mouse_pos_in_canvas);
|
|
|
|
|
if (!ImGui::GetIO().MouseDown[0])
|
|
|
|
|
adding_line = adding_preview = false;
|
|
|
|
|
}
|
|
|
|
|
if (ImGui::IsMouseClicked(1) && !points.empty())
|
|
|
|
|
{
|
|
|
|
|
adding_line = adding_preview = false;
|
|
|
|
|