Exemple #1
0
int
ompi_win_allocate_shared(size_t size, int disp_unit, opal_info_t *info,
                         ompi_communicator_t *comm, void *baseptr, ompi_win_t **newwin)
{
    ompi_win_t *win;
    int model;
    int ret;
    void *base;

    ret = alloc_window (comm, info, MPI_WIN_FLAVOR_SHARED, &win);
    if (OMPI_SUCCESS != ret) {
        return ret;
    }

    ret = ompi_osc_base_select(win, &base, size, disp_unit, comm, info, MPI_WIN_FLAVOR_SHARED, &model);
    if (OMPI_SUCCESS != ret) {
        OBJ_RELEASE(win);
        return ret;
    }

    ret = config_window(base, size, disp_unit, MPI_WIN_FLAVOR_SHARED, model, win);
    if (OMPI_SUCCESS != ret) {
        OBJ_RELEASE(win);
        return ret;
    }

    *((void**) baseptr) = base;
    *newwin = win;

    return OMPI_SUCCESS;
}
Exemple #2
0
int
ompi_win_create_dynamic(opal_info_t *info, ompi_communicator_t *comm, ompi_win_t **newwin)
{
    ompi_win_t *win;
    int model;
    int ret;

    ret = alloc_window (comm, info, MPI_WIN_FLAVOR_DYNAMIC, &win);
    if (OMPI_SUCCESS != ret) {
        return ret;
    }

    ret = ompi_osc_base_select(win, MPI_BOTTOM, 0, 1, comm, info, MPI_WIN_FLAVOR_DYNAMIC, &model);
    if (OMPI_SUCCESS != ret) {
        OBJ_RELEASE(win);
        return ret;
    }

    ret = config_window(MPI_BOTTOM, 0, 1, MPI_WIN_FLAVOR_DYNAMIC, model, win);
    if (OMPI_SUCCESS != ret) {
        OBJ_RELEASE(win);
        return ret;
    }

    *newwin = win;

    return OMPI_SUCCESS;
}
Exemple #3
0
int
ompi_win_create(void *base, size_t size,
                int disp_unit, ompi_communicator_t *comm,
                opal_info_t *info,
                ompi_win_t** newwin)
{
    ompi_win_t *win;
    int model;
    int ret;

    ret = alloc_window (comm, info, MPI_WIN_FLAVOR_CREATE, &win);
    if (OMPI_SUCCESS != ret) {
        return ret;
    }

    ret = ompi_osc_base_select(win, &base, size, disp_unit, comm, info, MPI_WIN_FLAVOR_CREATE, &model);
    if (OMPI_SUCCESS != ret) {
        OBJ_RELEASE(win);
        return ret;
    }

    ret = config_window(base, size, disp_unit, MPI_WIN_FLAVOR_CREATE, model, win);
    if (OMPI_SUCCESS != ret) {
        OBJ_RELEASE(win);
        return ret;
    }

    *newwin = win;

    return OMPI_SUCCESS;
}
Exemple #4
0
static int config(struct vo *vo, uint32_t width, uint32_t height,
                  uint32_t d_width, uint32_t d_height, uint32_t flags,
                  uint32_t format)
{
    struct gl_priv *p = vo->priv;

    mpgl_lock(p->glctx);

    if (!config_window(p, d_width, d_height, flags)) {
        mpgl_unlock(p->glctx);
        return -1;
    }

    if (p->glctx->register_resize_callback) {
        p->glctx->register_resize_callback(vo, video_resize_redraw_callback);
    }

    gl_video_config(p->renderer, format, width, height,
                    p->vo->aspdat.prew, p->vo->aspdat.preh);

    p->vo_flipped = !!(flags & VOFLAG_FLIPPING);

    resize(p);

    mpgl_unlock(p->glctx);

    return 0;
}
Exemple #5
0
int
ompi_win_allocate(size_t size, int disp_unit, ompi_info_t *info,
                  ompi_communicator_t *comm, void *baseptr, ompi_win_t **newwin)
{
    ompi_win_t *win;
    int model;
    int ret;
    void *base;

    win = alloc_window(comm);
    if (NULL == win) return OMPI_ERR_OUT_OF_RESOURCE;

    ret = ompi_osc_base_select(win, &base, size, disp_unit, comm, info, MPI_WIN_FLAVOR_ALLOCATE, &model);
    if (OMPI_SUCCESS != ret) {
        OBJ_RELEASE(win);
        return ret;
    }

    ret = config_window(base, size, disp_unit, MPI_WIN_FLAVOR_ALLOCATE, model, win);
    if (OMPI_SUCCESS != ret) {
        OBJ_RELEASE(win);
        return ret;
    }

    *((void**) baseptr) = base;
    *newwin = win;

    return OMPI_SUCCESS;
}
Exemple #6
0
static int preinit(struct vo *vo, const char *arg)
{
    struct gl_priv *p = vo->priv;
    p->vo = vo;

    p->glctx = mpgl_init(vo, p->backend);
    if (!p->glctx)
        goto err_out;
    p->gl = p->glctx->gl;

    if (!config_window(p, 320, 200, VOFLAG_HIDDEN))
        goto err_out;

    mpgl_set_context(p->glctx);

    if (p->gl->SwapInterval)
        p->gl->SwapInterval(p->swap_interval);

    p->renderer = gl_video_init(p->gl);
    gl_video_set_output_depth(p->renderer, p->glctx->depth_r, p->glctx->depth_g,
                              p->glctx->depth_b);
    gl_video_set_options(p->renderer, p->renderer_opts);

    if (p->icc_opts->profile) {
        struct lut3d *lut3d = mp_load_icc(p->icc_opts);
        if (!lut3d)
            goto err_out;
        gl_video_set_lut3d(p->renderer, lut3d);
        talloc_free(lut3d);
    }

    mpgl_unset_context(p->glctx);

    return 0;

err_out:
    uninit(vo);
    return -1;
}
Exemple #7
0
int main (int   argc,char *argv[])
{
	Persona p;
	Familia f;
	open_file(&p,&f);
	make_tree(&f);
	set_position(&f);
	
	GtkWidget *window;  
	GtkWidget *paned_container_horizontal;
	GtkWidget *paned_container_vertical;
	GtkWidget *fixed_container;
	GtkWidget *list_container;
	GtkWidget *drawing_area;
	GtkWidget *scroll_draw_zone;
	GtkWidget *scroll_tree_zone;
	GtkWidget *scroll_list_zone;
	GtkWidget *memberTextArea;
	GtkWidget *tree_box;
	GtkWidget *list_box;
	
	gtk_init (&argc, &argv);

	// Configuracion de Ventana
	main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	window = main_window;
	config_window(GTK_WINDOW(window),WIDTH,HEIGHT,"Arbol Genealogico",TRUE);
	// Configuracion de ventana que muestra los datos de las familias

	
	// Configuracion de Container
	paned_container_horizontal =  gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
	paned_container_vertical   =  gtk_paned_new (GTK_ORIENTATION_VERTICAL);
	gtk_container_set_border_width (GTK_CONTAINER (window), 0);
	gtk_container_add (GTK_CONTAINER (window), paned_container_horizontal);
	fixed_container = gtk_fixed_new();
	list_container = gtk_fixed_new();
	drawing_area = gtk_drawing_area_new();
	gtk_widget_set_size_request (GTK_WIDGET(drawing_area), 2000, 2000);

	scroll_draw_zone = gtk_scrolled_window_new(NULL, NULL);
	scroll_list_zone = gtk_scrolled_window_new(NULL, NULL);
	scroll_tree_zone = gtk_scrolled_window_new(NULL, NULL);
	
	gtk_scrolled_window_set_min_content_width (GTK_SCROLLED_WINDOW(scroll_draw_zone),800);
	gtk_scrolled_window_set_min_content_height (GTK_SCROLLED_WINDOW(scroll_draw_zone),600 - 50);
	
	
	gtk_fixed_put(GTK_FIXED(fixed_container), GTK_WIDGET(scroll_draw_zone), 0, 20);
	gtk_fixed_put(GTK_FIXED(list_container), GTK_WIDGET(scroll_draw_zone), 0, 0);
	
	
	// Se configura la caja que contiene a las familias
	tree_box = setup_tree("FAMILIAS");
	add_family_to_list(tree_box,&f);
	// Se configura la caja que muestr a las personas
	list_box = setup_tree("PERSONAS");
	add_member_to_list(list_box,&p);
	
	gtk_container_add(GTK_CONTAINER(scroll_draw_zone), GTK_WIDGET(drawing_area));
	gtk_container_add(GTK_CONTAINER(scroll_tree_zone), GTK_WIDGET(tree_box));
	gtk_container_add(GTK_CONTAINER(scroll_list_zone), GTK_WIDGET(list_box));
	
	// Se agregan los elementos a la ventana
	gtk_paned_add1(GTK_PANED(paned_container_vertical),scroll_tree_zone);
	gtk_paned_add2(GTK_PANED(paned_container_vertical),scroll_list_zone);

	gtk_paned_add1(GTK_PANED(paned_container_horizontal),paned_container_vertical);
	gtk_paned_add2(GTK_PANED(paned_container_horizontal),fixed_container);

	
	// se conecta la senial "destroy" con la funcion gtk_main_quit
	g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
	g_signal_connect(G_OBJECT(drawing_area), "draw", G_CALLBACK(draw_tree), &f);
	g_signal_connect(G_OBJECT(tree_box), "row-activated", G_CALLBACK(show_family_info),GTK_WINDOW(window));
	g_signal_connect(G_OBJECT(list_box), "row-activated", G_CALLBACK(show_member_info),NULL);
	
	// los widget GTK estan escondidos por defecto, con esto los volvemos visibles
	gtk_widget_show_all (window);
	gtk_main ();	
	return 0;
}