void EnvelopeHandleComponent::mouseDown(const MouseEvent& e) { #ifdef MYDEBUG printf("MyEnvelopeHandleComponent::mouseDown (%d, %d)\n", e.x, e.y); #endif setMouseCursor(MouseCursor::NoCursor); if(e.mods.isShiftDown()) { if(!shouldLockTime && !shouldLockValue) { getParentComponent()->setLegendTextToDefault(); removeThisHandle(); } return; // dont send drag msg } else if(e.mods.isCtrlDown()) { if(getParentComponent()->getAllowNodeEditing()) { ignoreDrag = true; if(PopupComponent::getActivePopups() < 1) { EnvelopeNodePopup::create(this, getScreenX()+e.x, getScreenY()+e.y); } } } else { offsetX = e.x; offsetY = e.y; resizeLimits.setMinimumOnscreenAmounts(HANDLESIZE,HANDLESIZE,HANDLESIZE,HANDLESIZE); EnvelopeHandleComponent* previousHandle = getPreviousHandle(); EnvelopeHandleComponent* nextHandle = getNextHandle(); int leftLimit = previousHandle == 0 ? 0 : previousHandle->getX()+2; int rightLimit = nextHandle == 0 ? getParentWidth()-HANDLESIZE : nextHandle->getX()-2; // int leftLimit = previousHandle == 0 ? 0 : previousHandle->getX(); // int rightLimit = nextHandle == 0 ? getParentWidth()-HANDLESIZE : nextHandle->getX(); resizeLimits.setAdjacentHandleLimits(leftLimit, rightLimit); dragger.startDraggingComponent(this, e);//&resizeLimits); } getParentComponent()->sendStartDrag(); }
void CabbageEnvelopeHandleComponent::mouseDown (const MouseEvent& e) { x = getX(); y = getY(); setMouseCursor (MouseCursor::DraggingHandCursor); dragger.startDraggingComponent (this, e); if ((e.mods.isShiftDown() == true) && (e.mods.isRightButtonDown() == true)) removeThisHandle(); PopupMenu pop, subm; pop.setLookAndFeel(&this->getTopLevelComponent()->getLookAndFeel()); subm.setLookAndFeel(&this->getTopLevelComponent()->getLookAndFeel()); if(e.mods.isRightButtonDown() == true) { //pop.addItem(1, "Linear"); //subm.addItem(2, "Convex"); //subm.addItem(3, "Concave"); //pop.addSubMenu("Expon", subm); pop.addItem(4, "Delete"); int result; #if !defined(AndroidBuild) result = pop.show(); #endif if(result==1) getProperties().set(String("curveType"), LINEAR); else if(result==2) getProperties().set(String("curveType"), CONVEX); else if(result==3) getProperties().set(String("curveType"), CONCAVE); else if(result==4) { changeMessage = "removeHandle"; sendChangeMessage(); } } }
void CabbageEnvelopeHandleComponent::mouseDown (const MouseEvent& e) { //setMouseCursor (MouseCursor::NoCursor); setMouseCursor (MouseCursor::DraggingHandCursor); dragger.startDraggingComponent (this, e); if ((e.mods.isShiftDown() == true) && (e.mods.isRightButtonDown() == true)) removeThisHandle(); PopupMenu pop; if(e.mods.isRightButtonDown() == true) { pop.addItem(1, "Linear"); pop.addItem(2, "Expon"); const int result = pop.show(); if(result==1) getProperties().set(String("shape"), var("linear")); else getProperties().set(String("shape"), var("expon")); } }