PDAのひとりごと

黄昏時、携帯情報端末は薄闇の向こうに何を見るのか

おつぎはCE2

2007-10-08 12:49:30 | リリース情報
地雷原からの脱出 for CE2

これで一区切りつきました。
WM5のW-ZERO3版(正確にはPPC2003版)から始まり、ポポペ版、CE1版と対応し、最後にCE2版で締めです。

なぜこのCE2版に時間が掛かったかというと、対応機種が多いからですね。
あとは、単純に四角を描くときと直線を描くときのドットのズレが上手く調整できなかったことです。

ドットのズレについては、直線で四角を描くときは、以下のように4本の線を引きますが・・・。

POINT ptArray[5];
ptArray[0].x = x1; ptArray[0].y = y1;
ptArray[1].x = x2; ptArray[1].y = y1;
ptArray[2].x = x2; ptArray[2].y = y2;
ptArray[3].x = x1; ptArray[3].y = y2;
ptArray[4].x = x1; ptArray[4].y = y1;
Polygon(hdcScreen, ptArray, 5);

四角を描くときは、対角線の座標を指定しますが、その時右下は、指定した座標の1ドット内側になります。その為、指定する時は+1して指定することにあります。

Rectangle(hdc, x1, y1, x2+1, y2+1);

ところが、実際にやってみるとなかなかうまく合わせることができず、エミュレータでは良いけど実機ではずれる、MIPSでは良いけどARMではダメ、というのを何度も繰り返していました。

対応機種については、eVC3のHCPproで作るとほとんどの機種で動いてしまいます。
そもそも、CE2の時代に機能が多様化して、爆発的に種類が増えたことにも関係します。

CE1を搭載するHandheldPC1.0(HPC1)は画面の大きさ、色数、形、機能、いろいろな部分で制約が多かった為、どの会社のものでもほとんど同じと言ってよいものしかありませんでしたが、CE2を搭載するHPC2になってから、画面サイズと色数についての制約が事実上消滅したことから多様な機種が作られました。
CE2でPalmSizePC(PsPC)という、後のPockePC(PPC)の原型が誕生しています。ちなみにPPCのOSはCE3とCE4ですね。

これらはやがて消滅し、今のWindowsMobile(WM)となっていきます。WMのOSはCE5とCE6ですね。

ということで、CE2~3の時代の有象無象すべてに対応させようと思うと一筋縄ではいかないということです。
それに比べ、PPC以降はそれらの混乱が収束し、限定された機能で実装する機種ばかりになったことからある意味リリースするのも楽になっています。

なぜかCE1.0

2007-10-06 23:24:13 | リリース情報
Windows CE 1.0 対応プログラム

いまさらながら、Windows CE 1.0用のソフトのページを作りました。

それにしても苦労しました。
PPC2003→HPCpro→HPC1と逆にたどって移植したわけですが、開発環境がすべて違うので面倒です。どんどん使えるAPIが減っていくわけですし。

ほとんどの人がCE1のサポートなんてしてないし、そもそも稼動しているマシンがあるかどうかさえ疑わしいので、やる必要はないのですが、自分が動くものを持っている以上、また、移植可能である以上、やってみたくなるのが人情(?)ってモンです。

ああ、新しい環境がまた後回しになってしまった・・・。

これから

2007-10-06 08:08:19 | しぶきのひとりごと
ピクシーウィンドウの微改良というのを見かけました。
「ああ、ソースを活用してくれる人も居るんだ。」と思うと同時に、「フリーのeVC4を使うと誰でもソースの改造ができるんだ。」と改めて認識しました。

もともとペーパーソフトウェア・マガジン育ちの私にとって、ソース公開というのは当たり前のもので、それを他人が改造するのは当然のこととしてとらえています。結局どんなカスタマイズ機能よりも、プログラム自体に手を入れるほうが、より細やかなカスタマイズができるからです。
もっとも、人のプログラムに手を加えて販売するようなのはやってはいけないことですけどね。

それはともかく、これからの開発環境をVS2005に移行しようとしているのですが、そうするとソースを公開しても利用できる人が限られるのではないか?という疑問が出てきました。

市販の開発環境を使うことは、フリーソフトにはマイナスとなる気がします。