Subversion Repositories Kolibri OS

Rev

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)