static int gtkListSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { if (ih->data->is_dropdown) { GtkCellRenderer* renderer = (GtkCellRenderer*)iupAttribGet(ih, "_IUPGTK_RENDERER"); if (renderer) { g_object_set(G_OBJECT(renderer), "font-desc", (PangoFontDescription*)iupgtkGetPangoFontDescAttrib(ih), NULL); iupgtkFontUpdateObjectPangoLayout(ih, G_OBJECT(renderer)); } } if (ih->data->has_editbox) { GtkEntry* entry = (GtkEntry*)iupAttribGet(ih, "_IUPGTK_ENTRY"); gtk_widget_modify_font((GtkWidget*)entry, (PangoFontDescription*)iupgtkGetPangoFontDescAttrib(ih)); iupgtkFontUpdatePangoLayout(ih, gtk_entry_get_layout(entry)); } } return 1; }
static int motTabsSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) motTabsUpdatePageFont(ih); return 1; }
static int winListSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { winListUpdateItemWidth(ih); winListUpdateScrollWidth(ih); } return 1; }
static int gtkButtonSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { GtkLabel* label = gtkButtonGetLabel(ih); if (label) iupgtkUpdateWidgetFont(ih, (GtkWidget*)label); } return 1; }
static int winDatePickSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { HFONT hFont = (HFONT)SendMessage(ih->handle, WM_GETFONT, 0, 0); SendMessage(ih->handle, DTM_SETMCFONT, (WPARAM)hFont, (LPARAM)TRUE); /* not working in Windows 10 (not tested in 7 or 8) - works in XP */ } return 1; }
static int gtkFrameSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { GtkWidget* label = gtk_frame_get_label_widget((GtkFrame*)ih->handle); if (label) iupgtkUpdateWidgetFont(ih, (GtkWidget*)label); } return 1; }
static int gtkToggleSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { GtkWidget* label = gtk_button_get_image((GtkButton*)ih->handle); if (label) iupgtkUpdateWidgetFont(ih, label); } return 1; }
static int gtkFrameSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { GtkWidget* label = gtk_frame_get_label_widget((GtkFrame*)ih->handle); if (!label) return 1; gtk_widget_modify_font(label, (PangoFontDescription*)iupgtkGetPangoFontDescAttrib(ih)); iupgtkFontUpdatePangoLayout(ih, gtk_label_get_layout((GtkLabel*)label)); } return 1; }
static int gtkToggleSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { GtkWidget* label = gtk_button_get_image((GtkButton*)ih->handle); if (!label) return 1; gtk_widget_modify_font(label, (PangoFontDescription*)iupgtkGetPangoFontDescAttrib(ih)); if (ih->data->type == IUP_TOGGLE_TEXT) iupgtkFontUpdatePangoLayout(ih, gtk_label_get_layout((GtkLabel*)label)); } return 1; }
static int motFrameSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { XmFontList fontlist; Widget title_label = (Widget)iupAttribGet(ih, "_IUPMOT_FRAMELABEL"); if (!title_label) return 1; fontlist = (XmFontList)iupmotGetFontListAttrib(ih); XtVaSetValues(title_label, XmNrenderTable, fontlist, NULL); } return 1; }
static int gtkButtonSetStandardFontAttrib(Ihandle* ih, const char* value) { iupdrvSetStandardFontAttrib(ih, value); if (ih->handle) { GtkLabel* label = gtkButtonGetLabel(ih); if (!label) return 1; #if GTK_CHECK_VERSION(3, 0, 0) gtk_widget_override_font((GtkWidget*)label, (PangoFontDescription*)iupgtkGetPangoFontDescAttrib(ih)); #else gtk_widget_modify_font((GtkWidget*)label, (PangoFontDescription*)iupgtkGetPangoFontDescAttrib(ih)); #endif if (ih->data->type == IUP_BUTTON_TEXT) /* text only */ iupgtkFontUpdatePangoLayout(ih, gtk_label_get_layout(label)); } return 1; }