Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/Char.py
diff options
context:
space:
mode:
Diffstat (limited to 'Char.py')
-rw-r--r--Char.py109
1 files changed, 109 insertions, 0 deletions
diff --git a/Char.py b/Char.py
new file mode 100644
index 0000000..a6efb6f
--- /dev/null
+++ b/Char.py
@@ -0,0 +1,109 @@
+# This program 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 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+import gtk
+
+Size = (100, 100)
+
+class Char:
+ id = 0
+ pixbuf = None #gtk.gdk.Pixbuf()
+
+def list():
+ return [Char()]
+
+
+"""
+ pics = self.getpics(self.imgdir)
+ pixbuf = gtk.gdk.pixbuf_new_from_file(pics[self.imgstartindex])
+ scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.ccismall.set_from_pixbuf(scaled_buf)
+ self.charlabel.set_label(os.path.split(self.imgdir)[1])
+
+
+ def restore(self, sdata):
+ # THE BELOW SHOULD WORK BUT DOESN'T
+ #zf = StringIO.StringIO(sdata)
+ #self.loadfromzip(zf)
+ # END OF STUFF THAT DOESN'T WORK
+ sdd = pickle.loads(sdata)
+ tmpbgpath = os.path.join(TMPDIR,'back.png')
+ f = file(tmpbgpath,'w')
+ f.write(sdd['pngdata'])
+ f.close()
+ self.setback(tmpbgpath)
+ os.remove(tmpbgpath)
+ transimgpath = os.path.join(self.iconsdir,TRANSIMG)
+ for i in range(len(sdd['fgpixbufpaths'])):
+ filepath = sdd['fgpixbufpaths'][i]
+ if filepath == transimgpath:
+ continue
+ pixbuf = gtk.gdk.pixbuf_new_from_file(filepath)
+ fgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.fgpixbufs[i] = fgpixbuf
+ if i == 0:
+ self.fgpixbuf = fgpixbuf
+ self.drawmain()
+ scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.frameimgs[i].set_from_pixbuf(scaled_buf)
+
+
+ def loadfromzip(self, f):
+ # print filepath
+ #zf = zipfile.ZipFile(filepath,'r')
+ zf = zipfile.ZipFile(f)
+ fnames = zf.namelist()
+ framenames = []
+ for fname in fnames:
+ if fname[-8:] == 'back.png':
+ backname = fname
+ else:
+ framenames.append(fname)
+ framenames.sort()
+ # set the background
+ tmpbgpath = os.path.join(TMPDIR,'back.png')
+ f = file(tmpbgpath,'w')
+ f.write(zf.read(backname))
+ f.close()
+ self.setback(tmpbgpath)
+ os.remove(tmpbgpath)
+ self.imgdir = TMPDIR
+ for filepath in framenames:
+ fname = os.path.split(filepath)[1]
+ tmpfilepath = os.path.join(TMPDIR,fname)
+ f = file(tmpfilepath,'w')
+ f.write(zf.read(filepath))
+ f.close()
+ zf.close()
+ self.loadimages()
+ # setup the filmstrip frames
+ pics = self.getpics(self.imgdir)
+ count = 0
+ for imgpath in pics:
+ pixbuf = gtk.gdk.pixbuf_new_from_file(imgpath)
+ fgpixbuf = pixbuf.scale_simple(BGWIDTH,BGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.fgpixbufs[count] = fgpixbuf
+ if count == 0:
+ self.fgpixbuf = fgpixbuf
+ self.drawmain()
+ scaled_buf = pixbuf.scale_simple(IMGWIDTH,IMGHEIGHT,gtk.gdk.INTERP_BILINEAR)
+ self.frameimgs[count].set_from_pixbuf(scaled_buf)
+ count += 1
+ entries = os.listdir(TMPDIR)
+ for entry in entries:
+ entrypath = os.path.join(TMPDIR,entry)
+ os.remove(entrypath)
+
+
+"""