Shape Window for OS/2 PM

/SRA /people /akira /os2 /Shape Window/

1999/03/05 -> English Page

このページは OS/2軟弱化計画 に協賛しています。私には絵を描く才はありませんので、せめて 表示するための枠組なりとも提供したいと思います。


シェイプ(非矩形)ウィンドウ

OS/2−PM上でシェイプウィンドウ(非矩形のウィンドウ)を実現したコン トロール(ウィジェット)を作り、それを使って3本のサンプルプログラムを作 りました。コントール、サンプルプログラムともにソースを公開します。

アーカイブ
シェイプコントロールはXの Shape Extension に相当するものです。サンプルプ ログラムを使っていただけると判ると思いますが、シェイプコントロールを使う と、デスクトップ上にいきなり(四角い窓に囲まれずに)絵を表示することがで きます。

この機能を使っていろいろとあやしげな(軟弱な)プログラムが作成されること を願っています。サンプルプログラムでも、使い方によって、デスクトップが軟 弱になること請け合いです。

サンプルプログラム

trbitmap - ビットマップを背景部分を透過にして表示

trbitmapは、ビットマップを背景部分(左下隅と同じ色の部分 を背景とみなします)を透明にして表示します。コマンドラインで以下のように 起動するか、プログラムオブジェクトを作って、ビットマップファイルをドロッ プしてください。


    trbitmap ビットマップファイル

デスクトップ上には、前景部分だけのウィンドウが表示されます。あまり大きな ビットマップや、複雑な形状のビットマップを表示しようとするとシステム(と いうかPM)に多大な負荷がかかりますのでご注意の程を。

XMascotの マスコットなんかはちょうど手頃な大きさです。こんなのを ビットマップに変換して表示してやるとデスクトップがとても軟弱になります。

tranime- 複数ビットマップによるアニメーション

tranimeは複数のファイルを繰り返し表示してアニメーションもどきで 表示します。プログラムオブジェクトに複数ファイルを渡す方法が判りませんの で、これはコマンドラインで起動してください。


    tranime ビットマップファイル ...

起動すると制御ダイアログが表示されます。そこで、アニメーションの時間間隔 と移動量を設定してください。これも、大きな、複雑な、大量のビットマップ を表示しようとするとシステムに多大な負荷がかかります。なるべく小さな、簡 単な、少量のビットマップで試してください。

変わった使い方としては、Animated GIF の各フレームをビットマップに変換し、 移動量0で表示してやると、デスクトップで同じ(まあ、性能の問題で遅くなる とは思いますが)アニメーションを表示することもできます。これも使うビット マップによっては思いっきり軟弱になります。

プログラムオブジェクトに複数ファイルを渡す方法、ですが、標準のプログラム オブジェクトではできないようです。しょうがないので、昔EDM/2 に出ていたもの を改造して、複数ファイルでプログラムを起動するようなプログラムオブジェクト Multiple Argument Program Object を作ってみました。

treyes - Shape Extension 付の xeyes もどき

treyesは、まあありがちなマウスを見つめる目玉です。コマンドライン から


    treyes

で、あるいはプログラムオブジェクトを作って起動してください。特に指定がな ければ、デフォルトの大きさで、マウス位置に目玉が表示されます。目玉の位置、 サイズは変更できます。

このサンプルでは、シェイプウィンドウ上での画面の更新を取り扱っています。 同じような方法で、丸い時計やらなにやらが作れると思います。

更新記録

1999/03/05 更新
Ulrich Moeller さん(ulrich.moeller@rz.hu-berlin.de、XFolderの作者の方) から頂いた高速化の修正を組み込みました。これでいきなりCPU負荷が半減して しまいました。

1998/12/02 更新
諏訪さん(jjsuwa@ibm.net)より頂いた高速化の修正を組み込みま した。これで、とあるビットマップのアニメーションで、CPU負荷が 80%→60%に下がりました。

シェイプウィンドウを使ったプログラム

シェイプウィンドウを使ってこんなプログラムを作ってみました。

Romyさんがあなたを見つめます

Romy's Page を見ている内に思い付いて作ってしまったプログラムです。Romyさんより ビットマップの使用/公開許可をいただきました。デスクトップで Romyさんがあなたのマウスを見つめます。
EMX (0.9c以上)が必要です。

99/03/05、シェイプウィンドウの更新に伴い、再makeしました。

お座りマルチ for OS/2 PM

「お座りマルチ」のOS/2-PM版を作ってしまいました。「なでなで」、 「ふにふに」して幸せになりましょう。


Akira Hatakeyama (畠山 明)
akira@sra.co.jp