Mercurial > fife-parpg
view tests/swig_tests/video_tests.py @ 144:d2f1e81fbe2c
* Fixed a scons issue, where libraries checked for C instead of C++
* Fixed a shutdown order problem - deleting a GLImage will reference the RenderBackend, thus image pools must be deleted first.
* Added an explicit Engine.destroy method to force the shutdown, in case python fails to do so. Necessary - see above.
* The Pool::printStatistics now gives out information how many resources are loaded. Called before destruction. Add 'pool' to the LogModules to check memory pooling issues.
author | phoku@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Thu, 09 Oct 2008 06:18:36 +0000 |
parents | 4a0efb7baf70 |
children | 81641655bc38 |
line wrap: on
line source
#!/usr/bin/env python from swig_test_utils import * from serializers.xmlanimation import XMLAnimationLoader class TestVideo(unittest.TestCase): def setUp(self): self.engine = getEngine() def tearDown(self): self.engine.destroy() def testSimpleAnimation(self): pool = self.engine.getAnimationPool() animationloader = XMLAnimationLoader(self.engine.getImagePool(), self.engine.getVFS()) pool.addResourceLoader(animationloader) id = pool.addResourceFromFile('tests/data/wolf_walk/wolf_walk_sw.xml') animation = pool.getAnimation(id) self.engine.initializePumping() backend = self.engine.getRenderBackend() gettime = self.engine.getTimeManager().getTime starttime = gettime() for i in xrange(50): image = animation.getFrameByTimestamp(gettime() - starttime) if not image: image = animation.getFrame(0) starttime = gettime() #print fife.Rect(0,0,image.getWidth(),image.getHeight()) image.render(fife.Rect(0,0,image.getWidth(),image.getHeight()), 255) self.engine.pump() self.engine.finalizePumping() def testDrawLine(self): points = ( (1,1), (50,20), (20,50), (200,500), (500,200), (100,200), (10,10), (70,40), (80,30), (300,520), (340,220), (170,600), ) self.engine.initializePumping() be = self.engine.getRenderBackend() for i in xrange(20): prevPt = fife.Point(*points[1]) for pt in points[1:]: curPt = fife.Point(*pt) be.drawLine(prevPt, curPt, 100, 100, 100) prevPt = curPt self.engine.pump() self.engine.finalizePumping() TEST_CLASSES = [TestVideo] if __name__ == '__main__': unittest.main()