ややプログラム紀行

博士2年のプログラムに関する日記

HDC

いやー、今日はプログラムの技術が大分向上した気がする(あくまで気持ちです(^_^; )

昨日言ったとおり独自の3D描画エンジン(カッコイイ言い方www)を作ることにしたんですけれど

どうしてもBitBlt系を使うのは面倒なのかー・・・と考えていたら、

配列でピクセル情報を管理しておいて、最後だけBitBltとかに任せれば良いんじゃね?!と思いついたので

とりあえずBitBltのキーであるHDCについて調べることにしました

・・・曲者め・・・!

意味がわからん・・・

結局なんとなく意味は分かったんですけど、HDCの実体は中身が使われない構造体のポインターのようですね

#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name

この部分です

「##」と「__」は初めて見たのでまずここで苦戦しました・・・

ググッたら意味は理解できましたが、次の疑問が「なぜ構造体?!」と言うことでした

これもググるとこんなものが・・・

http://www.wdic.org/w/TECH/HWND

これによると、工夫の結果だとか(取り違えてるかも)

いったい何を工夫してんでしょうか

これもいつか調べるとして、とりあえずHDCはポインター

本体を探るには、関数のほうも見ていかないといけないということがわかりました

なんてややこしいんだ・・・