SewiGの日記
2006-04-20 [木]
■ [Mac] 17インチMacBook Proが出るのか?
- 17 インチ MacBookProが来週発表か? (お気楽モバイルカウボーイ)
噂ですが。Appleは発表から販売開始までがスグなので、もし本当なら来週は勝負です。なんか最近、持ち運べるなら2kgオーバーでもいいかなぁ、なんて思い始めたのでIntel iBookまで待てないかも。むしろこの発表で既存のMacBook Proが安くなる可能性があるので、そこで15インチのを買うのもアリかもしれません。
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春号
● Gilang [A ralley good answer, full of rationality!]