예제 #1
0
파일: window.c 프로젝트: amery/clip-itk
/* Sets default size for window */
int
clip_GTK_WINDOWSETDEFAULTSIZE(ClipMachine * cm)
{
	C_widget *cwin  = _fetch_cw_arg(cm);
	gint      width = _clip_parni(cm,2);
	gint     height = _clip_parni(cm,3);
	GtkArg arg;
	CHECKCWID(cwin,GTK_IS_WINDOW);
	CHECKOPT(2,NUMERIC_t); CHECKOPT(3,NUMERIC_t);
	if (_clip_parinfo(cm,2)==UNDEF_t)
	{
		arg.type = GTK_TYPE_INT; arg.name = "width";
		gtk_widget_get(cwin->widget, &arg);
		if (arg.d.int_data == -1) arg.d.int_data = cwin->widget->requisition.width;
		width = arg.d.int_data;
	}
	if (_clip_parinfo(cm,3)==UNDEF_t)
	{
		arg.type = GTK_TYPE_INT; arg.name = "height";
		gtk_widget_get(cwin->widget, &arg);
		if (arg.d.int_data == -1) arg.d.int_data = cwin->widget->requisition.height;
		height = arg.d.int_data;
	}
	gtk_window_set_default_size(GTK_WINDOW(cwin->widget), width, height);
	return 0;
err:
	return 1;
}
예제 #2
0
파일: widget.c 프로젝트: amery/clip-itk
/* Returns a size of the widget */
int
clip_GTK_WIDGETGETSIZE(ClipMachine * cm)
{
	C_widget *cwid = _fetch_cw_arg(cm);
	GtkArg argw, argh;

	CHECKCWID(cwid,GTK_IS_WIDGET);
	argw.type = GTK_TYPE_INT; argh.type = GTK_TYPE_INT;
	argw.name = "width";      argh.name = "height";
	gtk_widget_get(cwid->widget, &argw);
	gtk_widget_get(cwid->widget, &argh);
	/*
	printf("argw.d.int_data=%d\n", argw.d.int_data);
	printf("argw.h.int_data=%d\n", argh.d.int_data);
	*/
	/*
	if (argw.d.int_data == -1) argw.d.int_data = cwid->widget->requisition.width;
	if (argh.d.int_data == -1) argh.d.int_data = cwid->widget->requisition.height;
	*/

	argw.d.int_data = cwid->widget->allocation.width;
	argh.d.int_data = cwid->widget->allocation.height;

	/*
	printf("argw.d.int_data=%d\n", argw.d.int_data);
	printf("argw.h.int_data=%d\n", argh.d.int_data);
	*/
	_clip_storni(cm,argw.d.int_data,2,0);
	_clip_storni(cm,argh.d.int_data,3,0);
	return 0;
err:
	return 1;
}
예제 #3
0
파일: widget.c 프로젝트: amery/clip-itk
/* Returns a position of the widget */
int
clip_GTK_WIDGETGETPOSITION(ClipMachine * cm)
{
	C_widget *cwid = _fetch_cw_arg(cm);
	GtkArg argx, argy;

	CHECKCWID(cwid,GTK_IS_WIDGET);
	argx.type = GTK_TYPE_INT; argy.type = GTK_TYPE_INT;
	argx.name = "x";          argy.name = "y";
	gtk_widget_get(cwid->widget, &argx);
	gtk_widget_get(cwid->widget, &argy);
	if (argx.d.int_data == -1) argx.d.int_data = cwid->widget->allocation.x;
	if (argy.d.int_data == -1) argy.d.int_data = cwid->widget->allocation.y;
	_clip_storni(cm,argx.d.int_data,2,0);
	_clip_storni(cm,argy.d.int_data,3,0);
	return 0;
err:
	return 1;
}
예제 #4
0
int
clip_GTK_VIEWPORTGETSHADOWTYPE (ClipMachine *cm)
{
    C_widget *cvp  = _fetch_cw_arg(cm);
    GtkArg arg;
    CHECKCWID(cvp,GTK_IS_VIEWPORT);
    arg.type = GTK_TYPE_INT;
    arg.name = "shadow-type";
    gtk_widget_get(cvp->widget, &arg);
    _clip_retni(cm,arg.d.int_data);
    return 0;
err:
    return 1;
}