Example #1
0
void GuiRangeSliderBase::setValueFromSequence(Sequence &sequence)
{
    float diff = sequence.getValueAtCurrentCursor() - sliderValuePrev;
    setValueLow(max(0.0f, sliderLow + diff));
    setValueHigh(min(1.0f, sliderHigh + diff));
    sliderValuePrev = sequence.getValueAtCurrentCursor();
}
Example #2
0
void GuiRangeSliderBase::update()
{
    if (lerpFrame < lerpNumFrames)
    {
        setValueLow(ofLerp(lerpPrevLow, lerpNextLow, (float) lerpFrame / (lerpNumFrames-1)));
        setValueHigh(ofLerp(lerpPrevHigh, lerpNextHigh, (float) lerpFrame / (lerpNumFrames-1)));
        lerpFrame++;
    }
}
Example #3
0
void GuiRangeSliderBase::setValue(float sliderValue)
{
    if (selection == MIDDLE)
    {
        float diff = ofClamp(sliderValue - sliderValuePrev, -sliderLow, 1.0 - sliderHigh);
        setValueLow(sliderLow + diff);
        setValueHigh(sliderHigh + diff);
        sliderValuePrev = sliderValue;
    }
    else
    {
        if (sliderLow > sliderHigh)
        {
            swap(sliderLow, sliderHigh);
            selection = selection == LOW ? HIGH : LOW;
        }
        selection == LOW ? setValueLow(sliderValue) : setValueHigh(sliderValue);
    }
}
Example #4
0
void ofxUIRangeSlider::keyPressed(int key)
{
    if(state == OFX_UI_STATE_OVER)
    {
        switch (key)
        {
            case OF_KEY_RIGHT:
                setValueHigh(getScaledValueHigh()+increment);
                setValueLow(getScaledValueLow()+increment);
                triggerEvent(this);
                break;
                
            case OF_KEY_LEFT:
                setValueHigh(getScaledValueHigh()-increment);
                setValueLow(getScaledValueLow()-increment);
                triggerEvent(this);
                break;
                
                
            case OF_KEY_UP:
                setValueHigh(getScaledValueHigh()+increment);
                setValueLow(getScaledValueLow()-increment);
                triggerEvent(this);
                break;
                
                
            case OF_KEY_DOWN:
                setValueHigh(getScaledValueHigh()-increment);
                setValueLow(getScaledValueLow()+increment);
                triggerEvent(this);
                break;
                
            default:
                break;
        }
    }
}
Example #5
0
void GuiRangeSliderBase::lerpTo(float nextLow, float nextHigh, int numFrames)
{
    if (numFrames > 1)
    {
        this->lerpNextLow = nextLow;
        this->lerpNextHigh = nextHigh;
        this->lerpPrevLow = sliderLow;
        this->lerpPrevHigh = sliderHigh;
        this->lerpNumFrames = numFrames;
        this->lerpFrame = 0;
    }
    else {
        setValueLow(nextLow);
        setValueHigh(nextHigh);
    }
}
Example #6
0
void ofxUIRangeSlider::loadState(ofxXmlSettings *XML)
{
    setValueHigh(XML->getValue("HighValue", getValueHigh(), 0));
    setValueLow(XML->getValue("LowValue", getValueLow(), 0));
}
Example #7
0
void GuiRangeSliderBase::setFromXml(ofXml &xml)
{
    setValueLow(xml.getValue<float>("ValueLow"));
    setValueHigh(xml.getValue<float>("ValueHigh"));
}