|
@@ -1420,7 +1420,7 @@ static void ShowDemoWindowWidgets()
|
|
|
static float col4f[4] = { 1.0f, 0.5, 0.0f, 1.0f };
|
|
static float col4f[4] = { 1.0f, 0.5, 0.0f, 1.0f };
|
|
|
ImGui::RadioButton("Text", &item_type, 0);
|
|
ImGui::RadioButton("Text", &item_type, 0);
|
|
|
ImGui::RadioButton("Button", &item_type, 1);
|
|
ImGui::RadioButton("Button", &item_type, 1);
|
|
|
- ImGui::RadioButton("CheckBox", &item_type, 2);
|
|
|
|
|
|
|
+ ImGui::RadioButton("Checkbox", &item_type, 2);
|
|
|
ImGui::RadioButton("SliderFloat", &item_type, 3);
|
|
ImGui::RadioButton("SliderFloat", &item_type, 3);
|
|
|
ImGui::RadioButton("ColorEdit4", &item_type, 4);
|
|
ImGui::RadioButton("ColorEdit4", &item_type, 4);
|
|
|
ImGui::RadioButton("ListBox", &item_type, 5);
|
|
ImGui::RadioButton("ListBox", &item_type, 5);
|
|
@@ -1428,7 +1428,7 @@ static void ShowDemoWindowWidgets()
|
|
|
bool ret = false;
|
|
bool ret = false;
|
|
|
if (item_type == 0) { ImGui::Text("ITEM: Text"); } // Testing text items with no identifier/interaction
|
|
if (item_type == 0) { ImGui::Text("ITEM: Text"); } // Testing text items with no identifier/interaction
|
|
|
if (item_type == 1) { ret = ImGui::Button("ITEM: Button"); } // Testing button
|
|
if (item_type == 1) { ret = ImGui::Button("ITEM: Button"); } // Testing button
|
|
|
- if (item_type == 2) { ret = ImGui::Checkbox("ITEM: CheckBox", &b); } // Testing checkbox
|
|
|
|
|
|
|
+ if (item_type == 2) { ret = ImGui::Checkbox("ITEM: Checkbox", &b); } // Testing checkbox
|
|
|
if (item_type == 3) { ret = ImGui::SliderFloat("ITEM: SliderFloat", &col4f[0], 0.0f, 1.0f); } // Testing basic item
|
|
if (item_type == 3) { ret = ImGui::SliderFloat("ITEM: SliderFloat", &col4f[0], 0.0f, 1.0f); } // Testing basic item
|
|
|
if (item_type == 4) { ret = ImGui::ColorEdit4("ITEM: ColorEdit4", col4f); } // Testing multi-component items (IsItemXXX flags are reported merged)
|
|
if (item_type == 4) { ret = ImGui::ColorEdit4("ITEM: ColorEdit4", col4f); } // Testing multi-component items (IsItemXXX flags are reported merged)
|
|
|
if (item_type == 5) { const char* items[] = { "Apple", "Banana", "Cherry", "Kiwi" }; static int current = 1; ret = ImGui::ListBox("ITEM: ListBox", ¤t, items, IM_ARRAYSIZE(items), IM_ARRAYSIZE(items)); }
|
|
if (item_type == 5) { const char* items[] = { "Apple", "Banana", "Cherry", "Kiwi" }; static int current = 1; ret = ImGui::ListBox("ITEM: ListBox", ¤t, items, IM_ARRAYSIZE(items), IM_ARRAYSIZE(items)); }
|
|
@@ -1442,6 +1442,7 @@ static void ShowDemoWindowWidgets()
|
|
|
"IsItemHovered(_RectOnly) = %d\n"
|
|
"IsItemHovered(_RectOnly) = %d\n"
|
|
|
"IsItemActive() = %d\n"
|
|
"IsItemActive() = %d\n"
|
|
|
"IsItemEdited() = %d\n"
|
|
"IsItemEdited() = %d\n"
|
|
|
|
|
+ "IsItemActivated() = %d\n"
|
|
|
"IsItemDeactivated() = %d\n"
|
|
"IsItemDeactivated() = %d\n"
|
|
|
"IsItemDeactivatedEdit() = %d\n"
|
|
"IsItemDeactivatedEdit() = %d\n"
|
|
|
"IsItemVisible() = %d\n"
|
|
"IsItemVisible() = %d\n"
|
|
@@ -1457,6 +1458,7 @@ static void ShowDemoWindowWidgets()
|
|
|
ImGui::IsItemHovered(ImGuiHoveredFlags_RectOnly),
|
|
ImGui::IsItemHovered(ImGuiHoveredFlags_RectOnly),
|
|
|
ImGui::IsItemActive(),
|
|
ImGui::IsItemActive(),
|
|
|
ImGui::IsItemEdited(),
|
|
ImGui::IsItemEdited(),
|
|
|
|
|
+ ImGui::IsItemActivated(),
|
|
|
ImGui::IsItemDeactivated(),
|
|
ImGui::IsItemDeactivated(),
|
|
|
ImGui::IsItemDeactivatedAfterEdit(),
|
|
ImGui::IsItemDeactivatedAfterEdit(),
|
|
|
ImGui::IsItemVisible(),
|
|
ImGui::IsItemVisible(),
|
|
@@ -2903,7 +2905,8 @@ void ImGui::ShowStyleEditor(ImGuiStyle* ref)
|
|
|
ImGui::InputFloat("Font offset", &font->DisplayOffset.y, 1, 1, "%.0f");
|
|
ImGui::InputFloat("Font offset", &font->DisplayOffset.y, 1, 1, "%.0f");
|
|
|
ImGui::Text("Ascent: %f, Descent: %f, Height: %f", font->Ascent, font->Descent, font->Ascent - font->Descent);
|
|
ImGui::Text("Ascent: %f, Descent: %f, Height: %f", font->Ascent, font->Descent, font->Ascent - font->Descent);
|
|
|
ImGui::Text("Fallback character: '%c' (%d)", font->FallbackChar, font->FallbackChar);
|
|
ImGui::Text("Fallback character: '%c' (%d)", font->FallbackChar, font->FallbackChar);
|
|
|
- ImGui::Text("Texture surface: %d pixels (approx) ~ %dx%d", font->MetricsTotalSurface, (int)sqrtf((float)font->MetricsTotalSurface), (int)sqrtf((float)font->MetricsTotalSurface));
|
|
|
|
|
|
|
+ const float surface_sqrt = sqrtf((float)font->MetricsTotalSurface);
|
|
|
|
|
+ ImGui::Text("Texture surface: %d pixels (approx) ~ %dx%d", font->MetricsTotalSurface, (int)surface_sqrt, (int)surface_sqrt);
|
|
|
for (int config_i = 0; config_i < font->ConfigDataCount; config_i++)
|
|
for (int config_i = 0; config_i < font->ConfigDataCount; config_i++)
|
|
|
if (ImFontConfig* cfg = &font->ConfigData[config_i])
|
|
if (ImFontConfig* cfg = &font->ConfigData[config_i])
|
|
|
ImGui::BulletText("Input %d: \'%s\', Oversample: (%d,%d), PixelSnapH: %d", config_i, cfg->Name, cfg->OversampleH, cfg->OversampleV, cfg->PixelSnapH);
|
|
ImGui::BulletText("Input %d: \'%s\', Oversample: (%d,%d), PixelSnapH: %d", config_i, cfg->Name, cfg->OversampleH, cfg->OversampleV, cfg->PixelSnapH);
|
|
@@ -3795,10 +3798,12 @@ static void ShowExampleAppSimpleOverlay(bool* p_open)
|
|
|
const float DISTANCE = 10.0f;
|
|
const float DISTANCE = 10.0f;
|
|
|
static int corner = 0;
|
|
static int corner = 0;
|
|
|
ImGuiIO& io = ImGui::GetIO();
|
|
ImGuiIO& io = ImGui::GetIO();
|
|
|
- ImVec2 window_pos = ImVec2((corner & 1) ? io.DisplaySize.x - DISTANCE : DISTANCE, (corner & 2) ? io.DisplaySize.y - DISTANCE : DISTANCE);
|
|
|
|
|
- ImVec2 window_pos_pivot = ImVec2((corner & 1) ? 1.0f : 0.0f, (corner & 2) ? 1.0f : 0.0f);
|
|
|
|
|
if (corner != -1)
|
|
if (corner != -1)
|
|
|
|
|
+ {
|
|
|
|
|
+ ImVec2 window_pos = ImVec2((corner & 1) ? io.DisplaySize.x - DISTANCE : DISTANCE, (corner & 2) ? io.DisplaySize.y - DISTANCE : DISTANCE);
|
|
|
|
|
+ ImVec2 window_pos_pivot = ImVec2((corner & 1) ? 1.0f : 0.0f, (corner & 2) ? 1.0f : 0.0f);
|
|
|
ImGui::SetNextWindowPos(window_pos, ImGuiCond_Always, window_pos_pivot);
|
|
ImGui::SetNextWindowPos(window_pos, ImGuiCond_Always, window_pos_pivot);
|
|
|
|
|
+ }
|
|
|
ImGui::SetNextWindowBgAlpha(0.3f); // Transparent background
|
|
ImGui::SetNextWindowBgAlpha(0.3f); // Transparent background
|
|
|
if (ImGui::Begin("Example: Simple overlay", p_open, (corner != -1 ? ImGuiWindowFlags_NoMove : 0) | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav))
|
|
if (ImGui::Begin("Example: Simple overlay", p_open, (corner != -1 ? ImGuiWindowFlags_NoMove : 0) | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav))
|
|
|
{
|
|
{
|
|
@@ -3891,7 +3896,7 @@ static void ShowExampleAppCustomRendering(bool* p_open)
|
|
|
float th = (n == 0) ? 1.0f : thickness;
|
|
float th = (n == 0) ? 1.0f : thickness;
|
|
|
draw_list->AddCircle(ImVec2(x+sz*0.5f, y+sz*0.5f), sz*0.5f, col32, 6, th); x += sz+spacing; // Hexagon
|
|
draw_list->AddCircle(ImVec2(x+sz*0.5f, y+sz*0.5f), sz*0.5f, col32, 6, th); x += sz+spacing; // Hexagon
|
|
|
draw_list->AddCircle(ImVec2(x+sz*0.5f, y+sz*0.5f), sz*0.5f, col32, 20, th); x += sz+spacing; // Circle
|
|
draw_list->AddCircle(ImVec2(x+sz*0.5f, y+sz*0.5f), sz*0.5f, col32, 20, th); x += sz+spacing; // Circle
|
|
|
- draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 0.0f, ImDrawCornerFlags_All, th); x += sz+spacing;
|
|
|
|
|
|
|
+ draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 0.0f, ImDrawCornerFlags_All, th); x += sz+spacing;
|
|
|
draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 10.0f, ImDrawCornerFlags_All, th); x += sz+spacing;
|
|
draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 10.0f, ImDrawCornerFlags_All, th); x += sz+spacing;
|
|
|
draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 10.0f, ImDrawCornerFlags_TopLeft|ImDrawCornerFlags_BotRight, th); x += sz+spacing;
|
|
draw_list->AddRect(ImVec2(x, y), ImVec2(x+sz, y+sz), col32, 10.0f, ImDrawCornerFlags_TopLeft|ImDrawCornerFlags_BotRight, th); x += sz+spacing;
|
|
|
draw_list->AddTriangle(ImVec2(x+sz*0.5f, y), ImVec2(x+sz,y+sz-0.5f), ImVec2(x,y+sz-0.5f), col32, th); x += sz+spacing;
|
|
draw_list->AddTriangle(ImVec2(x+sz*0.5f, y), ImVec2(x+sz,y+sz-0.5f), ImVec2(x,y+sz-0.5f), col32, th); x += sz+spacing;
|