mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-20 06:39:59 +01:00
Improved UI for Color Picker
This commit is contained in:
@@ -682,6 +682,10 @@ std::tuple<float, float, float> openColorDialog( std::tuple<float, float, float>
|
|||||||
color.alpha = 1.f;
|
color.alpha = 1.f;
|
||||||
gtk_color_chooser_set_rgba( GTK_COLOR_CHOOSER(dialog), &color );
|
gtk_color_chooser_set_rgba( GTK_COLOR_CHOOSER(dialog), &color );
|
||||||
|
|
||||||
|
// no alpha, with editor for picking color
|
||||||
|
gtk_color_chooser_set_use_alpha( GTK_COLOR_CHOOSER(dialog), false);
|
||||||
|
g_object_set( GTK_WINDOW(dialog), "show-editor", TRUE, NULL );
|
||||||
|
|
||||||
// prepare dialog
|
// prepare dialog
|
||||||
gtk_window_set_keep_above( GTK_WINDOW(dialog), TRUE );
|
gtk_window_set_keep_above( GTK_WINDOW(dialog), TRUE );
|
||||||
static int x = 0, y = 0;
|
static int x = 0, y = 0;
|
||||||
|
|||||||
@@ -985,16 +985,16 @@ void ImGuiVisitor::visit (AlphaFilter& f)
|
|||||||
static DialogToolkit::ColorPickerDialog colordialog;
|
static DialogToolkit::ColorPickerDialog colordialog;
|
||||||
|
|
||||||
// read color from filter
|
// read color from filter
|
||||||
ImVec4 color = ImVec4(filter_parameters["Red"], filter_parameters["Green"], filter_parameters["Blue"], 1.f);
|
float color[3] = {filter_parameters["Red"], filter_parameters["Green"], filter_parameters["Blue"]};
|
||||||
|
|
||||||
// show color
|
// show color
|
||||||
ImGui::ColorButton("##colorchromakey", *(ImVec4*)&color );
|
ImGui::ColorEdit3("Chromakey Color", color, ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_NoLabel) ;
|
||||||
|
|
||||||
// offer to pick color
|
// offer to pick color
|
||||||
ImGui::SameLine(0, IMGUI_SAME_LINE);
|
ImGui::SameLine(0, IMGUI_SAME_LINE);
|
||||||
ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN);
|
ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN);
|
||||||
if ( ImGui::Button( ICON_FA_EYE_DROPPER " Pick", ImVec2(IMGUI_RIGHT_ALIGN, 0)) ){
|
if ( ImGui::Button( ICON_FA_EYE_DROPPER " Open selector", ImVec2(IMGUI_RIGHT_ALIGN, 0)) ){
|
||||||
colordialog.setRGB( std::make_tuple(color.x, color.y, color.z) );
|
colordialog.setRGB( std::make_tuple(color[0], color[1], color[2]) );
|
||||||
colordialog.open();
|
colordialog.open();
|
||||||
}
|
}
|
||||||
ImGui::SameLine(0, IMGUI_SAME_LINE);
|
ImGui::SameLine(0, IMGUI_SAME_LINE);
|
||||||
|
|||||||
Reference in New Issue
Block a user