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() |