Copyright (C) 1994, Digital Equipment Corp.
MODULE DragButtonDLE;
IMPORT ButtonDLE, DPS, DPSWindow;
PROCEDURE Mouse (e: E; t: DPSWindow.T; event: DPS.MouseEvent): BOOLEAN =
VAR in: BOOLEAN;
BEGIN
Init (e, t);
in := DPS.PlaceIsInBox (event.place, e.box);
IF e.hot THEN (* We handle everything! *)
IF event.clickType = DPS.ClickType.LastUp THEN
e.hot := FALSE;
e.Dirty (e.box, e);
e.Up (t, event);
END;
RETURN TRUE; (* We handled it! *)
END;
IF in THEN
IF event.clickType = DPS.ClickType.FirstDown THEN
e.hot := TRUE;
EVAL e.MoveToLast();
e.Dirty (e.box, e);
e.Down (t, event);
END;
END;
RETURN in;
END Mouse;
PROCEDURE Init (e: E; t: DPSWindow.T) =
BEGIN
ButtonDLE.Init (e, t);
END Init;
PROCEDURE Down (<*UNUSED*> e: E;
<*UNUSED*> t: DPSWindow.T;
<*UNUSED*> event: DPS.MouseEvent) =
BEGIN
END Down;
PROCEDURE Move (<*UNUSED*> e: E;
<*UNUSED*> t: DPSWindow.T;
<*UNUSED*> event: DPS.MouseEvent) =
BEGIN
END Move;
PROCEDURE Up (<*UNUSED*> e: E;
<*UNUSED*> t: DPSWindow.T;
<*UNUSED*> event: DPS.MouseEvent) =
BEGIN
END Up;
BEGIN
END DragButtonDLE.