OUTIF(3) — NEWS-OS Programmer’s Manual
名称
outif − CDIF バイナリおよびニーモニック形式データ出力ライブラリ
形式
#include <CDFF/cdff.h>
#include <CDFF/cdif.h>
#include <CDFF/value.h>
cc files ... −l outif
解説
outif ライブラリは、プログラム中から CDIF のソースコード (ニーモニック) もしくは バイナリコードを特定の File Pointer へ出力する関数ライブラリです。
関数 entry は大別して 3 つに分けられます。
(1) Control function
これらの関数は CDIF のコマンドを出力する関数ではありません。
──────────────────────────────────
関数名パラメタコメント
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if_Open(fp)FILE ∗fp出力するファイルポインタを指定する
デフォルトは stdout
──────────────────────────────────
if_On()出力を ON にする。デフォルトでは ON
──────────────────────────────────
if_Off()出力を OFF にする
──────────────────────────────────
if_Source()出力を CDIF Source で出力する
デフォルトは Binary
──────────────────────────────────
if_Binary()出力を CDIF Binary で出力する
──────────────────────────────────
if_Settabs(s)char ∗s出力を CDIF Source で出力する際、
行頭からコマンドニーモニックまでの
TAB のコントロールをする
──────────────────────────────────
if_Comment(s)char ∗s出力を CDIF Source で出力する際、
コメント行を追加する
──────────────────────────────────
if_Setsyscode(s)char ∗s 出力を CDIF Source で出力する際の
文字コードセットを指定する
s="euc" なら EUC、s="sjis" ならシフト JIS
s=’\0’なら環境変数 LANG により決定
デフォルトはシフト JIS
──────────────────────────────────
(2) CDIF Command function
これらの関数は CDIF のコマンドを出力する関数です。
──────────────────────────────────
関数名パラメタコメント
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if_end()
──────────────────────────────────
if_beginpage(orient,x,y)int orient,x,y orient:0=portrait
1=landscape
──────────────────────────────────
if_transform(x,y)int x,yBmu 値
──────────────────────────────────
if_cliparea(x,y,w,h)int x,y,w,hBmu 値
──────────────────────────────────
if_resetclip()
──────────────────────────────────
if_reset()
──────────────────────────────────
if_push()
──────────────────────────────────
if_pop()
──────────────────────────────────
if_flush(n)int nn:印刷枚数
──────────────────────────────────
if_transparent(flag)int flagflag:0/1
──────────────────────────────────
if_setbmu(bmu)int bmuデフォルト:1200
──────────────────────────────────
if_setbau(bau)int bauデフォルト:1000
──────────────────────────────────
if_sethscale(ratio)int ratio千分率
──────────────────────────────────
if_setvscale(ratio)int ratio千分率
──────────────────────────────────
if_setcsize(bmu)int bmuBmu 値
──────────────────────────────────
if_sethpitch(pitch)int pitchBmu 値
──────────────────────────────────
if_setvpitch(pitch)int pitchBmu 値
──────────────────────────────────
if_setslant(alpha)int alphaBau 値
──────────────────────────────────
if_setrotate(alpha)int alphaBau 値
──────────────────────────────────
if_setcscale(h,v)int h,v千分率
──────────────────────────────────
if_setcolor(r,g,b)int r,g,b
──────────────────────────────────
if_setlwidth(width)int widthBmu 値
──────────────────────────────────
if_setface1(face)int facetypeface(7) 参照
──────────────────────────────────
if_setface2(face)int facetypeface(7) 参照
──────────────────────────────────
if_setextface(face)int facetypeface(7) 参照
──────────────────────────────────
if_setirotate(alpha)int alphaBau 値
──────────────────────────────────
if_setlcolor(r,g,b)int r,g,b
──────────────────────────────────
if_setbcolor(r,g,b)int r,g,b
──────────────────────────────────
if_setlinecap(scap,ecap)int scap, ecap linecap id
──────────────────────────────────
if_setlinejoin(join)int joinjoin id
──────────────────────────────────
if_setahpitch(pitch)int pitchBmu 値
──────────────────────────────────
if_setavpitch(pitch)int pitchBmu 値
──────────────────────────────────
if_setcattr(dopr,lid,int dopr,lid,graphic_operation(7)
lw,fopr,fid)lw,fopr,fid参照
──────────────────────────────────
if_setdattr(opr,lid)int opr,lidgraphic_operation(7)
参照
──────────────────────────────────
if_setfattr(opr,lid)int opr,lidgraphic_operation(7)
参照
──────────────────────────────────
if_setiattr(opr)int oprgraphic_operation(7)
参照
──────────────────────────────────
if_setlinepat(lid,res,int lid,res,width イメージ実体への
width,p)char ∗pポインタ
──────────────────────────────────
if_setfillpat(fid,res,int fid,res,width, イメージ実体への
width,height,p) heightポインタ
char ∗p
──────────────────────────────────
if_setextdchar(face,code,int face,code,res, イメージ実体への
res,width,height,p)width,heightポインタ
char ∗p
──────────────────────────────────
if_setextvchar(face,int face,code,bytes イメージ実体への
code,bytes,p)char ∗pポインタ
──────────────────────────────────
if_putchar1(code)int codeAscii
──────────────────────────────────
if_putchar2(code)int codeJIS code
──────────────────────────────────
if_putextchar(code)int codeEUC & 0x7f7f
──────────────────────────────────
if_putlimage(xres,width,p)int xres,width xres:dot/inch
char ∗pp:actaul image
──────────────────────────────────
if_putimage(sample,xres,int sample,xres, sample:bit/pixel
yres,wdot,hdot,p)yres,wdot,hdot
char ∗pp:actual image
──────────────────────────────────
if_putclrimage(mode,sample,int mode,sample, sample:bit/pixel
xres,yres,wdot,hdot,p)xres,yres,wdot,hdot
char ∗pp:actual image
──────────────────────────────────
if_putcmpimage(mode,sample,int mode,sample,xres, sample:bit/pixel
xres,yres,wdot,hdot,yres,wdot,hdot,byte
byte,p)char ∗pp:actual image
──────────────────────────────────
if_imagecmap(numpalette,p)int numpalette sample:bit/pixel
char ∗pp:actual image
──────────────────────────────────
if_imagegmap(numpalette,p)int numpalette sample:bit/pixel
char ∗pp:actual image
──────────────────────────────────
if_movea(x,y)int x,yBmu 値
──────────────────────────────────
if_mover(dx,dy)int dx,dyBmu 値
──────────────────────────────────
if_moveha(x)int xBmu 値
──────────────────────────────────
if_movehr(dx)int dxBmu 値
──────────────────────────────────
if_moveva(y)int yBmu 値
──────────────────────────────────
if_movevr(dy)int dyBmu 値
──────────────────────────────────
if_dapoint(x,y)int x, yBmu 値
──────────────────────────────────
if_drpoint()
──────────────────────────────────
if_dapolyline(n,pos)int n
s_pos pos[]pos の要素数は n+1
──────────────────────────────────
if_drpolyline(n,pos)int n
s_pos pos[]pos の要素数は n
──────────────────────────────────
if_darectangle(x0,y0,x1,y1)int x0,y0,x1,y1 Bmu 値
──────────────────────────────────
if_drrectangle(lx,ly)int lx,lyBmu 値
──────────────────────────────────
if_daelliarc(mode,xc,yc,int mode,xc,yc, mode:0=円弧/1=扇形
lx,ly,sa,da,sl)lx,ly,sa,da,sl2=弓形
──────────────────────────────────
if_drelliarc(mode,int mode,mode:0=円弧/1=扇形
lx,ly,sa,da,sl)lx,ly,sa,da,sl2:弓形
──────────────────────────────────
if_dabezier(x0,y0,x1,y1,int x0,y0,x1,y1, Bmu 値
x2,y2,x3,y3)x2,y2,x3,y3
──────────────────────────────────
if_drbezier(dx1,dy1,int dx1,dy1,Bmu 値
dx2,dy2,dx3,dy3)dx2,dy2,dx3,dy3
──────────────────────────────────
if_daspline(n,pos)int n
s_pos pos[]pos の要素数は n+1
──────────────────────────────────
if_drspline(n,pos)int n
s_pos pos[]pos の要素数は n
──────────────────────────────────
if_farectangle(x0,y0,x1,y1)int x0,y0,x1,y1 Bmu 値
──────────────────────────────────
if_frrectangle(lx,ly)int lx, lyBmu 値
──────────────────────────────────
if_fapolygon(n,pos)int n
s_pos pos[]pos の要素数は n+1
──────────────────────────────────
if_frpolygon(n,pos)int n
s_pos pos[]pos の要素数は n
──────────────────────────────────
if_faelliarc(mode,cx,cy,int mode,cx,cy,lx, mode:0=楕円/1=扇形
lx,ly,deg,ddeg,slant)ly,deg,ddeg,slant 2=弓形
──────────────────────────────────
if_frelliarc(mode,lx,ly,int mode,lx,ly, mode:0=楕円/1=扇形
deg,ddeg,slant)deg,ddeg,slant2=弓形
──────────────────────────────────
if_fgroup(n)int nn:fillng group 要素数
──────────────────────────────────
if_fgline(x0,y0,x1,y2)int x0,y0,x1,y1Bmu 値
──────────────────────────────────
if_fgelliarc(mode,cx,cy,int mode,cx,cy,lx, mode:0=楕円/1=扇形
lx,ly,deg,ddeg,slant)ly,deg,ddeg,slant 2=弓形
──────────────────────────────────
if_fgbezier(x0,y0,x1,y1,int x0,y0,x1,y1, Bmu 値
x2,y2,x3,y3)x2,y2,x3,y3
──────────────────────────────────
if_fgspline(n,pos)int n
s_pos pos[]pos の要素数は n+1
──────────────────────────────────
if_devdepend(code,n,p)int code,nCDIF デバイス依存コード
char ∗p(0x80〜0xff) の生成
n:データバイト数
p:データポインタ
──────────────────────────────────
(3) Command Macro function
CDIF のコマンドにはないが、簡素化したパラメタで呼び出しができるよう
にした関数です。
──────────────────────────────────
関数名パラメタコメント
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
if_daline(x0,y0,x1,y1)x0,y0,x1,y1実際には if_dapolyline を
呼び出す
──────────────────────────────────
if_drline(dx,dy)dx,dy実際には if_drpolyline を
呼び出す
──────────────────────────────────
以下に列挙する関数は、
"_H"を省いた関数に対応して
オペランドのみを出力する
──────────────────────────────────
if_putimage_H(sample,int sample,実際には if_putimage()のオ
xres,yres,wdot,hdot)xres,yres,ペランドのみを出力する
wdot,hdotイメージの実体は if_byte(n,p)
if_putlimage_H(sample,wdot)で出力する
──────────────────────────────────
if_putclrimage_H(mode,sample, int mode,sample イメージの実体は
xres,yres,wdot,hdot)xres,yresif_byte(n,p)
wdot,hdot
if_putcmpimage_H(mode,sample, int bytebyte:圧縮データバイト数
xres,yres,wdot,hdot,byte)
──────────────────────────────────
if_imagecmap_H(numpalette)int numpalette 実体は if_byte(n,p) で
if_imagegmap_H(numpalette)出力する
──────────────────────────────────
if_dapolyline_H(n)int nデータ実体は
if_drpolyline_H(n)if_pos(n,pos)
if_daspline_H(n)で出力する
if_drspline_H(n)
if_fapolygon_H(n)
if_frpolygon_H(n)
if_fgspline_H(n)
──────────────────────────────────
if_devdepend_H(code,n)int code,nデータ実体は
if_byte(n,p)
で出力する
──────────────────────────────────
if_byte(n,p)int nn バイトの binary データ
char ∗p(イメージ) を出力する
──────────────────────────────────
if_pos(n,pos)int nn 個の位置データ
s_pos pos[]を出力する
──────────────────────────────────
関連ファイル
/usr/sony/include/CDFF/cdff.h
/usr/sony/include/CDFF/cdif.h
/usr/sony/include/CDFF/value.h
関連事項
『CDIF フォーマット仕様書』
cdff(5), asif(1), linedash(7), graphic_operation(7), typeface(7)
NEWS-OSRelease 4.2.1R