mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-13 19:29:58 +01:00
Cosmetics: mouse over MixingCircle global opacity slider.
This commit is contained in:
@@ -59,44 +59,47 @@ MixingView::MixingView() : View(MIXING), limbo_scale_(MIXING_LIMBO_SCALE)
|
|||||||
scene.bg()->attach(circle_);
|
scene.bg()->attach(circle_);
|
||||||
|
|
||||||
// Mixing scene foreground
|
// Mixing scene foreground
|
||||||
|
|
||||||
|
// button frame
|
||||||
tmp = new Mesh("mesh/disk.ply");
|
tmp = new Mesh("mesh/disk.ply");
|
||||||
tmp->scale_ = glm::vec3(0.033f, 0.033f, 1.f);
|
tmp->scale_ = glm::vec3(0.033f, 0.033f, 1.f);
|
||||||
tmp->translation_ = glm::vec3(0.f, 1.f, 0.f);
|
tmp->translation_ = glm::vec3(0.f, 1.f, 0.f);
|
||||||
tmp->shader()->color = glm::vec4( COLOR_CIRCLE, 0.9f );
|
tmp->shader()->color = glm::vec4( COLOR_CIRCLE, 0.9f );
|
||||||
scene.fg()->attach(tmp);
|
scene.fg()->attach(tmp);
|
||||||
|
// interactive button
|
||||||
button_white_ = new Disk();
|
button_white_ = new Disk();
|
||||||
button_white_->scale_ = glm::vec3(0.026f, 0.026f, 1.f);
|
button_white_->scale_ = glm::vec3(0.026f, 0.026f, 1.f);
|
||||||
button_white_->translation_ = glm::vec3(0.f, 1.f, 0.f);
|
button_white_->translation_ = glm::vec3(0.f, 1.f, 0.f);
|
||||||
button_white_->color = glm::vec4( 0.85f, 0.85f, 0.85f, 1.0f );
|
button_white_->color = glm::vec4( 0.85f, 0.85f, 0.85f, 1.0f );
|
||||||
scene.fg()->attach(button_white_);
|
scene.fg()->attach(button_white_);
|
||||||
|
// button frame
|
||||||
tmp = new Mesh("mesh/disk.ply");
|
tmp = new Mesh("mesh/disk.ply");
|
||||||
tmp->scale_ = glm::vec3(0.033f, 0.033f, 1.f);
|
tmp->scale_ = glm::vec3(0.033f, 0.033f, 1.f);
|
||||||
tmp->translation_ = glm::vec3(0.f, -1.f, 0.f);
|
tmp->translation_ = glm::vec3(0.f, -1.f, 0.f);
|
||||||
tmp->shader()->color = glm::vec4( COLOR_CIRCLE, 0.9f );
|
tmp->shader()->color = glm::vec4( COLOR_CIRCLE, 0.9f );
|
||||||
scene.fg()->attach(tmp);
|
scene.fg()->attach(tmp);
|
||||||
|
// interactive button
|
||||||
button_black_ = new Disk();
|
button_black_ = new Disk();
|
||||||
button_black_->scale_ = glm::vec3(0.026f, 0.026f, 1.f);
|
button_black_->scale_ = glm::vec3(0.026f, 0.026f, 1.f);
|
||||||
button_black_->translation_ = glm::vec3(0.f, -1.f, 0.f);
|
button_black_->translation_ = glm::vec3(0.f, -1.f, 0.f);
|
||||||
button_black_->color = glm::vec4( 0.1f, 0.1f, 0.1f, 1.0f );
|
button_black_->color = glm::vec4( 0.1f, 0.1f, 0.1f, 1.0f );
|
||||||
scene.fg()->attach(button_black_);
|
scene.fg()->attach(button_black_);
|
||||||
|
// moving slider
|
||||||
slider_root_ = new Group;
|
slider_root_ = new Group;
|
||||||
scene.fg()->attach(slider_root_);
|
scene.fg()->attach(slider_root_);
|
||||||
|
// interactive slider
|
||||||
|
slider_ = new Disk();
|
||||||
|
slider_->scale_ = glm::vec3(0.08f, 0.08f, 1.f);
|
||||||
|
slider_->translation_ = glm::vec3(0.0f, 1.0f, 0.f);
|
||||||
|
slider_->color = glm::vec4( COLOR_CIRCLE, 0.9f );
|
||||||
|
slider_root_->attach(slider_);
|
||||||
|
// dark mask in front
|
||||||
tmp = new Mesh("mesh/disk.ply");
|
tmp = new Mesh("mesh/disk.ply");
|
||||||
tmp->scale_ = glm::vec3(0.08f, 0.08f, 1.f);
|
tmp->scale_ = glm::vec3(0.075f, 0.075f, 1.f);
|
||||||
tmp->translation_ = glm::vec3(0.0f, 1.0f, 0.f);
|
tmp->translation_ = glm::vec3(0.0f, 1.0f, 0.f);
|
||||||
tmp->shader()->color = glm::vec4( 0.8f, 0.8f, 0.8f, 0.9f );
|
tmp->shader()->color = glm::vec4( COLOR_SLIDER_CIRCLE, 1.0f );
|
||||||
slider_root_->attach(tmp);
|
slider_root_->attach(tmp);
|
||||||
|
|
||||||
slider_ = new Disk();
|
|
||||||
slider_->scale_ = glm::vec3(0.075f, 0.075f, 1.f);
|
|
||||||
slider_->translation_ = glm::vec3(0.0f, 1.0f, 0.f);
|
|
||||||
slider_->color = glm::vec4( COLOR_SLIDER_CIRCLE, 1.0f );
|
|
||||||
slider_root_->attach(slider_);
|
|
||||||
|
|
||||||
stashCircle_ = new Disk();
|
stashCircle_ = new Disk();
|
||||||
stashCircle_->scale_ = glm::vec3(0.5f, 0.5f, 1.f);
|
stashCircle_->scale_ = glm::vec3(0.5f, 0.5f, 1.f);
|
||||||
@@ -406,6 +409,7 @@ View::Cursor MixingView::grab (Source *s, glm::vec2 from, glm::vec2 to, std::pai
|
|||||||
slider_root_->rotation_.z = angle;
|
slider_root_->rotation_.z = angle;
|
||||||
|
|
||||||
// cursor feedback
|
// cursor feedback
|
||||||
|
slider_->color = glm::vec4( COLOR_CIRCLE_OVER, 0.9f );
|
||||||
std::ostringstream info;
|
std::ostringstream info;
|
||||||
info << "Global opacity " << 100 - int(Mixer::manager().session()->fading() * 100.0) << " %";
|
info << "Global opacity " << 100 - int(Mixer::manager().session()->fading() * 100.0) << " %";
|
||||||
return Cursor(Cursor_Hand, info.str() );
|
return Cursor(Cursor_Hand, info.str() );
|
||||||
@@ -479,6 +483,23 @@ void MixingView::terminate()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
if ( pick.first == slider_ ) {
|
||||||
|
slider_->color = glm::vec4( COLOR_CIRCLE_OVER, 0.9f );
|
||||||
|
ret.type = Cursor_Hand;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
slider_->color = glm::vec4( COLOR_CIRCLE, 0.9f );
|
||||||
|
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
void MixingView::arrow (glm::vec2 movement)
|
void MixingView::arrow (glm::vec2 movement)
|
||||||
{
|
{
|
||||||
static int accumulator = 0;
|
static int accumulator = 0;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ public:
|
|||||||
std::pair<Node *, glm::vec2> pick(glm::vec2) override;
|
std::pair<Node *, glm::vec2> pick(glm::vec2) override;
|
||||||
Cursor grab (Source *s, glm::vec2 from, glm::vec2 to, std::pair<Node *, glm::vec2>) override;
|
Cursor grab (Source *s, glm::vec2 from, glm::vec2 to, std::pair<Node *, glm::vec2>) override;
|
||||||
void terminate() override;
|
void terminate() override;
|
||||||
|
Cursor over (glm::vec2) override;
|
||||||
void arrow (glm::vec2) override;
|
void arrow (glm::vec2) override;
|
||||||
|
|
||||||
void setAlpha (Source *s);
|
void setAlpha (Source *s);
|
||||||
|
|||||||
@@ -92,6 +92,7 @@
|
|||||||
#define COLOR_FRAME 0.75f, 0.2f, 0.75f
|
#define COLOR_FRAME 0.75f, 0.2f, 0.75f
|
||||||
#define COLOR_FRAME_LIGHT 0.9f, 0.6f, 0.9f
|
#define COLOR_FRAME_LIGHT 0.9f, 0.6f, 0.9f
|
||||||
#define COLOR_CIRCLE 0.75f, 0.2f, 0.75f
|
#define COLOR_CIRCLE 0.75f, 0.2f, 0.75f
|
||||||
|
#define COLOR_CIRCLE_OVER 0.8f, 0.8f, 0.8f
|
||||||
#define COLOR_MIXING_GROUP 0.f, 0.95f, 0.2f
|
#define COLOR_MIXING_GROUP 0.f, 0.95f, 0.2f
|
||||||
#define COLOR_LIMBO_CIRCLE 0.16f, 0.16f, 0.16f
|
#define COLOR_LIMBO_CIRCLE 0.16f, 0.16f, 0.16f
|
||||||
#define COLOR_SLIDER_CIRCLE 0.11f, 0.11f, 0.11f
|
#define COLOR_SLIDER_CIRCLE 0.11f, 0.11f, 0.11f
|
||||||
|
|||||||
Reference in New Issue
Block a user