Index: examples/stretch_blit.py
===================================================================
--- examples/stretch_blit.py	(revision 0)
+++ examples/stretch_blit.py	(revision 0)
@@ -0,0 +1,111 @@
+#!/usr/bin/env python
+# ----------------------------------------------------------------------------
+# pyglet
+# Copyright (c) 2006-2008 Alex Holkner
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+#  * Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#  * Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+#  * Neither the name of pyglet nor the names of its
+#    contributors may be used to endorse or promote products
+#    derived from this software without specific prior written
+#    permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+# ----------------------------------------------------------------------------
+
+'''Demontrates that images can be blitted with their original size
+and also stretched. Usage::
+
+    stretch_blit.py <filename>
+
+The image will be blitted on the lower left corner of the window
+and then stretched to random coordinates and size.  A timer forces
+every second a change on the coordinates and size of the stretched
+version.
+
+Press any key to exit the demostration.
+'''
+
+import random
+import sys
+
+import pyglet
+from pyglet.gl import *
+
+window = pyglet.window.Window(visible=False, resizable=True)
+
+class Timer(object):
+    def __init__(self):
+        self.time = 0
+        self.last_update = 0
+        self.randomize_image()
+
+    def randomize_image(self):
+        self.x = 0.9 * random.random()
+        self.y = 0.9 * random.random()
+        self.w = 0.1 + 0.9 * random.random()
+        self.h = 0.1 + 0.9 * random.random()
+
+    def update(self, dt):
+        self.time += dt
+        if int(self.time) != self.last_update:
+            self.randomize_image()
+            self.last_update = int(self.time)
+
+
+@window.event
+def on_key_press(symbol, modifiers):
+    window.close()
+
+
+@window.event
+def on_draw():
+    background.blit_tiled(0, 0, 0, window.width, window.height)
+    img.blit(0, 0)
+    x, y = timer.x * window.width, timer.y * window.height
+    w, h = timer.w * window.width, timer.h * window.height
+    img.blit(x, y, width = w, height = h)
+
+
+if __name__ == '__main__':
+    if len(sys.argv) != 2:
+        print __doc__
+        sys.exit(1)
+
+    filename = sys.argv[1]
+
+    img = pyglet.image.load(filename).get_texture(rectangle=True)
+
+    checks = pyglet.image.create(32, 32, pyglet.image.CheckerImagePattern())
+    background = pyglet.image.TileableTexture.create_for_image(checks)
+
+    # Enable alpha blending, required for image.blit.
+    glEnable(GL_BLEND)
+    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
+
+    timer = Timer()
+    pyglet.clock.schedule_interval(timer.update, 1)
+    window.set_visible()
+
+    pyglet.app.run()
+

Property changes on: examples/stretch_blit.py
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

