Esempio n. 1
0
/* note: unused Drawable d */
GC
XCreateGC(Display *dpy, Drawable d, unsigned long valuemask, XGCValues *values)
{
	GC gc;
	XGCValues *vp;

	if ((gc = (GC) Xmalloc(sizeof(struct _XGC))) == NULL)
		return NULL;
	if ((vp = (XGCValues *)Xmalloc(sizeof(XGCValues))) == NULL) {
		Xfree(gc);
		return NULL;
	}
	gc->ext_data = (XExtData *)vp;
	memcpy(vp, &initial_GC, sizeof(initial_GC));
	gc->gid = GrNewGC();

	/* X11 doesn't draw background, must set on all GrNewGC's*/
	GrSetGCUseBackground(gc->gid, GR_FALSE);

	/* X11 defaults to fg=black, bg=white, NX is opposite...*/
	if (!(valuemask & GCForeground))
		XSetForeground(dpy, gc, 0L);	/* black*/
	if (!(valuemask & GCBackground))
		XSetBackground(dpy, gc, ~0L);	/* white*/

	setupGC(dpy, gc, valuemask, values);
	return gc;
}
Esempio n. 2
0
/**
  * Initialize the window system
  */
void CGWindow::Initialize(int argc, char *argv[])
{
	Arg al[10];
	int ac;

	/* create the toplevel shell */
	ac=0;
	XtSetArg(al[ac],XtNtitle,"CGWindow Phase1"); ac++;
	m_Toplevel = XtAppInitialize(&m_Context,"",NULL,0,&argc,argv,
				     NULL,al,ac);

	/* set window size. */
	ac=0;
	XtSetArg(al[ac],XmNheight,300); ac++;
	XtSetArg(al[ac],XmNwidth,300); ac++;
	XtSetValues(m_Toplevel,al,ac);
	
	/* create a drawing area widget. */
	ac=0;
	m_DrawingArea=XmCreateDrawingArea(m_Toplevel,"drawing_area",al,ac);
	XtManageChild(m_DrawingArea);
	
	setupGC();

	XtAddCallback(m_DrawingArea,XmNexposeCallback,ExposeCB,(XtPointer)this);

}
Esempio n. 3
0
int
XChangeGC(Display *display, GC gc, unsigned long valuemask, XGCValues *values)
{
	setupGC(display, gc, valuemask, values);
	return 1;
}