mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-19 14:19:57 +01:00
Mouse over icons on source (on Symbol and Characters)
Rename class Glyph in Decoration to Character ('Glyph' was used in system X typedef). Added MouseOver in Mixing and Layers view to show highlight color on icons of Symbol and Initials of source. Show left panel on clic on source Initials.
This commit is contained in:
@@ -448,6 +448,10 @@ std::pair<Node *, glm::vec2> MixingView::pick(glm::vec2 P)
|
||||
else if ( pick.first == s->symbol_ ) {
|
||||
UserInterface::manager().showSourceEditor(s);
|
||||
}
|
||||
// pick the initials: ask to show left panel
|
||||
else if ( pick.first == s->initial_0_ || pick.first == s->initial_1_ ) {
|
||||
UserInterface::manager().showSourcePanel(s);
|
||||
}
|
||||
// pick on the mixing group rotation icon
|
||||
else if ( pick.first == s->rotation_mixingroup_ ) {
|
||||
if (UserInterface::manager().shiftModifier())
|
||||
@@ -612,7 +616,10 @@ View::Cursor MixingView::over (glm::vec2 pos)
|
||||
View::Cursor ret = Cursor();
|
||||
std::pair<Node *, glm::vec2> pick = View::pick(pos);
|
||||
|
||||
//
|
||||
// deal with internal interactive objects
|
||||
//
|
||||
// mouse over opacity slider
|
||||
if ( pick.first == slider_ ) {
|
||||
slider_->color = glm::vec4( COLOR_CIRCLE_OVER, 0.9f );
|
||||
slider_arrows_->visible_ = true;
|
||||
@@ -623,6 +630,7 @@ View::Cursor MixingView::over (glm::vec2 pos)
|
||||
slider_->color = glm::vec4( COLOR_CIRCLE, 0.9f );
|
||||
}
|
||||
|
||||
// mouse over limbo scale
|
||||
if ( pick.first == limbo_slider_ ) {
|
||||
limbo_up_->shader()->color = glm::vec4( COLOR_CIRCLE_ARROW, limbo_slider_root_->translation_.y < MIXING_MAX_THRESHOLD ? 0.1f : 0.01f );
|
||||
limbo_down_->shader()->color = glm::vec4( COLOR_CIRCLE_ARROW, limbo_slider_root_->translation_.y > MIXING_MIN_THRESHOLD ? 0.1f : 0.01f );
|
||||
@@ -633,6 +641,7 @@ View::Cursor MixingView::over (glm::vec2 pos)
|
||||
limbo_down_->shader()->color = glm::vec4( COLOR_CIRCLE_ARROW, 0.01f );
|
||||
}
|
||||
|
||||
// mouse over white and black buttons
|
||||
if ( pick.first == button_white_ )
|
||||
button_white_->color = glm::vec4( COLOR_CIRCLE_OVER, 1.f );
|
||||
else
|
||||
@@ -643,6 +652,28 @@ View::Cursor MixingView::over (glm::vec2 pos)
|
||||
else
|
||||
button_black_->color = glm::vec4( COLOR_CIRCLE, 1.f );
|
||||
|
||||
//
|
||||
// mouse over source
|
||||
//
|
||||
// Source *s = Mixer::manager().findSource(pick.first);
|
||||
Source *s = Mixer::manager().currentSource();
|
||||
if (s != nullptr) {
|
||||
|
||||
s->symbol_->color = glm::vec4( COLOR_HIGHLIGHT_SOURCE, 1.f );
|
||||
s->initial_0_->color = glm::vec4( COLOR_HIGHLIGHT_SOURCE, 1.f );
|
||||
s->initial_1_->color = glm::vec4( COLOR_HIGHLIGHT_SOURCE, 1.f );
|
||||
const ImVec4 h = ImGuiToolkit::HighlightColor();
|
||||
|
||||
// overlay symbol
|
||||
if ( pick.first == s->symbol_ )
|
||||
s->symbol_->color = glm::vec4( h.x, h.y, h.z, 1.f );
|
||||
// overlay initials
|
||||
if ( pick.first == s->initial_0_ || pick.first == s->initial_1_ ) {
|
||||
s->initial_0_->color = glm::vec4( h.x, h.y, h.z, 1.f );
|
||||
s->initial_1_->color = glm::vec4( h.x, h.y, h.z, 1.f );
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user