예제 #1
0
void MultipleProcess::mouseCallback(int event, int x, int y, int flags, void *ptr)
{
    ProcessListenerWrapper *w   = (ProcessListenerWrapper*)ptr;
    MouseListener   *listener   = w->processListener;
    MultipleProcess *processor  = w->processor;

    processor->setActiveWindow(w->identifier);

    if (listener)
    {
        listener->mouseInput(event, x, y, flags);

        if (event == EVENT_LBUTTONDOWN)
        {
            listener->leftButtonDown(x, y, flags);
        }
        else if (event == EVENT_RBUTTONDOWN)
        {
            listener->rightButtonDown(x, y, flags);
        }
        else if (event == EVENT_MBUTTONDOWN)
        {
            listener->middleButtonDown(x, y, flags);
        }
        else if (event == EVENT_MOUSEMOVE)
        {
            listener->mouseMove(x, y, flags);
        }
    }
}
예제 #2
0
파일: viva.cpp 프로젝트: VIVAlab/vivaVideo
void Processor::mouseCallback(int event, int x, int y, int flags, void *ptr)
{
    MouseListener* listener = (MouseListener*)ptr;
    if (listener)
    {
        listener->mouseInput(event, x, y, flags);
        
        if (event == EVENT_LBUTTONDOWN)
        {
            listener->leftButtonDown(x, y, flags);
        }
        else if (event == EVENT_RBUTTONDOWN)
        {
            listener->rightButtonDown(x, y, flags);
        }
        else if (event == EVENT_MBUTTONDOWN)
        {
            listener->middleButtonDown(x, y, flags);
        }
        else if (event == EVENT_MOUSEMOVE)
        {
            listener->mouseMove(x, y, flags);
        }
    }
}