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