From 3e989517ec46c40a82671620577c40765c94a41f Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sun, 15 Mar 2015 11:19:20 -0400 Subject: Added basic ability to set tiles in map editor --- tools/mapedit/src/tile_widget.cpp | 76 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 tools/mapedit/src/tile_widget.cpp (limited to 'tools/mapedit/src/tile_widget.cpp') diff --git a/tools/mapedit/src/tile_widget.cpp b/tools/mapedit/src/tile_widget.cpp new file mode 100644 index 0000000..423b7c0 --- /dev/null +++ b/tools/mapedit/src/tile_widget.cpp @@ -0,0 +1,76 @@ +#include "tile_widget.h" +#include "map.h" + +IMPLEMENT_DYNAMIC_CLASS(TileWidget,wxControl) + +BEGIN_EVENT_TABLE(TileWidget, wxControl) + EVT_PAINT(TileWidget::OnPaint) + EVT_LEFT_DOWN(TileWidget::OnClick) +END_EVENT_TABLE() + +TileWidget::TileWidget() +{ + Init(); +} + +TileWidget::TileWidget(wxWindow* parent, wxWindowID winid, int numTilesWidth, const wxPoint& pos, const wxSize& size) + : wxControl(parent, winid, pos, size), numTilesWidth(numTilesWidth) +{ + Init(); +} + +int TileWidget::getSelected() +{ + return selected; +} + +void TileWidget::Init() +{ + tiles = wxBitmap(wxImage("../../../res/tiles.png")); + numTiles = 50; +} + +void TileWidget::OnPaint(wxPaintEvent& event) +{ + wxPaintDC dc(this); + wxMemoryDC tiles_dc; + tiles_dc.SelectObject(tiles); + wxRegionIterator upd(GetUpdateRegion()); + int vW = upd.GetW(); + int vH = upd.GetH(); + + wxPen pen(*wxGREEN, 2); + dc.SetPen(pen); + dc.SetBrush(*wxTRANSPARENT_BRUSH); + + double endWidth = (double) vW / (double) numTilesWidth; + double endHeight = TILE_HEIGHT * (endWidth / (double) TILE_WIDTH); + + for (int i=0; i