[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 3864] Re: 超&NS-OSASK



  こんばんは、川合です。


I.Tak. さんは 2002/06/25 14:20:18 の「[OSASK 3860] Re: 超&NS-OSA
SK」で書きました:

>>  マウスカーソルのデザインについてですが、これは本来vgadrv0に固
>>定的に含まれているべきものではありません。そんなわけで、winman0
>>からsgg系のコマンドでカーソルパターンを転送できるようにします。
> あれ、そんなことができるんですか。それって、pioneer0になにか
>転送したりもできますか? そうしたら実行中にデータを送ってデザインを
>切り替えるとかスキンを付けるとか、また面白いことができそうです。:->

  いや、今はまだできませんよ。今夜か、遅くとも明日にはできるよう
になっていると思いますが。

  それとwinman0からpioneer0に何らかのデータを送ることはもちろん
できます。これを使ってウィンドウ制御をしているわけですし。ですか
ら、実行中にウィンドウデザインを変えるということは可能です(もっ
とも僕はこの手法にあまり賛成しませんが)。

  もちろん、これはシグナルでやり取りされますのであまり大きなデー
タは送れません。それにpioneer0は256バイトしかワークエリアがあり
ません。パターンを送るというのは現実的ではないでしょう。せいぜい
モードを保持しておくことにして、パターンはpioneer0内に用意してお
くということになるでしょう。

  これを覆すことは可能です。そもそも「GUIGUI00」を否定してしまえ
ばいいわけです。ルールの全然違うAPIを作ってしまってかまいません
。ただ、僕が推奨するかどうかは分かりませんよ。・・・たとえば、「
I.Tak.00」というシグネチャーにして、呼び出しをCALL FAR 0x007f:0
とかでよければ、組み込み方をお教えいたします。

  この新APIを作るという方針なら、

>テキストボックスの枠がウィンドウをはみ出してウィンドウ枠に重な
>ってもいいという(謎の)仕様がたたった

というpioneer0.ask内の嘆きも解消可能なわけです。僕はもともとGUIG
UI00をWin9x風のウィンドウデザインを前提にして設計しているので、
問題が出るのはしょうがないところです。ウィンドウデザインを超越し
たAPI仕様が可能なら、それがどういうものになるのか、興味はありま
す。

> nasmkcnvが386|ASM文法に合わない文をはじくとは思えないので、
>PUSH(closebutton); とか書いてそのままごまかせると思っていました(^^;
>だめなんでしょうか……

  ああ、まあ、それは確かに期待できます(笑)。でも、やっぱり、今のAS
KAで通すにはasmoutが必要かもしれません。

    asmout("PUSH .closebutton");

みたいに。ちなみに正式なASKAの表記では、

    PUSH((offset) closebutton);

になります。この場合の(offset)は省略可能なので、I.Tak.さんの書
き方でも通るかな?

>%define offset
>%define ptr
>……として、nasm -e (^^;;;

  それは、僕も考えました(笑)。ただ、nasmはこの用途だけに使うに
はあまりに大きいです。

> ローカルラベルですが、386|ASMがどうなっているかは知りませんが、
>NASMではちょっと雰囲気が違います。
      (引用中略)
>……といった具合に外から参照することもできます(というより、最初から
>foo.bar goo.bar というラベルを定義していて、.bar というのを省略表記
>として受け付けるのでしょう。これはちょっと面白い使い方ができます)。

  存じております。僕のこのローカルラベルのルールは気に入っていま
す。

>でも今のNASKはサポートしてないようですね。ローカルラベルシステムに

  いや、サポートしていないというよりも、バグです。すみません。ちゃん
とやっておいたつもりだったのですが、うまくいっていませんでした。次の
バージョンでは直します。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/