Rev 9208 | Rev 9431 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9208 | Rev 9210 | ||
---|---|---|---|
Line 294... | Line 294... | ||
294 | 294 | ||
295 | PROCEDURE MouseMove (VAR scroll: tScroll; x, y: INTEGER); |
295 | PROCEDURE MouseMove (VAR scroll: tScroll; x, y: INTEGER); |
296 | VAR |
296 | VAR |
297 | c: INTEGER; |
297 | c: INTEGER; |
298 | BEGIN |
- | |
299 | IF scroll.Slider # -1 THEN |
298 | BEGIN |
300 | IF scroll.vertical THEN |
299 | IF scroll.vertical THEN |
301 | c := y - scroll.top |
300 | c := y - scroll.top |
302 | ELSE |
301 | ELSE |
303 | c := x - scroll.left |
302 | c := x - scroll.left |
304 | END; |
303 | END; |
305 | setPos(scroll, scroll.pos0 + c - scroll.Slider); |
304 | setPos(scroll, scroll.pos0 + c - scroll.Slider); |
306 | paint(scroll) |
- | |
307 | END |
305 | paint(scroll) |
Line 308... | Line 306... | ||
308 | END MouseMove; |
306 | END MouseMove; |
- | 307 | ||
- | 308 | ||
309 | 309 | PROCEDURE SendIPC; |
|
- | 310 | VAR |
|
- | 311 | msg: ARRAY 2 OF INTEGER; |
|
310 | 312 | BEGIN |
|
311 | PROCEDURE SendIPC; |
313 | msg[0] := ScrollIPC; |
Line 312... | Line 314... | ||
312 | BEGIN |
314 | msg[1] := 8; |
313 | K.SendIPC(K.ThreadID(), ScrollIPC) |
315 | K.SendIPC(K.ThreadID(), msg) |
Line 340... | Line 342... | ||
340 | 342 | ||
341 | PROCEDURE MouseDown (VAR scroll: tScroll; x, y: INTEGER); |
343 | PROCEDURE MouseDown (VAR scroll: tScroll; x, y: INTEGER); |
342 | VAR |
344 | VAR |
343 | c, size: INTEGER; |
345 | c, size: INTEGER; |
344 | BEGIN |
- | |
345 | IF ~scroll.mouse THEN |
346 | BEGIN |
346 | DEC(x, scroll.left); |
347 | DEC(x, scroll.left); |
347 | DEC(y, scroll.top); |
348 | DEC(y, scroll.top); |
348 | scroll.mouse := TRUE; |
349 | scroll.mouse := TRUE; |
349 | IF U.between(1, x, scroll.width - 2) & U.between(1, y, scroll.height - 2) THEN |
350 | IF U.between(1, x, scroll.width - 2) & U.between(1, y, scroll.height - 2) THEN |
Line 368... | Line 369... | ||
368 | scroll.pos0 := scroll.pos; |
369 | scroll.pos0 := scroll.pos; |
369 | scroll.Slider := c; |
370 | scroll.Slider := c; |
370 | paint(scroll) |
371 | paint(scroll) |
371 | END |
372 | END |
372 | END |
373 | END |
373 | END |
- | |
374 | END MouseDown; |
374 | END MouseDown; |
Line 375... | Line 375... | ||
375 | 375 | ||
376 | 376 | ||
377 | PROCEDURE mouse* (VAR scroll: tScroll); |
377 | PROCEDURE mouse* (VAR scroll: tScroll); |
378 | VAR |
378 | VAR |
379 | msState: SET; |
379 | msState: SET; |
380 | x, y: INTEGER; |
380 | x, y: INTEGER; |
381 | BEGIN |
381 | BEGIN |
- | 382 | K.mouse(msState, x, y); |
|
382 | K.mouse(msState, x, y); |
383 | IF 0 IN msState THEN |
- | 384 | IF ~scroll.mouse THEN |
|
383 | IF 0 IN msState THEN |
385 | MouseDown(scroll, x, y) |
- | 386 | ELSIF scroll.Slider # -1 THEN |
|
384 | MouseDown(scroll, x, y); |
387 | MouseMove(scroll, x, y) |
385 | MouseMove(scroll, x, y) |
388 | END |
386 | ELSIF scroll.mouse THEN |
389 | ELSIF scroll.mouse THEN |
387 | MouseUp(scroll); |
390 | MouseUp(scroll); |
388 | paint(scroll) |
391 | paint(scroll) |