| Index: scripts/newbitmaps/lib/pixdisplay.py
|
| diff --git a/scripts/newbitmaps/lib/pixdisplay.py b/scripts/newbitmaps/lib/pixdisplay.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..0d40580b9f57304003281176797c618b9265b9da
|
| --- /dev/null
|
| +++ b/scripts/newbitmaps/lib/pixdisplay.py
|
| @@ -0,0 +1,62 @@
|
| +#!/usr/bin/python -tt
|
| +# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
|
| +# Use of this source code is governed by a BSD-style license that can be
|
| +# found in the LICENSE file.
|
| +
|
| +"""Display for bmpblock object."""
|
| +import wx
|
| +
|
| +class MyPanel(wx.Panel):
|
| +
|
| + def __init__(self, parent):
|
| + wx.Panel.__init__(self, parent, wx.ID_ANY)
|
| + self.Bind(wx.EVT_PAINT, self.OnPaint)
|
| + self.parent = parent
|
| + self.imglist = ()
|
| +
|
| + def OnPaint(self, evt=None):
|
| + if (evt):
|
| + dc = wx.PaintDC(self)
|
| + else:
|
| + dc = wx.ClientDC(self)
|
| +
|
| + done_first = False
|
| + # The first image in the sequence may be used by the BIOS to set the
|
| + # display resolution. Regardless, it should match the desired or default
|
| + # resolution so that any previous screens get cleared.
|
| + for x, y, filename in self.imglist:
|
| + img = wx.Image(filename, wx.BITMAP_TYPE_ANY)
|
| + if (not done_first):
|
| + size = img.GetSize()
|
| + self.SetMinSize(size)
|
| + self.SetSize(size)
|
| + self.Fit()
|
| + w,h = self.parent.GetBestSize()
|
| + self.parent.SetDimensions(-1, -1, w, h, wx.SIZE_AUTO)
|
| + done_first = True
|
| + bmp = img.ConvertToBitmap()
|
| + dc.DrawBitmap(bmp, x, y)
|
| +
|
| +
|
| +class Frame(wx.Frame):
|
| +
|
| + def __init__(self, bmpblock=None, title=None):
|
| + wx.Frame.__init__(self, None, wx.ID_ANY, title=title)
|
| + self.CreateStatusBar()
|
| + self.SetStatusText(title)
|
| + self.Bind(wx.EVT_CLOSE, self.OnQuit)
|
| +
|
| + self.bmpblock = bmpblock
|
| + if self.bmpblock:
|
| + self.bmpblock.RegisterScreenDisplayObject(self)
|
| +
|
| + self.p = MyPanel(self)
|
| +
|
| +
|
| + def OnQuit(self, event):
|
| + wx.GetApp().ExitMainLoop()
|
| +
|
| + def DisplayScreen(self, name, imglist):
|
| + self.SetStatusText(name)
|
| + self.p.imglist = imglist
|
| + self.p.OnPaint()
|
|
|