IMathLib-ソースコード-
#ifndef IMATHLIB_H_IMEDIALIB_HPP #define IMATHLIB_H_IMEDIALIB_HPP // Iroha Media Library #define IMEDIALIB_VERSION // 各種フラグ #ifdef IMATHLIB_F_MEDIA #ifndef IMATHLIB_F_MEDIA_INPUT #define IMATHLIB_F_MEDIA_INPUT // 入力 #endif #ifndef IMATHLIB_F_MEDIA_AUDIO #define IMATHLIB_F_MEDIA_AUDIO // オーディオ #endif #ifndef IMATHLIB_F_MEDIA_TTF #define IMATHLIB_F_MEDIA_TTF // type trur font #endif #endif // UIを用いるときはTTFとINPUTのフラグを定義する #ifdef IMATHLIB_F_MEDIA_UI #ifndef IMATHLIB_F_MEDIA_INPUT #define IMATHLIB_F_MEDIA_INPUT #endif #ifndef IMATHLIB_F_MEDIA_TTF #define IMATHLIB_F_MEDIA_TTF #endif #endif #ifdef IMATHLIB_F_MEDIA_TTF #ifndef IMATHLIB_F_MEDIA_DEFAULT_FONT_PATH #define IMATHLIB_F_MEDIA_DEFAULT_FONT_PATH #endif #endif //3Dモデル制御 #include "IMathLib/media/3d/model.hpp" #include "IMathLib/media/3d/metasequoia.hpp" //インターフェース構築に必要なもの #include "IMathLib/media/interface.hpp" //ファイルのロードを中継する #include "IMathLib/media/load.hpp" //オーディオ #include "IMathLib/media/audio.hpp" //テクスチャ制御 #include "IMathLib/media/graphic.hpp" //3Dモデル #include "IMathLib/media/model_control.hpp" //カメラ制御 #include "IMathLib/media/camera.hpp" namespace iml { namespace ml { // ライブラリの初期化終了に関するenabler object struct IMEDIALIB_OBJECT { IMEDIALIB_OBJECT(const char* title, size_t w, size_t h, Uint32 flag = SDL_WINDOW_HIDDEN) { // 制御系のためのインターフェースの生成 controler::construct(title, w, h, flag); // 標準のカメラの構築 } ~IMEDIALIB_OBJECT() { // カメラの終了 controler::destroy(); } }; #define IMATHLIB_MEDIA(NAME) IMATHLIB_ENABLER_OBJECT(iml::ml::IMEDIALIB_OBJECT NAME) } } #endif