IMathLib-ソースコード-

  • pocket
  • はてなブックマーク

#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