void AG_ButtonSurfaceNODUP(AG_Button *bu, AG_Surface *su) { AG_ObjectLock(bu); if (bu->lbl != NULL) { AG_ObjectDetach(bu->lbl); AG_ObjectDestroy(bu->lbl); bu->lbl = NULL; } if (bu->surface != -1) { AG_WidgetReplaceSurfaceNODUP(bu, bu->surface, su); } else { bu->surface = AG_WidgetMapSurfaceNODUP(bu, su); } AG_ObjectUnlock(bu); AG_Redraw(bu); }
static void UpdatePreview(AG_FontSelector *fs) { AG_Variable *bFont; AG_Font **pFont; AG_Surface *s; bFont = AG_GetVariable(fs, "font", &pFont); AG_PushTextState(); if (*pFont != NULL) { AG_TextFont(*pFont); } s = AG_TextRender(_("The Quick Brown Fox Jumps Over The Lazy Dog")); if (fs->sPreview == -1) { fs->sPreview = AG_WidgetMapSurfaceNODUP(fs, s); } else { AG_WidgetReplaceSurfaceNODUP(fs, fs->sPreview, s); } AG_PopTextState(); AG_UnlockVariable(bFont); }