Petit Computer Wiki
Petit Computer Wiki
Advertisement

ICONPMAX and ICONPAGE are nonnegative integer read-write system variables. ICONPAGE is initialized to zero whenever a program begins, and always contains a value between 0 and ICONPMAX inclusive. ICONPUSE is a boolean read-write system variable.

When a negative value is assigned to ICONPMAX, it takes on the value 0 instead; when any other value is assigned to it, it takes on the value rounded down to the nearest integer.

When a negative value is assigned to ICONPAGE, it takes on the value 0; when a number greater than ICONPMAX is assigned to it, it takes on the value ICONPMAX; otherwise, it takes on the value rounded down to the nearest integer.

If ICONPUSE is TRUE, a small upward-pointing button and a small downward-pointing button appear at the bottom of the touchscreen near the right side (just to the left of where the four 'icons' appear). When the user taps the 'up' button, ICONPAGE gets decremented (unless decrementing will give it a negative value), and when the user taps the 'down' button, ICONPAGE gets incremented (unless incrementing will give it a value greater than ICONPMAX). The up and down buttons have the same auto-repeat as the keyboard (the 'tap' must remain in the button: if the stylus is dragged away, the auto-repeat will stop, and if it is dragged back, the auto-repeat will not resume). Note that the up and down buttons will not disappear with PNLTYPE "OFF" (and neither will the icons), and if ICONPUSE is TRUE and ICONPMAX is zero, these two buttons are visible, and change their appearances when tapped, but are absolutely useless.

Note also that the subsystem comprised of these three system variables and two buttons is independent from the subsystem for the icons, which uses the ICONSET and ICONCLR commands. The four icons displayed on the right are not automatically updated whenever ICONPAGE changes its value. To implement 'pages' of icons, the value of ICONPAGE must be checked regularly, and the four icon spaces updated accordingly with ICONSET and ICONCLR. And it is not possible to do this while the system is waiting for user input while executing an INPUT or LINPUT command; ICONPAGE will continue to get updated as the user taps the up and down buttons, but it is impossible for the program to update the icons until the user finishes typing and the INPUT/LINPUT command is ended.

Advertisement