mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-12 02:40:00 +01:00
Cleanup Settings and default windows position and size.
This commit is contained in:
4
Log.cpp
4
Log.cpp
@@ -54,6 +54,10 @@ struct AppLog
|
|||||||
|
|
||||||
void Draw(const char* title, bool* p_open = NULL)
|
void Draw(const char* title, bool* p_open = NULL)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
ImGui::SetNextWindowPos(ImVec2(430, 660), ImGuiCond_FirstUseEver);
|
||||||
|
ImGui::SetNextWindowSize(ImVec2(1150, 220), ImGuiCond_FirstUseEver);
|
||||||
|
ImGui::SetNextWindowSizeConstraints(ImVec2(600, 180), ImVec2(FLT_MAX, FLT_MAX));
|
||||||
if (!ImGui::Begin(title, p_open))
|
if (!ImGui::Begin(title, p_open))
|
||||||
{
|
{
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
|
|||||||
@@ -598,6 +598,11 @@ std::string MediaPlayer::codec() const
|
|||||||
return codec_name_;
|
return codec_name_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string MediaPlayer::uri() const
|
||||||
|
{
|
||||||
|
return uri_;
|
||||||
|
}
|
||||||
|
|
||||||
double MediaPlayer::frameRate() const
|
double MediaPlayer::frameRate() const
|
||||||
{
|
{
|
||||||
return framerate_;
|
return framerate_;
|
||||||
|
|||||||
@@ -206,6 +206,11 @@ public:
|
|||||||
guint height() const;
|
guint height() const;
|
||||||
float aspectRatio() const;
|
float aspectRatio() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get name of the media
|
||||||
|
* */
|
||||||
|
std::string uri() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Accept visitors
|
* Accept visitors
|
||||||
* */
|
* */
|
||||||
|
|||||||
@@ -57,6 +57,7 @@ void Settings::Save()
|
|||||||
applicationNode->SetAttribute("preview", application.preview);
|
applicationNode->SetAttribute("preview", application.preview);
|
||||||
applicationNode->SetAttribute("media_player", application.media_player);
|
applicationNode->SetAttribute("media_player", application.media_player);
|
||||||
applicationNode->SetAttribute("shader_editor", application.shader_editor);
|
applicationNode->SetAttribute("shader_editor", application.shader_editor);
|
||||||
|
applicationNode->SetAttribute("pannel_stick", application.pannel_stick);
|
||||||
applicationNode->SetAttribute("stats", application.stats);
|
applicationNode->SetAttribute("stats", application.stats);
|
||||||
applicationNode->SetAttribute("stats_corner", application.stats_corner);
|
applicationNode->SetAttribute("stats_corner", application.stats_corner);
|
||||||
applicationNode->SetAttribute("logs", application.logs);
|
applicationNode->SetAttribute("logs", application.logs);
|
||||||
@@ -161,6 +162,7 @@ void Settings::Load()
|
|||||||
pElement->QueryBoolAttribute("preview", &application.preview);
|
pElement->QueryBoolAttribute("preview", &application.preview);
|
||||||
pElement->QueryBoolAttribute("media_player", &application.media_player);
|
pElement->QueryBoolAttribute("media_player", &application.media_player);
|
||||||
pElement->QueryBoolAttribute("shader_editor", &application.shader_editor);
|
pElement->QueryBoolAttribute("shader_editor", &application.shader_editor);
|
||||||
|
pElement->QueryBoolAttribute("pannel_stick", &application.pannel_stick);
|
||||||
pElement->QueryBoolAttribute("stats", &application.stats);
|
pElement->QueryBoolAttribute("stats", &application.stats);
|
||||||
pElement->QueryBoolAttribute("logs", &application.logs);
|
pElement->QueryBoolAttribute("logs", &application.logs);
|
||||||
pElement->QueryBoolAttribute("toolbox", &application.toolbox);
|
pElement->QueryBoolAttribute("toolbox", &application.toolbox);
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ struct Application
|
|||||||
bool preview;
|
bool preview;
|
||||||
bool media_player;
|
bool media_player;
|
||||||
bool shader_editor;
|
bool shader_editor;
|
||||||
|
bool pannel_stick;
|
||||||
bool toolbox;
|
bool toolbox;
|
||||||
|
|
||||||
// Settings of Views
|
// Settings of Views
|
||||||
@@ -94,6 +95,7 @@ struct Application
|
|||||||
preview = false;
|
preview = false;
|
||||||
media_player = false;
|
media_player = false;
|
||||||
shader_editor = false;
|
shader_editor = false;
|
||||||
|
pannel_stick = false;
|
||||||
toolbox = false;
|
toolbox = false;
|
||||||
current_view = 1;
|
current_view = 1;
|
||||||
framebuffer_ar = 3;
|
framebuffer_ar = 3;
|
||||||
@@ -102,6 +104,8 @@ struct Application
|
|||||||
std::vector<int> second (4,100);
|
std::vector<int> second (4,100);
|
||||||
windows = std::vector<WindowConfig>(3);
|
windows = std::vector<WindowConfig>(3);
|
||||||
windows[0].name = APP_NAME APP_TITLE;
|
windows[0].name = APP_NAME APP_TITLE;
|
||||||
|
windows[0].w = 1600;
|
||||||
|
windows[0].h = 900;
|
||||||
windows[1].name = APP_NAME " -- Output";
|
windows[1].name = APP_NAME " -- Output";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -297,7 +297,7 @@ void setMouseCursor(View::Cursor c = View::Cursor())
|
|||||||
float d = 0.5f * ImGui::GetFrameHeight() ;
|
float d = 0.5f * ImGui::GetFrameHeight() ;
|
||||||
ImVec2 window_pos = ImVec2( io.MousePos.x - d, io.MousePos.y - d );
|
ImVec2 window_pos = ImVec2( io.MousePos.x - d, io.MousePos.y - d );
|
||||||
ImGui::SetNextWindowPos(window_pos, ImGuiCond_Always);
|
ImGui::SetNextWindowPos(window_pos, ImGuiCond_Always);
|
||||||
ImGui::SetNextWindowBgAlpha(0.45f); // Transparent background
|
ImGui::SetNextWindowBgAlpha(0.75f); // Transparent background
|
||||||
if (ImGui::Begin("MouseInfoContext", NULL, ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav))
|
if (ImGui::Begin("MouseInfoContext", NULL, ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav))
|
||||||
{
|
{
|
||||||
ImGuiToolkit::PushFont(ImGuiToolkit::FONT_MONO);
|
ImGuiToolkit::PushFont(ImGuiToolkit::FONT_MONO);
|
||||||
@@ -319,10 +319,14 @@ void UserInterface::handleMouse()
|
|||||||
|
|
||||||
static std::pair<Node *, glm::vec2> picked = { nullptr, glm::vec2(0.f) };
|
static std::pair<Node *, glm::vec2> picked = { nullptr, glm::vec2(0.f) };
|
||||||
|
|
||||||
|
// steal focus on right button clic
|
||||||
|
if (!ImGui::GetIO().WantCaptureMouse)
|
||||||
|
if (ImGui::IsMouseClicked(ImGuiMouseButton_Right) /*|| ImGui::IsMouseClicked(ImGuiMouseButton_Middle)*/)
|
||||||
|
ImGui::FocusWindow(NULL);
|
||||||
|
|
||||||
// if not on any window
|
// if not on any window
|
||||||
if ( !ImGui::IsAnyWindowHovered() && !ImGui::IsAnyWindowFocused() )
|
if ( !ImGui::IsAnyWindowHovered() && !ImGui::IsAnyWindowFocused() )
|
||||||
{
|
{
|
||||||
ImGui::FocusWindow(0);
|
|
||||||
Source *current = Mixer::manager().currentSource();
|
Source *current = Mixer::manager().currentSource();
|
||||||
|
|
||||||
// if (current)
|
// if (current)
|
||||||
@@ -682,8 +686,8 @@ void UserInterface::RenderPreview()
|
|||||||
if (output)
|
if (output)
|
||||||
{
|
{
|
||||||
float ar = output->aspectRatio();
|
float ar = output->aspectRatio();
|
||||||
ImGui::SetNextWindowPos(ImVec2(850, 450), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowPos(ImVec2(1180, 20), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSize(ImVec2(380, 260), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowSize(ImVec2(400, 260), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(300, 200), ImVec2(FLT_MAX, FLT_MAX), CustomConstraints::AspectRatio, &ar);
|
ImGui::SetNextWindowSizeConstraints(ImVec2(300, 200), ImVec2(FLT_MAX, FLT_MAX), CustomConstraints::AspectRatio, &ar);
|
||||||
ImGui::Begin(ICON_FA_LAPTOP " Preview", &Settings::application.preview, ImGuiWindowFlags_NoScrollbar);
|
ImGui::Begin(ICON_FA_LAPTOP " Preview", &Settings::application.preview, ImGuiWindowFlags_NoScrollbar);
|
||||||
float width = ImGui::GetContentRegionAvail().x;
|
float width = ImGui::GetContentRegionAvail().x;
|
||||||
@@ -716,7 +720,7 @@ void UserInterface::RenderMediaPlayer()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui::SetNextWindowPos(ImVec2(200, 200), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowPos(ImVec2(1180, 400), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSize(ImVec2(400, 400), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowSize(ImVec2(400, 400), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(350, 300), ImVec2(FLT_MAX, FLT_MAX));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(350, 300), ImVec2(FLT_MAX, FLT_MAX));
|
||||||
if ( !ImGui::Begin(IMGUI_TITLE_MEDIAPLAYER, &Settings::application.media_player, ImGuiWindowFlags_NoScrollbar) || !show)
|
if ( !ImGui::Begin(IMGUI_TITLE_MEDIAPLAYER, &Settings::application.media_player, ImGuiWindowFlags_NoScrollbar) || !show)
|
||||||
@@ -738,7 +742,11 @@ void UserInterface::RenderMediaPlayer()
|
|||||||
draw_list->AddRectFilled(tooltip_pos, ImVec2(tooltip_pos.x + width, tooltip_pos.y + 2.f * ImGui::GetTextLineHeightWithSpacing()), IM_COL32(55, 55, 55, 200));
|
draw_list->AddRectFilled(tooltip_pos, ImVec2(tooltip_pos.x + width, tooltip_pos.y + 2.f * ImGui::GetTextLineHeightWithSpacing()), IM_COL32(55, 55, 55, 200));
|
||||||
|
|
||||||
ImGui::SetCursorScreenPos(tooltip_pos);
|
ImGui::SetCursorScreenPos(tooltip_pos);
|
||||||
ImGui::Text(" %s %d x %d\n Framerate %.2f / %.2f", mp->codec().c_str(), mp->width(), mp->height(), mp->updateFrameRate() , mp->frameRate() );
|
ImGui::Text(" %s (%s)", SystemToolkit::base_filename(mp->uri()).c_str(), mp->codec().c_str());
|
||||||
|
if ( mp->frameRate() > 0.f )
|
||||||
|
ImGui::Text(" %d x %d px, %.2f / %.2f fps", mp->width(), mp->height(), mp->updateFrameRate() , mp->frameRate() );
|
||||||
|
else
|
||||||
|
ImGui::Text(" %d x %d px", mp->width(), mp->height());
|
||||||
|
|
||||||
}
|
}
|
||||||
ImGui::SetCursorScreenPos(draw_pos);
|
ImGui::SetCursorScreenPos(draw_pos);
|
||||||
@@ -1096,7 +1104,7 @@ void Navigator::Render()
|
|||||||
ImGui::PopStyleVar();
|
ImGui::PopStyleVar();
|
||||||
ImGui::PopFont();
|
ImGui::PopFont();
|
||||||
|
|
||||||
if (pannel_stick_ || pannel_visible_){
|
if ( Settings::application.pannel_stick || pannel_visible_){
|
||||||
// pannel menu
|
// pannel menu
|
||||||
if (selected_button[NAV_MENU])
|
if (selected_button[NAV_MENU])
|
||||||
{
|
{
|
||||||
@@ -1136,7 +1144,13 @@ void Navigator::RenderSourcePannel(Source *s)
|
|||||||
ImGui::PopFont();
|
ImGui::PopFont();
|
||||||
|
|
||||||
ImGui::SetCursorPos(ImVec2(pannel_width_ - 35.f, 10.f));
|
ImGui::SetCursorPos(ImVec2(pannel_width_ - 35.f, 10.f));
|
||||||
ImGuiToolkit::IconToggle(13,11,11,11, &pannel_stick_);
|
ImGuiToolkit::IconToggle(13,11,11,11, &Settings::application.pannel_stick);
|
||||||
|
if (ImGui::IsItemHovered())
|
||||||
|
{
|
||||||
|
ImGui::BeginTooltip();
|
||||||
|
ImGui::Text("%s-clic on source to show pannel", Settings::application.pannel_stick?"Single":"Double");
|
||||||
|
ImGui::EndTooltip();
|
||||||
|
}
|
||||||
|
|
||||||
static char buf5[128];
|
static char buf5[128];
|
||||||
sprintf ( buf5, "%s", s->name().c_str() );
|
sprintf ( buf5, "%s", s->name().c_str() );
|
||||||
@@ -1364,8 +1378,10 @@ void Navigator::RenderMainPannel()
|
|||||||
ImGui::Text("Windows");
|
ImGui::Text("Windows");
|
||||||
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_PREVIEW, &Settings::application.preview, CTRL_MOD "P");
|
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_PREVIEW, &Settings::application.preview, CTRL_MOD "P");
|
||||||
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_MEDIAPLAYER, &Settings::application.media_player, CTRL_MOD "M");
|
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_MEDIAPLAYER, &Settings::application.media_player, CTRL_MOD "M");
|
||||||
|
#ifndef NDEBUG
|
||||||
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_SHADEREDITOR, &Settings::application.shader_editor);
|
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_SHADEREDITOR, &Settings::application.shader_editor);
|
||||||
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_TOOLBOX, &Settings::application.toolbox, CTRL_MOD "T");
|
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_TOOLBOX, &Settings::application.toolbox, CTRL_MOD "T");
|
||||||
|
#endif
|
||||||
ImGuiToolkit::ButtonSwitch( ICON_FA_LIST " Logs", &Settings::application.logs, CTRL_MOD "L");
|
ImGuiToolkit::ButtonSwitch( ICON_FA_LIST " Logs", &Settings::application.logs, CTRL_MOD "L");
|
||||||
ImGuiToolkit::ButtonSwitch( ICON_FA_TACHOMETER_ALT " Metrics", &Settings::application.stats);
|
ImGuiToolkit::ButtonSwitch( ICON_FA_TACHOMETER_ALT " Metrics", &Settings::application.stats);
|
||||||
|
|
||||||
@@ -1409,8 +1425,8 @@ void Navigator::RenderMainPannel()
|
|||||||
|
|
||||||
void ShowAbout(bool* p_open)
|
void ShowAbout(bool* p_open)
|
||||||
{
|
{
|
||||||
ImGui::SetNextWindowPos(ImVec2(300, 300), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowPos(ImVec2(1000, 20), ImGuiCond_FirstUseEver);
|
||||||
if (!ImGui::Begin(APP_TITLE, p_open, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_AlwaysAutoResize))
|
if (!ImGui::Begin("About " APP_TITLE, p_open, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_AlwaysAutoResize))
|
||||||
{
|
{
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
return;
|
return;
|
||||||
@@ -1429,7 +1445,7 @@ void ShowAbout(bool* p_open)
|
|||||||
|
|
||||||
void ShowAboutOpengl(bool* p_open)
|
void ShowAboutOpengl(bool* p_open)
|
||||||
{
|
{
|
||||||
ImGui::SetNextWindowPos(ImVec2(300, 300), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowPos(ImVec2(430, 640), ImGuiCond_FirstUseEver);
|
||||||
if (!ImGui::Begin("About OpenGL", p_open, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_AlwaysAutoResize))
|
if (!ImGui::Begin("About OpenGL", p_open, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_AlwaysAutoResize))
|
||||||
{
|
{
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
@@ -1498,7 +1514,7 @@ void ShowAboutOpengl(bool* p_open)
|
|||||||
void ShowAboutGStreamer(bool* p_open)
|
void ShowAboutGStreamer(bool* p_open)
|
||||||
{
|
{
|
||||||
|
|
||||||
ImGui::SetNextWindowPos(ImVec2(300, 300), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowPos(ImVec2(430, 20), ImGuiCond_FirstUseEver);
|
||||||
if (!ImGui::Begin("About Gstreamer", p_open, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_AlwaysAutoResize))
|
if (!ImGui::Begin("About Gstreamer", p_open, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_AlwaysAutoResize))
|
||||||
{
|
{
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ class Navigator
|
|||||||
|
|
||||||
// behavior pannel
|
// behavior pannel
|
||||||
bool pannel_visible_;
|
bool pannel_visible_;
|
||||||
bool pannel_stick_;
|
|
||||||
bool selected_button[NAV_COUNT];
|
bool selected_button[NAV_COUNT];
|
||||||
void clearButtonSelection();
|
void clearButtonSelection();
|
||||||
void applyButtonSelection(int index);
|
void applyButtonSelection(int index);
|
||||||
|
|||||||
Reference in New Issue
Block a user