static void dock_brush_get(WDock *dock) { dock_brush_release(dock); dock->brush=gr_get_brush(((WWindow*)dock)->win, region_rootwin_of((WRegion*)dock), "stdisp-dock"); }
bool region_enter_fullscreen(WRegion *reg, bool switchto) { WScreen *scr=region_screen_of(reg); if(scr==NULL){ scr=rootwin_current_scr(region_rootwin_of(reg)); if(scr==NULL) return FALSE; } return region_fullscreen_scr(reg, scr, switchto); }
void menu_updategr(WMenu *menu) { if(!menu_init_gr(menu, region_rootwin_of((WRegion*)menu), MENU_WIN(menu))){ return; } menu_do_refit(menu, NULL, &(menu->last_fp)); region_updategr_default((WRegion*)menu); window_draw((WWindow*)menu, TRUE); }
static void panehandle_getbrush(WPaneHandle *pwin) { GrBrush *brush=gr_get_brush(pwin->wwin.win, region_rootwin_of((WRegion*)pwin), "pane"); if(brush!=NULL){ if(pwin->brush!=NULL) grbrush_release(pwin->brush); pwin->brush=brush; grbrush_get_border_widths(brush, &(pwin->bdw)); grbrush_enable_transparency(brush, GR_TRANSPARENCY_YES); } }
static void moveres_draw_rubberband(WMoveresMode *mode) { WRectangle rgeom=mode->geom; WRootWin *rootwin=(mode->reg==NULL ? NULL : region_rootwin_of(mode->reg)); if(rootwin==NULL) return; rgeom.x+=mode->parent_rx; rgeom.y+=mode->parent_ry; if(mode->rubfn==NULL) draw_rubberbox(rootwin, &rgeom); else mode->rubfn(rootwin, &rgeom); }
void infowin_updategr(WInfoWin *p) { GrBrush *nbrush; assert(p->style!=NULL); nbrush=gr_get_brush(p->wwin.win, region_rootwin_of((WRegion*)p), p->style); if(nbrush==NULL) return; if(p->brush!=NULL) grbrush_release(p->brush); p->brush=nbrush; window_draw(&(p->wwin), TRUE); }
bool window_do_init(WWindow *wwin, WWindow *par, const WFitParams *fp, Window win, const char *name) { if(win==None){ assert(par!=NULL); win=create_xwindow(region_rootwin_of((WRegion*)par), par->win, &(fp->g), name); if(win==None) return FALSE; } wwin->win=win; wwin->xic=NULL; wwin->event_mask=0; wwin->stacking=NULL; region_init(&(wwin->region), par, fp); XSaveContext(ioncore_g.dpy, win, ioncore_g.win_context, (XPointer)wwin); return TRUE; }
bool menu_init(WMenu *menu, WWindow *par, const WFitParams *fp, const WMenuCreateParams *params) { Window win; int i; menu->entries=preprocess_menu(params->tab, &(menu->n_entries)); if(menu->entries==NULL){ warn(TR("Empty menu.")); return FALSE; } menu->tab=extl_ref_table(params->tab); menu->handler=extl_ref_fn(params->handler); menu->pmenu_mode=params->pmenu_mode; menu->big_mode=params->big_mode; /*menu->cycle_bindmap=NULL;*/ menu->last_fp=*fp; if(params->pmenu_mode){ menu->selected_entry=-1; }else{ menu->selected_entry=params->initial-1; if(menu->selected_entry<0) menu->selected_entry=0; if(params->initial > menu->n_entries) menu->selected_entry=0; } menu->max_entry_w=0; menu->entry_h=0; menu->brush=NULL; menu->entry_brush=NULL; menu->entry_spacing=0; menu->vis_entries=menu->n_entries; menu->first_entry=0; menu->submenu=NULL; menu->typeahead=NULL; menu->gm_kcb=0; menu->gm_state=0; if(!window_init((WWindow*)menu, par, fp)) goto fail; win=menu->win.win; if(!menu_init_gr(menu, region_rootwin_of((WRegion*)par), win)) goto fail2; init_attr(); menu_firstfit(menu, params->submenu_mode, &(params->refg)); window_select_input(&(menu->win), IONCORE_EVENTMASK_NORMAL); region_add_bindmap((WRegion*)menu, mod_menu_menu_bindmap); region_register((WRegion*)menu); return TRUE; fail2: window_deinit((WWindow*)menu); fail: extl_unref_table(menu->tab); extl_unref_fn(menu->handler); deinit_entries(menu); return FALSE; }