From 329abd8c63076a9544dd3df4e82effb32f32de4c Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Sat, 15 Mar 2014 15:10:44 +0100 Subject: [PATCH] Add folder.py - a book cover made with flex --- examples/folder.svg | 7 +++++++ folder.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 examples/folder.svg create mode 100755 folder.py diff --git a/examples/folder.svg b/examples/folder.svg new file mode 100644 index 0000000..d517439 --- /dev/null +++ b/examples/folder.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/folder.py b/folder.py new file mode 100755 index 0000000..0b8aa7c --- /dev/null +++ b/folder.py @@ -0,0 +1,35 @@ +#!/usr/bin/python + +from boxes import * +import math + +class Folder(Boxes): + + def __init__(self, x, y, h, r=0): + Boxes.__init__(self, width=2*x+3*h+20, height=y+20) + self.x = x + self.y = y + self.h = h + self.r = r + + def render(self): + x, y, r, h = self.x, self.y, self.r, self.h + c2 = math.pi * h + self.moveTo(r+self.thickness, self.thickness) + self.edge(x-r) + self.flexEdge(c2, y) + self.edge(x-r) + self.corner(90, r) + self.edge(y-2*r) + self.corner(90, r) + self.edge(2*x-2*r+c2) + self.corner(90, r) + self.edge(y-2*r) + self.corner(90, r) + + self.ctx.stroke() + self.surface.flush() + self.surface.finish() + +f = Folder(240, 350, 20, 15) +f.render()