From 250b980002419746fc099c7633b9600a15afb1c6 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Fri, 20 May 2011 16:34:52 -0600 Subject: Add Canvases to the Python module. --- libdimension-python/tests/Makefile.am | 1 + libdimension-python/tests/canvas.py | 57 +++++++++++++++++++++++++++++++++++ libdimension-python/tests/demo.py | 13 +++++++- 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100755 libdimension-python/tests/canvas.py (limited to 'libdimension-python/tests') diff --git a/libdimension-python/tests/Makefile.am b/libdimension-python/tests/Makefile.am index 48e1129..70c2f35 100644 --- a/libdimension-python/tests/Makefile.am +++ b/libdimension-python/tests/Makefile.am @@ -19,6 +19,7 @@ TESTS = geometry.py \ color.py \ + canvas.py \ demo.py TESTS_ENVIRONMENT = PYTHONPATH=$(top_builddir)/libdimension-python/.libs diff --git a/libdimension-python/tests/canvas.py b/libdimension-python/tests/canvas.py new file mode 100755 index 0000000..e69d2d9 --- /dev/null +++ b/libdimension-python/tests/canvas.py @@ -0,0 +1,57 @@ +#!/usr/bin/python3 + +######################################################################### +# Copyright (C) 2010-2011 Tavian Barnes # +# # +# This file is part of The Dimension Test Suite. # +# # +# The Dimension Test Suite is free software; you can redistribute it # +# and/or modify it under the terms of the GNU General Public License as # +# published by the Free Software Foundation; either version 3 of the # +# License, or (at your option) any later version. # +# # +# The Dimension Test Suite is distributed in the hope that it will be # +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty # +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # +# General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +######################################################################### + +from dimension import * +import errno + +# Treat warnings as errors for tests +dieOnWarnings(True) + +canvas = Canvas(768, 480) + +assert canvas.width == 768, canvas.width +assert canvas.height == 480, canvas.height + +havePNG = True +try: + canvas.optimizePNG() +except OSError as e: + if e.errno == errno.ENOSYS: + havePNG = False + else: + raise + +haveGL = True +try: + canvas.optimizeGL() +except OSError as e: + if e.errno == errno.ENOSYS: + haveGL = False + else: + raise + +canvas.clear(Blue) + +if havePNG: + canvas.writePNG('png.png') + +#if haveGL: +# canvas.drawGL() diff --git a/libdimension-python/tests/demo.py b/libdimension-python/tests/demo.py index e9cdc7b..187f4ef 100755 --- a/libdimension-python/tests/demo.py +++ b/libdimension-python/tests/demo.py @@ -24,4 +24,15 @@ from dimension import * # Treat warnings as errors for tests dieOnWarnings(True) -scene = Scene() +canvas = Canvas(width = 768, height = 480) + +havePNG = True +try: + canvas.optimizePNG() +except OSError as e: + if e.errno == errno.ENOSYS: + havePNG = False + else: + raise + +scene = Scene(canvas = canvas) -- cgit v1.2.3