Check-in [ad46395251]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:removed blank-screen
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ad46395251c7fa97c0838efe95e6b7983afd7cf0
User & Date: bernd 2014-01-20 22:42:39
Context
2014-01-21
00:18
Restore app cls stuff check-in: 823e61c19e user: bernd tags: trunk
2014-01-20
22:42
removed blank-screen check-in: ad46395251 user: bernd tags: trunk
22:31
Debugged media player example check-in: 27f5c22f2a user: bernd tags: trunk
Changes

Changes to gl-terminal.fs.

118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
...
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
...
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
: std-bg! ( index -- )  dup bg! dup std-bg ! bg>clear ;

: >white White std-bg! Black fg! ;
: >black Black std-bg! White fg! ;
>black \ make black default

128 Value videocols
1   Value videorows

2Variable gl-xy  0 0 gl-xy 2!
2Variable gl-wh 24 80 gl-wh 2!
Variable gl-lineend
Variable scroll-y
FVariable scroll-dest
FVariable scroll-source
................................................................................
    0e ty >st v+
    0e 0e >st v+
    tx 0e >st v+
    tx ty >st v+ v> ;

videocols videorows * sfloats allocate throw Value videomem

: blank-screen ( -- )
    color-index @ videomem videocols videorows * sfloats bounds ?DO
	dup I l!
    1 sfloats +LOOP  drop ;
blank-screen

: resize-screen ( -- )
    gl-xy @ videorows >= IF
	videomem videocols gl-xy @ rows nextpow2 + * sfloats resize throw
	to videomem
	color-index @ videomem videocols videorows * sfloats +
	videocols gl-xy @ 1+ videorows - * sfloats bounds ?DO
................................................................................
: gl-type ( addr u -- )
    bounds ?DO  I c@ gl-emit  LOOP ;

: gl-atxy ( x y -- )  gl-xy 2! ;

: gl-at-deltaxy ( x y -- )  gl-xy 2@ rot + >r + r> gl-atxy ;

: gl-page ( -- )  0 0 gl-atxy  1 to videorows
    0e screen-scroll  0e fdup scroll-source f! scroll-dest f!
    videomem videocols sfloats resize throw to videomem
    blank-screen need-sync on ;

: gl-attr! ( attribute -- )  dup bg> bg! fg> fg! ;

0.25e FConstant scroll-deltat
: >scroll-pos ( -- 0..1 )
    ftime scroll-time f@ f- scroll-deltat f/
    1e fmin 0.5e f- pi f* fsin 1e f+ f2/ ;







|







 







|
|
|
|
|







 







|


|







118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
...
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
...
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
: std-bg! ( index -- )  dup bg! dup std-bg ! bg>clear ;

: >white White std-bg! Black fg! ;
: >black Black std-bg! White fg! ;
>black \ make black default

128 Value videocols
0   Value videorows

2Variable gl-xy  0 0 gl-xy 2!
2Variable gl-wh 24 80 gl-wh 2!
Variable gl-lineend
Variable scroll-y
FVariable scroll-dest
FVariable scroll-source
................................................................................
    0e ty >st v+
    0e 0e >st v+
    tx 0e >st v+
    tx ty >st v+ v> ;

videocols videorows * sfloats allocate throw Value videomem

\ : blank-screen ( -- )
\     color-index @ videomem videocols videorows * sfloats bounds ?DO
\ 	dup I l!
\     1 sfloats +LOOP  drop ;
\ blank-screen

: resize-screen ( -- )
    gl-xy @ videorows >= IF
	videomem videocols gl-xy @ rows nextpow2 + * sfloats resize throw
	to videomem
	color-index @ videomem videocols videorows * sfloats +
	videocols gl-xy @ 1+ videorows - * sfloats bounds ?DO
................................................................................
: gl-type ( addr u -- )
    bounds ?DO  I c@ gl-emit  LOOP ;

: gl-atxy ( x y -- )  gl-xy 2! ;

: gl-at-deltaxy ( x y -- )  gl-xy 2@ rot + >r + r> gl-atxy ;

: gl-page ( -- )  0 0 gl-atxy  0 to videorows
    0e screen-scroll  0e fdup scroll-source f! scroll-dest f!
    videomem videocols sfloats resize throw to videomem
    resize-screen need-sync on ;

: gl-attr! ( attribute -- )  dup bg> bg! fg> fg! ;

