[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mgl2 018p7 release



佐野です。

<200008011446.XAA15623@ninja.hpc.bs1.fc.nec.co.jp>の記事において
suz@hpc.bs1.fc.nec.co.jpさんは書きました。

>> 今回は、RAW モードを入れて見ましたが、自信作という感じではなくて、
>> ちょっと調子が悪そうです。
>> 
>> アドバイス頂けると嬉しいです。
RAW モードに関する話ではないのですが...

まだ、α版ですが mil のパッチを作りましたので送ります。

[変更点]
1) FreeBSD 以外は mknod() を使用していましたが、NetBSD では root 権限が
   必要になるようですので、デフォルトでは mkfifo() を使用するように
   しました。
   mkfifo() の無いシステムでは、-DUSE_MKNOD を指定して mknod() を使用
   してください。

2) libpng を使用して、PNG 画像を表示できます。

[問題点]
1) PNG フォーマットの alpha channel や gamma 設定に対応していません。

2) FreeBSD 3.4-RELEASE の X 上でしか確認していません。libpng は
   1.0.5 で動作確認を行っています。

libpng を使うのは初めてなので、変な使い方をしていましたら、つっこみ
お願いします。

ところで、mgl2.h の
    144 struct screen {
    145     /* general screen field */
    146     int type;
    147     int op;         /* reserverd op */
    148     struct draw_engine *de; /* draw_engine */
    149     short width;
    150     short height;
    151     short wbytes;
    152     short need_clipping;
    153     char *bitmap; /* subscreen -> root screen addr : mem -> bitmap */
    154     short off_x;     /* subscreen -> offset x */
    155     short off_y;     /* subscreen -> offset y */
    156     int plbytes;     /* size of 1 plane in bytes */
    157
    158     struct de_context _pen_color;
    159     struct fe_context _pen_font;
    160     /* for futuer use (and binary comatibility ?) */
    161     int notused[10];
    162 };
ですが、
    149     int width;
    150     int height;
    151     int wbytes;
    ...
    154     int off_x;     /* subscreen -> offset x */
    155     int off_y;     /* subscreen -> offset y */
にできませんでしょうか。
# PNG のテストをしていて、高さが 32768 の画像があったのでした。

---
begin 644 mgl2-alpha-018p7+.patch.gz
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
$%%H``+V;
`
end