This shows you the differences between two versions of the page.

Link to this comparison view

qdosmsq:pe:vectors:msect [2011/10/02 16:30] (current)
george.gwilt created
Line 1: Line 1:
 +====== WM.MSECT - Vector $48 ======
 +In a pannable or scrollable application window, the panning and scrolling can be operated by clicking on the arrows or by keys pressed while the pointer is in the application sub-window. This vector returns relevant information.
 +^Call Parameters^^Return Parameters^^
 +| ||D0.L| 0 or pan/scroll item number|
 +| D1.L|x,y, pointer position (absolute)| D1.L|Preserved|
 +| D2.B | Uppercased keystroke| D2.L | Preserved|
 +| ||D3.L | x,y section number or -1|
 +| D4.B | Event number of keystroke| D4.B |Preserved or pt..pan or pt..scrl|
 +| A0.L | Channel ID of window | A0.L | Preserved |
 +| A3.L | Pointer to sub-window definition | A3.L | Preserved |
 +| A4.L | Pointer to working definition|A4.L|Preserved|
 +==== Errors ====
 +None - but see Notes
 +==== Notes ====
 +  * All registers not mentioned above are not used and preserved.
 +  * If a pan/scroll event is detected D0.W contains the information in an "item number". See the table below. Otherwise D0 is zero.
 +  * If an event is detected D4.B is set to pt..pan ($A) for a pan event and pt..scrl ($B) for a scroll event.
 +  * The event is caused either by activating the pan/scroll arrows, in which case D3.L is set to -1, or by keystrokes in which case D3 contains the x,y section number.
 +  * If the window is not split, both x and y sections are zero. If there are n splits in either the x or y direction there will be n+1 sections numbered 0 to n.
 +== Item Number ==
 +The code indicating the event is in the upper byte of D0.W. D0.B contains the section number.
 +|$70|Up arrows|HIT|ALT/UP|
 +|$74|Up arrows|DO|ALT/SHIFT/UP|
 +|$71|Down arrows|HIT|ALT/DOWN|
 +|$75|Down arrows|DO|ALT/SHIFT/DOWN|
  • qdosmsq/pe/vectors/msect.txt
  • Last modified: 2011/10/02 16:30
  • by george.gwilt