0.25e FConstant scroll-deltat
: >scroll-pos ( -- 0..1 )
    ftime scroll-time f@ f- scroll-deltat f/
    1e fmin 0.5e f- pi f* fsin 1e f+ f2/ ;

Changes to gles2/gl-terminal.fs.

118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
...
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
...
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
: std-bg! ( index -- )  dup bg! dup std-bg ! bg>clear ;

: >white White std-bg! Black fg! ;
: >black Black std-bg! White fg! ;
>black \ make black default

128 Value videocols
1   Value videorows

2Variable gl-xy  0 0 gl-xy 2!
2Variable gl-wh 24 80 gl-wh 2!
Variable gl-lineend
Variable scroll-y
FVariable scroll-dest
FVariable scroll-source
................................................................................
    0e ty >st v+
    0e 0e >st v+
    tx 0e >st v+
    tx ty >st v+ v> ;

videocols videorows * sfloats allocate throw Value videomem

: blank-screen ( -- )
    color-index @ videomem videocols videorows * sfloats bounds ?DO
	dup I l!
    1 sfloats +LOOP  drop ;
blank-screen

: resize-screen ( -- )
    gl-xy @ videorows >= IF
	videomem videocols gl-xy @ rows nextpow2 + * sfloats resize throw
	to videomem
	color-index @ videomem videocols videorows * sfloats +
	videocols gl-xy @ 1+ videorows - * sfloats bounds ?DO
................................................................................
: gl-type ( addr u -- )
    bounds ?DO  I c@ gl-emit  LOOP ;

: gl-atxy ( x y -- )  gl-xy 2! ;

: gl-at-deltaxy ( x y -- )  gl-xy 2@ rot + >r + r> gl-atxy ;

: gl-page ( -- )  0 0 gl-atxy  1 to videorows
    0e screen-scroll  0e fdup scroll-source f! scroll-dest f!
    videomem videocols sfloats resize throw to videomem
    blank-screen need-sync on ;

: gl-attr! ( attribute -- )  dup bg> bg! fg> fg! ;

0.25e FConstant scroll-deltat
: >scroll-pos ( -- 0..1 )
    ftime scroll-time f@ f- scroll-deltat f/
    1e fmin 0.5e f- pi f* fsin 1e f+ f2/ ;







|







 







|
|
|
|
|







 







|


|







118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
...
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
...
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
: std-bg! ( index -- )  dup bg! dup std-bg ! bg>clear ;

: >white White std-bg! Black fg! ;
: >black Black std-bg! White fg! ;
>black \ make black default

128 Value videocols
0   Value videorows

2Variable gl-xy  0 0 gl-xy 2!
2Variable gl-wh 24 80 gl-wh 2!
Variable gl-lineend
Variable scroll-y
FVariable scroll-dest
FVariable scroll-source
................................................................................
    0e ty >st v+
    0e 0e >st v+
    tx 0e >st v+
    tx ty >st v+ v> ;

videocols videorows * sfloats allocate throw Value videomem

\ : blank-screen ( -- )
\     color-index @ videomem videocols videorows * sfloats bounds ?DO
\ 	dup I l!
\     1 sfloats +LOOP  drop ;
\ blank-screen

: resize-screen ( -- )
    gl-xy @ videorows >= IF
	videomem videocols gl-xy @ rows nextpow2 + * sfloats resize throw
	to videomem
	color-index @ videomem videocols videorows * sfloats +
	videocols gl-xy @ 1+ videorows - * sfloats bounds ?DO
................................................................................
: gl-type ( addr u -- )
    bounds ?DO  I c@ gl-emit  LOOP ;

: gl-atxy ( x y -- )  gl-xy 2! ;

: gl-at-deltaxy ( x y -- )  gl-xy 2@ rot + >r + r> gl-atxy ;

: gl-page ( -- )  0 0 gl-atxy  0 to videorows
    0e screen-scroll  0e fdup scroll-source f! scroll-dest f!
    videomem videocols sfloats resize throw to videomem
    resize-screen need-sync on ;

: gl-attr! ( attribute -- )  dup bg> bg! fg> fg! ;

0.25e FConstant scroll-deltat
: >scroll-pos ( -- 0..1 )
    ftime scroll-time f@ f- scroll-deltat f/
    1e fmin 0.5e f- pi f* fsin 1e f+ f2/ ;