void CView::Draw() { m_pWindow->clear(Color(255, 255, 255, 255)); MainUIDraw(); ShapesDraw(); MenuDraw(); m_pFrame->Draw(*m_pWindow); m_pWindow->display(); }
PROTECTED RETCODE EditorProc(DWORD msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case GMSG_INIT: g_exit=eEXIT_NO; _GUTBKFXEnterProc(eBKFX_FADEINOUT,0); g_win = MenuGetItem(MID_EDITOR); if(!g_win) { char path[MAXCHARBUFF]; //load up the menu strcpy(path, WINDOWDIR); strcat(path, EDITORFILE); FILE *fp = fopen(path, "rt"); MenuLoadFromFile (fp); fclose(fp); g_win = MenuGetItem(MID_EDITOR); WindowChangeSize((HWINDOW)g_win, GFXGetScrnSize().cx, GFXGetScrnSize().cy); WindowNewProc((HWINDOW)g_win, EditorWinProc); } else MenuShowItem(g_win, HMC_ACTIVE, 1); char buff[MAXCHARBUFF]; sprintf(buff, "%d. %s", g_gameMaps.curMap, GetFilePart(g_gameMaps.maps[g_gameMaps.curMap].mapFile)); TextBoxChangeText((HTEXTBOX)MenuGetItem(MID_EDITOR_TXTBOX), buff); break; case GMSG_UPDATE: if(g_exit==eEXIT_NO) { MenuProc(); //update the windows if(g_exit!=eEXIT_NO) _GUTBKFXExitProc(eBKFX_FADEINOUT,0); } break; case GMSG_DISPLAY: GFXClear(0, 0, 0); //clears screen within rects with given color GFXBltModeEnable(false); MenuDraw(); //draw all menus GFXBltModeDisable(); if(_GUTBKFXUpdate() == RETCODE_BREAK && g_exit != eEXIT_NO) { SENDPROCMSG(GMSG_DESTROY, 0, 0); mapEditInfo mapEdit={0}; switch(g_exit) { case eEXIT_EDIT: SETPROCTYPE(eEditMap); //hardcoded for now... strcpy(mapEdit.mapName, GetFilePart(g_gameMaps.maps[g_gameMaps.curMap].mapFile)); SENDPROCMSG(GMSG_INIT, (WPARAM)&mapEdit, 0); break; case eEXIT_NEW: SETPROCTYPE(eEditNew); SENDPROCMSG(GMSG_INIT, 0, 0); break; case eEXIT_CANCEL: SETPROCTYPE(eMainMenu); SENDPROCMSG(GMSG_INIT, 0, 0); break; } } GFXUpdate(0, 0, 0); //update frame on display break; case GMSG_LOAD: break; case GMSG_DESTROY: if(g_win) MenuShowItem(g_win, HMC_INVIS, 1); break; } return RETCODE_SUCCESS; }
static void PlayerListDraw(GameLoopData *data) { const PlayerList *pl = data->Data; MenuDraw(&pl->ms); }