1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
Window::Window(const wxString& title) : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(500, 500))
{
Menu = new wxMenuBar;
File = new wxMenu;
Add = new wxMenu;
m_pDevice = NULL;
m_pDevice = new CDevice();
File->Append(wxID_ANY, wxT("&New"));
File->Append(wxID_ANY, wxT("&Open"));
File->Append(wxID_EXIT, wxT("&Quit"));
Add->Append(ID_ADD_CUBE, wxT("&Cube"));
Menu->Append(File, wxT("&File"));
Menu->Append(Add, wxT("&Add"));
SetMenuBar(Menu);
Connect(wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(Window::OnQuit));
Connect(ID_ADD_CUBE, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(Window::OnAddCube));
Connect(wxEVT_PAINT, wxPaintEventHandler(Window::OnRender));
WindowColor.Set(wxT("#ededed"));
PanelColor.Set(wxT("#ffffff"));
wxPanel * window = new wxPanel(this, -1);
window->SetBackgroundColour(WindowColor);
vbox = new wxBoxSizer(wxVERTICAL);
wxPanel * panel = new wxPanel(window, wxID_ANY);
panel->SetBackgroundColour(PanelColor);
vbox->Add(panel, 1, wxEXPAND | wxALL, 20);
window->SetSizer(vbox);
m_pDevice->InitD3D(panel->GetHWND(), 500, 500);
m_pTriangle = new CTriangle(m_pDevice);
Centre();
}
void Window::OnQuit(wxCommandEvent& WXUNUSED(event))
{
Close(true);
}
void Window::OnAddCube(wxCommandEvent& WXUNUSED(event))
{
wxMessageDialog * DialogBox = new wxMessageDialog(NULL, wxT("New Cube will load"),
wxT("Successful"), wxOK | wxICON_EXCLAMATION);
DialogBox->ShowModal();
g_pRenderManager->AddRenderObject(m_pTriangle);
}
void Window::OnRender(wxPaintEvent& event)
{
m_pDevice->Render();
}
|