コード例 #1
0
ファイル: dock.c プロジェクト: dkogan/notion
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");
}
コード例 #2
0
ファイル: fullscreen.c プロジェクト: JoeNotCharles/notion
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);
}
コード例 #3
0
ファイル: menu.c プロジェクト: Soren-Nordstrom/Ion3
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);
}
コード例 #4
0
ファイル: panehandle.c プロジェクト: Soren-Nordstrom/Ion3
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);
    }
}
コード例 #5
0
ファイル: resize.c プロジェクト: dkogan/notion
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);
}
コード例 #6
0
ファイル: infowin.c プロジェクト: Soren-Nordstrom/Ion3
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);
}
コード例 #7
0
ファイル: window.c プロジェクト: fargies/notion
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;
}
コード例 #8
0
ファイル: menu.c プロジェクト: Soren-Nordstrom/Ion3
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;
}