[Python-ogre-commit] SF.net SVN: python-ogre: [371] trunk/python-ogre
Brought to you by:
andy_miller,
roman_yakovenko
From: <and...@us...> - 2007-08-11 05:55:16
|
Revision: 371 http://python-ogre.svn.sourceforge.net/python-ogre/?rev=371&view=rev Author: andy_miller Date: 2007-08-10 22:55:18 -0700 (Fri, 10 Aug 2007) Log Message: ----------- Changes/Updates for 1.0 Release New Modules - NxOgre, PhysX, DirectShow Video, FFMPEG Video, BetaGui.cpp Updates/Fixes for Ogre, QuickGUI New Demos for ODE + New Modules Modified Paths: -------------- trunk/python-ogre/ChangeLog.txt trunk/python-ogre/PythonOgreConfig_nt.py trunk/python-ogre/PythonOgreConfig_posix.py trunk/python-ogre/SConstruct trunk/python-ogre/ThirdParty/vcredist_x86.exe trunk/python-ogre/code_generators/bullet/generate_code.py trunk/python-ogre/code_generators/cegui/customization_data.py trunk/python-ogre/code_generators/cegui/generate_code.py trunk/python-ogre/code_generators/cegui/hand_made_wrappers.py trunk/python-ogre/code_generators/cegui/python_CEGUI_aliases.h trunk/python-ogre/code_generators/common_utils/extract_documentation.py trunk/python-ogre/code_generators/ogre/generate_code.py trunk/python-ogre/code_generators/ogre/hand_made_wrappers.py trunk/python-ogre/code_generators/ogre/python_ogre_aliases.h trunk/python-ogre/code_generators/ogre/python_ogre_sizeof.h trunk/python-ogre/code_generators/ogreode/generate_code.py trunk/python-ogre/code_generators/opcode/generate_code.py trunk/python-ogre/code_generators/opcode/hand_made_wrappers.py trunk/python-ogre/code_generators/quickgui/generate_code.py trunk/python-ogre/code_generators/quickgui/python_quickgui.h trunk/python-ogre/code_generators/quickgui/python_quickgui_aliases.h trunk/python-ogre/demos/gui/Demo_QuickGUI01.py trunk/python-ogre/demos/gui/plugins.cfg trunk/python-ogre/demos/gui/tofix/MenuDemo.py trunk/python-ogre/demos/media/gui/ogregui.layout trunk/python-ogre/demos/media/materials/scripts/Example.material trunk/python-ogre/demos/media/skins/SkinTemplate.material trunk/python-ogre/demos/ogre/Demo_Basic.py trunk/python-ogre/demos/ogre/Demo_Bezier.py trunk/python-ogre/demos/ogre/Demo_CameraTracking.py trunk/python-ogre/demos/ogre/Demo_Grass.py trunk/python-ogre/demos/ogre/Demo_SkeletalAnimation.py trunk/python-ogre/demos/ogre/Demo_SkeletonAnimation.py trunk/python-ogre/demos/ogre/Demo_SkyBox.py trunk/python-ogre/demos/ogre/Demo_SkyDome.py trunk/python-ogre/demos/ogre/Demo_Smoke.py trunk/python-ogre/demos/ogre/Demo_Spinner.py trunk/python-ogre/demos/ogre/Demo_Terrain.py trunk/python-ogre/demos/ogre/plugins.cfg trunk/python-ogre/demos/ogre/tests/Test_Iterator.py trunk/python-ogre/demos/ogre/tests/plugins.cfg trunk/python-ogre/environment.py trunk/python-ogre/packages_2.5/ogre/renderer/OGRE/sf_OIS.py trunk/python-ogre/scripts/epydoc_config trunk/python-ogre/setup.py Added Paths: ----------- trunk/python-ogre/ThirdParty/betagui/ trunk/python-ogre/ThirdParty/betagui/BetaGUI.h trunk/python-ogre/ThirdParty/betagui/BetaGui.cpp trunk/python-ogre/ThirdParty/betagui/BetaGui.py trunk/python-ogre/ThirdParty/dshow/ trunk/python-ogre/ThirdParty/dshow/UtilsOgreDShow.cpp trunk/python-ogre/ThirdParty/dshow/UtilsOgreDshow.h trunk/python-ogre/ThirdParty/dshow/UtilsOgreDshow_private.h trunk/python-ogre/ThirdParty/ffmpeg/ trunk/python-ogre/ThirdParty/ffmpeg/videoPlayer.cpp trunk/python-ogre/ThirdParty/ffmpeg/videoPlayer.h trunk/python-ogre/code_generators/betagui/ trunk/python-ogre/code_generators/betagui/customization_data.py trunk/python-ogre/code_generators/betagui/generate_code.py trunk/python-ogre/code_generators/betagui/hand_made_wrappers.py trunk/python-ogre/code_generators/betagui/python_betagui.h trunk/python-ogre/code_generators/betagui/python_betagui_aliases.h trunk/python-ogre/code_generators/betagui/python_betagui_sizeof.h trunk/python-ogre/code_generators/nxogre/ trunk/python-ogre/code_generators/nxogre/customization_data.py trunk/python-ogre/code_generators/nxogre/generate_code.py trunk/python-ogre/code_generators/nxogre/hand_made_wrappers.py trunk/python-ogre/code_generators/nxogre/python_nxogre.h trunk/python-ogre/code_generators/nxogre/python_nxogre_aliases.h trunk/python-ogre/code_generators/nxogre/python_nxogre_sizeof.h trunk/python-ogre/code_generators/nxogre/register_exceptions.py trunk/python-ogre/code_generators/ogredshow/ trunk/python-ogre/code_generators/ogredshow/customization_data.py trunk/python-ogre/code_generators/ogredshow/generate_code.py trunk/python-ogre/code_generators/ogredshow/hand_made_wrappers.py trunk/python-ogre/code_generators/ogredshow/python_ogredshow.h trunk/python-ogre/code_generators/ogredshow/python_ogredshow_aliases.h trunk/python-ogre/code_generators/ogredshow/python_ogredshow_sizeof.h trunk/python-ogre/code_generators/ogredshow/register_exceptions.py trunk/python-ogre/code_generators/ogrevideoffmpeg/ trunk/python-ogre/code_generators/ogrevideoffmpeg/PythonOgreConfig_posix.py trunk/python-ogre/code_generators/ogrevideoffmpeg/customization_data.py trunk/python-ogre/code_generators/ogrevideoffmpeg/generate_code.py trunk/python-ogre/code_generators/ogrevideoffmpeg/hand_made_wrappers.py trunk/python-ogre/code_generators/ogrevideoffmpeg/python_ogrevideoffmpeg.h trunk/python-ogre/code_generators/ogrevideoffmpeg/python_ogrevideoffmpeg_aliases.h trunk/python-ogre/code_generators/ogrevideoffmpeg/python_ogrevideoffmpeg_sizeof.h trunk/python-ogre/code_generators/theora/ trunk/python-ogre/code_generators/theora/customization_data.py trunk/python-ogre/code_generators/theora/generate_code.py trunk/python-ogre/code_generators/theora/hand_made_wrappers.py trunk/python-ogre/code_generators/theora/python_theora.h trunk/python-ogre/code_generators/theora/python_theora_aliases.h trunk/python-ogre/code_generators/theora/python_theora_sizeof.h trunk/python-ogre/code_generators/theora/register_exceptions.py trunk/python-ogre/demos/dshow/ trunk/python-ogre/demos/dshow/Demo_Video.py trunk/python-ogre/demos/dshow/SampleFramework.py trunk/python-ogre/demos/dshow/plugins.cfg trunk/python-ogre/demos/dshow/resources.cfg trunk/python-ogre/demos/ffmpeg/ trunk/python-ogre/demos/ffmpeg/Demo_Video.py trunk/python-ogre/demos/ffmpeg/SampleFramework.py trunk/python-ogre/demos/ffmpeg/plugins.cfg trunk/python-ogre/demos/ffmpeg/resources.cfg trunk/python-ogre/demos/ffmpeg/test.wmv trunk/python-ogre/demos/gui/MenuDemo.py trunk/python-ogre/demos/media/Audio/clock.avi trunk/python-ogre/demos/media/Audio/clock.ogg trunk/python-ogre/demos/media/ComplexMeshes/ trunk/python-ogre/demos/media/ComplexMeshes/cloth.material trunk/python-ogre/demos/media/ComplexMeshes/nx.flag.png trunk/python-ogre/demos/media/Env/ trunk/python-ogre/demos/media/Env/nx.floor.material trunk/python-ogre/demos/media/Env/nx.floor.mesh trunk/python-ogre/demos/media/Env/nx.floor.png trunk/python-ogre/demos/media/Env/nx.floor.shadowalpha.png trunk/python-ogre/demos/media/Env/nx.skygrid.png trunk/python-ogre/demos/media/Essential/ trunk/python-ogre/demos/media/Essential/BetaGUI/ trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.button.active.png trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.button.png trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.material trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.pointer.png trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.textinput.active.png trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.textinput.png trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.window.png trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.window.resize.active.png trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.window.resize.png trunk/python-ogre/demos/media/Essential/BetaGUI/bgui.window.titlebar.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/ trunk/python-ogre/demos/media/Essential/BetaGUIExtended/bgui.exit.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/bgui.exit.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/bgui.pause.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/bgui.pause.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/debug.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/debug.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/debugon.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/debugon.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.material.material trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.material.text.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.material.window.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.material.window.titlebar.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.confirm.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.confirm.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.do.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.do.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.up.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/editor.microtext.up.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/nxbgui.material trunk/python-ogre/demos/media/Essential/BetaGUIExtended/pause.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/pause.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/play.active.png trunk/python-ogre/demos/media/Essential/BetaGUIExtended/play.png trunk/python-ogre/demos/media/Essential/Boot/ trunk/python-ogre/demos/media/Essential/Boot/101.jpg trunk/python-ogre/demos/media/Essential/Boot/102.jpg trunk/python-ogre/demos/media/Essential/Boot/103.jpg trunk/python-ogre/demos/media/Essential/Boot/any.jpg trunk/python-ogre/demos/media/Essential/Boot/arrow1.png trunk/python-ogre/demos/media/Essential/Boot/axis_x.png trunk/python-ogre/demos/media/Essential/Boot/axis_y.png trunk/python-ogre/demos/media/Essential/Boot/axis_z.png trunk/python-ogre/demos/media/Essential/Boot/bodyguide1m.png trunk/python-ogre/demos/media/Essential/Boot/boot.material trunk/python-ogre/demos/media/Essential/Boot/debug.png trunk/python-ogre/demos/media/Essential/Boot/gui.material trunk/python-ogre/demos/media/Essential/Boot/gui_loading.png trunk/python-ogre/demos/media/Essential/Boot/gui_loading_notice.png trunk/python-ogre/demos/media/Essential/Boot/gui_options.png trunk/python-ogre/demos/media/Essential/Boot/gui_options_selected.png trunk/python-ogre/demos/media/Essential/Boot/gui_pause.png trunk/python-ogre/demos/media/Essential/Boot/gui_save.png trunk/python-ogre/demos/media/Essential/Boot/gui_save_selected.png trunk/python-ogre/demos/media/Essential/Boot/gui_slowfast.png trunk/python-ogre/demos/media/Essential/Boot/nx.body.axis.mesh trunk/python-ogre/demos/media/Essential/Boot/nx.bodyguide.material trunk/python-ogre/demos/media/Essential/Boot/nx.bodyguide.mesh trunk/python-ogre/demos/media/Essential/Fonts/ trunk/python-ogre/demos/media/Essential/Fonts/MgOpen.license.txt trunk/python-ogre/demos/media/Essential/Fonts/MgOpen.png trunk/python-ogre/demos/media/Essential/Fonts/MgOpen.ttf trunk/python-ogre/demos/media/Essential/Fonts/MgOpenAsBitmap.fontdef trunk/python-ogre/demos/media/Essential/Fonts/MgOpenAsNxOgreFont.fontdef trunk/python-ogre/demos/media/Essential/icon.cube.png trunk/python-ogre/demos/media/Essential/icon.sphere.png trunk/python-ogre/demos/media/Essential/widget.add.active.png trunk/python-ogre/demos/media/Essential/widget.add.png trunk/python-ogre/demos/media/Essential/widget.angle.over.png trunk/python-ogre/demos/media/Essential/widget.angle.png trunk/python-ogre/demos/media/Essential/widget.create.png trunk/python-ogre/demos/media/Essential/widget.edit.png trunk/python-ogre/demos/media/Essential/widget.material.over.png trunk/python-ogre/demos/media/Essential/widget.material.png trunk/python-ogre/demos/media/Essential/widget.mm.bodies.over.png trunk/python-ogre/demos/media/Essential/widget.mm.bodies.png trunk/python-ogre/demos/media/Essential/widget.mm.fx.over.png trunk/python-ogre/demos/media/Essential/widget.mm.fx.png trunk/python-ogre/demos/media/Essential/widget.mm.joints.over.png trunk/python-ogre/demos/media/Essential/widget.mm.joints.png trunk/python-ogre/demos/media/Essential/widget.mm.png trunk/python-ogre/demos/media/Essential/widget.scale.over.png trunk/python-ogre/demos/media/Essential/widget.scale.png trunk/python-ogre/demos/media/Essential/widgets.material trunk/python-ogre/demos/media/SimpleMeshes/ trunk/python-ogre/demos/media/SimpleMeshes/Example_BumpMapping.cg trunk/python-ogre/demos/media/SimpleMeshes/capsule.50cmx1m.mesh trunk/python-ogre/demos/media/SimpleMeshes/capsule.prefix.material trunk/python-ogre/demos/media/SimpleMeshes/convex.prefix.material trunk/python-ogre/demos/media/SimpleMeshes/convex1.mesh trunk/python-ogre/demos/media/SimpleMeshes/cube.1m-2m-1m.mesh trunk/python-ogre/demos/media/SimpleMeshes/cube.1m.h.mesh trunk/python-ogre/demos/media/SimpleMeshes/cube.1m.mesh trunk/python-ogre/demos/media/SimpleMeshes/cube.1m.smooth.mesh trunk/python-ogre/demos/media/SimpleMeshes/cube.mesh trunk/python-ogre/demos/media/SimpleMeshes/cube.prefix.material trunk/python-ogre/demos/media/SimpleMeshes/fish.mesh trunk/python-ogre/demos/media/SimpleMeshes/hilight.material trunk/python-ogre/demos/media/SimpleMeshes/nx-cube-diffuse.dds trunk/python-ogre/demos/media/SimpleMeshes/nx-cube-normal.dds trunk/python-ogre/demos/media/SimpleMeshes/nx-cube-spec.dds trunk/python-ogre/demos/media/SimpleMeshes/nx.70s1.dds trunk/python-ogre/demos/media/SimpleMeshes/nx.block.material trunk/python-ogre/demos/media/SimpleMeshes/nx.block.mesh trunk/python-ogre/demos/media/SimpleMeshes/nx.convex2.material trunk/python-ogre/demos/media/SimpleMeshes/nx.convex2.mesh trunk/python-ogre/demos/media/SimpleMeshes/nx.convex2.mesh.xml trunk/python-ogre/demos/media/SimpleMeshes/nx.cube.png trunk/python-ogre/demos/media/SimpleMeshes/nx.flag.png trunk/python-ogre/demos/media/SimpleMeshes/nx.lava.dds trunk/python-ogre/demos/media/SimpleMeshes/nx.planet1.dds trunk/python-ogre/demos/media/SimpleMeshes/nx.planet2.dds trunk/python-ogre/demos/media/SimpleMeshes/nx.sphere.50cm.mesh trunk/python-ogre/demos/media/SimpleMeshes/nx.sphere.50cm.mesh.xml trunk/python-ogre/demos/media/SimpleMeshes/nx.sphere.material trunk/python-ogre/demos/media/SimpleMeshes/nx.sphere1.png trunk/python-ogre/demos/media/SimpleMeshes/nx.stone1.dds trunk/python-ogre/demos/media/SimpleMeshes/nx.tartan.dds trunk/python-ogre/demos/media/SimpleMeshes/nx.tube.material trunk/python-ogre/demos/media/SimpleMeshes/nx.tube.mesh trunk/python-ogre/demos/media/SimpleMeshes/nx.yellow1.png trunk/python-ogre/demos/media/SimpleMeshes/prism.12x150cmx3m.mesh trunk/python-ogre/demos/media/SimpleMeshes/prism.8x50cmx2m.mesh trunk/python-ogre/demos/media/SimpleMeshes/racecar.material trunk/python-ogre/demos/media/SimpleMeshes/racecar.mesh trunk/python-ogre/demos/media/SimpleMeshes/racecar1.png trunk/python-ogre/demos/media/SimpleMeshes/sandbox.material trunk/python-ogre/demos/media/SimpleMeshes/sphere.2m.mesh trunk/python-ogre/demos/media/SimpleMeshes/sphere.50cm.mesh trunk/python-ogre/demos/media/SimpleMeshes/sphere.prefix.material trunk/python-ogre/demos/media/SimpleMeshes/squirrel.mesh trunk/python-ogre/demos/media/SimpleMeshes/squirrel.skeleton trunk/python-ogre/demos/media/SimpleMeshes/tyre.png trunk/python-ogre/demos/media/SimpleMeshes/wheel50cmx10cmx50cm.material trunk/python-ogre/demos/media/SimpleMeshes/wheel50cmx10cmx50cm.mesh trunk/python-ogre/demos/media/skins/qgui/qgui.image.png trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.horizontal.png trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.horizontal.slider.down.png trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.horizontal.slider.over.png trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.horizontal.slider.png trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.vertical.png trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.vertical.slider.down.png trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.vertical.slider.over.png trunk/python-ogre/demos/media/skins/qgui/qgui.trackbar.vertical.slider.png trunk/python-ogre/demos/media/skins/qgui/qgui_uv_test0.png trunk/python-ogre/demos/media/times.ttf trunk/python-ogre/demos/nxogre/ trunk/python-ogre/demos/nxogre/BetaGui.py trunk/python-ogre/demos/nxogre/CakeFramework.py trunk/python-ogre/demos/nxogre/Demo_101.py trunk/python-ogre/demos/nxogre/Demo_102.py trunk/python-ogre/demos/nxogre/Demo_103.py trunk/python-ogre/demos/nxogre/Enums.py trunk/python-ogre/demos/nxogre/SampleFramework.py trunk/python-ogre/demos/nxogre/config.yaml trunk/python-ogre/demos/nxogre/plugins.cfg trunk/python-ogre/demos/nxogre/resources.cfg trunk/python-ogre/demos/ogre/Demo_Shadows.py trunk/python-ogre/demos/ogreode/GranTurismOgre.py trunk/python-ogre/demos/opcode/Demo_OgreCollision01.py trunk/python-ogre/demos/opcode/Demo_OpcodeCollision01.py trunk/python-ogre/packages_2.5/ogre/addons/ trunk/python-ogre/packages_2.5/ogre/addons/__init__.py trunk/python-ogre/packages_2.5/ogre/addons/ogredshow/ trunk/python-ogre/packages_2.5/ogre/addons/ogredshow/__init__.py trunk/python-ogre/packages_2.5/ogre/addons/ogrevideoffmpeg/ trunk/python-ogre/packages_2.5/ogre/addons/ogrevideoffmpeg/__init__.py trunk/python-ogre/packages_2.5/ogre/addons/theora/ trunk/python-ogre/packages_2.5/ogre/addons/theora/__init__.py trunk/python-ogre/packages_2.5/ogre/gui/betagui/ trunk/python-ogre/packages_2.5/ogre/gui/betagui/__init__.py trunk/python-ogre/packages_2.5/ogre/physics/NxOgre/ trunk/python-ogre/packages_2.5/ogre/physics/NxOgre/__init__.py trunk/python-ogre/packages_2.5/ogre/physics/PhysX/ trunk/python-ogre/packages_2.5/ogre/physics/PhysX/__init__.py trunk/python-ogre/packages_2.5/ogre/physics/bullet/ trunk/python-ogre/packages_2.5/ogre/physics/bullet/__init__.py trunk/python-ogre/packages_2.5/ogre/renderer/OGREdshow/ trunk/python-ogre/packages_2.5/ogre/renderer/OGREdshow/__init__.py Removed Paths: ------------- trunk/python-ogre/code_generators/ogrevideo/ trunk/python-ogre/demos/ogre/tests/ogre.cfg trunk/python-ogre/demos/opcode/ogre.cfg Modified: trunk/python-ogre/ChangeLog.txt =================================================================== --- trunk/python-ogre/ChangeLog.txt 2007-07-25 04:47:51 UTC (rev 370) +++ trunk/python-ogre/ChangeLog.txt 2007-08-11 05:55:18 UTC (rev 371) @@ -1,12 +1,24 @@ -xxx 2007 + +August 10 2007: Version 1.0 - Release ============================================ -* Updated to QuickGui 0.9.5 +* Added NxOgre Wrapper -- single demo with Cakewalk +* Added PhysX Wrapper -- required for NxOgre -- you need to install the PhysX library +* Added OgreDshow wrapper -- play videos (with sound) on textures using DirectShow +* Added OgreVideoFfmpeg wrapper (thanks Dermont) -- plays video (without sound) vis ffmpeg +* Added BetaGUI wrapper -- needed for the NxOgre Cakewalk conversion +* Updated to QuickGui 0.9.5 -- using SVN version * Added common_utils function to remove duplicate Properties which happened when there was a getXXX AND a hasXXX implemented in the C++ code -- now we filter these are give the getXXX priority * Implemented support for Ogre compiled with THREADS enabled - need to set value to True in ogre/generate_code.py * Change implemented in Py++ to expose missing 'setters' -* Added bullet physics to the library - no testing as of yet +* Added castAsOverlayContainer function to Ogre -- needed for 'add2D' functionality +* Added bullet physics to the library - no testing as of yet -- probably doesn't work +* Fixed issue where we were exposing constructors with arguments that were pointers to fundemental types (int * etc) + could cause a crash if passing invalid parameters (None) to these constructors * OIS compile has changed to use the static library instead of the dll +* Updated Windows Help documentation +* SVN and Tickets have been moved to SourceForge +* Using "touch" on the release files to get some consistancy in the release June 10 2007: Version 1.0 RC2(c) -- Release ============================================ Modified: trunk/python-ogre/PythonOgreConfig_nt.py =================================================================== --- trunk/python-ogre/PythonOgreConfig_nt.py 2007-07-25 04:47:51 UTC (rev 370) +++ trunk/python-ogre/PythonOgreConfig_nt.py 2007-08-11 05:55:18 UTC (rev 371) @@ -36,9 +36,16 @@ PATH_raknet= os.path.join(BASE_DIR, 'RakNet') PATH_OPCODE= os.path.join(BASE_DIR, 'Opcode') PATH_quickgui= os.path.join(root_dir, 'ThirdParty','quickgui') +PATH_quickgui= os.path.join(BASE_DIR, 'Quickgui') ## note test for Quickgui SVN version +PATH_betagui= os.path.join(root_dir, 'ThirdParty','betagui') PATH_NxOgre= os.path.join(BASE_DIR, 'nxogre/NxOgre') PATH_Bullet= os.path.join(BASE_DIR, 'bullet-2.52') PATH_PhysX= "c:/program files/AGEIA Technologies/SDK/v2.7.2/SDKs" +PATH_Theora= os.path.join(PATH_OgreAddons,'videoplugin','TheoraVideo') +PATH_Dshow= os.path.join(root_dir, 'ThirdParty','dshow') +PATH_ogrevideoffmpeg = os.path.join(root_dir, 'ThirdParty','ffmpeg') +PATH_ffmpeg= os.path.join(BASE_DIR, 'ffmpeg') +PATH_ogredshow = os.path.join(root_dir, 'ThirdParty','dshow') # # it's time for the SDK version if SDK: @@ -76,11 +83,16 @@ PATH_LIB_OgreOdeLoader = os.path.join( PATH_OgreOde, 'loader/lib/Release' ) PATH_LIB_FMOD = os.path.join(PATH_FMOD, 'api/lib') PATH_LIB_OgreAL = os.path.join(PATH_OGREAL, 'lib/Release' ) -PATH_LIB_quickgui = PATH_quickgui +PATH_LIB_betagui = PATH_betagui +PATH_LIB_quickgui = os.path.join(PATH_quickgui, 'bin') PATH_LIB_raknet = os.path.join(PATH_raknet, 'Lib' ) -PATH_LIB_NxOgre= os.path.join(PATH_NxOgre, 'compiler','NxOgre.VC8','Release','lib') -PATH_LIB_PhysX = "" +PATH_LIB_NxOgre= os.path.join(PATH_NxOgre, 'lib') +PATH_LIB_PhysX = os.path.join(PATH_PhysX,'lib/win32') PATH_LIB_Bullet = os.path.join(PATH_Bullet, 'out/release8/libs' ) +PATH_LIB_Theora= os.path.join(PATH_Theora, 'bin', 'Release') +PATH_LIB_ogrevideoffmpeg = PATH_ogrevideoffmpeg +PATH_LIB_ffmpeg= os.path.join(PATH_ffmpeg, 'lib') +PATH_LIB_ogredshow = PATH_ogredshow if SDK: PATH_LIB_Ogre_CEGUIRenderer = os.path.join( PATH_Ogre, 'lib') @@ -111,11 +123,24 @@ PATH_INCLUDE_OgreOdeLoader= os.path.join( PATH_OgreOde,'loader/include') PATH_INCLUDE_FMOD = os.path.join(PATH_FMOD, 'api/inc') PATH_INCLUDE_Ogre_CEGUIRenderer = os.path.join( PATH_Ogre, 'samples/Common/CEGUIRenderer/include') -PATH_INCLUDE_quickgui = PATH_quickgui +PATH_INCLUDE_quickgui = os.path.join(PATH_quickgui,'QuickGUI','include') PATH_INCLUDE_raknet = os.path.join(PATH_raknet, 'Source' ) PATH_INCLUDE_NxOgre= os.path.join(PATH_NxOgre, 'include') PATH_INCLUDE_Bullet= os.path.join(PATH_Bullet, 'src') +PATH_INCLUDE_freetype= os.path.join(PATH_INCLUDE_quickgui,'FreeType2.3.5') +PATH_INCLUDE_betagui = PATH_betagui +PATH_INCLUDE_Dshow= PATH_Dshow +PATH_INCLUDE_Theora = os.path.join (PATH_Theora,'include') +PATH_INCLUDE_ogrevideoffmpeg = PATH_ogrevideoffmpeg +PATH_INCLUDE_ffmpeg = os.path.join (PATH_ffmpeg,'include') +PATH_INCLUDE_ogredshow = PATH_ogredshow +PATH_INCLUDE_OggVorbisTheora = [ os.path.join(BASE_DIR,'ogg','include') + ,os.path.join(BASE_DIR, 'vorbis', 'include') + ,os.path.join(PATH_OgreAddons,'videoplugin','theora','include') + ,os.path.join(PATH_OgreAddons,'videoplugin','ptypes-1.8.3','include') + ] + PATH_INCLUDE_PhysX= [ os.path.join(PATH_PhysX, 'Physics','include') ,os.path.join(PATH_PhysX, 'Cooking','include') ,os.path.join(PATH_PhysX, 'Foundation','include') Modified: trunk/python-ogre/PythonOgreConfig_posix.py =================================================================== --- trunk/python-ogre/PythonOgreConfig_posix.py 2007-07-25 04:47:51 UTC (rev 370) +++ trunk/python-ogre/PythonOgreConfig_posix.py 2007-08-11 05:55:18 UTC (rev 371) @@ -1,108 +1,107 @@ -import sys,os - - -## Boost stuff -## path to the root of your boost dir, should have 'libs', 'boost' subdirectories -module_dir = os.path.abspath(os.path.dirname(__file__) )## The root directory is where this module is located - -## lets assume that the base development directory is one level higher -BASE_DIR,ignore = os.path.split(module_dir) ## r'/home/andy/development' - -ROOT_DIR = os.path.join(BASE_DIR,'root') - - -LOCAL_LIB = os.path.join(ROOT_DIR,'usr/lib') -LOCAL_INCLUDE = os.path.join(ROOT_DIR, 'usr/include') -PATH_Boost = os.path.join(LOCAL_INCLUDE, 'boost-1_34') -print "**", PATH_Boost - -# -PATH_LIB_Boost = LOCAL_LIB -## and the name of the boost python library -LIB_Boost = 'libboost_python-gcc41-1_34' - -# -# Don't forget we need to call gccxml...... -gccxml_bin = os.path.join(BASE_DIR,'gccxml-build/bin') -# and the Py++ directory as sometimes we need access to the code repository there -pyplusplus_install_dir = os.path.join(BASE_DIR,'pygccxml') - - -# # ## Parent directories of the libraries -PATH_Ogre = os.path.join(BASE_DIR,'ogrenew') -PATH_OgreAddons = os.path.join(BASE_DIR, 'OgreAddons') -PATH_CEGUI = os.path.join(BASE_DIR, 'CEGUI-0.5.0') -PATH_OIS = os.path.join(BASE_DIR, 'ois-1.0RC1') -PATH_Newton = os.path.join(BASE_DIR, 'newtonSDK/sdk') -# # PATH_FMOD = os.path.join(BASE_DIR, 'fmod') -PATH_ODE = os.path.join(BASE_DIR, 'ode-0.8') -# # PATH_OGREAL= os.path.join(BASE_DIR, 'ogreal/trunk/OgreAL-Eihort') -# # PATH_OGG = os.path.join(BASE_DIR, 'ogg') -# # PATH_VORBIS= os.path.join(BASE_DIR, 'vorbis') -# # PATH_OPENAL= os.path.join(BASE_DIR, 'openal') -# # PATH_ALUT= os.path.join(BASE_DIR, 'freealut') -PATH_OgreOde= os.path.join(BASE_DIR, 'ogreaddons','ogreode') -#PATH_betagui= os.path.join(module_dir, 'ThirdParty','betagui') -#PATH_raknet= os.path.join(BASE_DIR, 'RakNet') -PATH_quickgui= os.path.join(module_dir, 'ThirdParty','quickgui') -PATH_OPCODE= os.path.join(BASE_DIR, 'Opcode') - - - -# # # Overrides - this is needed as libs isn't defined in enirvonment for fmod.. -# # #class fmod: -# # # version= "4.06" -# # # libs=[LIB_Boost, 'fmodexL_vc'] -# # ##libs=[Config.LIB_Boost, 'libfmodex'] ##posix - -# # ### -# # ### these paths assume you've left all the directory structure as standard -# # ### Override anything that is different -# # ### -PATH_LIB_Ogre_CEGUIRenderer = os.path.join( LOCAL_LIB ) #, 'Samples/Common/CEGUIRenderer/lib') -PATH_LIB_Ogre_OgreMain= os.path.join( LOCAL_LIB ) # PATH_Ogre, 'OgreMain/lib/Release' ) -PATH_LIB_Ogre_Dependencies = os.path.join( LOCAL_LIB ) # , 'Dependencies/lib/Release') - - - -PATH_LIB_OgreRefApp = os.path.join( LOCAL_LIB ) # PATH_Ogre, 'ReferenceApplication/ReferenceAppLayer/lib/Release') -PATH_LIB_OgreNewt = os.path.join( LOCAL_LIB ) #PATH_OgreAddons, r'ogrenewt/OgreNewt_Main/lib/Release') -PATH_LIB_Newton = PATH_Newton #os.path.join( LOCAL_LIB ) # PATH_Newton ,'dll') ##NOTE Posix platforms this lives in 'lib-mt' -PATH_LIB_OIS = os.path.join( LOCAL_LIB ) #PATH_OIS, 'dll') ## NOTE Posix platforms this lives in'lib' not 'dll' -PATH_LIB_CEGUI = os.path.join ( LOCAL_LIB ) #PATH_Ogre, r'Dependencies/lib/Release' ) -PATH_LIB_ODE = os.path.join( LOCAL_LIB ) #PATH_ODE, 'lib/releasedll')## probable releaselib for posix -PATH_LIB_OgreOde = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'lib/Release') -PATH_LIB_OgreOdePrefab = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'prefab/lib/Release' ) -PATH_LIB_OgreOdeLoader = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'loader/lib/Release' ) - -PATH_LIB_OgreAL = os.path.join( LOCAL_LIB ) #PATH_OGREAL, 'lib/Release' ) -#PATH_LIB_betagui = PATH_betagui -PATH_LIB_quickgui = PATH_quickgui -#PATH_LIB_raknet = os.path.join( LOCAL_LIB ) #PATH_raknet, 'Lib' ) - -PATH_LIB_OPCODE = os.path.join( PATH_OPCODE, 'Release') -PATH_INCLUDE_Ogre= os.path.join(LOCAL_INCLUDE,'OGRE') # os.path.join(PATH_Ogre,'OgreMain/include') - -PATH_INCLUDE_Ogre_Dependencies = PATH_INCLUDE_Ogre # os.path.join( PATH_Ogre, 'Dependencies/include') -PATH_INCLUDE_OIS = os.path.join(LOCAL_INCLUDE,'OIS') #os.path.join(PATH_OIS,'includes') ## Note the plural include's -PATH_INCLUDE_OgreRefApp = os.path.join(PATH_Ogre,'ReferenceApplication/ReferenceAppLayer/include') -PATH_INCLUDE_OgreNewt = os.path.join(LOCAL_INCLUDE,'OgreNewt') #os.path.join(PATH_OgreAddons,'ogrenewt/OgreNewt_Main/inc') -PATH_INCLUDE_CEGUI = os.path.join(LOCAL_INCLUDE,'CEGUI') #os.path.join(PATH_CEGUI, r'include/CEGUI') -PATH_INCLUDE_ODE = os.path.join(LOCAL_INCLUDE,'') #os.path.join( PATH_ODE, 'include') -PATH_INCLUDE_ODESOURCE = '' # os.path.join( PATH_ODE, 'ode/src') -PATH_INCLUDE_OPCODE = PATH_OPCODE - -PATH_INCLUDE_OgreAL = ''# os.path.join( PATH_OGREAL, 'include' ) -PATH_INCLUDE_OPENAL = ''# os.path.join( PATH_OPENAL, 'include') -PATH_INCLUDE_OGG= ''# os.path.join( PATH_OGG, r'include' ) -PATH_INCLUDE_VORBIS= ''# os.path.join( PATH_VORBIS, r'include' ) -PATH_INCLUDE_ALUT= ''# os.path.join( PATH_ALUT, 'include' ) - -PATH_INCLUDE_OgreOde = os.path.join( PATH_OgreOde,'include') -PATH_INCLUDE_OgreOdePrefab= os.path.join( PATH_OgreOde,'prefab/include') -PATH_INCLUDE_OgreOdeLoader= os.path.join( PATH_OgreOde,'loader/include') -PATH_INCLUDE_Newton = PATH_Newton # os.path.join(LOCAL_INCLUDE,'Newton') -#PATH_INCLUDE_betagui = PATH_betagui -PATH_INCLUDE_quickgui = PATH_quickgui -#PATH_INCLUDE_raknet = os.path.join(PATH_raknet, 'Source' ) -PATH_INCLUDE_Ogre_CEGUIRenderer = os.path.join( PATH_Ogre, 'Samples/Common/CEGUIRenderer/include') +import sys,os + + +## Boost stuff +## path to the root of your boost dir, should have 'libs', 'boost' subdirectories +module_dir = os.path.abspath(os.path.dirname(__file__) )## The root directory is where this module is located + +## lets assume that the base development directory is one level higher +BASE_DIR,ignore = os.path.split(module_dir) ## r'/home/andy/development' + +ROOT_DIR = os.path.join(BASE_DIR,'root') + + +LOCAL_LIB = os.path.join(ROOT_DIR,'/usr/lib') +LOCAL_INCLUDE = os.path.join(ROOT_DIR, '/usr/include') +PATH_Boost = os.path.join(LOCAL_INCLUDE, 'boost_1_34') + +# +PATH_LIB_Boost = LOCAL_LIB +## and the name of the boost python library +LIB_Boost = 'libboost_python-gcc41-1_34' + +# +# Don't forget we need to call gccxml...... +gccxml_bin = os.path.join(BASE_DIR,'gccxml-build/bin') +# and the Py++ directory as sometimes we need access to the code repository there +pyplusplus_install_dir = os.path.join(BASE_DIR,'pygccxml') + + +# # ## Parent directories of the libraries +PATH_Ogre = os.path.join(BASE_DIR,'ogrenew') +# # PATH_OgreAddons = os.path.join(BASE_DIR, 'OgreAddons') +# # PATH_CEGUI = os.path.join(BASE_DIR, 'CEGUI-0.5.0') +# # PATH_OIS = os.path.join(BASE_DIR, 'ois-1.0RC1') +# # PATH_Newton = os.path.join(BASE_DIR, 'newtonsdk/sdk') +# # PATH_FMOD = os.path.join(BASE_DIR, 'fmod') +# # PATH_ODE = os.path.join(BASE_DIR, 'opende/trunk') +# # PATH_OGREAL= os.path.join(BASE_DIR, 'ogreal/trunk/OgreAL-Eihort') +# # PATH_OGG = os.path.join(BASE_DIR, 'ogg') +# # PATH_VORBIS= os.path.join(BASE_DIR, 'vorbis') +# # PATH_OPENAL= os.path.join(BASE_DIR, 'openal') +# # PATH_ALUT= os.path.join(BASE_DIR, 'freealut') +PATH_OgreOde= os.path.join(BASE_DIR, 'OgreAddons/ogreode') +# # PATH_betagui= os.path.join(BASE_DIR, 'betagui') +# PATH_raknet= os.path.join(BASE_DIR, 'RakNet') +PATH_simplegui= os.path.join(module_dir, 'ThirdParty/simplegui') + + + + +# # # Overrides - this is needed as libs isn't defined in enirvonment for fmod.. +# # #class fmod: +# # # version= "4.06" +# # # libs=[LIB_Boost, 'fmodexL_vc'] +# # ##libs=[Config.LIB_Boost, 'libfmodex'] ##posix + +# # ### +# # ### these paths assume you've left all the directory structure as standard +# # ### Override anything that is different +# # ### +PATH_LIB_Ogre_CEGUIRenderer = os.path.join( LOCAL_LIB ) #, 'Samples/Common/CEGUIRenderer/lib') +PATH_LIB_Ogre_OgreMain= os.path.join( LOCAL_LIB ) # PATH_Ogre, 'OgreMain/lib/Release' ) +PATH_LIB_Ogre_Dependencies = os.path.join( LOCAL_LIB ) # , 'Dependencies/lib/Release') + + + +PATH_LIB_OgreRefApp = os.path.join( LOCAL_LIB ) # PATH_Ogre, 'ReferenceApplication/ReferenceAppLayer/lib/Release') +PATH_LIB_OgreNewt = os.path.join( LOCAL_LIB ) #PATH_OgreAddons, r'ogrenewt/OgreNewt_Main/lib/Release') +PATH_LIB_Newton = os.path.join( LOCAL_LIB ) # PATH_Newton ,'dll') ##NOTE Posix platforms this lives in 'lib-mt' +PATH_LIB_OIS = os.path.join( LOCAL_LIB ) #PATH_OIS, 'dll') ## NOTE Posix platforms this lives in'lib' not 'dll' +PATH_LIB_CEGUI = os.path.join ( LOCAL_LIB ) #PATH_Ogre, r'Dependencies/lib/Release' ) +PATH_LIB_ODE = os.path.join( LOCAL_LIB ) #PATH_ODE, 'lib/releasedll')## probable releaselib for posix +PATH_LIB_OgreOde = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'lib/Release') +PATH_LIB_OgreOdePrefab = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'prefab/lib/Release' ) +PATH_LIB_OgreOdeLoader = os.path.join( LOCAL_LIB ) #PATH_OgreOde, 'loader/lib/Release' ) + +PATH_LIB_OgreAL = os.path.join( LOCAL_LIB ) #PATH_OGREAL, 'lib/Release' ) +PATH_LIB_betagui = PATH_betagui +PATH_LIB_simplegui = PATH_simplegui +PATH_LIB_raknet = os.path.join( LOCAL_LIB ) #PATH_raknet, 'Lib' ) + + +PATH_INCLUDE_Ogre= os.path.join(LOCAL_INCLUDE,'OGRE') # os.path.join(PATH_Ogre,'OgreMain/include') + +PATH_INCLUDE_Ogre_Dependencies = PATH_INCLUDE_Ogre # os.path.join( PATH_Ogre, 'Dependencies/include') +PATH_INCLUDE_OIS = os.path.join(LOCAL_INCLUDE,'OIS') #os.path.join(PATH_OIS,'includes') ## Note the plural include's +PATH_INCLUDE_OgreRefApp = os.path.join(PATH_Ogre,'ReferenceApplication/ReferenceAppLayer/include') +PATH_INCLUDE_OgreNewt = os.path.join(LOCAL_INCLUDE,'OgreNewt') #os.path.join(PATH_OgreAddons,'ogrenewt/OgreNewt_Main/inc') +PATH_INCLUDE_CEGUI = os.path.join(LOCAL_INCLUDE,'CEGUI') #os.path.join(PATH_CEGUI, r'include/CEGUI') +PATH_INCLUDE_ODE = os.path.join(LOCAL_INCLUDE,'ODE') #os.path.join( PATH_ODE, 'include') +PATH_INCLUDE_ODESOURCE = '' # os.path.join( PATH_ODE, 'ode/src') + + +PATH_INCLUDE_OgreAL = ''# os.path.join( PATH_OGREAL, 'include' ) +PATH_INCLUDE_OPENAL = ''# os.path.join( PATH_OPENAL, 'include') +PATH_INCLUDE_OGG= ''# os.path.join( PATH_OGG, r'include' ) +PATH_INCLUDE_VORBIS= ''# os.path.join( PATH_VORBIS, r'include' ) +PATH_INCLUDE_ALUT= ''# os.path.join( PATH_ALUT, 'include' ) + +PATH_INCLUDE_OgreOde = os.path.join( PATH_OgreOde,'include') +PATH_INCLUDE_OgreOdePrefab= os.path.join( PATH_OgreOde,'prefab/include') +PATH_INCLUDE_OgreOdeLoader= os.path.join( PATH_OgreOde,'loader/include') + +PATH_INCLUDE_betagui = PATH_betagui +PATH_INCLUDE_simplegui = PATH_simplegui +PATH_INCLUDE_raknet = os.path.join(PATH_raknet, 'Source' ) +PATH_INCLUDE_Ogre_CEGUIRenderer = os.path.join( PATH_Ogre, 'samples/Common/CEGUIRenderer/include') Modified: trunk/python-ogre/SConstruct =================================================================== --- trunk/python-ogre/SConstruct 2007-07-25 04:47:51 UTC (rev 370) +++ trunk/python-ogre/SConstruct 2007-08-11 05:55:18 UTC (rev 371) @@ -89,9 +89,11 @@ # Let us select the projects to build possible_projects = ['ogre' , 'ois', 'ogrerefapp', 'ogrenewt', 'cegui', 'ode',\ - 'ogreode', 'ogreal', 'quickgui', 'opcode', 'nxogre', 'bullet' ] # , 'raknet' + 'ogreode', 'ogreal', 'quickgui', 'opcode', 'nxogre', 'bullet', 'physx', 'betagui','theora',\ + 'ogrevideoffmpeg', 'ogredshow' ] # , 'raknet' default_projects = ['ogre' , 'ois', 'ogrerefapp', 'ogrenewt', 'cegui', 'ode',\ - 'ogreode', 'ogreal', 'quickgui', 'opcode', 'nxogre', 'bullet' ] + 'ogreode', 'ogreal', 'quickgui', 'opcode', 'nxogre', 'bullet', 'physx', 'betagui','theora',\ + 'ogrevideoffmpeg', 'ogredshow' ] # This lets you call scons like: 'scons PROJECTS=ogre,cegui' opts = Options('custom.py') Added: trunk/python-ogre/ThirdParty/betagui/BetaGUI.h =================================================================== --- trunk/python-ogre/ThirdParty/betagui/BetaGUI.h (rev 0) +++ trunk/python-ogre/ThirdParty/betagui/BetaGUI.h 2007-08-11 05:55:18 UTC (rev 371) @@ -0,0 +1,638 @@ +#ifndef BETAGUI_H +#define BETAGUI_H + +/// Betajaen's GUI 016 Uncompressed +/// Written by Robin "Betajaen" Southern 07-Nov-2006, http://www.ogre3d.org/wiki/index.php/BetaGUI +/// This code is under the Whatevar! licence. Do what you want; but keep the original copyright header. + +#include "Ogre.h" +#include "OgreTextAreaOverlayElement.h" + +#include <iostream> + +using namespace Ogre; +using namespace std; + +namespace BetaGUI +{ + //------------------------------------------------------------------------------------------------ + class GUI; + + class Widget; + class Window; + + class Button; + class BoolButton; + class MenuButton; + class RealButton; + + class StaticText; + class TextInput; + + class Callback; + + class Effect; + class AlphaEffect; + class MoveEffect; + class SizeEffect; + + //------------------------------------------------------------------------------------------------ + enum WindowFeatureType + { + WFT_NONE = 0, + WFT_MOVE , + WFT_RESIZE , + WFT_RESIZE_AND_MOVE + }; + //------------------------------------------------------------------------------------------------ + enum WindowPlacementType + { + WPT_NONE = 0, + WPT_VERTICAL , + WPT_HORIZONTAL + }; + //------------------------------------------------------------------------------------------------ + enum WindowActivity + { + WA_NONE = 0, + WA_MOVE , + WA_RESIZE , + WA_PRESS + }; + //------------------------------------------------------------------------------------------------ + class GUI + { + public: + + friend class Window; + + friend class Button; + + friend class MenuButton; + friend class BoolButton; + friend class RealButton; + + friend class StaticText; + friend class TextInput; + + GUI(const Ogre::String &baseOverlay, const Ogre::String &font, int fontSize, Ogre::RenderWindow *win); + + ~GUI(); + + void sortZOrder() ; + + void setZRangeOrder(int nearZ, int FarZ); + + bool injectMouse(int x, int y, bool LMB); + bool injectMouse(float x, float y, bool LMB); + + bool injectKey(const Ogre::String &key, int x, int y); + + void injectBackspace(int x, int y); + + Window* createWindow( + const Ogre::Vector4 &Dimensions, + const Ogre::String &Material, + WindowFeatureType type, + const Ogre::String &caption = ""); + + void destroyWindow(Window *window) { + mNextWindowToDestroy=window; + } + Ogre::OverlayContainer* createOverlay(const Ogre::String &name, + const Ogre::Vector2 &position, + const Ogre::Vector2 &dimensions, + const Ogre::String &material = "", + const Ogre::String &caption = ""); + + Ogre::OverlayContainer* createMousePointer(Ogre::Vector2 dimensions, + const Ogre::String &material); + + + + Window *addMenuWindow(const Ogre::Vector2 dimensions); + + void update(Ogre::Real timeElapsed); + void addEffect (Effect* e); + Ogre::Real getUpTime() const {return mUpTime;} + + protected: + //Ogre::Overlay* mGuiOverlay; // Main sheet overlay + std::vector<Window*> mWindows; // Windows + Window * mNextWindowToDestroy; // Window to destroy + Ogre::OverlayContainer* mMousePointerOverlay; // Mouse Pointer Overlay + + Ogre::String mFont; + int mFontSize; + int mWindowCount, mButtonCount, mTextCaptionCount, mTextCaptionCountArea, mButtonCountTextArea; + + + Ogre::uint mDragWindowAction; + + int mDragX, mDragY; + int mDragWindowX, mDragWindowY; + + Window * mActiveDraggedWindow; + TextInput * mActiveTextInput; + Button * mActiveButton; + + Ogre::Vector2 mNextMenuWindowPos; + Window * mMenuWindow; + Ogre::RenderWindow * mRenderWindow; + + std::list<Effect*> mActiveEffects; + + Ogre::Real mUpTime; + Ogre::String mName; + int mFarZ; + int mNearZ; + }; + //------------------------------------------------------------------------------------------------ + class Widget + { + public: + + friend class GUI; + + Widget(const Ogre::Vector4 &Dimension, + const Ogre::String &materialNameNormal, + bool hasOverState = true, + bool hasActiveState = true); + + virtual ~Widget(); + + Ogre::Vector2 getPosition() const{return Ogre::Vector2(mPosX,mPosY);} + Ogre::Vector2 getSize() const {return Ogre::Vector2(mWidth,mHeight); } + + void setPosition(const Ogre::Vector2 &position); + void setSize(const Ogre::Vector2 &size); + + virtual void show(){setAlpha (1.0, true);}; + virtual void hide(){setAlpha (0.0, true);}; + + virtual bool isVisible() {return mMainOverlay->isVisible ();}; + + virtual void over(const bool a); + virtual void activate(const bool a); + + virtual void adjustSizeToContent(); + + virtual void setPosition(float X,float Y); + virtual void setPosition(int X,int Y); + virtual void setSize(int X,int Y); + virtual void setAlpha(const Ogre::Real alpha, const bool isContainer); + virtual void setMaterialBlendFactor(const Ogre::Real blendFactor, const bool isContainer); + + // mUnderEffect getter + bool getUnderEffect() const { return mUnderEffect; } + // mUnderEffect setter + void setUnderEffect(bool val); + + // mOver getter + bool getOver() const { return mOver; } + // mOver setter + void setOver(bool val) { mOver = val; } + // mActive getter + bool getActive() const { return mActive; } + // mActive setter + void setActive(bool val) { mActive = val; } + + // mActive setter + void setMainMaterial(const Ogre::String& mat) { + mMainOverlay->setMaterialName(mat); + } + + void setCaptionMaterial(const Ogre::String& mat) { + mCaptionOverlay->setMaterialName(mat); + } + + void setText(const Ogre::String& t) { + mCaptionOverlay->setCaption(t); + } + + Ogre::String getText() const { + return mCaptionOverlay->getCaption(); + } + + protected: + //------------------------------------------------------------------------------------------------ + inline bool isOut (const int x, const int y) const + { + return (x < mPosX) || (y < mPosY) + || (x > (mPosX + mWidth)) || + (y > (mPosY + mHeight)); + } + //------------------------------------------------------------------------------------------------ + inline bool isIn (const int x, const int y) const + { + return (x >= mPosX) && (y >= mPosY) + && (x <= (mPosX + mWidth)) && + (y <= (mPosY + mHeight)); + } + + void instantiateMaterial(Ogre::OverlayContainer * const oc, bool reset) const; + void setOverlayAlpha(Ogre::OverlayContainer * const oc, const Ogre::Real alpha) const; + void setOverlayMaterialBlendFactor(Ogre::OverlayContainer * const oc, const Ogre::Real blendFactor) const; + + int mPosX, mPosY, mWidth, mHeight; + + std::vector<Widget *> mChildren; + Ogre::OverlayContainer* mMainOverlay; + Ogre::OverlayContainer* mCaptionOverlay; + Ogre::String mMaterialName; + + bool mHasMaterial; + bool mHasOverState; + bool mHasActiveState; + bool mUnderEffect; + bool mOver; + bool mActive; + }; + //------------------------------------------------------------------------------------------------ + class Window : public Widget + { + public: + friend class Button; + friend class TextInput; + friend class StaticText; + friend class GUI; + + Window(const Ogre::Vector4 &Dimensions, const Ogre::String &Material, WindowFeatureType type, const Ogre::String &caption, GUI *gui); + virtual ~Window(); + + Button* createButton(const Ogre::Vector4 &Dimensions, const Ogre::String &Material, + const Ogre::String &Text, Callback callback); + + TextInput* createTextInput(const Ogre::Vector4 &Dimensions, const Ogre::String &Material, + const Ogre::String & Value, int length); + + StaticText* createStaticText(const Ogre::Vector4 &Dimensions, const Ogre::String &Text); + + void setSize(int X,int Y); + + MenuButton *addMenuButton(Window *target, const Ogre::String &label, WindowPlacementType wpt = WPT_NONE); + BoolButton *addBoolButton(bool value, const Ogre::String &label, WindowPlacementType wpt = WPT_NONE); + RealButton *addRealButton(Ogre::Real value, const Ogre::Vector4 &SliderMoves, const Ogre::String &label, WindowPlacementType wpt = WPT_NONE); + StaticText* addStaticText(const Ogre::String &label, WindowPlacementType wpt = WPT_NONE); + + Window *addMenuWindowTab(const Ogre::String &label, + bool titleBarWin = true, + WindowPlacementType wpt = WPT_VERTICAL); + + MenuButton* createMenuButton(const Ogre::Vector4 &D, const Ogre::String &M, const Ogre::String &T, Callback C, Window *t); + BoolButton* createBoolButton(const Ogre::Vector4 &D, const Ogre::String &M, const Ogre::String &T, Callback C, bool boolValue); + + RealButton *Window::createRealButton(Ogre::Real value, + const Ogre::Vector4 &SliderMoves, + const Ogre::String &label, + const Ogre::Vector2 &pos); + + GUI* getGUI() const {return mGUI;} + + void setFadeOut(bool f){mFadeOut = f;} + void setZOrder(int zOrder){mGuiOverlay->setZOrder (zOrder);} + protected: + + + bool check(int x, int y, bool LMB); + bool checkKey(const Ogre::String &key, int x, int y); + + TextInput* mActiveTextInput; // Active TextInput + + Button + *mCloseButton, + *mResizerButton, + *mActiveButton, + *mTitleBarButton; // Resizer, ActiveButton, Title bar + + GUI *mGUI; // mGUI pointer + + std::vector<Button*> mButtons; // Buttons + std::vector<TextInput*> mTextInput; // TextInputs + + Ogre::Overlay *mGuiOverlay; + + void addWidget(const Widget * const w, WindowPlacementType wpt); + Ogre::Vector2 mNextWidgetPos; + WindowActivity mDragType; + + bool mFadeOut; + + }; + //------------------------------------------------------------------------------------------------ + class BetaGUIListener + { + public: + virtual void onButtonPress(Button*, unsigned char) = 0; + }; + //------------------------------------------------------------------------------------------------ + class Callback + { + public: + friend class Window; + friend class Button; + + Callback() { + mCallbackType=0; + } + + Callback( void(*functionPointer)(BetaGUI::Button*, bool) ) { + mCallbackType=1; + fp = functionPointer; + } + + Callback(BetaGUIListener *l){ + mCallbackType = 2; + mListener = l; + } + protected: + unsigned char mCallbackType; // Type of callback: 0 - None, 1 - FunctionPointer 2 - GUIListener, 3 - Move Window, 4 - Resize + void(*fp)(BetaGUI::Button*, bool); // Function pointer (if 1) + BetaGUIListener *mListener; // GuiListener (if 2) + }; + //------------------------------------------------------------------------------------------------ + class Button : public Widget + { + public: + friend class Window; + friend class GUI; + + Button(const Ogre::Vector4 &Dimensions, const Ogre::String &Material, + const Ogre::String &Text, Callback callback, Window *parent); + virtual ~Button() {} + + protected: + Callback mCallback; // Callback to use + }; + //------------------------------------------------------------------------------------------------ + class MenuButton : public Button + { + public: + MenuButton(const Ogre::Vector4 &Dimensions, const Ogre::String &Material, + const Ogre::String &Text, Callback callback, Window *parent, + Window *target) : + Button(Dimensions, Material, Text, callback, parent), + mTarget(target) + {}; + virtual ~MenuButton(){}; + protected: + void activate(const bool a) ; + + Window *mTarget; + }; + //------------------------------------------------------------------------------------------------ + class BoolButton : public Button + { + public: + BoolButton(const Ogre::Vector4 &Dimensions, const Ogre::String &Material, + const Ogre::String &Text, Callback callback, Window *parent, bool boolValue): + Button(Dimensions, Material, Text, callback, parent), + mBoolValue(boolValue) + {} + virtual ~BoolButton(){}; + + protected: + void activate(const bool a) ; + + bool mBoolValue; + }; + //------------------------------------------------------------------------------------------------ + class TextInput : public Widget + { + public: + friend class Window; + friend class GUI; + + TextInput(const Ogre::Vector4 &Dimensions, const Ogre::String &Material, + const Ogre::String &Value, unsigned int length, Window *parent); + virtual ~TextInput(){} + const Ogre::String &getValue() const {return mValueText;} + void setValue(const Ogre::String &v) {mCaptionOverlay->setCaption(mValueText = v);} + + protected: + unsigned int length; + Ogre::String mValueText;// MaterialName Normal, MaterialName Active + + }; + //------------------------------------------------------------------------------------------------ + class StaticText : public Widget + { + public: + friend class Window; + + StaticText(const Ogre::Vector4 &Dimensions, + const Ogre::String &Value, + Window *parent); + virtual ~StaticText(){} + + const Ogre::String &getValue() const + {return mValueText;} + + void setValue(const Ogre::String &v) + { + mCaptionOverlay->setCaption(mValueText = v); + mWidth = static_cast<int> (mValueText.size () * 7); + mParent->adjustSizeToContent (); + } + + protected: + + int length; + Ogre::String mValueText; + Window *mParent; + }; + //------------------------------------------------------------------------------------------------ + class RealButton : public BetaGUIListener, public Widget + { + public: + friend class Window; + + RealButton(BetaGUI::Window *window, + Ogre::Real value, + const Ogre::Vector4 &SliderMoves, + const Ogre::String &label, + const Ogre::Vector2 &pos); + + virtual ~RealButton(){}; + + Ogre::Real getValue() const {return mValue;} + + void setValue(const Ogre::Real v); + + void onButtonPress(BetaGUI::Button *ref, Ogre::uchar type); + protected: + + int length; + + BetaGUI::TextInput *mtextValueInput; + BetaGUI::Button *mForward, *mFastForward, *mRewind, *mFastRewind; + + Ogre::Real mValue; + Ogre::String mValueText; + + Ogre::Real mLowSlideUnit; + Ogre::Real mFastSlideUnit; + Ogre::Real mMinValue; + Ogre::Real mMaxValue; + + }; + //------------------------------------------------------------------------------------------------ + class Effect + { + public: + enum EffectInterpolatorType + { + EFFECT_LINEAR = 0, + EFFECT_LINEARX2, + EFFECT_LINEARX4, + EFFECT_SIN + }; + public: + Effect(Widget * const widget, const Ogre::Real duration, + const Ogre::Real startTime, const Ogre::Real currTime = 0, const bool repeat = false, + EffectInterpolatorType type = EFFECT_LINEARX4) : + mWidget(widget), + mStartTime(startTime), + mDuration(duration), + mRepeat(repeat), + mCurrTime(currTime), + mType(type) + { + assert (duration != 0); + } + virtual ~Effect(){}; + + virtual void updateValue(const Ogre::Real factor) = 0; + + bool update(Ogre::Real timeElapsed); + Ogre::Real getTimeFactor() ; + bool getTimeOrIsFinished(); +// Ogre::Real linearInterpolate(const Ogre::Real start, +// const Ogre::Real end, +// const Ogre::Real timeFactor) const; + Ogre::Real interpolate(const Ogre::Real start, + const Ogre::Real end, + const Ogre::Real timeFactor) const; + + protected: + Widget * const mWidget; + const Ogre::Real mStartTime; + const Ogre::Real mDuration; + const bool mRepeat; + + Ogre::Real mCurrTime; + const EffectInterpolatorType mType; + }; + //------------------------------------------------------------------------------------------------ + class AlphaEffect : public Effect + { + public: + + AlphaEffect(Widget * const widget, + const Ogre::Real duration, + const Ogre::Real startAlpha, + const Ogre::Real endAlpha, + const Ogre::Real startTime, + const Ogre::Real currTime = 0, + const bool repeat = false, + EffectInterpolatorType type = EFFECT_LINEARX4) : + Effect(widget, duration, startTime, currTime, repeat), + mStartAlpha(startAlpha), + mEndAlpha(endAlpha) + { + assert(mStartAlpha >= 0.0 && mStartAlpha <= 1.0); + assert(mEndAlpha >= 0.0 && mEndAlpha <= 1.0); + } + virtual ~AlphaEffect(){}; + + void updateValue(const Ogre::Real factor); + private: + const Ogre::Real mStartAlpha; + const Ogre::Real mEndAlpha; + }; + //------------------------------------------------------------------------------------------------ + class MoveEffect : public Effect + { + public: + MoveEffect(Widget * const widget, + const Ogre::Real duration, + const Ogre::Vector2 &startPosition, + const Ogre::Vector2 &endPosition, + const Ogre::Real startTime, + const Ogre::Real currTime = 0, + const bool repeat = false, + EffectInterpolatorType type = EFFECT_LINEARX4) : + Effect(widget, duration, startTime, currTime, repeat), + mStartPosition(startPosition), + mEndPosition(endPosition) + {} + virtual ~MoveEffect(){}; + void updateValue(const Ogre::Real factor); + + private: + const Ogre::Vector2 mStartPosition; + const Ogre::Vector2 mEndPosition; + }; + //------------------------------------------------------------------------------------------------ + class SizeEffect : public Effect + { + public: + SizeEffect(Widget * const widget, + const Ogre::Real duration, + const Ogre::Vector2 &startSize, + const Ogre::Vector2 &endSize, + const Ogre::Real startTime, + const Ogre::Real currTime = 0, + const bool repeat = false, + EffectInterpolatorType type = EFFECT_LINEARX4) : + Effect(widget, duration, startTime, currTime, repeat), + mStartSize(startSize), + mEndSize(endSize) + {} + virtual ~SizeEffect(){}; + void updateValue(const Ogre::Real factor); + + private: + const Ogre::Vector2 mStartSize; + const Ogre::Vector2 mEndSize; + }; + //------------------------------------------------------------------------------------------------ + class ActivateEffect : public Effect + { + public: + ActivateEffect(Widget * const widget, + const Ogre::Real duration, + const Ogre::Real startTime, + const Ogre::Real currTime = 0, + const bool repeat = false, + EffectInterpolatorType type = EFFECT_LINEARX4): + Effect(widget, duration, startTime, currTime, repeat) + {}; + virtual ~ActivateEffect(){}; + void updateValue(const Ogre::Real factor); + + }; + //------------------------------------------------------------------------------------------------ + class OverEffect : public Effect + { + public: + OverEffect(Widget * const widget, + const Ogre::Real duration, + const Ogre::Real startTime, + const Ogre::Real currTime = 0, + const bool repeat = false, + EffectInterpolatorType type = EFFECT_LINEARX4): + Effect(widget, duration, startTime, currTime, repeat) + {}; + virtual ~OverEffect(){}; + void updateValue(const Ogre::Real factor); + + }; + //------------------------------------------------------------------------------------------------ + + +} // End of Namespace + +/////////////////////////////////////////////////////////////////////////////// +#endif + Added: trunk/python-ogre/ThirdParty/betagui/BetaGui.cpp =================================================================== --- trunk/python-ogre/ThirdParty/betagui/BetaGui.cpp (rev 0) +++ trunk/python-ogre/ThirdParty/betagui/BetaGui.cpp 2007-08-11 05... [truncated message content] |