@@ -643,6 +643,7 @@ protected:
|
|||||||
uint min_number_of_fixed_rows; ///< Minimal number of rows in the legends for the fixed layouts only (all except #SMT_INDUSTRY).
|
uint min_number_of_fixed_rows; ///< Minimal number of rows in the legends for the fixed layouts only (all except #SMT_INDUSTRY).
|
||||||
uint column_width; ///< Width of a column in the #WID_SM_LEGEND widget.
|
uint column_width; ///< Width of a column in the #WID_SM_LEGEND widget.
|
||||||
uint legend_width; ///< Width of legend 'blob'.
|
uint legend_width; ///< Width of legend 'blob'.
|
||||||
|
Point lmb_scroll_pt; ///< Starting point for scrolling minimap with left mouse button.
|
||||||
|
|
||||||
int32_t scroll_x; ///< Horizontal world coordinate of the base tile left of the top-left corner of the smallmap display.
|
int32_t scroll_x; ///< Horizontal world coordinate of the base tile left of the top-left corner of the smallmap display.
|
||||||
int32_t scroll_y; ///< Vertical world coordinate of the base tile left of the top-left corner of the smallmap display.
|
int32_t scroll_y; ///< Vertical world coordinate of the base tile left of the top-left corner of the smallmap display.
|
||||||
@@ -1645,6 +1646,18 @@ public:
|
|||||||
Window *w = GetMainWindow();
|
Window *w = GetMainWindow();
|
||||||
int sub;
|
int sub;
|
||||||
pt = this->PixelToTile(pt.x - wid->pos_x, pt.y - wid->pos_y, &sub);
|
pt = this->PixelToTile(pt.x - wid->pos_x, pt.y - wid->pos_y, &sub);
|
||||||
|
|
||||||
|
if (_settings_client.gui.scroll_mode == VSM_MAP_LMB) {
|
||||||
|
if (click_count > 0) {
|
||||||
|
this->lmb_scroll_pt.x = this->scroll_x + pt.x * TILE_SIZE;
|
||||||
|
this->lmb_scroll_pt.y = this->scroll_y + pt.y * TILE_SIZE;
|
||||||
|
} else {
|
||||||
|
this->SetNewScroll(this->lmb_scroll_pt.x - pt.x * TILE_SIZE, this->lmb_scroll_pt.y - pt.y * TILE_SIZE, 0);
|
||||||
|
this->SetDirty();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ScrollWindowTo(this->scroll_x + pt.x * TILE_SIZE, this->scroll_y + pt.y * TILE_SIZE, -1, w);
|
ScrollWindowTo(this->scroll_x + pt.x * TILE_SIZE, this->scroll_y + pt.y * TILE_SIZE, -1, w);
|
||||||
|
|
||||||
this->SetDirty();
|
this->SetDirty();
|
||||||
|
|||||||
Reference in New Issue
Block a user