diff -r qtlookat20011128orig/ChangeLog qtlookatwin32/ChangeLog 0a1,4 > 2002/01/02 Martin Dudok van Heel -- ported to win32. qtlookat.pro was changed and > a few peaces of unix/X11 dependend code were changed. Also now the new name OpenVrml > is used for the includes (was vrml97). It should still work on unix systems but > this is not yet tested. Only in qtlookatwin32: MicrosoftVisualCPlusPlus Only in qtlookatwin32: README.win32 Only in qtlookatwin32: makeMicrosoftVisualCPlusPlusProject.bat diff -r qtlookat20011128orig/src/ViewerQt.cpp qtlookatwin32/src/ViewerQt.cpp 27,28c27,29 < #include < #include // wan't to use XSendEvent in wsPostRedraw, although this --- > #include //mdvh > #ifndef WIN32 //mdvh > include // wan't to use XSendEvent in wsPostRedraw, although this 30c31 < --- > #endif 134c135 < #if 0 --- > #if 1//mdvh diff -r qtlookat20011128orig/src/ViewerQt.h qtlookatwin32/src/ViewerQt.h 35c35 < #include --- > #include diff -r qtlookat20011128orig/src/mainwgt.cpp qtlookatwin32/src/mainwgt.cpp 38,39c38,39 < #include < #include // vrml97 keyevents --- > #include //mdvh > #include // vrml97 keyevents//mdvh 151,153c151,153 < void mainWgt::closeEvent( QCloseEvent * ) < { < } --- > //void mainWgt::closeEvent( QCloseEvent * ) > //{ > //} diff -r qtlookat20011128orig/src/mainwgt.h qtlookatwin32/src/mainwgt.h 75c75 < void closeEvent( QCloseEvent * ); --- > // void closeEvent( QCloseEvent * ); Only in qtlookatwin32/src: moc_mainwgt.cpp diff -r qtlookat20011128orig/src/piInstance.cpp qtlookatwin32/src/piInstance.cpp 4,5c4,5 < #include < #include // for defaultSystem --- > #include > #include // for defaultSystem diff -r qtlookat20011128orig/src/plugin.cpp qtlookatwin32/src/plugin.cpp 51a52 > #ifndef WIN32 52a54 > #endif 64a67 > #ifndef WIN32 66a70 > #endif diff -r qtlookat20011128orig/src/qPIWidget.cpp qtlookatwin32/src/qPIWidget.cpp 12c12 < #include --- > #include diff -r qtlookat20011128orig/src/qSystem.h qtlookatwin32/src/qSystem.h 7c7 < #include --- > #include diff -r qtlookat20011128orig/src/qSystempi.h qtlookatwin32/src/qSystempi.h 7,9c7,9 < #include < #include < #include --- > #include > #include > #include diff -r qtlookat20011128orig/src/qtlookat.cpp qtlookatwin32/src/qtlookat.cpp 39a40 > //theSystem.set_receiver( &w ); 41c42,45 < theSystem = &qtSystem; --- > //theSystem = &qtSystem; > System *theSystem = &qtSystem; > //// The global System object > //System *theSystem = &defaultSystem; diff -r qtlookat20011128orig/src/resourceIo.h qtlookatwin32/src/resourceIo.h 7c7 < #include --- > #include diff -r qtlookat20011128orig/src/vGLWidget.cpp qtlookatwin32/src/vGLWidget.cpp 24c24 < #include --- > #include 41a42 > #if 0 //mdvh code below does not compile on win32. Probably X11 specific 86a88,191 > #endif //mdvh > /* None = 0, // invalid event > Timer = 1, // timer event > MouseButtonPress = 2, // mouse button pressed > MouseButtonRelease = 3, // mouse button released > MouseButtonDblClick= 4, // mouse button double click > MouseMove = 5, // mouse move > KeyPress = 6, // key pressed > KeyRelease = 7, // key released > FocusIn = 8, // keyboard focus received > FocusOut = 9, // keyboard focus lost > Enter = 10, // mouse enters widget > Leave = 11, // mouse leaves widget > Paint = 12, // paint widget > Move = 13, // move widget > Resize = 14, // resize widget > Create = 15, // after object creation > Destroy = 16, // during object destruction > Show = 17, // widget is shown > Hide = 18, // widget is hidden > Close = 19, // request to close widget > Quit = 20, // request to quit application > Reparent = 21, // widget has been reparented > ShowMinimized = 22, // widget is shown minimized > ShowNormal = 23, // widget is shown normal > WindowActivate = 24, // window was activated > WindowDeactivate = 25, // window was deactivated > ShowToParent = 26, // widget is shown to parent > HideToParent = 27, // widget is hidden to parent > ShowMaximized = 28, // widget is shown maximized > Accel = 30, // accelerator event > Wheel = 31, // wheel event > AccelAvailable = 32, // accelerator available event > CaptionChange = 33, // caption changed > IconChange = 34, // icon changed > ParentFontChange = 35, // parent font changed > ApplicationFontChange = 36, // application font changed > ParentPaletteChange = 37, // parent font changed > ApplicationPaletteChange = 38, // application palette changed > Clipboard = 40, // internal clipboard event > Speech = 42, // reserved for speech input > SockAct = 50, // socket activation > AccelOverride = 51, // accelerator override event > DragEnter = 60, // drag moves into widget > DragMove = 61, // drag moves in widget > DragLeave = 62, // drag leaves or is cancelled > Drop = 63, // actual drop > DragResponse = 64, // drag accepted/rejected > ChildInserted = 70, // new child widget > ChildRemoved = 71, // deleted child widget > LayoutHint = 72, // child min/max size changed > ShowWindowRequest = 73, // widget's window should be mapped > ActivateControl = 80, // ActiveX activation > DeactivateControl = 81, // ActiveX deactivation > User = 1000 // first user event id > */ > if ( e->type() == QEvent::Type::Show ) { // QShowEvent > if (viewer) > viewer->handleRedraw(); > return TRUE; // eat event > } > else if ( e->type() == QEvent::Type::MouseButtonPress ) { > viewer->vMousePressEvent( (QMouseEvent *)e); > return TRUE; // eat event > } > else if ( e->type() == QEvent::Type::MouseButtonRelease ) { > viewer->vMouseReleaseEvent( (QMouseEvent *)e); > return TRUE; // eat event > } > else if ( e->type() == QEvent::Type::MouseMove ) { > viewer->vMouseMoveEvent( (QMouseEvent *)e); > return TRUE; // eat event > } > else if ( e->type() == QEvent::Type::Timer ) { > killTimer( ((QTimerEvent *)e)->timerId() ); > if (viewer) > viewer->timerUpdate(); > return TRUE; // eat event > } > // in plugin mode, mainWgt is no longer topLevel, meaning it will not normally > // receive key events, so send key events to it directly > else if ( e->type() == QEvent::Type::KeyPress ) { > qApp->sendEvent(_parent, e); > return TRUE; // eat event > } > else if ( e->type() == QEvent::Type::Paint ) { // suppress these > if (viewer){ > makeCurrent(); > viewer->handleRedraw(); > } > return TRUE; > } > else if ( e->type() == QEvent::Type::Resize ) { // suppress these > QSize sz = ((QResizeEvent *)e)->size(); > if (viewer){ > makeCurrent(); > viewer->resize(sz.width(), sz.height() ); > } > return TRUE; // eat event > } > // default: > return QObject::event( e ); > > //return FALSE; // standard event processing diff -r qtlookat20011128orig/tmake/INSTALL qtlookatwin32/tmake/INSTALL 22a23,27 > > for the standalone version for win32 (Visual C++) > tmake qtlookat.pro -t vcapp -o ..\MicrosoftVisualCPlusPlus\qtlookat.dsp > (you can also run makeMicrosoftVisualCPlusPlusProject.bat in the root directory.) > open MicrosoftVisualCPlusPlus\qtlookat.dsp in Visual C++ and build. (it is a VC++5.0 project.VC++ 6.0 automatically converts the project to VC++ 6.0 project) 42,43c47,48 < You will need to modify qtlookat.pro to reflect your libvrml97 and < libvrml97gl installations. In particular, you should modify the following --- > You will need to modify qtlookat.pro to reflect your OpenVrml and > OpenVrml-gl installations. In particular, you should modify the following 67,76c72,90 < Windows developers: As of now a Windows port of libvrml97 is < underway, but as yet no one has tried qtlookat on Win32. If the port is < ready and you have it, this directory is a good place to start, since tmake < is cross-platform. I'm guessing you will need to add a win32:LIBS line to < qtlookat.pro with the dependencies the win32 port of libvrml97 requires. If < you get something working, and its portable, send it to me so I can update < this distribution. < < Also included is a rough qtlookatPI.pro for the plugin. You may need to edit this < the same as before. --- > Windows developers: > There is also a native win32 port of lookat and a win32 glut port of lookat. > The advantage of having this qt port for both win32 and unix is single point of maintenance and the ease of adding features using qt. > To build you need Microsoft Visual C++ 5.0 or 6.0. You also need the qt library for win32. The non-commercial version is free to download at www.trolltech.org > Qt includes tmake which you need for building. You also need to have %QTDIR%\bin in your path to run tmake. > you also need Openvrml.lib, js32.lib and their include files. > you can get openvrml.lib from http://openvrml.org/ > js32 is the spidermonkey implementation of javascript from mozilla. > You can find the source of js32 at ftp://ftp.mozilla.org/pub/js/ > get the latest js-....tar.gz not the rhino.....tar.gz (for example js-1.5-rc4.tar.gz) > You can build js32 by opening js.mak in Visual C++ > Further you should add the paths to OpenVrml,OpenVrml-gl and js32 to your include dirs (Tools\Options\directories) > and the paths to openvrml.lib,js32.lib to your library dirs. > > > Also included is a rough qtlookatPI.pro for the plugin. > I don't expect the qt plugin will work from version 0.9.0 of the OpenVrml library without some > major changes. Particularly, it depended on VrmlScene::loadFromFunction(...) which went away with the new > parser. diff -r qtlookat20011128orig/tmake/qtlookat.pro qtlookatwin32/tmake/qtlookat.pro 2c2,3 < CONFIG = qt opengl warn_on release --- > CONFIG = qt opengl warn_on windows release > win32:CONFIG +=thread 5,6c6,8 < ../src/qSystem.cpp < DEFINES = Qt2x --- > ../src/qSystem.cpp > unix:DEFINES = Qt2x > win32:DEFINES = QT_DLL 11a14 > win32:LIBS = openvrml.lib diff -r qtlookat20011128orig/tmake/qtlookatPI.pro qtlookatwin32/tmake/qtlookatPI.pro 2a3 > win32:CONFIG +=thread 8a10 > win32:LIBS = openvrml.lib qnp.lib 10,11c12,14 < DEFINES = Qt2x < TARGET = qtlookat --- > unix:DEFINES = Qt2x > win32:DEFINES = QT_DLL > TARGET = qtlookatPI