Example #1
0
void ofxUISuperCanvas::onMousePressed(ofMouseEventArgs& data)
{
    if(rect->inside(data.x, data.y) && didHitHeaderWidgets(data.x, data.y))
    {
        bTitleLabelHit = true;
        hitPoint.set(data.x - rect->getX(), data.y - rect->getY());
        
        if((ofGetElapsedTimef() - lastHitTime) < deltaTime)
        {
            if(isMinified())
            {
                setMinified(false);
                if(getTriggerType() & OFX_UI_TRIGGER_BEGIN)
                {
                    triggerEvent(this);
                }
            }
            else
            {
                setMinified(true);
                if(getTriggerType() & OFX_UI_TRIGGER_END)
                {
                    triggerEvent(this);
                }
            }
            return;
        }
        lastHitTime = ofGetElapsedTimef();
    }
    mousePressed(data.x, data.y, data.button);
}
Example #2
0
void ofxUISuperCanvas::keyReleased(int key)
{
    if(getIsBindedToKey(key) && bKeyHit)
    {
        bKeyHit = false;
        if((ofGetElapsedTimef() - lastHitTime) < deltaTime)
        {
            setMinified(false);
            lastPosition = ofxUIVec2f(ofGetMouseX(), ofGetMouseY());
            if(getTriggerType() & OFX_UI_TRIGGER_BEGIN)
            {
                triggerEvent(this);
            }
        }
        else
        {
            setMinified(true);
            rect->setX(lastPosition.x);
            rect->setY(lastPosition.y);
            if(getTriggerType() & OFX_UI_TRIGGER_END)
            {
                triggerEvent(this);
            }
        }
        lastHitTime = ofGetElapsedTimef();
    }
    ofxUICanvas::keyReleased(key);
}
Example #3
0
void ofxUISuperCanvas::loadSettings(string fileName)
{
    ofxXmlSettings *XML = new ofxXmlSettings();
    XML->loadFile(fileName);
    int widgetTags = XML->getNumTags("Widget");
    for(int i = 0; i < widgetTags; i++)
    {
        XML->pushTag("Widget", i);
        string name = XML->getValue("Name", "NULL", 0);
        ofxUIWidget *widget = getWidget(name);
        if(widget != NULL && widget->hasState())
        {
            widget->loadState(XML);
            if(bTriggerWidgetsUponLoad)
            {
                triggerEvent(widget);
            }
        }
        XML->popTag();
    }
    XML->pushTag("Canvas", 0);
    int value = XML->getValue("IsMinified", (bIsMinified ? 1 : 0), 0);
    setMinified((value ? 1 : 0));
    rect->setX(XML->getValue("XPosition", rect->getX(), 0));
    rect->setY(XML->getValue("YPosition", rect->getY(), 0));
    XML->popTag();
    hasKeyBoard = false;
    delete XML;
}
Example #4
0
void ofxUISuperCanvas::touchDoubleTap(float x, float y, int id)
{
    if(rect->inside(x, y) && didHitHeaderWidgets(x, y))
    {
        if(isMinified())
        {
            setMinified(false);
            if(getTriggerType() & OFX_UI_TRIGGER_BEGIN)
            {
                triggerEvent(this);
            }
        }
        else
        {
            setMinified(true);
            if(getTriggerType() & OFX_UI_TRIGGER_END)
            {
                triggerEvent(this);
            }
        }
        return;
    }
    canvasTouchDoubleTap(x, y, id);
}
Example #5
0
void ofxUISuperCanvas::keyPressed(int key)
{
    if(getIsBindedToKey(key) && !bKeyHit)
    {
        bKeyHit = true;
        lastPosition = ofxUIVec2f(rect->getX(), rect->getY());
        setMinified(false);
        rect->setX(ofGetMouseX());
        rect->setY(ofGetMouseY()); 
        if(getTriggerType() & OFX_UI_TRIGGER_BEGIN)
        {
            triggerEvent(this);
        }
    }

    ofxUICanvas::keyPressed(key);
}
Example #6
0
void ofxUISuperCanvas::toggleMinified()
{
    setMinified(!bIsMinified);
}