Browse Source

intermediate commit.

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Ronald G. Minnich 8 years ago
parent
commit
d0b1985b81

+ 1 - 1
sys/src/libcontrol/box.c

@@ -182,7 +182,7 @@ createbox(Controlset *cs, char *name)
 	b->image = _getctlimage("white");
 	b->bordercolor = _getctlimage("black");
 	b->align = Aupperleft;
-	b->key = boxkey;
+	b->Control.key = boxkey;
 	b->Control.mouse = boxmouse;
 	b->Control.ctl = boxctl;
 	b->Control.exit = boxfree;

+ 1 - 1
sys/src/libcontrol/button.c

@@ -265,7 +265,7 @@ createbutton(Controlset *cs, char *name)
 	b->align = Aupperleft;
 	b->Control.ctl = buttonctl;
 	b->Control.mouse = buttonmouse;
-	b->key = nil;
+	b->Control.key = nil;
 	b->Control.exit = buttonfree;
 	b->off = 0;
 	b->prepress = 0;

+ 15 - 15
sys/src/libcontrol/control.c

@@ -140,7 +140,7 @@ _newcontrol(Controlset *cs, uint n, char *name, char *type)
 			return nil;
 		}
 	c = ctlmalloc(n);
-	c->screen = cs->Control.screen;
+	c->screen = cs->screen;
 	c->name = ctlstrdup(name);
 	c->type = _ctllookup(type, ctltypenames, Ntypes);
 	if (c->type < 0)
@@ -179,10 +179,10 @@ controlsetthread(void *v)
 	alts[AKey].c = cs->kbdc;
 	alts[AKey].v = &rp;
 	alts[AKey].op = CHANRCV;
-	alts[AMouse].c = cs->Control.mousec;
+	alts[AMouse].c = cs->mousec;
 	alts[AMouse].v = &mouse;
 	alts[AMouse].op = CHANRCV;
-	alts[ACtl].c = cs->Control.ctl;
+	alts[ACtl].c = cs->ctl;
 	alts[ACtl].v = &str;
 	alts[ACtl].op = CHANRCV;
 	alts[AExit].c = cs->csexitc;
@@ -213,7 +213,7 @@ controlsetthread(void *v)
 			/* is this a focus change? */
 			if(prevbut)	/* don't change focus if button was down */
 				goto Send;
-			if(cs->focus!=nil && cs->focus->Control.hidden == 0 && ptinrect(mouse.xy, cs->focus->Control.rect))
+			if(cs->focus!=nil && cs->focus->hidden == 0 && ptinrect(mouse.xy, cs->focus->rect))
 				goto Send;
 			if(cs->clicktotype == 0)
 				goto Change;
@@ -236,9 +236,9 @@ controlsetthread(void *v)
 					break;
 				}
 		Send:
