/** * * rct2: 0x6ba4ff */ static void window_banner_mousedown(sint32 widgetIndex, rct_window*w, rct_widget* widget) { rct_banner* banner = &gBanners[w->number]; switch (widgetIndex) { case WIDX_MAIN_COLOUR: window_dropdown_show_colour(w, widget, TRANSLUCENT(w->colours[1]), banner->colour); break; case WIDX_TEXT_COLOUR_DROPDOWN_BUTTON: for( sint32 i = 0; i < 13; ++i){ gDropdownItemsFormat[i] = STR_DROPDOWN_MENU_LABEL; gDropdownItemsArgs[i] = BannerColouredTextFormats[i + 1]; } //Switch to the dropdown box widget. widget--; window_dropdown_show_text_custom_width( widget->left + w->x, widget->top + w->y, widget->bottom - widget->top + 1, w->colours[1], DROPDOWN_FLAG_STAY_OPEN, 13, widget->right - widget->left - 3); dropdown_set_checked(banner->text_colour - 1, true); break; } }
/* rct2: 0x6ba4ff */ static void window_banner_mousedown(int widgetIndex, rct_window*w, rct_widget* widget) { rct_banner* banner = &gBanners[w->number]; switch (widgetIndex) { case WIDX_MAIN_COLOR: window_dropdown_show_colour(w, widget, w->colours[1] | 0x80, banner->colour); break; case WIDX_TEXT_COLOR_DROPDOWN_BUTTON: for( int i = 0; i < 13; ++i){ gDropdownItemsFormat[i] = 1142; gDropdownItemsArgs[i] = 2997 + i; } //Switch to the dropdown box widget. widget--; window_dropdown_show_text_custom_width( widget->left + w->x, widget->top + w->y, widget->bottom - widget->top + 1, w->colours[1], 0x80, 13, widget->right - widget->left - 3); gDropdownItemsChecked = 1 << (banner->text_colour - 1); break; } }
void window_themes_scrollmousedown(rct_window *w, sint32 scrollIndex, sint32 x, sint32 y) { if (y / _row_height < get_colour_scheme_tab_count()) { sint32 y2 = y % _row_height; _colour_index_1 = y / _row_height; _colour_index_2 = ((x - _button_offset_x) / 12); rct_windowclass wc = get_window_class_tab_index(_colour_index_1); sint32 numColours = theme_desc_get_num_colours(wc); if (_colour_index_2 < numColours) { if (x >= _button_offset_x && x < _button_offset_x + 12 * 6 && y2 >= _button_offset_y && y2 < _button_offset_y + 11) { if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_THEMES_DESC_CANT_CHANGE_THIS_THEME); } else { window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].type = WWT_COLOURBTN; window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].left = _button_offset_x + _colour_index_2 * 12 + window_themes_widgets[WIDX_THEMES_LIST].left; window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].top = _colour_index_1 * _row_height + _button_offset_y - w->scrolls[0].v_top + window_themes_widgets[WIDX_THEMES_LIST].top; window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].right = window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].left + 12; window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].bottom = window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK].top + 12; uint8 colour = theme_get_colour(wc, _colour_index_2); window_dropdown_show_colour(w, &(window_themes_widgets[WIDX_THEMES_COLOURBTN_MASK]), w->colours[1], colour); widget_invalidate(w, WIDX_THEMES_LIST); } } else if (x >= _button_offset_x && x < _button_offset_x + 12 * 6 - 1 && y2 >= _check_offset_y && y2 < _check_offset_y + 11) { if (theme_get_flags() & UITHEME_FLAG_PREDEFINED) { window_error_open(STR_THEMES_ERR_CANT_CHANGE_THIS_THEME, STR_THEMES_DESC_CANT_CHANGE_THIS_THEME); } else { uint8 colour = theme_get_colour(wc, _colour_index_2); if (colour & COLOUR_FLAG_TRANSLUCENT) { colour &= ~COLOUR_FLAG_TRANSLUCENT; } else { colour |= COLOUR_FLAG_TRANSLUCENT; } theme_set_colour(wc, _colour_index_2, colour); colour_scheme_update_all(); window_invalidate_all(); } } } } }