//
// Copyright 2005 The Android Open Source Project
//
// Window with simulated phone.
//
#ifndef _SIM_DEVICE_WINDOW_H
#define _SIM_DEVICE_WINDOW_H
#include "UserEvent.h"
#include "DeviceManager.h"
/*
* This window displays the device output.
*/
class DeviceWindow : public wxWindow {
public:
DeviceWindow(wxWindow* parent, DeviceManager* pDM);
virtual ~DeviceWindow(void);
#if 0 // can't work -- can't create bitmaps in other threads
/* this gets tucked into a user event */
class FrameData {
public:
FrameData(void)
: mDisplayIndex(-1), mpBitmap(NULL)
{}
~FrameData(void) {
delete mpBitmap;
}
void Create(int displayIndex, wxBitmap* pBitmap) {
mDisplayIndex = displayIndex;
mpBitmap = pBitmap;
}
int GetDisplayIndex(void) const { return mDisplayIndex; }
wxBitmap* GetBitmap(void) const { return mpBitmap; }
private:
int mDisplayIndex;
wxBitmap* mpBitmap;
};
#endif
void DeviceManagerClosing(void) { mpDeviceManager = NULL; }
private:
void OnKeyDown(wxKeyEvent& event);
void OnKeyUp(wxKeyEvent& event);
void OnMouseLeftDown(wxMouseEvent& event);
void OnMouseLeftUp(wxMouseEvent& event);
void OnMouseRightDown(wxMouseEvent& event);
void OnMouseRightUp(wxMouseEvent& event);
void OnMouseMotion(wxMouseEvent& event);
void OnSize(wxSizeEvent& WXUNUSED(event));
void OnErase(wxEraseEvent& event);
void OnPaint(wxPaintEvent& WXUNUSED(event));
void OnUserEvent(UserEvent& event);
void ClampMouse(wxMouseEvent* pEvent);
DeviceManager* mpDeviceManager;
wxBitmap mBitmap;
wxBitmap mOnionSkinBitmap;
bool mHasOnionSkinBitmap;
DECLARE_EVENT_TABLE()
};
#endif // _SIM_DEVICE_WINDOW_H