#include "defines.h"
#include "aigs.h"

void text_scroll(int sx,int sy,int ex,int ey,int count,int mode)
/*	count : スクロール行数
	mode  : BIT0 : 0=上      ,1=下
		BIT5 : 0=スクロール後の残りエリアを消す , 1=消さない
		BIT6 : 0=ジャンプ,1=スムース
		BIT7 : 0=ＤＭＡ  ,1=ソフト
	スクロールさせるのはプレーン０／１のみ
*/
{
void (*scrl)(),(*era)(),(*sc)();
int c;
	if (count>0) {
		/* スクロール関数設定 */
		sc=(mode&BIT6? TextScrollS:TextScrollJ); /* モード設定 */
		if (mode&BIT7) { /* ｿﾌﾄ */
			scrl=(mode&BIT0? _downscroll:_upscroll);
			era=_scroll_erase;
		} else { /* DMA */
			scrl=(mode&BIT0? _dma_downscroll:_dma_upscroll);
			era=_dma_scroll_erase;
		}
		
		c=curmode(0); /* カーソルＯＦＦ */
		sc(scrl,era,sx,sy,ex,ey,count,mode&(BIT0|BIT5));
		curmode(c); /* カーソルＯＮ */
	} /* スクロール行数なしの時は何もしない */
}
