From 86ce7d4c14b458dce4edca81af8ae9fff0a770f7 Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Sun, 18 Jan 2009 23:01:58 +0000 Subject: ... --- (limited to 'Char.py') 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) + + +""" -- cgit v0.9.1