#include "tool.h" /* Tool */ Tool::Tool(Terrain *terrain) { this->terrain = terrain; } void Tool::gui_show() { gui->show(); } void Tool::gui_hide() { gui->hide(); } void Tool::gui_update() { gui->update(); } /* RaiseTool */ RaiseTool::RaiseTool(Terrain *terrain) : Tool(terrain) { gui = new RaiseWindow(); gui_hide(); } RaiseTool::~RaiseTool() { delete gui; } bool RaiseTool::handle_event(SDL_Event& event, Vector3& selected) { RaiseWindow *wnd = static_cast(gui); switch(event.type) { case SDL_MOUSEBUTTONUP: switch(event.button.button) { case SDL_BUTTON_WHEELUP: terrain->raise(selected.x, selected.z, wnd->get_radius(), wnd->get_focus(), wnd->get_strength()); return true; case SDL_BUTTON_WHEELDOWN: terrain->raise(selected.x, selected.z, wnd->get_radius(), wnd->get_focus(), wnd->get_strength(), false); return true; } } return false; } const char* RaiseTool::get_name() { return "RaiseTool"; }