mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
parent
40d787ab12
commit
1f799495e4
5 changed files with 28 additions and 13 deletions
|
@ -55,10 +55,7 @@ gfx_replacescreenimage(Client *c, Memimage *m)
|
|||
_freememimage(om);
|
||||
}
|
||||
qunlock(&c->drawlk);
|
||||
|
||||
qlock(&c->eventlk);
|
||||
c->mouse.resized = 1;
|
||||
qunlock(&c->eventlk);
|
||||
gfx_mouseresized(c);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -187,6 +187,7 @@ void gfx_keystroke(Client*, int);
|
|||
void gfx_main(void);
|
||||
void gfx_mousetrack(Client*, int, int, int, uint);
|
||||
void gfx_replacescreenimage(Client*, Memimage*);
|
||||
void gfx_mouseresized(Client*);
|
||||
void gfx_started(void);
|
||||
|
||||
// rpc_* routines are called on the RPC thread,
|
||||
|
|
|
@ -518,7 +518,6 @@ rpc_resizeimg(Client *c)
|
|||
- (void)resizeimg {
|
||||
[self initimg];
|
||||
gfx_replacescreenimage(self.client, self.img);
|
||||
[self sendmouse:0];
|
||||
}
|
||||
|
||||
- (void)windowDidResize:(NSNotification *)notification {
|
||||
|
|
|
@ -394,12 +394,30 @@ matchmouse(Client *c)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
gfx_mouseresized(Client *c)
|
||||
{
|
||||
gfx_mousetrack(c, -1, -1, -1, -1);
|
||||
}
|
||||
|
||||
void
|
||||
gfx_mousetrack(Client *c, int x, int y, int b, uint ms)
|
||||
{
|
||||
Mouse *m;
|
||||
|
||||
qlock(&c->eventlk);
|
||||
if(x == -1 && y == -1 && b == -1 && ms == -1) {
|
||||
Mouse *copy;
|
||||
// repeat last mouse event for resize
|
||||
if(c->mouse.ri == 0)
|
||||
copy = &c->mouse.m[nelem(c->mouse.m)-1];
|
||||
else
|
||||
copy = &c->mouse.m[c->mouse.ri-1];
|
||||
x = copy->xy.x;
|
||||
y = copy->xy.y;
|
||||
b = copy->buttons;
|
||||
ms = copy->msec;
|
||||
}
|
||||
if(x < c->mouserect.min.x)
|
||||
x = c->mouserect.min.x;
|
||||
if(x > c->mouserect.max.x)
|
||||
|
|
Loading…
Reference in a new issue