| 1900 | } |
| 1901 | |
| 1902 | static void DecreaseWindowCounters() |
| 1903 | { |
| 1904 | if (_scroller_click_timeout != 0) _scroller_click_timeout--; |
| 1905 | |
| 1906 | for (Window *w : Window::Iterate()) { |
| 1907 | if (_scroller_click_timeout == 0) { |
| 1908 | /* Unclick scrollbar buttons if they are pressed. */ |
| 1909 | for (auto &pair : w->widget_lookup) { |
| 1910 | NWidgetBase *nwid = pair.second; |
| 1911 | if (nwid->type == NWID_HSCROLLBAR || nwid->type == NWID_VSCROLLBAR) { |
| 1912 | NWidgetScrollbar *sb = static_cast<NWidgetScrollbar*>(nwid); |
| 1913 | if (sb->disp_flags.Any({NWidgetDisplayFlag::ScrollbarUp, NWidgetDisplayFlag::ScrollbarDown})) { |
| 1914 | sb->disp_flags.Reset({NWidgetDisplayFlag::ScrollbarUp, NWidgetDisplayFlag::ScrollbarDown}); |
| 1915 | w->mouse_capture_widget = INVALID_WIDGET; |
| 1916 | sb->SetDirty(w); |
| 1917 | } |
| 1918 | } |
| 1919 | } |
| 1920 | } |
| 1921 | |
| 1922 | /* Handle editboxes */ |
| 1923 | for (auto &pair : w->querystrings) { |
| 1924 | pair.second->HandleEditBox(w, pair.first); |
| 1925 | } |
| 1926 | |
| 1927 | w->OnMouseLoop(); |
| 1928 | } |
| 1929 | |
| 1930 | for (Window *w : Window::Iterate()) { |
| 1931 | if (w->flags.Test(WindowFlag::Timeout) && --w->timeout_timer == 0) { |
| 1932 | w->flags.Reset(WindowFlag::Timeout); |
| 1933 | |
| 1934 | w->OnTimeout(); |
| 1935 | w->RaiseButtons(true); |
| 1936 | } |
| 1937 | } |
| 1938 | } |
| 1939 | |
| 1940 | static void HandlePlacePresize() |
| 1941 | { |
no test coverage detected