void main_draw_group_title (DdbListview *listview, cairo_t *drawable, DdbListviewIter it, int x, int y, int width, int height) { if (group_by_str && group_by_str[0]) { char str[1024]; deadbeef->pl_format_title ((DB_playItem_t *)it, -1, str, sizeof (str), -1, group_by_str); char *lb = strchr (str, '\r'); if (lb) { *lb = 0; } lb = strchr (str, '\n'); if (lb) { *lb = 0; } int theming = !gtkui_override_listview_colors (); if (theming) { GdkColor *clr = >k_widget_get_style(theme_treeview)->fg[GTK_STATE_NORMAL]; float rgb[] = {clr->red/65535.f, clr->green/65535.f, clr->blue/65535.f}; draw_set_fg_color (&listview->grpctx, rgb); } else { GdkColor clr; gtkui_get_listview_group_text_color (&clr); float rgb[] = {clr.red/65535.f, clr.green/65535.f, clr.blue/65535.f}; draw_set_fg_color (&listview->grpctx, rgb); } int ew, eh; draw_get_text_extents (&listview->grpctx, str, -1, &ew, &eh); draw_text_custom (&listview->grpctx, x + 5, y + height/2 - draw_get_listview_rowheight (&listview->grpctx)/2 + 3, ew+5, 0, DDB_GROUP_FONT, 0, 0, str); draw_line (&listview->grpctx, x + 5 + ew + 3, y+height/2, x + width, y+height/2); } }
void main_draw_group_title (DdbListview *listview, GdkDrawable *drawable, DdbListviewIter it, int x, int y, int width, int height) { if (group_by_str && group_by_str[0]) { char str[1024]; deadbeef->pl_format_title ((DB_playItem_t *)it, -1, str, sizeof (str), -1, group_by_str); int theming = !gtkui_override_listview_colors (); if (theming) { GdkColor *clr = &theme_treeview->style->fg[GTK_STATE_NORMAL]; float rgb[] = {clr->red/65535.f, clr->green/65535.f, clr->blue/65535.f}; draw_set_fg_color (rgb); } else { GdkColor clr; gtkui_get_listview_text_color (&clr); float rgb[] = {clr.red/65535.f, clr.green/65535.f, clr.blue/65535.f}; draw_set_fg_color (rgb); } int ew, eh; draw_get_text_extents (str, -1, &ew, &eh); draw_text (x + 5, y + height/2 - draw_get_font_size ()/2 - 2, ew+5, 0, str); draw_line (x + 5 + ew + 3, y+height/2, x + width, y+height/2); } }