/* テキスト画面圧縮記録のためのワークエリアサイズを得る */

#include "defines.h"
#include "getput3.h"

void calctext3(int sx,int sy,int ex,int ey,unint count[CMAX],int *bsize,int *csize)
/* sx,sy,ex,ey : テキスト座標で与えること */
{
unchar buff[SHEAD];
unsint i,cur;
	/* 幅計算 */
	*(unsint *)buff    =(ex-sx+1);
	*(unsint *)(buff+2)=(ey-sy+1);
	/* 上位コード表書き込み */
	for (i=0;i<JOUI;i++) buff[SFIX+i]=(unchar)count[i];
	/* カーソルoff */
	cur=curmode(0);
	/* 仮想圧縮 */
	_calctext3(TPLANE0+sx+sy*16*128,buff);
	*bsize=*(int *)&buff[4];
	*csize=*(int *)&buff[8];
	/* カーソル復帰 */
	curmode(cur);
}
