Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ibs_trans(3X) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

libibs(3X)

IBS_TRANS(3X)  —  NEWS-OS Programmer’s Manual

名称

ibs_trans、ibs_mirror − 2 値イメージの矩形転送、鏡像処理

形式

int ibs_trans(rop, sadr, siw, sx, sy, w, h, dadr, diw, dx, dy)
char ∗sadr, ∗dadr;
 int ibs_mirror(rop, sadr, siw, sx, sy, w, h, dadr, diw, dx, dy)
char ∗sadr, ∗dadr;

解説

ibs_trans はラスタオペレーションを含む 2 値イメージの矩形転送を行います。 ソース領域に対して rop で指定されたラスタオペレーションを行って デスティネーション領域へ格納します。

ibs_mirror はラスタオペレーションを含む 2 値イメージの鏡像処理を行います。 ソース領域を鏡像反転した後、rop で指定されたラスタオペレーションを行って デスティネーション領域へ格納します。

sadr(先頭アドレス)、siw (イメージ幅)、sx、 sy、w(幅)、h(高さ) でソース領域を指定します。 dadr(先頭アドレス)、diw (イメージ幅)、 dx、dy でデスティネーション領域を指定します。

生成されるデスティネーション領域でのデータの縦横のサイズは ソース側のサイズで決まります。

siw、diw は 8 の倍数でなければなりません。 また、領域の右端がイメージ幅を越えてはいけません。

ソース領域とデスティネーション領域が重なっている場合の 結果は不定です。(パラメータエラーにはなりません。)

いくつかのラスタオペレーションでは、 ソースが演算に影響しないものがあります。 その場合でも各パラメータのチェックは行いますので、 不合理なソース領域を指定するとパラメタエラーになります。

ラスタオペレーションの種類は以下のとおりです。 (Src はソース、Dest はデスティネーションを意味します。)

ropの値演算
00
1Src & Dest
2Src & ~Dest
3Src
4~Src & Dest
5Dest
6Src ^ Dest
7Src | Dest
8~(Src | Dest)
9~(Src ^ Dest)
10~Dest
11Src | ~Dest
12~Src
13~Src | Dest
14~(Src & Dest)
151

エラー

パラメータエラーの場合 −1 を返します。それ以外の場合 0 を返します。

関連事項

libibs(3X)

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026