//	ＡＩＧライブラリ　基本関数：特殊表示関数
//	Copyright (C) 1989-1994,98 by AIG-SOFT

#ifndef	__AIG_EXPRINT__
#define	__AIG_EXPRINT__	1

#include "defines.h"
#include <iocslib.h>

#ifdef	__cplusplus
// 95/11 : G++対応
extern	"C" {
#endif

#ifdef	__PROTO_TYPE
	int	print12(int,int,const unchar *);
	int	EX_PUTC16(int);
	int	print16c(int);
	int	print16_s(const unchar *,int);
	int	EX_PUTC24(int);
	int	print24c(int);
	int	print24_s(const unchar *,int);
	int	EX_PUTC2(int,int);
	int	EX_PRINT2(int,const unchar *);
	int	tabprints(const unchar *,int);
	int	PrDecs(unchar *,int);
	void	B_PRINT_DEC(int,unchar,int);
	void	print_message(const unchar *,int,int,int,int);
	void	pr_sysline(unchar **,int);
	void	BPrintNum(int,int,unchar,int);
	void	EXPrintNum(int,int,unchar,int,int);
	int	Print8s(int ,int ,unchar *,int );
	void	Print8c(int ,int ,unchar ,int );
	void	CL_TEXTPUT(int ,int ,_FNTBUF *,int );

	int	putcg(_FNTBUF *,unsint *);
	int	putcg8(unchar,unsint *,int *);
	int	printcg(unsint ,unsint ,unsint ,int );
	int	prints_cg(unchar *,unsint ,unsint ,int );
	int	PutCGFonts(_FNTBUF *,int ,int);
	
	int	shift_left_putcg(_FNTBUF *,int ,int ,unsint *);
	int	shift_right_putcg(_FNTBUF *,int ,int ,unsint *);
	int	shift_up_putcg(_FNTBUF *,int ,int ,unsint *);
	int	shift_down_putcg(_FNTBUF *,int ,int ,unsint *);
	
	int	shift_left_font(_FNTBUF *,int ,int );
	int	shift_right_font(_FNTBUF *,int ,int );
	int	shift_up_font(_FNTBUF *,int ,int );
	int	shift_down_font(_FNTBUF *,int ,int );
	
	int	ShiftLeftPrint(_FNTBUF *,int ,int ,int );
	int	ShiftRightPrint(_FNTBUF *,int ,int ,int );
	int	ShiftUpPrint(_FNTBUF *,int ,int ,int );
	int	ShiftDownPrint(_FNTBUF *,int ,int ,int );
	
	int	shift_left_putcgs(_FNTBUF *,int ,int ,int ,unsint *);
	int	shift_right_putcgs(_FNTBUF *,int ,int ,int ,unsint *);
	int	shift_up_putcgs(_FNTBUF *,int ,int ,int ,unsint *);
	int	shift_down_putcgs(_FNTBUF *,int ,int ,int ,unsint *);
	
	int	shift_left_fonts(_FNTBUF *,int ,int ,int );
	int	shift_right_fonts(_FNTBUF *,int ,int ,int );
	int	shift_up_fonts(_FNTBUF *,int ,int ,int );
	int	shift_down_fonts(_FNTBUF *,int ,int ,int );
	
	int	ShiftLeftPrints(_FNTBUF *,int ,int ,int ,int );
	int	ShiftRightPrints(_FNTBUF *,int ,int ,int ,int );
	int	ShiftUpPrints(_FNTBUF *,int ,int ,int ,int );
	int	ShiftDownPrints(_FNTBUF *,int ,int ,int ,int );
	
	int	prints_shift_cg(unchar *,int ,int ,int ,int ,int ,int );
	int	prints_shift_font(unchar *,int ,int ,int ,int );
	int	prints_shift_cgs(unchar *,int ,int ,int ,int ,int ,int );
	int	prints_shift_fonts(unchar *,int ,int ,int ,int );
	int	PrintsShiftPrint(unchar *,int ,int ,int ,int ,int );
	int	PrintsShiftPrintSub(int (*)(),unchar *,int ,int ,int ,int);
	int	PrintsShiftPrints(unchar *,int ,int ,int ,int ,int );
	int	PrintsShiftPrintsSub(int (*)(),unchar *,int ,int ,int ,int);
#else
	int	print12();
	int	EX_PUTC16();
	int	print16c();
	int	print16_s();
	int	EX_PUTC24();
	int	print24c();
	int	print24_s();
	int	EX_PUTC2();
	int	EX_PRINT2();
	int	tabprints();
	int	PrDecs();
	void	B_PRINT_DEC();
	void	print_message();
	void	pr_sysline();
	void	BPrintNum();
	void	EXPrintNum();
	int	Print8s();
	void	Print8c();
	void	CL_TEXTPUT();

	int	putcg();
	int	putcg8();
	int	printcg();
	int	prints_cg();
	int	PutCGFonts();
	
	int	shift_left_putcg();
	int	shift_right_putcg();
	int	shift_up_putcg();
	int	shift_down_putcg();
	
	int	shift_left_font();
	int	shift_right_font();
	int	shift_up_font();
	int	shift_down_font();
	
	int	ShiftLeftPrint();
	int	ShiftRightPrint();
	int	ShiftUpPrint();
	int	ShiftDownPrint();
	
	int	shift_left_putcgs();
	int	shift_right_putcgs();
	int	shift_up_putcgs();
	int	shift_down_putcgs();
	
	int	shift_left_fonts();
	int	shift_right_fonts();
	int	shift_up_fonts();
	int	shift_down_fonts();
	
	int	ShiftLeftPrints();
	int	ShiftRightPrints();
	int	ShiftUpPrints();
	int	ShiftDownPrints();
	
	int	prints_shift_cg();
	int	prints_shift_font();
	int	prints_shift_fonts();
	int	prints_shift_cgs();
	int	PrintsShiftPrint();
	int	PrintsShiftPrintSub();
	int	PrintsShiftPrints();
	int	PrintsShiftPrintsSub();
#endif
#ifdef	__cplusplus
}
#endif

/* マクロ関数 */
#define shift_down_font(fnt,wt,tm)	ShiftDownPrint(fnt,wt,tm,1)
#define shift_left_font(fnt,wt,tm)	ShiftLeftPrint(fnt,wt,tm,1)
#define shift_right_font(fnt,wt,tm)	ShiftRightPrint(fnt,wt,tm,1)
#define shift_up_font(fnt,wt,tm)	ShiftUpPrint(fnt,wt,tm,1)
#define shift_down_fonts(fnt,no,wt,tm)	ShiftDownPrints(fnt,no,wt,tm,1)
#define shift_left_fonts(fnt,no,wt,tm)	ShiftLeftPrints(fnt,no,wt,tm,1)
#define shift_right_fonts(fnt,no,wt,tm)	ShiftRightPrints(fnt,no,wt,tm,1)
#define shift_up_fonts(fnt,no,wt,tm)	ShiftUpPrints(fnt,no,wt,tm,1)
#define	prints_shift_font(s,f,m,wt,t)	PrintsShiftPrint(s,f,m,wt,t,1)
#define	prints_shift_fonts(s,f,m,wt,t)	PrintsShiftPrints(s,f,m,wt,t,1)

/* テキスト画面色指定 */
// Print8s(),Print8c()で使う
#define	TC_CYAN		1	/* 水色 */
#define	TC_YELLOW	2	/* 黄色 */
#define	TC_WHITE	3	/* 白色 */

#endif
