diff options
Diffstat (limited to 'Tools/BiomeVisualiser/BiomeViewWnd.cpp')
-rw-r--r-- | Tools/BiomeVisualiser/BiomeViewWnd.cpp | 247 |
1 files changed, 0 insertions, 247 deletions
diff --git a/Tools/BiomeVisualiser/BiomeViewWnd.cpp b/Tools/BiomeVisualiser/BiomeViewWnd.cpp deleted file mode 100644 index 7fb61c062..000000000 --- a/Tools/BiomeVisualiser/BiomeViewWnd.cpp +++ /dev/null @@ -1,247 +0,0 @@ - -// BiomeViewWnd.cpp - -// Implements the cBiomeViewWnd class representing the window that displays biomes - -#include "Globals.h" -#include "BiomeViewWnd.h" -#include "BiomeCache.h" -#include "GeneratorBiomeSource.h" -#include "iniFile/iniFile.h" - - - - - -const int TIMER_RERENDER = 1200; - - - - - -cBiomeViewWnd::cBiomeViewWnd(void) : - m_Wnd(NULL), - m_Thunk(&cBiomeViewWnd::WndProc, this), - m_IsLButtonDown(false) -{ -} - - - - - -bool cBiomeViewWnd::Create(HWND a_ParentWnd, LPCTSTR a_Title) -{ - ASSERT(m_Wnd == NULL); - - InitBiomeView(); - - // Create a regular STATIC window, then override its window procedure with our own. No need for obnoxious RegisterWindowClass() stuff. - m_Wnd = CreateWindow("STATIC", a_Title, WS_OVERLAPPEDWINDOW | WS_VISIBLE, 0, 0, 400, 300, a_ParentWnd, NULL, GetModuleHandle(NULL), NULL); - if (m_Wnd == NULL) - { - LOGERROR("Cannot create main window: %d", GetLastError()); - return false; - } - SetWindowLongPtr(m_Wnd, GWLP_WNDPROC, m_Thunk); - - return true; -} - - - - - -void cBiomeViewWnd::InitBiomeView(void) -{ - cIniFile IniFile; - IniFile.ReadFile("world.ini"); - int Seed = IniFile.GetValueSetI("Generator", "Seed", 0); - bool CacheOffByDefault = false; - m_BiomeGen = cBiomeGen::CreateBiomeGen(IniFile, Seed, CacheOffByDefault); - m_Renderer.SetSource(new cGeneratorBiomeSource(m_BiomeGen)); - IniFile.WriteFile("world.ini"); -} - - - - - -void cBiomeViewWnd::SetZoom(int a_NewZoom) -{ - m_Renderer.SetZoom(a_NewZoom); - Redraw(); -} - - - - - -void cBiomeViewWnd::Redraw(void) -{ - if (m_Renderer.Render(m_Pixmap)) - { - SetTimer(m_Wnd, TIMER_RERENDER, 200, NULL); - } - InvalidateRect(m_Wnd, NULL, FALSE); -} - - - - - -LRESULT cBiomeViewWnd::WndProc(HWND a_Wnd, UINT a_Msg, WPARAM wParam, LPARAM lParam) -{ - switch (a_Msg) - { - case WM_CHAR: return OnChar (wParam, lParam); - case WM_CLOSE: return OnClose (); - case WM_COMMAND: return OnCommand (wParam, lParam); - case WM_LBUTTONDOWN: return OnLButtonDown(wParam, lParam); - case WM_LBUTTONUP: return OnLButtonUp (wParam, lParam); - case WM_MOUSEMOVE: return OnMouseMove (wParam, lParam); - case WM_PAINT: return OnPaint (); - case WM_TIMER: return OnTimer (wParam); - } - return ::DefWindowProc(a_Wnd, a_Msg, wParam, lParam); -} - - - - - -LRESULT cBiomeViewWnd::OnChar(WPARAM wParam, LPARAM lParam) -{ - switch (wParam) - { - case '1': SetZoom(1); break; - case '2': SetZoom(2); break; - case '3': SetZoom(3); break; - case '4': SetZoom(4); break; - case '5': SetZoom(5); break; - case '6': SetZoom(6); break; - case '7': SetZoom(7); break; - case '8': SetZoom(8); break; - case 27: - { - // Esc pressed, exit - PostQuitMessage(0); - break; - } - } - return 0; -} - - - - - -LRESULT cBiomeViewWnd::OnClose(void) -{ - PostQuitMessage(0); - return 0; -} - - - - - -LRESULT cBiomeViewWnd::OnCommand(WPARAM wParam, LPARAM lParam) -{ - // TODO: Handle menu commands, when we get menu - return 0; -} - - - - - -LRESULT cBiomeViewWnd::OnLButtonDown(WPARAM wParam, LPARAM lParam) -{ - m_IsLButtonDown = true; - GetCursorPos(&m_MouseDown); - return 0; -} - - - - - -LRESULT cBiomeViewWnd::OnMouseMove(WPARAM wParam, LPARAM lParam) -{ - if (!m_IsLButtonDown) - { - return 0; - } - POINT pnt; - GetCursorPos(&pnt); - m_Renderer.MoveViewBy(pnt.x - m_MouseDown.x, pnt.y - m_MouseDown.y); - m_MouseDown = pnt; - Redraw(); - return 0; -} - - - - - -LRESULT cBiomeViewWnd::OnLButtonUp(WPARAM wParam, LPARAM lParam) -{ - OnMouseMove(wParam, lParam); // Last movement - if the mouse move hasn't been reported due to speed - m_IsLButtonDown = false; - InvalidateRect(m_Wnd, NULL, FALSE); - return 0; -} - - - - - -LRESULT cBiomeViewWnd::OnPaint(void) -{ - PAINTSTRUCT ps; - HDC DC = BeginPaint(m_Wnd, &ps); - - RECT rc; - GetClientRect(m_Wnd, &rc); - int Wid = rc.right - rc.left; - int Hei = rc.bottom - rc.top; - if ((m_Pixmap.GetWidth() != Wid) || (m_Pixmap.GetHeight() != Hei)) - { - m_Pixmap.SetSize(Wid, Hei); - if (m_Renderer.Render(m_Pixmap)) - { - SetTimer(m_Wnd, TIMER_RERENDER, 200, NULL); - } - } - - m_Pixmap.DrawToDC(DC, 0, 0); - - EndPaint(m_Wnd, &ps); - return 0; -} - - - - - -LRESULT cBiomeViewWnd::OnTimer(WPARAM wParam) -{ - switch (wParam) - { - case TIMER_RERENDER: - { - if (!m_Renderer.Render(m_Pixmap)) - { - KillTimer(m_Wnd, TIMER_RERENDER); - } - InvalidateRect(m_Wnd, NULL, FALSE); - break; - } - } - return 0; -} - - - - |