File Annotation

Not logged in
5128eecc9f 2011-02-23        kinaba: //--- K.I.LIB ---
5128eecc9f 2011-02-23        kinaba: // kl_app.h : application class for K.I.LIB
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: #include "stdafx.h"
5128eecc9f 2011-02-23        kinaba: #include "kilib.h"
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: //------------ 唯一のアプリケーションオブジェクトの管理 ------------//
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: kiApp* kiApp::st_pApp = NULL;
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: kiApp* app()
5128eecc9f 2011-02-23        kinaba: {
5128eecc9f 2011-02-23        kinaba: 	return kiApp::st_pApp;
5128eecc9f 2011-02-23        kinaba: }
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: //-------------------- スタートアップコード ------------------------//
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: void kilib_startUp()
5128eecc9f 2011-02-23        kinaba: {
5128eecc9f 2011-02-23        kinaba: 	//-- K.I.LIB 初期化
5128eecc9f 2011-02-23        kinaba: 	kiStr::init();
5128eecc9f 2011-02-23        kinaba: 	kiWindow::init();
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	//-- キーボード状態クリア
5128eecc9f 2011-02-23        kinaba: 	::GetAsyncKeyState( VK_SHIFT );
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	//-- アプリケーションインスタンスを作成
5128eecc9f 2011-02-23        kinaba: 	kilib_create_new_app();
5128eecc9f 2011-02-23        kinaba: 	if( app() )
5128eecc9f 2011-02-23        kinaba: 	{
5128eecc9f 2011-02-23        kinaba: 		// コマンドライン分割
5128eecc9f 2011-02-23        kinaba: 		kiCmdParser cmd( ::GetCommandLine(), true );
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 		// 実行
5128eecc9f 2011-02-23        kinaba: 		app()->run( cmd );
5128eecc9f 2011-02-23        kinaba: 	}
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	//-- K.I.LIB 終了
5128eecc9f 2011-02-23        kinaba: 	kiWindow::finish();
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: 	delete app();
5128eecc9f 2011-02-23        kinaba: 	::ExitProcess( 0 );
5128eecc9f 2011-02-23        kinaba: }
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: //--------------- C-Runtime初期化コード削除周りの処理 ---------------//
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: #if 1
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: int APIENTRY WinMain( HINSTANCE, HINSTANCE, char*, int )
5128eecc9f 2011-02-23        kinaba: {
5128eecc9f 2011-02-23        kinaba: 	kilib_startUp();
5128eecc9f 2011-02-23        kinaba: 	return 0;
5128eecc9f 2011-02-23        kinaba: }
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: #else
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: void* operator new( size_t siz )
5128eecc9f 2011-02-23        kinaba: {
5128eecc9f 2011-02-23        kinaba: 	return (void*)::GlobalAlloc( GMEM_FIXED, siz );
5128eecc9f 2011-02-23        kinaba: }
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: void operator delete( void* ptr )
5128eecc9f 2011-02-23        kinaba: {
5128eecc9f 2011-02-23        kinaba: 	::GlobalFree( (HGLOBAL)ptr );
5128eecc9f 2011-02-23        kinaba: }
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: void main()
5128eecc9f 2011-02-23        kinaba: {
5128eecc9f 2011-02-23        kinaba: 	// main がないと何故か libc.lib がリンクエラーになるのでダミー
5128eecc9f 2011-02-23        kinaba: }
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: #endif
5128eecc9f 2011-02-23        kinaba: 
5128eecc9f 2011-02-23        kinaba: //--------------------------------------------------------------//