Mouse position: Difference between revisions

Content added Content deleted
No edit summary
(Added XPL0)
Line 580: Line 580:
Me.Print "Y:" & Pt.Y
Me.Print "Y:" & Pt.Y
End Sub</lang>
End Sub</lang>

=={{header|XPL0}}==
GetMousePosition(0) = X coordinate; 1 = Y coordinate. For video modes
$0..$E and $13 the maximum coordinates are 639x199, minus the size of the
pointer. For modes $F..$12 the coordinates are the same as the pixels.
VESA graphic modes are (usually) 639x479 regardless of the resolution.
For 80-column text modes divide the mouse coordinates by 8 to get the
character cursor position.

The mouse cursor location is always relative to the upper-left corner of
the screen. A window may be externally created ... using a fair amount of
code because the version of XPL0 used with these Rosetta Code examples
does not make Windows applications (however see "Simple windowed application").

<lang XPL0>include c:\cxpl\stdlib;
if not OpenMouse then Text(0, "A mouse is required")
else [ShowMouse(true);
IntOut(0, GetMousePosition(0)); ChOut(0, ^,);
IntOut(0, GetMousePosition(1)); CrLf(0);
]</lang>

Example output:
<pre>
320,96
</pre>



{{omit from|ACL2}}
{{omit from|ACL2}}