static HRESULT get_text_color(button_theme_t *theme, int part_id, int state_id, GdkRGBA *rgba) { GtkWidget *widget; GtkStateFlags state; GtkStyleContext *context; switch (part_id) { case BP_PUSHBUTTON: widget = get_button_label(theme); state = get_push_button_state_flags(state_id); break; case BP_RADIOBUTTON: widget = get_radio_label(theme); state = get_radio_button_state_flags(state_id); break; case BP_CHECKBOX: widget = get_check_label(theme); state = get_checkbox_state_flags(state_id); break; case BP_GROUPBOX: widget = get_label(theme); state = get_groupbox_state_flags(state_id); break; default: FIXME("Unsupported button part %d.\n", part_id); return E_NOTIMPL; } context = pgtk_widget_get_style_context(widget); pgtk_style_context_get_color(context, state, rgba); return S_OK; }
static HRESULT get_text_color(uxgtk_theme_t *theme, int part_id, int state_id, GdkRGBA *rgba) { GtkStateFlags state; GtkStyleContext *context; assert(theme != NULL); switch (part_id) { case WP_DIALOG: state = GTK_STATE_FLAG_NORMAL; context = pgtk_widget_get_style_context(theme->window); break; default: FIXME("Unsupported window part %d.\n", part_id); return E_NOTIMPL; } pgtk_style_context_get_color(context, state, rgba); return S_OK; }