Ejemplo n.º 1
0
//------------------------------------------------------------------------
bool CSlider::onWheel (const CPoint& where, const float &distance, const CButtonState &buttons)
{
	if (!getMouseEnabled ())
		return false;

	float _distance = distance;
	if (styleIsInverseStyle (style))
		_distance *= -1.f;
	float normValue = getValueNormalized ();
	if (buttons & kZoomModifier)
		normValue += 0.1f * _distance * wheelInc;
	else
		normValue += _distance * wheelInc;

	setValueNormalized (normValue);

	if (isDirty ())
	{
		invalid ();
		
		// begin of edit parameter
		beginEdit ();
	
		valueChanged ();
	
		// end of edit parameter
		endEdit ();
	}

	return true;
}
Ejemplo n.º 2
0
//------------------------------------------------------------------------
bool CScrollbar::onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &_distance, const CButtonState &buttons)
{
	if (!getMouseEnabled ())
		return false;

	if (buttons != 0 && !(buttons & (kShift|kMouseWheelInverted)))
		return false;

	if (direction == kHorizontal && axis == kMouseWheelAxisY)
		return false;

	if (direction == kVertical && axis == kMouseWheelAxisX)
		return false;

	float distance = _distance;
	if (direction == kHorizontal && axis == kMouseWheelAxisY)
		distance *= -1;
	if (buttons & kMouseWheelInverted)
		distance *= -1;

	if (buttons & kShift)
		value -= 0.1f * distance * wheelInc;
	else
		value -= distance * wheelInc;
	bounceValue ();

	if (isDirty ())
	{
		onVisualChange ();
		valueChanged ();
		invalid ();
	}
	return true;
}
Ejemplo n.º 3
0
//------------------------------------------------------------------------
CMouseEventResult CMultiStateButton::onMouseDown(CPoint& where, const CButtonState& buttons)
{
    if (!getMouseEnabled())
        return CMouseEventResult::kMouseEventNotHandled;

    if (!(buttons.isLeftButton()))
        return CMouseEventResult::kMouseEventNotHandled;

    value = (float)(value + 1.0 / (double)(nStates));
    if (value >= 1.0)
        value = 0.0;

    //draw (pContext);
    // doIdleStuff ();
    if (listener)
        listener->valueChanged(this);

    return CMouseEventResult::kMouseEventHandled;
}