
import  cStringIO

import  wx
import  wx.lib.statbmp as gen_statbmp

from Main import opj

#----------------------------------------------------------------------

class TestPanel(wx.Panel):
    def __init__(self, parent, log):
        wx.Panel.__init__(self, parent, -1)

        #data = open(opj('bitmaps/image.png'), "rb").read()
        #data = open(opj('data/visible-cross.png'), "rb").read()
        #data = open(opj('data/invisible-policeman.png'), "rb").read()
        #stream = cStringIO.StringIO(data)

        #bmp = wx.BitmapFromImage( wx.ImageFromStream( stream ))
        img_data = wx.Image('data/invisible-policeman.png', wx.BITMAP_TYPE_ANY)
        bmp = wx.BitmapFromImage(img_data)
        
        wx.StaticText(
            self, -1, "This image was loaded from a Python file-like object:", 
            (15, 15)
            )

        #wx.StaticBitmap(self, -1, bmp, (15, 45))#, (bmp.GetWidth(), bmp.GetHeight()))
        #wx.StaticBitmap(self, -1, bmp, (15, 45), style = wx.NO_BORDER)
        gen_statbmp.GenStaticBitmap(self, -1, bmp, (15, 45), style = wx.NO_BORDER)


#----------------------------------------------------------------------

def runTest(frame, nb, log):
    win = TestPanel(nb, log)
    return win

#----------------------------------------------------------------------


overview = """\
At long last there is finally a way to load any supported image type
directly from any Python file-like object, such as a memory buffer
using StringIO.  """


if __name__ == '__main__':
    import sys,os
    import run
    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
