mirror of
https://github.com/xenia-project/xenia.git
synced 2025-12-06 07:12:03 +01:00
Imgui stuff
This commit is contained in:
parent
833f938a64
commit
10f2b5ebfc
|
|
@ -27,6 +27,11 @@ includedirs({
|
|||
})
|
||||
|
||||
defines({
|
||||
"IMGUI_DISABLE_OBSOLETE_FUNCTIONS",
|
||||
"IMGUI_DISABLE_DEFAULT_FONT",
|
||||
--"IMGUI_USE_WCHAR32",
|
||||
"IMGUI_USE_STB_SPRINTF",
|
||||
--"IMGUI_ENABLE_FREETYPE",
|
||||
"USE_CPP17", -- Tabulate
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -379,7 +379,7 @@ void DebugWindow::DrawSourcePane() {
|
|||
ImGui::EndGroup();
|
||||
|
||||
ImGui::BeginGroup();
|
||||
ImGui::PushButtonRepeat(true);
|
||||
ImGui::PushItemFlag(ImGuiItemFlags_ButtonRepeat, true);
|
||||
bool can_step = !cache_.is_running && state_.thread_info;
|
||||
if (ImGui::ButtonEx("Step PPC", ImVec2(0, 0),
|
||||
can_step ? 0 : ImGuiItemFlags_Disabled)) {
|
||||
|
|
@ -388,7 +388,7 @@ void DebugWindow::DrawSourcePane() {
|
|||
processor_->StepGuestInstruction(state_.thread_info->thread_id);
|
||||
}
|
||||
}
|
||||
ImGui::PopButtonRepeat();
|
||||
ImGui::PopItemFlag();
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip(
|
||||
"Step one PPC instruction on the current thread (hold for many).");
|
||||
|
|
@ -398,7 +398,7 @@ void DebugWindow::DrawSourcePane() {
|
|||
// Only show x64 step button if we have x64 visible.
|
||||
ImGui::Dummy(ImVec2(4, 0));
|
||||
ImGui::SameLine();
|
||||
ImGui::PushButtonRepeat(true);
|
||||
ImGui::PushItemFlag(ImGuiItemFlags_ButtonRepeat, true);
|
||||
if (ImGui::ButtonEx("Step x64", ImVec2(0, 0),
|
||||
can_step ? 0 : ImGuiItemFlags_Disabled)) {
|
||||
// By enabling the button when stepping we allow repeat behavior.
|
||||
|
|
@ -406,7 +406,7 @@ void DebugWindow::DrawSourcePane() {
|
|||
processor_->StepHostInstruction(state_.thread_info->thread_id);
|
||||
}
|
||||
}
|
||||
ImGui::PopButtonRepeat();
|
||||
ImGui::PopItemFlag();
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip(
|
||||
"Step one x64 instruction on the current thread (hold for many).");
|
||||
|
|
|
|||
|
|
@ -234,13 +234,13 @@ void TraceViewer::DrawControllerUI() {
|
|||
ImGui::SetTooltip("Reset to first frame");
|
||||
}
|
||||
ImGui::SameLine();
|
||||
ImGui::PushButtonRepeat(true);
|
||||
ImGui::PushItemFlag(ImGuiItemFlags_ButtonRepeat, true);
|
||||
if (ImGui::Button(">>", ImVec2(0, 0))) {
|
||||
if (target_frame + 1 < player_->frame_count()) {
|
||||
++target_frame;
|
||||
}
|
||||
}
|
||||
ImGui::PopButtonRepeat();
|
||||
ImGui::PopItemFlag();
|
||||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Next frame (hold for continuous)");
|
||||
}
|
||||
|
|
@ -433,7 +433,8 @@ void TraceViewer::DrawPacketDisassemblerUI() {
|
|||
int TraceViewer::RecursiveDrawCommandBufferUI(
|
||||
const TraceReader::Frame* frame, TraceReader::CommandBuffer* buffer) {
|
||||
int selected_id = -1;
|
||||
int column_width = int(ImGui::GetContentRegionMax().x);
|
||||
int column_width =
|
||||
int(ImGui::GetContentRegionAvail().x); // TODO: This might be broken
|
||||
|
||||
for (size_t i = 0; i < buffer->commands.size(); i++) {
|
||||
switch (buffer->commands[i].type) {
|
||||
|
|
@ -512,7 +513,8 @@ void TraceViewer::DrawCommandListUI() {
|
|||
}
|
||||
int command_count = int(frame->commands.size());
|
||||
int target_command = player_->current_command_index();
|
||||
int column_width = int(ImGui::GetContentRegionMax().x);
|
||||
int column_width =
|
||||
int(ImGui::GetContentRegionAvail().x); // TODO: This might be broken
|
||||
ImGui::Text("Frame #%d", player_->current_frame_index());
|
||||
ImGui::Separator();
|
||||
if (ImGui::Button("reset")) {
|
||||
|
|
@ -522,7 +524,7 @@ void TraceViewer::DrawCommandListUI() {
|
|||
ImGui::SetTooltip("Reset to before any frame commands");
|
||||
}
|
||||
ImGui::SameLine();
|
||||
ImGui::PushButtonRepeat(true);
|
||||
ImGui::PushItemFlag(ImGuiItemFlags_ButtonRepeat, true);
|
||||
if (ImGui::Button("prev", ImVec2(0, 0))) {
|
||||
if (target_command >= 0) {
|
||||
--target_command;
|
||||
|
|
@ -540,7 +542,7 @@ void TraceViewer::DrawCommandListUI() {
|
|||
if (ImGui::IsItemHovered()) {
|
||||
ImGui::SetTooltip("Move to the next command (hold)");
|
||||
}
|
||||
ImGui::PopButtonRepeat();
|
||||
ImGui::PopItemFlag();
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("end")) {
|
||||
target_command = command_count - 1;
|
||||
|
|
|
|||
|
|
@ -188,9 +188,9 @@ void ImGuiDrawer::Initialize() {
|
|||
style.Colors[ImGuiCol_ResizeGripActive] = ImVec4(1.00f, 1.00f, 1.00f, 0.90f);
|
||||
style.Colors[ImGuiCol_Tab] = style.Colors[ImGuiCol_Button];
|
||||
style.Colors[ImGuiCol_TabHovered] = style.Colors[ImGuiCol_ButtonHovered];
|
||||
style.Colors[ImGuiCol_TabActive] = style.Colors[ImGuiCol_ButtonActive];
|
||||
style.Colors[ImGuiCol_TabUnfocused] = style.Colors[ImGuiCol_FrameBg];
|
||||
style.Colors[ImGuiCol_TabUnfocusedActive] =
|
||||
style.Colors[ImGuiCol_TabSelected] = style.Colors[ImGuiCol_ButtonActive];
|
||||
style.Colors[ImGuiCol_TabDimmed] = style.Colors[ImGuiCol_FrameBg];
|
||||
style.Colors[ImGuiCol_TabDimmedSelected] =
|
||||
style.Colors[ImGuiCol_FrameBgHovered];
|
||||
style.Colors[ImGuiCol_PlotLines] = ImVec4(1.00f, 1.00f, 1.00f, 1.00f);
|
||||
style.Colors[ImGuiCol_PlotLinesHovered] = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
|
||||
|
|
@ -739,7 +739,6 @@ void ImGuiDrawer::ClearInput() {
|
|||
io.MousePos = ImVec2(-FLT_MAX, -FLT_MAX);
|
||||
std::memset(io.MouseDown, 0, sizeof(io.MouseDown));
|
||||
io.ClearInputKeys();
|
||||
io.ClearInputCharacters();
|
||||
touch_pointer_id_ = TouchEvent::kPointerIDNone;
|
||||
reset_mouse_position_after_next_frame_ = false;
|
||||
}
|
||||
|
|
|
|||
4
third_party/imgui.lua
vendored
4
third_party/imgui.lua
vendored
|
|
@ -5,6 +5,9 @@ project("imgui")
|
|||
language("C++")
|
||||
includedirs({
|
||||
"imgui",
|
||||
--"imgui/misc/freetype",
|
||||
--"freetype/include",
|
||||
"stb",
|
||||
})
|
||||
files({
|
||||
"imgui/imgui.cpp",
|
||||
|
|
@ -12,4 +15,5 @@ project("imgui")
|
|||
"imgui/imgui_draw.cpp",
|
||||
"imgui/imgui_tables.cpp",
|
||||
"imgui/imgui_widgets.cpp",
|
||||
--"imgui/misc/freetype/imgui_freetype.cpp",
|
||||
})
|
||||
|
|
|
|||
1906
third_party/stb/stb_sprintf.h
vendored
Normal file
1906
third_party/stb/stb_sprintf.h
vendored
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue