diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-03-15 16:03:57 -0400 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-03-15 16:03:57 -0400 |
commit | 168b51517682b8d82fdbd6432af7511bb493c85f (patch) | |
tree | 810d4726ffa9325f5a5d2c345b6ea71a5c849a08 /tools/mapedit/src/widget.cpp | |
parent | 8702c11db08f78b6c91ef950ce280f2289b1a6e6 (diff) | |
download | therapy-168b51517682b8d82fdbd6432af7511bb493c85f.tar.gz therapy-168b51517682b8d82fdbd6432af7511bb493c85f.tar.bz2 therapy-168b51517682b8d82fdbd6432af7511bb493c85f.zip |
Added preview of tile to be placed under mouse in map editor
Diffstat (limited to 'tools/mapedit/src/widget.cpp')
-rw-r--r-- | tools/mapedit/src/widget.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/mapedit/src/widget.cpp b/tools/mapedit/src/widget.cpp index 47efa18..53249c7 100644 --- a/tools/mapedit/src/widget.cpp +++ b/tools/mapedit/src/widget.cpp | |||
@@ -7,6 +7,7 @@ BEGIN_EVENT_TABLE(MapeditWidget, wxScrolledWindow) | |||
7 | EVT_LEFT_DOWN(MapeditWidget::OnClick) | 7 | EVT_LEFT_DOWN(MapeditWidget::OnClick) |
8 | EVT_LEFT_UP(MapeditWidget::OnMouseUp) | 8 | EVT_LEFT_UP(MapeditWidget::OnMouseUp) |
9 | EVT_MOTION(MapeditWidget::OnMouseMove) | 9 | EVT_MOTION(MapeditWidget::OnMouseMove) |
10 | EVT_LEAVE_WINDOW(MapeditWidget::OnMouseOut) | ||
10 | END_EVENT_TABLE() | 11 | END_EVENT_TABLE() |
11 | 12 | ||
12 | MapeditWidget::MapeditWidget() | 13 | MapeditWidget::MapeditWidget() |
@@ -51,6 +52,20 @@ void MapeditWidget::OnPaint(wxPaintEvent& event) | |||
51 | dc.StretchBlit(x*TILE_WIDTH*scale-vX, y*TILE_HEIGHT*scale-vY, TILE_WIDTH*scale, TILE_HEIGHT*scale, &tiles_dc, tile%8*TILE_WIDTH, tile/8*TILE_HEIGHT, TILE_WIDTH, TILE_HEIGHT); | 52 | dc.StretchBlit(x*TILE_WIDTH*scale-vX, y*TILE_HEIGHT*scale-vY, TILE_WIDTH*scale, TILE_HEIGHT*scale, &tiles_dc, tile%8*TILE_WIDTH, tile/8*TILE_HEIGHT, TILE_WIDTH, TILE_HEIGHT); |
52 | } | 53 | } |
53 | } | 54 | } |
55 | |||
56 | if (mouseIsIn) | ||
57 | { | ||
58 | int tile = tileWidget->getSelected(); | ||
59 | int x = (mousePos.x + vX) / (TILE_WIDTH * scale); | ||
60 | int y = (mousePos.y + vY) / (TILE_HEIGHT * scale); | ||
61 | |||
62 | dc.StretchBlit(x*TILE_WIDTH*scale-vX, y*TILE_HEIGHT*scale-vY, TILE_WIDTH*scale, TILE_HEIGHT*scale, &tiles_dc, tile%8*TILE_WIDTH, tile/8*TILE_HEIGHT, TILE_WIDTH, TILE_HEIGHT); | ||
63 | |||
64 | wxPen pen(*wxGREEN, 2); | ||
65 | dc.SetPen(pen); | ||
66 | dc.SetBrush(*wxTRANSPARENT_BRUSH); | ||
67 | dc.DrawRectangle(x*TILE_WIDTH*scale-vX, y*TILE_HEIGHT*scale-vY, TILE_WIDTH*scale, TILE_HEIGHT*scale); | ||
68 | } | ||
54 | } | 69 | } |
55 | 70 | ||
56 | void MapeditWidget::SetTile(wxPoint pos) | 71 | void MapeditWidget::SetTile(wxPoint pos) |
@@ -80,6 +95,10 @@ void MapeditWidget::OnMouseMove(wxMouseEvent& event) | |||
80 | { | 95 | { |
81 | SetTile(event.GetPosition()); | 96 | SetTile(event.GetPosition()); |
82 | } | 97 | } |
98 | |||
99 | mouseIsIn = true; | ||
100 | mousePos = event.GetPosition(); | ||
101 | Refresh(); | ||
83 | } | 102 | } |
84 | 103 | ||
85 | void MapeditWidget::OnMouseUp(wxMouseEvent& event) | 104 | void MapeditWidget::OnMouseUp(wxMouseEvent& event) |
@@ -87,6 +106,13 @@ void MapeditWidget::OnMouseUp(wxMouseEvent& event) | |||
87 | mouseIsDown = false; | 106 | mouseIsDown = false; |
88 | } | 107 | } |
89 | 108 | ||
109 | void MapeditWidget::OnMouseOut(wxMouseEvent& event) | ||
110 | { | ||
111 | mouseIsIn = false; | ||
112 | |||
113 | Refresh(); | ||
114 | } | ||
115 | |||
90 | void MapeditWidget::ZoomIn() | 116 | void MapeditWidget::ZoomIn() |
91 | { | 117 | { |
92 | SetZoomSize(scale+1); | 118 | SetZoomSize(scale+1); |