ref: 3b835a1d2398b4ddfc590e24ff6f81f3051e6e61
parent: 668318b2e69edd4aa71a21ff31731fa81dbe7095
parent: c3867623ae93eca77ba6e4f3d851240442f02caf
author: cinap_lenrek <[email protected]>
date: Sat Feb 13 11:43:15 EST 2016
merge
--- a/sys/src/cmd/rio/dat.h
+++ b/sys/src/cmd/rio/dat.h
@@ -60,7 +60,6 @@
{
Wakeup,
Reshaped,
- Moved,
Topped,
Repaint,
Refresh,
@@ -210,9 +209,9 @@
void wpaste(Window*);
void wplumb(Window*);
void wlook(Window*);
-void wrefresh(Window*, Rectangle);
+void wrefresh(Window*);
void wrepaint(Window*);
-void wresize(Window*, Image*, int);
+void wresize(Window*, Image*);
void wscrdraw(Window*);
void wscroll(Window*, int);
void wselect(Window*);
--- a/sys/src/cmd/rio/rio.c
+++ b/sys/src/cmd/rio/rio.c
@@ -28,8 +28,7 @@
void newtile(int);
Image *sweep(void);
Image *bandsize(Window*);
-Image* drag(Window*, Rectangle*);
-void refresh(Rectangle);
+Image* drag(Window*);
void resized(void);
Channel *exitchan; /* chan(int) */
Channel *winclosechan; /* chan(Window*); */
@@ -457,7 +456,6 @@
int sending, inside, scrolling, moving, band;
Window *w, *winput;
Image *i;
- Rectangle r;
Point xy;
Mouse tmp;
enum {
@@ -546,13 +544,10 @@
if(band)
i = bandsize(winput);
else
- i = drag(winput, &r);
+ i = drag(winput);
sweeping = 0;
if(i != nil){
- if(band)
- wsendctlmesg(winput, Reshaped, i->r, i);
- else
- wsendctlmesg(winput, Moved, r, i);
+ wsendctlmesg(winput, Reshaped, i->r, i);
cornercursor(winput, mouse->xy, 1);
}
if(wclose(winput) == 0)
@@ -931,7 +926,7 @@
}
Image*
-drag(Window *w, Rectangle *rp)
+drag(Window *w)
{
Point p, op, d, dm, om;
Rectangle r;
@@ -964,7 +959,6 @@
readmouse(mousectl);
return nil;
}
- *rp = r;
return allocwindow(wscreen, r, Refbackup, DNofill);
}
@@ -1135,15 +1129,14 @@
{
Window *w;
Image *i;
- Rectangle r;
w = pointto(FALSE);
if(w == nil)
return;
incref(w);
- i = drag(w, &r);
+ i = drag(w);
if(i)
- wsendctlmesg(w, Moved, r, i);
+ wsendctlmesg(w, Reshaped, i->r, i);
cornercursor(w, mouse->xy, 1);
wclose(w);
}
--- a/sys/src/cmd/rio/wind.c
+++ b/sys/src/cmd/rio/wind.c
@@ -87,13 +87,10 @@
}
void
-wresize(Window *w, Image *i, int move)
+wresize(Window *w, Image *i)
{
- Rectangle r, or;
+ Rectangle r;
- or = w->i->r;
- if(move || (Dx(or)==Dx(i->r) && Dy(or)==Dy(i->r)))
- draw(i, i->r, w->i, nil, w->i->r.min);
freeimage(w->i);
w->i = i;
w->mc.image = i;
@@ -102,19 +99,15 @@
w->scrollr.max.x = r.min.x+Scrollwid;
w->lastsr = ZR;
r.min.x += Scrollwid+Scrollgap;
- if(move)
- frsetrects(w, r, w->i);
- else{
- frclear(w, FALSE);
- frinit(w, r, w->font, w->i, cols);
- wsetcols(w, 1);
- w->maxtab = maxtab*stringwidth(w->font, "0");
- r = insetrect(w->i->r, Selborder);
- draw(w->i, r, cols[BACK], nil, w->entire.min);
- wfill(w);
- wsetselect(w, w->q0, w->q1);
- wscrdraw(w);
- }
+ frclear(w, FALSE);
+ frinit(w, r, w->font, w->i, cols);
+ wsetcols(w, 1);
+ w->maxtab = maxtab*stringwidth(w->font, "0");
+ r = insetrect(w->i->r, Selborder);
+ draw(w->i, r, cols[BACK], nil, w->entire.min);
+ wfill(w);
+ wsetselect(w, w->q0, w->q1);
+ wscrdraw(w);
wborder(w, Selborder);
wsetname(w);
w->topped = ++topped;
@@ -124,9 +117,10 @@
}
void
-wrefresh(Window *w, Rectangle r)
+wrefresh(Window *w)
{
- /* BUG: rectangle is ignored */
+ Rectangle r;
+
if(w == input)
wborder(w, Selborder);
else
@@ -1127,7 +1121,6 @@
if(p!=nil)
sendp((Channel*)p, w);
break;
- case Moved:
case Reshaped:
if(w->deleted){
freeimage(i);
@@ -1135,7 +1128,7 @@
}
w->screenr = r;
strcpy(buf, w->name);
- wresize(w, i, m==Moved);
+ wresize(w, i);
proccreate(deletetimeoutproc, estrdup(buf), 4096);
flushimage(display, 1);
if(Dx(r)<=0){ /* window got hidden, if we had the input, drop it */
@@ -1189,9 +1182,9 @@
flushimage(display, 1);
break;
case Refresh:
- if(w->i==nil || Dx(w->screenr)<=0 || !rectclip(&r, w->i->r) || w->mouseopen)
+ if(w->i==nil || Dx(w->screenr)<=0 || w->mouseopen)
break;
- wrefresh(w, r);
+ wrefresh(w);
flushimage(display, 1);
break;
case Movemouse: