GSCROLL
GSCROLL グラフィックスクロール
書式
GSCROLL x1 , y1 , x2 , y2 , 方向
引数
x1 :左上横座標0 ~ GW-1(最大値は環境により可変)
y1 :左上縦座標0 ~ GH-1(最大値は環境により可変)
x2 :右下横座標0 ~ GW-1(最大値は環境により可変)
y2 :右下縦座標0 ~ GH-1(最大値は環境により可変)
方向 :UP(0): 上、 DOWN(1): 下、 RIGHT(2): 右、 LEFT(3): 左
※方向は定数またはカッコ内の数値の指定が可能
※GW、GHはグラフィック画面の横ドット数、縦ドット数を示す定数です。
この定数は、画面解像度により変わります。
説明
画面上の指定範囲表示内容を1ドット単位でスクロールします。
本コマンドは、シリアルコンソール画面、TFTディスプレイでは利用出来ません。
https://gyazo.com/711933380caec72b7531579a4c85bccc
NTSCビデオディスプレイ使用時には次の制約があります。OLEDディスプレイでは制約はありません。
・右上横方向x1は8の倍数で指定して下さい(バイト境界指定)。
・左下横座標x2は8の倍数-1 で指定指定して下さい(バイト境界指定)。
上記以外の数値を指定した場合、指定数値をバイト境界に補正します。
画面全体 (0,0) - (GW-1, GH-1) を左にスクロールしたい場合は、
code:gscroll_sample1.bas
GSCROLL 0,0,GW-1,GH-1,LEFT
のように、画面の左上の位置と画面右下の位置を指定します。
図の指定した範囲 (16,30) - (207,100) を左にスクロールしたい場合は、
code:gscroll_sample2.bas
GSCROLL 16,30,107,100,LEFT
のように、範囲を指定します。
注意:
GSCROLLでは画面に表示しているテキストもスクロールします。
テキストをスクロールした場合、見かけ上のテキストとテキスト表示管理の情報にずれが生じます。
エラーメッセージ
Syntax error :文法エラー、書式と異なる利用を行った
Overflow :指定した数値が-32768 ~ 32767を超えている
Illegal value :指定した数値が不当である
利用例
簡易オシロスコープ
code:oscilloscope.bas
10 'oscilloscope
20 CLS
30 GPIO PB1,ANALOG
40 "LOOP"
50 R=ANA(PB1)
60 Q=R/20
70 LOCATE 0,0:?R;" "
80 PSET 223,221-Q,1
90 WAIT 50
100 GSCROLL 0,8,GW-1,GH-1,LEFT
110 GOTO "LOOP"
関連項目