鶴薗さんの連載の今月分は4つの記事に分かれています。今日と明日の2回に分けてお届けすることにしますが、サイトには全文がすでに掲載されています。また、鶴薗さん御自身が作られたPDFファイルも公開することにします。以下のアドレスで、特に認証などはかかっていませんけども、MDOnlineの読者の方だけ御利用できるものとします。このPDFは元原稿なのですが、テキストのみのメール向けに文字の調整をしているだけなので、内容的にはほぼ同じです。PDFの方が見やすいでしょうから、こちらも公開します。
http://mdonline.jp/figs/01/0026/MDOnline%202001.09.pdf
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┥Information
WebObjects 4.5.1へのアップデート受付は、2001年9月いっぱい
Macintoshと対象周辺機器の購入で1万円キャッシュバック。複数台ならさらに加算
デジタルライフキャンペーン
WebObjectsの日本語マニュアルが公開されはじめています
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
米国の惨事はあまりに衝撃的です。テレビで見ている限りは、こうも簡単にあの高層ビルが倒壊するのかと思ったりもしますが、旅客機もかなりのサイズでもあり、燃料が炎上しての爆発などが発生したのかもしれません。民間機をハイジャックして自爆テロをするなど、フィクションとしても思いも付かないような手口だったのも驚きです。米国は軍事大国だけに、システムが古いとかなんとか言っても、たとえば外国の戦闘機が領空侵犯したような場合には迅速には対処できたでしょう。だけど、さすがにハイジャックされた航空機まではそうした監視対象に入らないというか、入ったところですでに国土の中にあるわけで、対処ができなかったのかもしれません。事件の詳細はまだ分からないことが多いのですが、こうした大きな事件は何かしら教訓を残すものですし、また今後につなげないと払われた犠牲を無駄にすることにもなります。政治的なことなどいろいろありますが、戦争よりテロが頻発するとなると、都市に機能が集中しているということがすでに危ないということなのかもしれません。身近な意味では、「安全」や「危険」の概念を再度考え直さないといけないということもあるかと思います。いずれにしても犯罪者集団が早期に捕ることを願う次第です。
(新居雅行 msyk@mdonline.jp)
■ 今回のテーマ
今回は、前回に引き続いて、Appleから配付されているサンプルコードの解説です。
RoundTransparentWindowというサンプルで、これは、ウィンドウを特殊な形状にしたり、半透明にしたりするものです。このサンプルコードを読む上で、ポイントになるところをピックアップして解説していきます。まずは、以下のURLからダウンロードして解凍しておいてください。
◇RoundTransparentWindow
http://developer.apple.com/samplecode/Sample_Code/Cocoa/RoundTransparentWindow.htm
■ このサンプルから学べること
このサンプルを読むことで何が学べるのか、まず、そのポイントを列挙してみました。
関連リンク:Cocoaはやっぱり!
カテゴリ:Cocoa, 鶴薗賢吾のCocoaはやっぱり!出張版
■ 形状変更の手順
仕組みは分かりましたが、それを実際にコード上でどう書くのかを見ていきます。ウィンドウを変形するには、以下の2段階の処理を行うことになります。
1. ウィンドウ全体を完全に透明にする
2. 不透明にしたい個所を描画する
まず、ウィンドウ上の全てのピクセルを完全に透明にしておいて、その後から描画をすることで、描画したところのみがウィンドウとして見えてくることになります。
■ ウィンドウ全体の透明化手順
ウィンドウ全体を透明化する方法を、さらに詳しくみていきましょう。以下の3段階の処理を行います。
1. ウィンドウの背景色を透明色にすること
2. ウィンドウの不透明フラグをNOにすること
3. ウィンドウのスタイルマスクをNSBorderlessWindowMaskにすること
1.の「 ウィンドウの背景色を透明色にする 」は、以下の1行で行えます。NSWindowのインスタンスに対して、setBackgroundColor : を送って透明色である clearColor を指定します。下のコードの
「 window 」は存在しているNSWindowのインスタンスです。
[ window setBackgroundColor : [ NSColor clearColor ] ];
[ window setOpaque : NO ];
ウィンドウの形状指定
enum {
NSBorderlessWindowMask = 0, // 枠が無い
NSTitledWindowMask = 1, // タイトル部分を持つ
NSClosableWindowMask = 2, // クローズボックスを持つ
NSMiniaturizableWindowMask = 4, // 最小化ボタンを持つ
NSResizableWindowMask = 8 // リサイズボックスを持つ
};
- (id) initWithContentRect : (NSRect ) contentRect
styleMask : (unsigned int ) aStyle
backing : (NSBackingStoreType) bufferingType
defer : (BOOL ) flag
{
NSWindow* win = [ super initWithContentRect : contentRect
styleMask : NSBorderlessWindowMask
backing : NSBackingStoreBuffered
defer : NO ];
return win;
}
- (id) initWithContentRect : (NSRect ) contentRect
styleMask : (unsigned int ) aStyle
backing : (NSBackingStoreType) bufferingType
defer : (BOOL ) flag
{
NSWindow* win = [ super initWithContentRect : contentRect
styleMask : NSBorderlessWindowMask
backing : NSBackingStoreBuffered
defer : NO ];
[ win setBackgroundColor : [ NSColor clearColor ] ];
[ win setOpaque : NO ];
return win;
}
関連リンク:Cocoaはやっぱり!
カテゴリ:Cocoa, 鶴薗賢吾のCocoaはやっぱり!出張版
2001年9月19〜22日に幕張メッセで開催されるWORLD PC EXPO 2001で、Mac OS Xの次期バージョン「Mac OS X 10.1」を、会場内のアップルコンピュータのブースで「試せる」ことが、日経BP社のPC-Gazのコーナーで明らかにされた。このときまでにMac OS X 10.1がリリースされていないとすれば、日本で最初に一般ユーザがMac OS X 10.1を使うことができる場になると思われる。なお、PC EXPOのサイトでのアップルコンピュータの展示内容では、Mac OS X 10.1が展示されるかどうかは明確には記載されていない。
ところで、PC EXPO開催まで1週間と迫っているが、現段階ではMac OS X 10.1の発売に関してのアナウンスは一切ないため、PC EXPOでの販売(Public Betaの再来?)はほぼないと言ってよいものと思われる。
関連リンク:[パソコン編]パソコンで注目はなんといってもWindows XP搭載機だ!
カテゴリ:Mac OS X, イベント
Object Domain Systemsは、UMLモデリングツールの「ObjectDomain R3」を近々リリースする。Java2ベースで稼動するアプリケーションで各種のプラットフォームで稼動するが、MacintoshではMac OS Xが対応OSとなる。9種類のUMLダイアグラムをサポートし、Java、C++、IDL、Pythonのソースを生成できる。Java2サポートは、R3の新機能となっている。Shared Packageという独自のメカニズムでサーバを使わなくてもマルチユーザの利用を実現している。ラウンドトリップはJavaではすでに実現しているが、C++でも可能となった。スタンダード版が$495、プロフェッショナル版が$995からとなっている。
関連リンク:Object Domain Systems
カテゴリ:開発ツール
ソフトウエアのユーザビリティをフリーで評価してくれるというサイト「Interface Mafia」が登場した。申し込みを行えば、そのソフトの使い勝手について、ユーザインタフェースデザインについて、場合によってはドキュメントなども含めて評価をし、サイトに評価結果を掲載する。サイト運営グループのボランティアによって評価が行われる。現在は、Mac OS Xを含むMac OS向けソフトウエアのみとなっているが、将来的にはプラットフォームを広げる予定だ。すでにいくつかレビューや論文が掲載されているが、ダイアログボックスのデザインの修正案などが図で示されるなど意欲的なものとなっている。レビューには読者からのコメントをつけることもできるようになっており、さらに意見を広く求めることができる。このグループはソフトウエアのユーザビリティを向上させることを目的としてサイトを運営しているとのことだ。
関連リンク:Interface Mafia
カテゴリ:ユーザインタフェース, サービス
WebサーバのスクリプトシステムPHPから、ファイルメーカーProのデータベースにアクセスを可能にするライブラリ「FX.php」が公開された。Chris Hansen氏とChris Adams氏によるフリーウエアである。ファイルメーカーProのWebコンパニオンを利用すれば、データベースの内容をXML形式で取りだせる。この方法を利用してPHPのプログラムからファイルメーカーProへのデータベースアクセスを実現している。PHPでの他のデータベースサポートのような関数拡張ではなく、PHPのクラスライブラリ、つまりPHPのプログラムとして記述されたテキストファイルとしてFX.phpは提供されているので、基本的には機種に依存するバイナリではない。
関連リンク:Viking.org
カテゴリ:データベース