Files
harbour-core/tests/scroll.prg
Viktor Szakats 3ed9fa0f45 2016-01-14 19:33 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* *
    % remove brandings and homepage from copyright header. Pass 2 - semi-auto.
    * project homepage and name is described in README, amongst others
    ; this should make the diff between 3.4 and 3.2 easier to manage
2016-01-14 19:35:07 +01:00

67 lines
1.9 KiB
Plaintext

// Testing Harbour screen scrolling (requires the GT API)
/* Donated to the public domain on 2001-03-08 by David G. Holm <dholm@jsd-llc.com> */
#include "box.ch"
PROCEDURE Main()
LOCAL ct
SetPos( MaxRow(), 0 )
DispBegin()
? "If you have the GT API linked in, the screen will be blanked, a text block"
? "will be drawn in the upper-left hand corner of the screen, and then the inside"
? "of the text block will be scrolled around. Otherwise, you will see the screen"
? "scroll, the text block will be drawn starting from the bottom right and scroll"
? "up, but there will be no scrolling inside the text block."
?
?
DispEnd()
Pause()
SET COLOR TO "GR+/RB"
CLS
@ 0, 0, 14, 45 BOX HB_B_SINGLE_UNI
@ 0, 0 SAY "01234567890123456789012345678901"
@ 1, 0 SAY "01234567890123456789012345678901"
@ 2, 0 SAY "01234567890123456789012345678901"
@ 3, 0 SAY "01234 78901"
@ 4, 0 SAY "01234 This is a test. 78901"
@ 5, 0 SAY "01234 This is only a test. 78901"
@ 6, 0 SAY "01234 Had this been a real 78901"
@ 7, 0 SAY "01234 emergency, you would 78901"
@ 8, 0 SAY "01234 be dead now. 78901"
@ 9, 0 SAY "01234 78901"
@ 10, 0 SAY "01234567890123456789012345678901"
@ 11, 0 SAY "01234567890123456789012345678901"
@ 12, 0 SAY "01234567890123456789012345678901"
@ 13, 0 SAY "0 1 2 3 "
Pause()
// save/restore test
cT := SaveScreen( 0, 0, 13, 31 )
RestScreen( 10, 40, 23, 71, cT )
pause()
Scroll( 1, 1, 11, 30, -2, -5 )
pause()
Scroll( 1, 1, 11, 30, 2, 5 )
pause()
Scroll( 1, 1, 11, 30, -5, 2 )
pause()
Scroll( 1, 1, 11, 30, 7, -12 )
pause()
SET COLOR TO "W+/R"
Scroll( 1, 1, 11, 30, 0, 0 )
pause()
RETURN
FUNCTION pause()
SetPos( MaxRow() - 2, 0 )
WAIT "pause:"
RETURN NIL