int main() { before_all(); test_addNodeInTree_NullIn(); test_addNodeInTree_TreesIn(); test_addNodeInTree_DuplicateNode(); test_addNodeInTree_TreeIsLeaf(); after_all(); return errors == 0 ? 0 : -1; }
int main() { before_all(); test_getNextInTree_NullIn(); test_getNextInTree_RootWithoutElements(); test_getNextInTree_RootWithOnlyDir(); test_getNextInTree_SingleFolder_RootWithOnlyThreeDirs(); test_getNextInTree_UriList_RootWithOnlyThreeDirs(); after_all(); return errors == 0 ? 0 : -1; }
int main() { before_all(); test_getChildInDirectory_FindFromRoot_FileExists(); test_getChildInDirectory_FindFromFileAndDir_FileExists(); test_getChildInDirectory_FindAbove_FileExists(); test_getChildInDirectory_FileDoesNotExist(); test_getChildInDirectory_SearchFromSubDirectoryIsEmpty(); test_getChildInDirectory_DirectoryIsEmpty(); test_getChildInDirectory_FindRoot(); test_getChildInDirectory_DirectoryIsNull(); after_all(); return errors == 0 ? 0 : -1; }
void ProgramSystemMain::mainloop() { while(1) { //=========================== // すべてのイベントを処理する //=========================== SDL_Event event; Matrix21<int> _temp; while (SDL_PollEvent(&event)) { switch (event.type) { //画面サイズ変更 case SDL_VIDEORESIZE: SDL_FreeSurface(screen); screen = SDL_SetVideoMode(event.resize.w, event.resize.h, 32,SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_RLEACCEL | SDL_HWACCEL); DisplayReload(); break; //キー入力 case SDL_KEYDOWN: if(event.key.keysym.sym == SDLK_ESCAPE) { return; } if(event.key.keysym.sym == SDLK_RETURN && input[0].keyboard.ispush(SDLK_RALT)) { unsigned long flags=screen->flags,w=screen->w,h=screen->h; SDL_FreeSurface(screen); if(flags & SDL_FULLSCREEN) screen=SDL_SetVideoMode(w,h,32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_RLEACCEL|SDL_HWACCEL); else screen=SDL_SetVideoMode(w,h,32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_RLEACCEL|SDL_HWACCEL|SDL_FULLSCREEN); DisplayReload(); break; } input[0].keyboard.pushkey(event.key.keysym.sym); break; case SDL_KEYUP: input[0].keyboard.pullkey(event.key.keysym.sym); break; //マウス入力 case SDL_MOUSEMOTION: input[0].mouse.setpos(Matrix21<int>( event.motion.x, screen->h-event.motion.y) ); break; case SDL_MOUSEBUTTONDOWN: _temp = Matrix21<int>( event.button.x, screen->h-event.button.y ); switch(event.button.button) { case SDL_BUTTON_LEFT: input[0].mouse.setleft().push(_temp); break; case SDL_BUTTON_MIDDLE: input[0].mouse.setmiddle().push(_temp); break; case SDL_BUTTON_RIGHT: input[0].mouse.setright().push(_temp); break; } break; case SDL_MOUSEBUTTONUP: _temp = Matrix21<int>( event.button.x, screen->h-event.button.y ); switch(event.button.button) { case SDL_BUTTON_LEFT: input[0].mouse.setleft().pull(_temp); break; case SDL_BUTTON_MIDDLE: input[0].mouse.setmiddle().pull(_temp); break; case SDL_BUTTON_RIGHT: input[0].mouse.setright().pull(_temp); break; } break; //ジョイスティック入力(今回は無視) case SDL_JOYAXISMOTION: case SDL_JOYBUTTONDOWN: case SDL_JOYBUTTONUP: break; //終わり case SDL_QUIT: return; //その他 default: break; } } //===== //実行 //===== update(); //========== //描画(SDL) //========== //static int dc=0; //dc = (dc>=4) ? 0 : dc+1; //if(dc==0){ if(!fpscontrol.onlyUpdate()) { draw(); { char _str[30]; sprintf(_str,"FPS::%5.2lf",fpscontrol.getFPS()); stringRGBA(screen, screen->w-81, screen->h-9, _str, 0xff, 0xff, 0xff, 0xff); } SDL_Flip(screen); } fpscontrol.delay(); //========== //全部の後。 //========== after_all(); //=============== //いらないの削除 //=============== std::list<SystemState*>::iterator it=nowstates.begin(); for(; it!=nowstates.end();) { if(!(*it)->isNeed) { delete *it; it = nowstates.erase(it); } else it++; } } }