Some code examples.
authorbarbieri <barbieri@gmail.com>
Fri, 22 Jun 2007 21:35:37 +0000 (21:35 +0000)
committerbarbieri <barbieri@gmail.com>
Fri, 22 Jun 2007 21:35:37 +0000 (21:35 +0000)
examples/README.txt [new file with mode: 0644]
examples/icon.png [new file with mode: 0644]
examples/test-evas-smart_object.py [new file with mode: 0644]
examples/test-evas.py [new file with mode: 0644]

diff --git a/examples/README.txt b/examples/README.txt
new file mode 100644 (file)
index 0000000..c2e2c98
--- /dev/null
@@ -0,0 +1,11 @@
+Here you will find some examples of code to run on maemo using EFL.
+
+Basically, you need to use ecore.evas.SoftwareX11_16() instead of
+ecore.evas.SoftwareX11() in order to get optimized render.
+
+Please notice that SoftwareX11_16() is still incomplete, so maybe
+you will need to use SoftwareX11() to get everything working.
+
+More code can be found at:
+ - http://www.enlightenment.org/
+ - http://barbieri-playground.googlecode.com/svn/efl-tests/
diff --git a/examples/icon.png b/examples/icon.png
new file mode 100644 (file)
index 0000000..eea4fc7
Binary files /dev/null and b/examples/icon.png differ
diff --git a/examples/test-evas-smart_object.py b/examples/test-evas-smart_object.py
new file mode 100644 (file)
index 0000000..d62c37e
--- /dev/null
@@ -0,0 +1,64 @@
+#!/usr/bin/env python
+
+import evas
+import ecore
+import ecore.evas
+
+evas.init()
+ecore.init()
+ecore.evas.init()
+
+class MyObject(evas.SmartObject):
+    def __init__(self, canvas, *a, **ka):
+        evas.SmartObject.__init__(self, canvas, *a, **ka)
+        self.callback_add("teste", self.cb_teste)
+        self.callback_add("teste", self.cb_teste2)
+
+        self.r1 = evas.Rectangle(canvas, geometry=(0, 0, 20, 20),
+                                 color="#ff0000")
+        self.member_add(self.r1)
+        self.r2 = evas.Rectangle(canvas, geometry=(10, 10, 20, 20),
+                                 color="#00ff00")
+        self.member_add(self.r2)
+
+    def hide(self):
+        evas.SmartObject.hide(self)
+        print "MyObject hide", self
+
+    @staticmethod
+    def cb_teste(self, info):
+        print "cb_teste:", info
+
+    @staticmethod
+    def cb_teste2(self, info):
+        print "cb_teste2:", info
+
+
+def main():
+    ee = ecore.evas.SoftwareX11_16(w=640, h=480)
+    canvas = ee.evas
+
+    bg = canvas.Rectangle(color="#ffffff")
+    bg.size = canvas.size
+    bg.show()
+
+    so = MyObject(canvas)
+    so.size = (100, 100)
+    so.center = canvas.rect.center
+    so.show()
+    so.callback_call("teste", 1234)
+
+    def resize_cb(ee):
+        ee.data["bg"].size = ee.evas.size
+        ee.data["so"].center = ee.evas.rect.center
+    ee.data["bg"] = bg
+    ee.data["so"] = so
+    ee.callback_resize = resize_cb
+
+    ee.show()
+    ecore.main_loop_begin()
+
+main()
+ecore.evas.shutdown()
+ecore.shutdown()
+evas.shutdown()
diff --git a/examples/test-evas.py b/examples/test-evas.py
new file mode 100644 (file)
index 0000000..1e3b002
--- /dev/null
@@ -0,0 +1,79 @@
+#!/usr/bin/env python
+
+import ecore
+import ecore.evas
+
+ecore.init()
+ecore.evas.init()
+
+ee = ecore.evas.SoftwareX11_16(w=800, h=480)
+canvas = ee.evas
+
+bg = canvas.Rectangle(color="#ffffff")
+bg.size = canvas.size
+bg.show()
+ee.data["bg"] = bg
+
+img = canvas.Image(file="icon.png", size=(128, 128))
+img.center = canvas.rect.center
+img.data["step"] = 1
+img.show()
+ee.show()
+ee.data["img"] = img
+
+def mouse_in_cb(obj, event, a, b):
+    print "Mouse IN:", obj, event, a, b
+img.on_mouse_in_add(mouse_in_cb, 123, b=456)
+def mouse_down_cb(obj, event, xyz, abc):
+    print "Mouse Down:", obj, event, xyz, abc
+img.on_mouse_down_add(mouse_down_cb, 1234, abc=456)
+def mouse_move_cb(obj, event):
+    #print "Mouse Move:", obj, event
+    pass
+img.on_mouse_move_add(mouse_move_cb)
+def resize_cb(obj):
+    #print "Resized:", obj
+    pass
+img.on_resize_add(resize_cb)
+
+
+def key_down_cb(bg, event, img):
+    print "Key Down:", img, event
+    k = event.key
+    if k == "Escape":
+        ecore.main_loop_quit()
+    elif k == "Left":
+        x, y = img.pos
+        img.pos = (x - 1, y)
+    elif k == "Right":
+        x, y = img.pos
+        img.pos = (x + 1, y)
+    elif k == "Up":
+        x, y = img.pos
+        img.pos = (x, y - 1)
+    elif k == "Down":
+        x, y = img.pos
+        img.pos = (x, y + 1)
+bg.on_key_down_add(key_down_cb, img)
+
+
+def resize_cb(ee):
+    r = ee.evas.rect
+    ee.data["bg"].size = r.size
+    ee.data["img"].center = r.center
+ee.callback_resize = resize_cb
+
+
+def anim(canvas, img):
+    w = img.size[0]
+    step = img.data["step"]
+    if not (32 <= w + step <= 128):
+        img.data["step"] = -step
+    w += step
+    img.size = (w, w)
+    img.fill = (0, 0, w, w)
+    return True
+ecore.animator_add(anim, canvas, img)
+
+bg.focus = True
+ecore.main_loop_begin()