• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2005 The Android Open Source Project
3 //
4 // Window with simulated phone.
5 //
6 #ifndef _SIM_DEVICE_WINDOW_H
7 #define _SIM_DEVICE_WINDOW_H
8 
9 #include "UserEvent.h"
10 #include "DeviceManager.h"
11 
12 /*
13  * This window displays the device output.
14  */
15 class DeviceWindow : public wxWindow {
16 public:
17     DeviceWindow(wxWindow* parent, DeviceManager* pDM);
18     virtual ~DeviceWindow(void);
19 
20 #if 0       // can't work -- can't create bitmaps in other threads
21     /* this gets tucked into a user event */
22     class FrameData {
23     public:
24         FrameData(void)
25             : mDisplayIndex(-1), mpBitmap(NULL)
26             {}
27         ~FrameData(void) {
28             delete mpBitmap;
29         }
30 
31         void Create(int displayIndex, wxBitmap* pBitmap) {
32             mDisplayIndex = displayIndex;
33             mpBitmap = pBitmap;
34         }
35 
36         int GetDisplayIndex(void) const { return mDisplayIndex; }
37         wxBitmap* GetBitmap(void) const { return mpBitmap; }
38 
39     private:
40         int         mDisplayIndex;
41         wxBitmap*   mpBitmap;
42     };
43 #endif
44 
DeviceManagerClosing(void)45     void DeviceManagerClosing(void) { mpDeviceManager = NULL; }
46 
47 private:
48     void OnKeyDown(wxKeyEvent& event);
49     void OnKeyUp(wxKeyEvent& event);
50     void OnMouseLeftDown(wxMouseEvent& event);
51     void OnMouseLeftUp(wxMouseEvent& event);
52     void OnMouseRightDown(wxMouseEvent& event);
53     void OnMouseRightUp(wxMouseEvent& event);
54     void OnMouseMotion(wxMouseEvent& event);
55     void OnSize(wxSizeEvent& WXUNUSED(event));
56     void OnErase(wxEraseEvent& event);
57     void OnPaint(wxPaintEvent& WXUNUSED(event));
58     void OnUserEvent(UserEvent& event);
59 
60     void ClampMouse(wxMouseEvent* pEvent);
61 
62     DeviceManager*  mpDeviceManager;
63     wxBitmap    mBitmap;
64     wxBitmap	mOnionSkinBitmap;
65     bool        mHasOnionSkinBitmap;
66 
67     DECLARE_EVENT_TABLE()
68 };
69 
70 #endif // _SIM_DEVICE_WINDOW_H
71