-			if(cs->focus && cs->focus->Control.mouse) {
-				if (debug) fprint(2, "cs->focus->Control.mouse %s\n", cs->focus->Control.name);
-				cs->focus->Control.mouse(cs->focus, &mouse);
+			if(cs->focus && cs->focus->mouse) {
+				if (debug) fprint(2, "cs->focus->mouse %s\n", cs->focus->name);
+				cs->focus->mouse(cs->focus, &mouse);
 			}
 			prevbut=mouse.buttons;
 			break;
@@ -758,7 +758,7 @@ newcontrolset(Image *im, Channel *kbdc, Channel *mousec, Channel *resizec)
 		ctlerror("must specify either or both of mouse and resize channels");
 
 	cs = ctlmalloc(sizeof(Controlset));
-	cs->Control.screen = im;
+	cs->screen = im;
 
 	if(kbdc == nil){
 		cs->keyboardctl = initkeyboard(nil);
@@ -769,15 +769,15 @@ newcontrolset(Image *im, Channel *kbdc, Channel *mousec, Channel *resizec)
 	cs ->kbdc = kbdc;
 
 	if(mousec == nil){
-		cs->Control.mousectl = initmouse(nil, im);
-		if(cs->Control.mousectl == nil)
+		cs->mousectl = initmouse(nil, im);
+		if(cs->mousectl == nil)
 			ctlerror("can't initialize mouse: %r");
-		mousec = cs->Control.mousectl->c;
-		resizec = cs->Control.mousectl->resizec;
+		mousec = cs->mousectl->c;
+		resizec = cs->mousectl->resizec;
 	}
-	cs->Control.mousec = mousec;
+	cs->mousec = mousec;
 	cs->resizec = resizec;
-	cs->Control.ctl = chancreate(sizeof(char*), 64);	/* buffer to prevent deadlock */
+	cs->ctl = chancreate(sizeof(char*), 64);	/* buffer to prevent deadlock */
 	cs->data = chancreate(sizeof(char*), 0);
 	cs->resizeexitc = chancreate(sizeof(int), 0);
 	cs->csexitc = chancreate(sizeof(int), 0);
@@ -799,7 +799,7 @@ closecontrolset(Controlset *cs)
 	chanfree(cs->resizeexitc);
 	sendul(cs->csexitc, 0);
 	chanfree(cs->csexitc);
-	chanfree(cs->Control.ctl);
+	chanfree(cs->ctl);
 	chanfree(cs->data);
 
 	for(i=0; i<ncontrolset; i++)

+ 1 - 1
sys/src/libcontrol/entry.c

@@ -357,7 +357,7 @@ createentry(Controlset *cs, char *name)
 	e->border = 0;
 	e->Control.ctl = entryctl;
 	e->Control.mouse = entrymouse;
-	e->key = entrykeys;
+	e->Control.key = entrykeys;
 	e->Control.exit = entryfree;
 	return (Control *)e;
 }

+ 26 - 26
sys/src/libcontrol/keyboard.c

@@ -177,7 +177,7 @@ keyboardfree(Control *c)
 	_putctlimage(k->textcolor);
 	_putctlimage(k->bordercolor);
 	_putctlfont(k->font);
-	_putctlfont(k->Control.ctlfont);
+	_putctlfont(k->ctlfont);
 	for(i=0; i<nelem(k->im); i++)
 		freeimage(k->im[i]);
 	free(k->Control.format);
@@ -290,7 +290,7 @@ keydraw(Keyboard *k, int state)
 	dy = Dy(r);
 	p = r.min;
 	f1 = k->font->font;
-	f2 = k->Control.ctlfont->font;
+	f2 = k->ctlfont->font;
 	nexty = p.y;
 	for(row=0; row<Nrow; row++){
 		x = p.x;
@@ -410,9 +410,9 @@ keyup(Keyboard *k, Point p)
 	if(strcmp(s, "Alt") == 0)
 		{;}
 	if(strcmp(s, "Ctrl") == 0){
-		k->state ^= SControl Control;
+		k->state ^= SControl;
 	}else
-		k->state &= ~SControl Control;
+		k->state &= ~SControl;
 	if(strcmp(s, "Shift")==0 || strcmp(s, "Caps")==0){
 		if(strcmp(s, "Shift") == 0)
 			k->state ^= SShift;
@@ -423,7 +423,7 @@ keyup(Keyboard *k, Point p)
 	keyboardshow(k);
 	if(val)
 		chanprint(k->Control.event, k->Control.format, k->Control.name, val);
-	k->key = nil;
+	k->Control.key = nil;
 }
 
 static void
@@ -440,14 +440,14 @@ keyboardctl(Control *c, CParse *cp)
 		ctlerror("%q: unrecognized message '%s'", k->Control.name, cp->str);
 		break;
 	case EBorder:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 2);
+		_ctlargcount(&k->Control, cp, 2);
 		if(cp->iargs[1] < 0)
 			ctlerror("%q: bad border: %c", k->Control.name, cp->str);
 		k->border = cp->iargs[1];
 		break;
 	case EBordercolor:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 2);
