読者です 読者をやめる 読者になる 読者になる

ゆとりーなの日記

日記的な事を書いて行くと思はれる

製作中のゲームライブラリのインターフェイス案

久々にダルマオタチ氏に会ったら「いきなり失恋のご感想は?」って訊かれました。氏は氏のコミュニティで勝手に広めたうです。まあ誤解する分には勝手に誤解させとけばいいだけの話です。「今更何言っても無駄だよ」とか言ってましたが、まあそうなんでしょう。そんなことよりも今日から最短9ヶ月から最長1年は続くであろうと思われる闇黒時代への対処の方がずっとおおきな問題です。正直耐え切れる自身がありません。取らなくてももいいと知ってしまった電気回路を欠いた期末試験の方が癒しに感じられるほど、闇黒時代は黒いのです。

そんな闇黒時代に一筋の光が・・・「C++っ!!」

やはりそんな時こそみんなのアイドルC++ですね。現在製作中のゲームライブラリのウィンドウ周りのインターフェイスが固まってきたので。地味にDXRuby辺りを意識していたりします。

namespace application {
// 粗確定
void init(int width, int height, const std::string &caption);
int run(std::function<void ()> func);
void quit();
void set_caption(const std::string &caption);
int width();
int height();
bool is_fullscreen_mode();
void set_fullscreen_mode();
void set_window_mode();
void activated(std::function<void (bool)> func);
template <typename Drawable>
void draw(const Drawable &drawable);
// 審議中
std::string caption();
int x();
int y();
void resize(int width, int height);
void move(int x, int y);
}

名前は全部暫定です。画面のリサイズとか表示する左上座標の指定やら取得やらは使う機会が思いつかないので審議中です。win32+DirectXSDL+OpenGL両方で実装できるかが問題ですが、多分何とかなるでしょう。あとはアイコン系が必要ですかね。