mirror of https://github.com/OpenTTD/OpenTTD
(svn r21665) -Codechange: Make GetCallbackWnd a method of _thd.
parent
703ff560c1
commit
22a13850cb
|
@ -482,7 +482,7 @@ public:
|
||||||
|
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
|
|
||||||
if (GetCallbackWnd() == this &&
|
if (_thd.GetCallbackWnd() == this &&
|
||||||
((_game_mode != GM_EDITOR && _settings_game.construction.raw_industry_construction == 2 && indsp != NULL && indsp->IsRawIndustry()) ||
|
((_game_mode != GM_EDITOR && _settings_game.construction.raw_industry_construction == 2 && indsp != NULL && indsp->IsRawIndustry()) ||
|
||||||
this->selected_type == INVALID_INDUSTRYTYPE ||
|
this->selected_type == INVALID_INDUSTRYTYPE ||
|
||||||
!this->enabled[this->selected_index])) {
|
!this->enabled[this->selected_index])) {
|
||||||
|
|
|
@ -75,6 +75,7 @@ struct TileHighlightData {
|
||||||
ViewportDragDropSelectionProcess select_proc; ///< The procedure that has to be called when the selection is done.
|
ViewportDragDropSelectionProcess select_proc; ///< The procedure that has to be called when the selection is done.
|
||||||
|
|
||||||
bool IsDraggingDiagonal();
|
bool IsDraggingDiagonal();
|
||||||
|
Window *GetCallbackWnd();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* TILEHIGHLIGHT_TYPE_H */
|
#endif /* TILEHIGHLIGHT_TYPE_H */
|
||||||
|
|
|
@ -1871,7 +1871,7 @@ static void PlaceObject()
|
||||||
_tile_fract_coords.x = pt.x & TILE_UNIT_MASK;
|
_tile_fract_coords.x = pt.x & TILE_UNIT_MASK;
|
||||||
_tile_fract_coords.y = pt.y & TILE_UNIT_MASK;
|
_tile_fract_coords.y = pt.y & TILE_UNIT_MASK;
|
||||||
|
|
||||||
w = GetCallbackWnd();
|
w = _thd.GetCallbackWnd();
|
||||||
if (w != NULL) w->OnPlaceObject(pt, TileVirtXY(pt.x, pt.y));
|
if (w != NULL) w->OnPlaceObject(pt, TileVirtXY(pt.x, pt.y));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2016,6 +2016,17 @@ bool TileHighlightData::IsDraggingDiagonal()
|
||||||
return (this->place_mode & HT_DIAGONAL) != 0 && _ctrl_pressed && _left_button_down;
|
return (this->place_mode & HT_DIAGONAL) != 0 && _ctrl_pressed && _left_button_down;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the window that started the current highlighting.
|
||||||
|
* @return The window that requested the current tile highlighting, or \c NULL if not available.
|
||||||
|
*/
|
||||||
|
Window *TileHighlightData::GetCallbackWnd()
|
||||||
|
{
|
||||||
|
return FindWindowById(this->window_class, this->window_number);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates tile highlighting for all cases.
|
* Updates tile highlighting for all cases.
|
||||||
* Uses _thd.selstart and _thd.selend and _thd.place_mode (set elsewhere) to determine _thd.pos and _thd.size
|
* Uses _thd.selstart and _thd.selend and _thd.place_mode (set elsewhere) to determine _thd.pos and _thd.size
|
||||||
|
|
|
@ -1400,16 +1400,11 @@ static void DecreaseWindowCounters()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Window *GetCallbackWnd()
|
|
||||||
{
|
|
||||||
return FindWindowById(_thd.window_class, _thd.window_number);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void HandlePlacePresize()
|
static void HandlePlacePresize()
|
||||||
{
|
{
|
||||||
if (_special_mouse_mode != WSM_PRESIZE) return;
|
if (_special_mouse_mode != WSM_PRESIZE) return;
|
||||||
|
|
||||||
Window *w = GetCallbackWnd();
|
Window *w = _thd.GetCallbackWnd();
|
||||||
if (w == NULL) return;
|
if (w == NULL) return;
|
||||||
|
|
||||||
Point pt = GetTileBelowCursor();
|
Point pt = GetTileBelowCursor();
|
||||||
|
@ -1430,7 +1425,7 @@ static EventState HandleDragDrop()
|
||||||
if (_special_mouse_mode != WSM_DRAGDROP) return ES_NOT_HANDLED;
|
if (_special_mouse_mode != WSM_DRAGDROP) return ES_NOT_HANDLED;
|
||||||
if (_left_button_down) return ES_HANDLED;
|
if (_left_button_down) return ES_HANDLED;
|
||||||
|
|
||||||
Window *w = GetCallbackWnd();
|
Window *w = _thd.GetCallbackWnd();
|
||||||
|
|
||||||
if (w != NULL) {
|
if (w != NULL) {
|
||||||
/* send an event in client coordinates. */
|
/* send an event in client coordinates. */
|
||||||
|
@ -1454,7 +1449,7 @@ static EventState HandleMouseDrag()
|
||||||
if (_special_mouse_mode != WSM_DRAGDROP) return ES_NOT_HANDLED;
|
if (_special_mouse_mode != WSM_DRAGDROP) return ES_NOT_HANDLED;
|
||||||
if (!_left_button_down || (_cursor.delta.x == 0 && _cursor.delta.y == 0)) return ES_NOT_HANDLED;
|
if (!_left_button_down || (_cursor.delta.x == 0 && _cursor.delta.y == 0)) return ES_NOT_HANDLED;
|
||||||
|
|
||||||
Window *w = GetCallbackWnd();
|
Window *w = _thd.GetCallbackWnd();
|
||||||
|
|
||||||
if (w != NULL) {
|
if (w != NULL) {
|
||||||
/* Send an event in client coordinates. */
|
/* Send an event in client coordinates. */
|
||||||
|
|
|
@ -821,8 +821,6 @@ enum SpecialMouseMode {
|
||||||
};
|
};
|
||||||
extern SpecialMouseMode _special_mouse_mode;
|
extern SpecialMouseMode _special_mouse_mode;
|
||||||
|
|
||||||
Window *GetCallbackWnd();
|
|
||||||
|
|
||||||
void SetFocusedWindow(Window *w);
|
void SetFocusedWindow(Window *w);
|
||||||
|
|
||||||
void ScrollbarClickHandler(Window *w, NWidgetCore *nw, int x, int y);
|
void ScrollbarClickHandler(Window *w, NWidgetCore *nw, int x, int y);
|
||||||
|
|
Loading…
Reference in New Issue