-		_setctlimage(_setctlimage(_setctlimage(kk->Controlk->Control, &k->bordercolor, cp->args[1]);
+		_ctlargcount(&k->Control, cp, 2);
+		_setctlimage(&k->Control, &k->bordercolor, cp->args[1]);
 		break;
 	case EFocus:
 		/* ignore focus change */
@@ -455,34 +455,34 @@ keyboardctl(Control *c, CParse *cp)
 	case EFont:
 		if(cp->nargs!=2 && cp->nargs!=3)
 			ctlerror("%q: bad font message '%s'", k->Control.name, cp->str);
-		_setctlfont(_setctlfont(_setctlfont(_setctlfont(_setctlfont(kk->Controlk->Controlk->Controlk->Control, &k->font, cp->args[1]);
+		_setctlfont(&k->Control, &k->font, cp->args[1]);
 		if(cp->nargs == 3)
-			_setctlfont(_setctlfont(_setctlfont(_setctlfont(_setctlfont(kk->Controlk->Controlk->Controlk->Control, &k->Control.ctlfont, cp->args[2]);
+			_setctlfont(&k->Control, &k->ctlfont, cp->args[2]);
 		else
-			_setctlfont(_setctlfont(_setctlfont(_setctlfont(_setctlfont(kk->Controlk->Controlk->Controlk->Control, &k->Control.ctlfont, cp->args[1]);
+			_setctlfont(&k->Control, &k->ctlfont, cp->args[1]);
 		break;
 	case EFormat:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 2);
+		_ctlargcount(&k->Control, cp, 2);
 		k->Control.format = ctlstrdup(cp->args[1]);
 		break;
 	case EHide:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 1);
+		_ctlargcount(&k->Control, cp, 1);
 		k->Control.hidden = 1;
 		break;
 	case EImage:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 2);
-		_setctlimage(_setctlimage(_setctlimage(kk->Controlk->Control, &k->image, cp->args[1]);
+		_ctlargcount(&k->Control, cp, 2);
+		_setctlimage(&k->Control, &k->image, cp->args[1]);
 		break;
 	case ELight:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 2);
-		_setctlimage(_setctlimage(_setctlimage(kk->Controlk->Control, &k->light, cp->args[1]);
+		_ctlargcount(&k->Control, cp, 2);
+		_setctlimage(&k->Control, &k->light, cp->args[1]);
 		break;
 	case EMask:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 2);
-		_setctlimage(_setctlimage(_setctlimage(kk->Controlk->Control, &k->mask, cp->args[1]);
+		_ctlargcount(&k->Control, cp, 2);
+		_setctlimage(&k->Control, &k->mask, cp->args[1]);
 		break;
 	case ERect:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 5);
+		_ctlargcount(&k->Control, cp, 5);
 		r.min.x = cp->iargs[1];
 		r.min.y = cp->iargs[2];
 		r.max.x = cp->iargs[3];
@@ -493,19 +493,19 @@ keyboardctl(Control *c, CParse *cp)
 		keyboardshow(k);
 		break;
 	case EReveal:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 1);
+		_ctlargcount(&k->Control, cp, 1);
 		k->Control.hidden = 0;
 		keyboardshow(k);
 		break;
 	case EShow:
-		_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 1);
+		_ctlargcount(&k->Control, cp, 1);
 		keyboardshow(k);
 		break;
 	case ESize:
 		if (cp->nargs == 3)
 			r.max = Pt(0x7fffffff, 0x7fffffff);
 		else{
-			_ctlargcount(_ctlargcount(_ctlargcount(kk->Controlk->Control, cp, 5);
+			_ctlargcount(&k->Control, cp, 5);
 			r.max.x = cp->iargs[3];
 			r.max.y = cp->iargs[4];
 		}
@@ -531,15 +531,15 @@ createkeyboard(Controlset *cs, char *name)
 	k->bordercolor = _getctlimage("black");
 	k->textcolor = _getctlimage("black");
 	k->font = _getctlfont("font");
-	k->Control.ctlfont = _getctlfont("font");
+	k->ctlfont = _getctlfont("font");
 	k->Control.format = ctlstrdup("%q: value 0x%x");
 	k->border = 0;
 	k->lastbut = 0;
-	k->key = nil;
+	k->Controlkey = nil;
 	k->state = SRegular;
 	k->Control.ctl = keyboardctl;
 	k->Control.mouse = keyboardmouse;
 	k->Control.exit = keyboardfree;
 	k->Control.size = Rect(246, 2 + 5 * (k->font->font->height + 1), 512, 256);
-	return k;
+	return &k->Control;
 }

+ 17 - 17
sys/src/libcontrol/menu.c

@@ -225,50 +225,50 @@ menuctl(Control *c, CParse *cp)
 		ctlerror("%q: unrecognized message '%s'", m->Control.name, cp->str);
 		break;
 	case EAdd:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		m->line = ctlrealloc(m->line, (m->nline+1)*sizeof(char*));
 		m->line[m->nline++] = ctlstrdup(cp->args[1]);
 		menushow(m);
 		break;
 	case EAlign:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		m->align = _ctlalignment(cp->args[1]);
 		menushow(m);
 		break;
 	case EBorder:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		m->border = cp->iargs[1];
 		menushow(m);
 		break;
 	case EBordercolor:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		_setctlimage(_setctlimage(mm->Control, &m->bordercolor, cp->args[1]);
 		menushow(m);
 		break;
 	case EFocus:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		if(atoi(cp->args[1]) == 0)
 			menuhide(m);
 		break;
 	case EFont:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		_setctlfont(_setctlfont(_setctlfont(mm->Controlm->Control, &m->font, cp->args[1]);
 		break;
 	case EFormat:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		m->Control.format = ctlstrdup(cp->args[1]);
 		break;
 	case EHide:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 1);
+		_ctlargcount(&m->Control, cp, 1);
 		m->Control.hidden = 1;
 		break;
 	case EImage:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		_setctlimage(_setctlimage(mm->Control, &m->image, cp->args[1]);
 		menushow(m);
 		break;
 	case ERect:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 5);
+		_ctlargcount(&m->Control, cp, 5);
 		r.min.x = cp->iargs[1];
 		r.min.y = cp->iargs[2];
 		r.max.x = cp->iargs[3];
@@ -279,29 +279,29 @@ menuctl(Control *c, CParse *cp)
 		menushow(m);
 		break;
 	case EReveal:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 1);
+		_ctlargcount(&m->Control, cp, 1);
 		m->Control.hidden = 0;
 		menushow(m);
 		break;
 	case ESelectcolor:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		_setctlimage(_setctlimage(mm->Control, &m->selectcolor, cp->args[1]);
 		menushow(m);
 		break;
 	case ESelecttextcolor:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
+		_ctlargcount(&m->Control, cp, 2);
 		_setctlimage(_setctlimage(mm->Control, &m->selecttextcolor, cp->args[1]);
 		menushow(m);
 		break;
 	case EShow:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 1);
+		_ctlargcount(&m->Control, cp, 1);
 		menushow(m);
 		break;
 	case ESize:
 		if (cp->nargs == 3)
 			r.max = Pt(0x7fffffff, 0x7fffffff);
 		else{
-			_ctlargcount(_ctlargcount(mm->Control, cp, 5);
+			_ctlargcount(&m->Control, cp, 5);
 			r.max.x = cp->iargs[3];
 			r.max.y = cp->iargs[4];
 		}
@@ -313,8 +313,8 @@ menuctl(Control *c, CParse *cp)
 		m->Control.size.max = r.max;
 		break;
 	case ETextcolor:
-		_ctlargcount(_ctlargcount(mm->Control, cp, 2);
-		_setctlimage(_setctlimage(mm->Control, &m->textcolor, cp->args[1]);
+			     _ctlargcount(&m->Control, cp, 2);
+			     _setctlimage(_setctlimage(mm->Control, &m->textcolor, cp->args[1]);
 		menushow(m);
 		break;
 	case EWindow: