SewiGの日記
2007-04-20 [金] [長年日記]
■ [Mac][Programming] Macプログラミング(2) - ToolBoxでHello World
MPWだけで作るので、必要なヘッダは適宜includeして、必要な変数は適宜宣言します。
#include <Dialogs.h>
#include <Strings.h>
#include <Fonts.h>
#include <Sound.h>
QDGlobals qd;
void InitToolBox() {
InitGraf(&qd.thePort);
InitFonts();
InitWindows();
InitMenus();
TEInit();
InitDialogs(nil);
InitCursor();
}
int main(int argc, char **argv) {
InitToolBox();
SysBeep(0);
while(!Button()){};
return 0;
}
今回はイベント処理などは使っていないので、今風のアプリケーションではありません。単純にAPIを利用しただけのプログラムです。
InitToolBox()はToolBoxやインタフェースを初期化します。ほかのプログラムでもほぼこの形で使う、いわゆるおまじないみたいなものですのでこのまま使ってください。
InitGraf()はQuickDraw、描画関連の初期化、InitFonts()はフォントマネージャの初期化、InitWindow()はウィンドウマネージャの初期化、InitMenu()はメニューマネージャの初期化、TEInit()はテキストエディットマネージャの初期化、InitDialogs()はダイアログマネージャの初期化、InitCursor()はカーソルの初期化。
SysBeep()はSoundManerを利用してビープ音を鳴らす関数です。
Button()はマウスが押されたかどうかを判定します。関数が呼び出されたときの状態を見るだけですから、イベントなんかは一切使っていません。
CodeWarriorを使った分かりやすい解説は参考文献*1でどうぞ。
*1 ねおだ如, “Macintoshでゲームを作ろう!”, Oh!X 2001春号
A ralley good answer, full of rationality!