Beispiel #1
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QCloseEvent *ev)
{
    KJS::JSObject *cev = convertEvent(exec, (QEvent *)ev);

    cev->put(exec, "isAccepted", KJS::jsBoolean(ev->isAccepted()));
    return cev;
}
Beispiel #2
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QMoveEvent *ev)
{
    KJS::JSObject *mev = convertEvent(exec, (QEvent *)ev);

    mev->put(exec, "pos", convertToValue(exec, ev->pos()));
    mev->put(exec, "oldPos", convertToValue(exec, ev->oldPos()));
    return mev;
}
Beispiel #3
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QPaintEvent *ev)
{
    KJS::JSObject *pev = convertEvent(exec, (QEvent *)ev);

    pev->put(exec, "rect", convertToValue(exec, ev->rect()));
//         pev->put( exec, "region", convertToValue( exec, ev->region() ) );
    return pev;
}
Beispiel #4
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QResizeEvent *ev)
{
    KJS::JSObject *rev = convertEvent(exec, (QEvent *)ev);

    rev->put(exec, "size", convertToValue(exec, ev->size()));
    rev->put(exec, "oldSize", convertToValue(exec, ev->oldSize()));
    return rev;
}
Beispiel #5
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QFocusEvent *ev)
{
    KJS::JSObject *dev = convertEvent(exec, (QEvent *)ev);
    dev->put(exec, "gotFocus", KJS::jsBoolean(ev->gotFocus()));
    dev->put(exec, "lostFocus", KJS::jsBoolean(ev->lostFocus()));
    //Gold star trolltech!
    dev->put(exec, "reason", KJS::jsNumber((int) const_cast<QFocusEvent *>(ev)->reason()));
    return dev;
}
Beispiel #6
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QInputMethodEvent *ev)
{
    KJS::JSObject *qev = convertEvent(exec, (QEvent *)ev);

    qev->put(exec, "commitString", KJS::jsString(ev->commitString()));
    qev->put(exec, "preeditString", KJS::jsString(ev->preeditString()));
    qev->put(exec, "replacementLength", KJS::jsNumber(ev->replacementLength()));
    qev->put(exec, "replacementStart", KJS::jsNumber(ev->replacementStart()));
    return qev;
}
Beispiel #7
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QKeyEvent *ev)
{
    KJS::JSObject *kev = convertEvent(exec, (QInputEvent *)ev);

    kev->put(exec, "key", KJS::jsNumber(ev->key()));
    kev->put(exec, "text", KJS::jsString(ev->text()));
    kev->put(exec, "isAutoRepeat", KJS::jsBoolean(ev->isAutoRepeat()));
    kev->put(exec, "count", KJS::jsNumber(ev->count()));
    return kev;
}
Beispiel #8
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QDropEvent *ev)
{
    KJS::JSObject *dev = convertEvent(exec, (QEvent *)ev);
    dev->put(exec, "pos", convertToValue(exec, ev->pos()));
    dev->put(exec, "source", new QObjectBinding(exec, (QObject *)ev->source()));
    dev->put(exec, "dropAction", KJS::jsNumber((int)(ev->dropAction())));
    dev->put(exec, "keyboardModifiers", KJS::jsNumber((int)(ev->keyboardModifiers())));
    dev->put(exec, "possibleActions", KJS::jsNumber((int)(ev->possibleActions())));
    dev->put(exec, "proposedAction", KJS::jsNumber((int)(ev->proposedAction())));
    return dev;
}
Beispiel #9
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QContextMenuEvent *ev)
{
    KJS::JSObject *cxev = convertEvent(exec, (QInputEvent *)ev);
    cxev->put(exec, "x", KJS::jsNumber(ev->x()));
    cxev->put(exec, "y", KJS::jsNumber(ev->y()));
    cxev->put(exec, "globalX", KJS::jsNumber(ev->globalX()));
    cxev->put(exec, "globalY", KJS::jsNumber(ev->globalY()));
    cxev->put(exec, "pos", convertToValue(exec, ev->pos()));
    cxev->put(exec, "globalPos", convertToValue(exec, ev->globalPos()));
    cxev->put(exec, "reason", KJS::jsNumber((int)ev->reason()));
    return cxev;
}
Beispiel #10
0
DBool sfWindow_pollEvent(sfWindow* window, DEvent* event)
{

    // Get the event
    sf::Event SFMLEvent;
    bool ret = window->This.pollEvent(SFMLEvent);

    // No event, return
    if (!ret)
        return DFalse;

    // Convert the sf::Event event to a DSFML Event
    convertEvent(SFMLEvent, event);

    return DTrue;
}
Beispiel #11
0
DBool sfWindow_waitEvent(sfWindow* window, DEvent* event)
{

    // Get the event
    sf::Event SFMLEvent;
    bool ret = window->This.waitEvent(SFMLEvent);

    // Error, return
    if (!ret)
        return DFalse;

    // Convert the sf::Event event to a sfEvent
    convertEvent(SFMLEvent, event);

    return DTrue;
}
Beispiel #12
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QWheelEvent *ev)
{
    KJS::JSObject *wev = convertEvent(exec, (QInputEvent *)ev);

    wev->put(exec, "delta", KJS::jsNumber(ev->delta()));
    wev->put(exec, "pos", convertToValue(exec, ev->pos()));
    wev->put(exec, "globalPos", convertToValue(exec, ev->globalPos()));
    wev->put(exec, "x", KJS::jsNumber(ev->x()));
    wev->put(exec, "y", KJS::jsNumber(ev->y()));
    wev->put(exec, "globalX", KJS::jsNumber(ev->globalX()));
    wev->put(exec, "globalY", KJS::jsNumber(ev->globalY()));
    wev->put(exec, "orientation", KJS::jsNumber(ev->orientation()));
    wev->put(exec, "buttons", KJS::jsNumber(ev->buttons()));

    return wev;
}
Beispiel #13
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QMouseEvent *ev)
{
    KJS::JSObject *mev = convertEvent(exec, (QInputEvent *)ev);

    mev->put(exec, "pos", convertToValue(exec, ev->pos()));
    mev->put(exec, "x", KJS::jsNumber(ev->x()));
    mev->put(exec, "y", KJS::jsNumber(ev->y()));

    mev->put(exec, "globalPos", convertToValue(exec, ev->globalPos()));
    mev->put(exec, "globalX", KJS::jsNumber(ev->globalX()));
    mev->put(exec, "globalY", KJS::jsNumber(ev->globalY()));

    mev->put(exec, "button", KJS::jsNumber(ev->button()));
    mev->put(exec, "buttons", KJS::jsNumber(ev->buttons()));

    return mev;
}
Beispiel #14
0
sfBool sfRenderWindow_waitEvent(sfRenderWindow* renderWindow, sfEvent* event)
{
    CSFML_CHECK_RETURN(renderWindow, sfFalse);
    CSFML_CHECK_RETURN(event,        sfFalse);

    // Get the event
    sf::Event SFMLEvent;
    sfBool ret = renderWindow->This.waitEvent(SFMLEvent);

    // Error, return
    if (!ret)
        return sfFalse;

    // Convert the sf::Event event to a sfEvent
    convertEvent(SFMLEvent, event);

    return sfTrue;
}
Beispiel #15
0
/***********************************************************
update display - returns true if need to terminate
***********************************************************/
bool OsgHandler::Update()
{
    SDL_Event evt;
    while ( SDL_PollEvent(&evt) )
    {
		if(evt.type == SDL_QUIT)
			return true;

        // pass the SDL event into the viewers event queue
		if(!_evH->Handle(evt))
			convertEvent(evt, *(_gw->getEventQueue()));

    }


    // draw the new frame
    _viewer->frame();


	//draw the GUI
	_GuiH->Redraw();


    // Swap Buffers
    SDL_GL_SwapBuffers();

	return false;

   


	//if(!_viewer->done())
	//{
	//	_viewer->frame();
	//	return false;
	//}

	//return true;
}
Beispiel #16
0
void TEditor::handleEvent( TEvent& event )
{
    TView::handleEvent( event );
    convertEvent( event );
    Boolean centerCursor = Boolean(!cursorVisible());
    uchar selectMode = 0;

    if( selecting == True || (getShiftState() & 0x03) != 0 )
        selectMode = smExtend;

    switch( event.what )
        {

        case evMouseDown:
            if( event.mouse.doubleClick == True )
                selectMode |= smDouble;

            do  {
                lock();
                if( event.what == evMouseAuto )
                    {
                    TPoint mouse = makeLocal( event.mouse.where );
                    TPoint d = delta;
                    if( mouse.x < 0 )
                        d.x--;
                    if( mouse.x >= size.x )
                        d.x++;
                    if( mouse.y < 0 )
                        d.y--;
                    if( mouse.y >= size.y )
                        d.y++;
                    scrollTo(d.x, d.y);
                    }
                setCurPtr(getMousePtr(event.mouse.where), selectMode);
                selectMode |= smExtend;
                unlock();
                } while( mouseEvent(event, evMouseMove + evMouseAuto) );
            break;

        case evKeyDown:
            if( event.keyDown.charScan.charCode == 9 ||
                ( event.keyDown.charScan.charCode >= 32 && event.keyDown.charScan.charCode < 255 ) )
                    {
                    lock();
                    if( overwrite == True && hasSelection() == False )
                        if( curPtr != lineEnd(curPtr) )
                            selEnd = nextChar(curPtr);
                    insertText( &event.keyDown.charScan.charCode, 1, False);
                    trackCursor(centerCursor);
                    unlock();
                    }
            else
                return;
            break;

        case evCommand:
            switch( event.message.command )
                {
                case cmFind:
                    find();
                    break;
                case cmReplace:
                    replace();
                    break;
                case cmSearchAgain:
                    doSearchReplace();
                    break;
                default:
                    lock();
                    switch( event.message.command )
                        {
                        case cmCut:
                            clipCut();
                            break;
                        case cmCopy:
                            clipCopy();
                            // hideSelect(); // JS 12.4.94
                            break;
                        case cmPaste:
                            clipPaste();
                            break;
                        case cmUndo:
                            undo();
                            break;
                        case cmClear:
                            deleteSelect();
                            break;
                        case cmCharLeft:
                            setCurPtr(prevChar(curPtr), selectMode);
                            break;
                        case cmCharRight:
                            setCurPtr(nextChar(curPtr), selectMode);
                            break;
                        case cmWordLeft:
                            setCurPtr(prevWord(curPtr), selectMode);
                            break;
                        case cmWordRight:
                            setCurPtr(nextWord(curPtr), selectMode);
                            break;
                        case cmLineStart:
                            setCurPtr(lineStart(curPtr), selectMode);
                            break;
                        case cmLineEnd:
                            setCurPtr(lineEnd(curPtr), selectMode);
                            break;
                        case cmLineUp:
                            setCurPtr(lineMove(curPtr, -1), selectMode);
                            break;
                        case cmLineDown:
                            setCurPtr(lineMove(curPtr, 1), selectMode);
                            break;
                        case cmPageUp:
                            setCurPtr(lineMove(curPtr, -(size.y-1)), selectMode);
                            break;
                        case cmPageDown:
                            setCurPtr(lineMove(curPtr, size.y-1), selectMode);
                            break;
                        case cmTextStart:
                            setCurPtr(0, selectMode);
                            break;
                        case cmTextEnd:
                            setCurPtr(bufLen, selectMode);
                            break;
                        case cmNewLine:
                            newLine();
                            break;
                        case cmBackSpace:
                            deleteRange(prevChar(curPtr), curPtr, True);
                            break;
                        case cmDelChar:
                            deleteRange(curPtr, nextChar(curPtr), True);
                            break;
                        case cmDelWord:
                            deleteRange(curPtr, nextWord(curPtr), False);
                            break;
                        case cmDelStart:
                            deleteRange(lineStart(curPtr), curPtr, False);
                            break;
                        case cmDelEnd:
                            deleteRange(curPtr, lineEnd(curPtr), False);
                            break;
                        case cmDelLine:
                            deleteRange(lineStart(curPtr), nextLine(curPtr), False);
                            break;
                        case cmInsMode:
                            toggleInsMode();
                            break;
                        case cmStartSelect:
                            startSelect();
                            break;
                        case cmHideSelect:
                            hideSelect();
                            break;
                        case cmIndentMode:
                            autoIndent = Boolean(!autoIndent);
                            break;
                        default:
                            unlock();
                            return;
                        }
                    trackCursor(centerCursor);
                    unlock();
                    break;
                }

        case evBroadcast:
            switch( event.message.command )
                {
                case cmScrollBarChanged:
                    checkScrollBar( event, hScrollBar, delta.x );
                    checkScrollBar( event, vScrollBar, delta.y );
                    break;
                default:
                    return;
                }
        }
    clearEvent(event);
}
Beispiel #17
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QInputEvent *ev)
{
    KJS::JSObject *iev = convertEvent(exec, (QEvent *)ev);
    iev->put(exec, "modifiers", KJS::jsNumber(ev->modifiers()));
    return iev;
}
Beispiel #18
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QDragMoveEvent *ev)
{
    KJS::JSObject *mev = convertEvent(exec, (QDropEvent *)ev);
    mev->put(exec, "answerRect", convertToValue(exec, ev->answerRect()));
    return mev;
}
Beispiel #19
0
KJS::JSObject *convertEvent(KJS::ExecState *exec, const QTimerEvent *ev)
{
    KJS::JSObject *dev = convertEvent(exec, (QEvent *)ev);
    dev->put(exec, "timerId", KJS::jsNumber(ev->timerId()));
    return dev;
}
Beispiel #20
0
int main( int argc, char **argv )
{
    if (argc<2)
    {
        std::cout << argv[0] <<": requires filename argument." << std::endl;
        return 1;
    }

    // init SDL
    if ( SDL_Init(SDL_INIT_VIDEO) < 0 )
    {
        fprintf(stderr, "Unable to init SDL: %s\n", SDL_GetError());
        exit(1);
    }
    atexit(SDL_Quit);
    

    // load the scene.
    osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile(argv[1]);
    if (!loadedModel)
    {
        std::cout << argv[0] <<": No data loaded." << std::endl;
        return 1;
    }

    // Starting with SDL 1.2.10, passing in 0 will use the system's current resolution.
    unsigned int windowWidth = 0;
    unsigned int windowHeight = 0;

    // Passing in 0 for bitdepth also uses the system's current bitdepth. This works before 1.2.10 too.
    unsigned int bitDepth = 0;

    // If not linked to SDL 1.2.10+, then we must use hardcoded values
    const SDL_version* linked_version = SDL_Linked_Version();
    if(linked_version->major == 1 && linked_version->minor == 2)
    {
	if(linked_version->patch < 10)
	{
	    windowWidth = 1280;
	    windowHeight = 1024;
	}
    }

    SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 5 );
    SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 5 );
    SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 5 );
    SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 );
    SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
    
    // set up the surface to render to
    SDL_Surface* screen = SDL_SetVideoMode(windowWidth, windowHeight, bitDepth, SDL_OPENGL | SDL_FULLSCREEN | SDL_RESIZABLE);
    if ( screen == NULL )
    {
        std::cerr<<"Unable to set "<<windowWidth<<"x"<<windowHeight<<" video: %s\n"<< SDL_GetError()<<std::endl;
        exit(1);
    }

    SDL_EnableUNICODE(1);

    osg::ref_ptr<osg::GraphicsContext::Traits> traits
	= new osg::GraphicsContext::Traits;
    traits->x = 0;
    traits->y = 0;
    traits->width = screen->w;
    traits->height = screen->h;
    traits->doubleBuffer = true;
    traits->sharedContext = 0;
    traits->inheritedWindowData
	= new osgViewer::GraphicsWindowSDL::WindowData(screen);
    osg::ref_ptr<osg::GraphicsContext> gc
	= new osgViewer::GraphicsWindowSDL(traits.get());
    osgViewer::Viewer viewer;
    osg::Camera* camera = viewer.getCamera();
    camera->setGraphicsContext(gc.get());
    camera->setViewport(new osg::Viewport(0, 0, traits->width, traits->height));
    viewer.setSceneData(loadedModel.get());
    viewer.setCameraManipulator(new osgGA::TrackballManipulator);
    viewer.addEventHandler(new osgViewer::StatsHandler);
    viewer.realize();

    // If we used 0 to set the fields, query the values so we can pass it to osgViewer
    windowWidth = screen->w;
    windowHeight = screen->h;
    viewer.getEventQueue()->windowResize(0, 0, windowWidth, windowHeight );

    bool done = false;
    while( !done )
    {
        SDL_Event event;

        while ( SDL_PollEvent(&event) )
        {
            // pass the SDL event into the viewers event queue
            convertEvent(event, *viewer.getEventQueue());

            switch (event.type) {

                case SDL_KEYUP:

                    if (event.key.keysym.sym==SDLK_ESCAPE) done = true;
                    if (event.key.keysym.sym=='f') SDL_WM_ToggleFullScreen(screen);

                    break;

                case SDL_QUIT:
                    done = true;
            }
        }

        if (done) continue;


        // draw the new frame
        viewer.frame();
    }
   
    return 0;
}
Beispiel #21
0
KJS::JSObject *event(KJS::ExecState *exec, const QEvent *ev)
{
    switch (ev->type()) {
    case QEvent::Resize:
        return convertEvent(exec, (QResizeEvent *)ev);
        break;
    case QEvent::Timer:
        return convertEvent(exec, (QTimerEvent *)ev);
        break;
    case QEvent::MouseButtonPress:
    case QEvent::MouseButtonRelease:
    case QEvent::MouseButtonDblClick:
    case QEvent::MouseMove:
    case QEvent::Enter:
    case QEvent::Leave:
        return convertEvent(exec, (QMouseEvent *)ev);
        break;
    case QEvent::KeyPress:
    case QEvent::KeyRelease:
        return convertEvent(exec, (QKeyEvent *)ev);
        break;
    case QEvent::FocusIn:
    case QEvent::FocusOut:
        return convertEvent(exec, (QFocusEvent *)ev);
        break;
    case QEvent::Paint:
        return convertEvent(exec, (QPaintEvent *)ev);
        break;
    case QEvent::Move:
        return convertEvent(exec, (QMoveEvent *)ev);
        break;
    case QEvent::Create:
    case QEvent::Destroy:
    case QEvent::Show:
    case QEvent::Hide:
    case QEvent::Close:
        return convertEvent(exec, (QCloseEvent *)ev);
        break;
    case QEvent::Quit:
    case QEvent::ParentChange:
    case QEvent::ParentAboutToChange:
    case QEvent::ThreadChange:
    case QEvent::WindowActivate:
    case QEvent::WindowDeactivate:
    case QEvent::ShowToParent:
    case QEvent::HideToParent:
    case QEvent::Wheel:
    case QEvent::WindowTitleChange:
    case QEvent::WindowIconChange:
    case QEvent::ApplicationWindowIconChange:
    case QEvent::ApplicationFontChange:
    case QEvent::ApplicationLayoutDirectionChange:
    case QEvent::ApplicationPaletteChange:
    case QEvent::PaletteChange:
    case QEvent::Clipboard:
    case QEvent::Speech:
    case QEvent::MetaCall:
    case QEvent::SockAct:
    //case QEvent::WinEventAct: conflicts with QEvent::QueryWhatsThis
    case QEvent::DeferredDelete:
    case QEvent::DragEnter:
    case QEvent::DragMove:
    case QEvent::DragLeave:
    case QEvent::Drop:
    case QEvent::DragResponse:
    case QEvent::ChildAdded:
    case QEvent::ChildPolished:
    case QEvent::ChildRemoved:
    case QEvent::ShowWindowRequest:
    case QEvent::PolishRequest:
    case QEvent::Polish:
    case QEvent::LayoutRequest:
    case QEvent::UpdateRequest:
    case QEvent::EmbeddingControl:
    case QEvent::ActivateControl:
    case QEvent::DeactivateControl:
    case QEvent::ContextMenu:
    case QEvent::InputMethod:
    case QEvent::TabletMove:
    case QEvent::LocaleChange:
    case QEvent::LanguageChange:
    case QEvent::LayoutDirectionChange:
    case QEvent::Style:
    case QEvent::TabletPress:
    case QEvent::TabletRelease:
    case QEvent::OkRequest:
    case QEvent::HelpRequest:
    case QEvent::IconDrag:
    case QEvent::FontChange:
    case QEvent::EnabledChange:
    case QEvent::ActivationChange:
    case QEvent::StyleChange:
    case QEvent::IconTextChange:
    case QEvent::ModifiedChange:
    case QEvent::MouseTrackingChange:
    case QEvent::WindowBlocked:
    case QEvent::WindowUnblocked:
    case QEvent::WindowStateChange:
    case QEvent::ToolTip:
    case QEvent::WhatsThis:
    case QEvent::StatusTip:
    case QEvent::ActionChanged:
    case QEvent::ActionAdded:
    case QEvent::ActionRemoved:
    case QEvent::FileOpen:
    case QEvent::Shortcut:
    case QEvent::ShortcutOverride:
    case QEvent::WhatsThisClicked:
    case QEvent::ToolBarChange:
    case QEvent::ApplicationActivated:
    case QEvent::ApplicationDeactivated:
    case QEvent::QueryWhatsThis:
    case QEvent::EnterWhatsThisMode:
    case QEvent::LeaveWhatsThisMode:
    case QEvent::ZOrderChange:
    case QEvent::HoverEnter:
    case QEvent::HoverLeave:
    case QEvent::HoverMove:
    default:
        return convertEvent(exec, ev);
        break;
    }
}