void InitializeGame(int x_cur, int y_cur) { int i,j; for (i=0; i<15; i++) { for (j=0; j<15; j++) { board_state[i][j]=EMPTY; } } DrawNumber(level,3,2,EMPTY); DrawWinning(0,1, EMPTY); DrawStatus(1, 21, EMPTY,PVP); DrawBack(3,1119,EMPTY); count=0; time0=0; turn=HUMAN_PLAYER; step_flag=0; win_flag=0; DrawBoard(); DrawChess(x_cur, y_cur, CURSOR); DrawTime(88, EMPTY); DrawTime(30, turn); DrawStatus(1, 21, COMPUTER_PLAYER,PVP); xil_printf("\r\nGame Start!\r\n"); }
void DrawState() { Short x; Char msg[MaxName+4]; DrawCurrScore(); // Fill the fields x = 0; if ( stor.currplayer > -1 ) { // If there is a game on, fill in the names and scores for ( ; x < stor.numplayers ; x++ ) { StrPrintF( msg, "%d. %s", x+1, stor.player[x].name, NULL ); SetFieldTextFromStr( fieldNamePlayer[x], msg ); DrawPlayerScore( x ); } } // Clears the rest if the fields for ( ; x < MaxPlayers ; x++ ) { ClearFieldText( fieldNamePlayer[x] ); ClearFieldText( fieldScorePlayer[x] ); ClearFieldText( fieldMarkPlayer[x] ); } for ( x = 0 ; x < NumCubes ; x++ ) { DrawCube(x); DrawKeepBit(x); } DrawStayButton(); DrawRollButton(); DrawStatus(); DrawTopStatusButton(); }
void ControlCenter::Initialize() { // Initialization steps that have to happen before we // have a functional WFC system. This also supposes that // session()->InitializeBBS has been called. out->Cls(ACS_CKBOARD); const int logs_y_padding = 1; const int logs_start = 11; const int logs_length = out->window()->GetMaxY() - logs_start - logs_y_padding; log_.reset(new WfcLog(logs_length - 2)); commands_.reset(CreateBoxedWindow("Commands", 9, 38, 1, 1)); status_.reset(CreateBoxedWindow("Status", 9, 39, 1, 40)); logs_.reset(CreateBoxedWindow("Logs", logs_length, 78, 11, 1)); DrawCommands(commands_.get()); DrawStatus(status_.get()); vector<HelpItem> help_items0 = { { "?", "All Commands" },}; vector<HelpItem> help_items1 = { {"Q", "Quit" } }; out->footer()->ShowHelpItems(0, help_items0); out->footer()->ShowHelpItems(1, help_items1); session()->ReadCurrentUser(1); read_qscn(1, qsc, false); session()->ResetEffectiveSl(); session()->usernum = 1; fwaiting = session()->user()->GetNumMailWaiting(); session()->SetWfcStatus(1); }
LRESULT CBaseDialog::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_COMMAND: { WORD idFrom = LOWORD(wParam); // idFrom is the menu item selected if (HandleMenu(idFrom)) return S_OK; break; } case WM_PAINT: { // Paint the status, then let the rest draw itself. DrawStatus( m_hWnd, GetStatusHeight(), (LPCTSTR)m_StatusMessages[STATUSDATA1], m_StatusWidth[STATUSDATA1], (LPCTSTR)m_StatusMessages[STATUSDATA2], m_StatusWidth[STATUSDATA2], (LPCTSTR)m_StatusMessages[STATUSINFOTEXT]); break; } } // end switch return CMyDialog::WindowProc(message, wParam, lParam); } // CBaseDialog::WindowProc
void TeletextScreen::DrawHeader(const uint8_t *page, int lang) { if (!m_displaying) return; if (page != NULL) DrawLine(page, 1, lang); DrawStatus(); }
void NextPlayer() { Int x; #ifdef DEBUG Int dd = 0; #endif x = stor.currplayer; while(1) { stor.currplayer = (stor.currplayer + 1) % stor.numplayers; if ( x == stor.currplayer ) { if ( stor.numplayers > 1 ) { // Only one guy hasn't lost //HaveWinner(); FrmCustomAlert( calertDEBUG, "We have a weiner, I mean a winner!", "No, I'm not telling you who.", "ToDo: Do this correctly." ); } break; } if ( ! stor.player[stor.currplayer].lost ) { break; } #ifdef DEBUG ErrNonFatalDisplayIf( ++dd > (MaxPlayers + 4), "NextPlayer: Had to rely on dd loop check!" ); #endif } DrawPlayerScore( x ); DrawPlayerScore( stor.currplayer ); // Clear scores stor.scorethisroll = stor.scorethisturn = 0; StayBit = false; // Clear cubes for( x = 0 ; x < NumCubes ; x++ ) { stor.cube[x].keep = false; stor.cube[x].value = 0; } stor.status = DS_NextPlayer; // Bypass StatusLine(); if ( stor.flags & flag_NextPlayerPopUp ) { FrmCustomAlert( calertNEXTPLAYER, stor.player[stor.currplayer].name, " ", " "); DrawState(); } else { DrawStatus(); } }
void MainWindow::paintEvent(QPaintEvent* event){ QPainter painter(this); DrawBoard(painter); if (!promotion && startPiece){ QPen pen(Qt::red); painter.setPen(pen); painter.drawRect(startX*CELL_SIZE, startY*CELL_SIZE, CELL_SIZE, CELL_SIZE); DrawPossibleMoves(painter); } DrawStatus(painter); }
ClsEPuckDisp::ClsEPuckDisp( const char *caption) { int iFontSize; setWindowTitle(caption); aiProximitySensorPos[0] = 180; aiProximitySensorPos[1] = 230; aiProximitySensorPos[2] = 270; aiProximitySensorPos[3] = 270; aiProximitySensorPos[4] = 310; aiProximitySensorPos[5] = 0; aiProximitySensorPos[6] = 90; aiProximitySensorPos[7] = 90; // parameters iSomaDiameter = 110; iAmbientSensorDiameter = 10; iWhiskersMaxLength = 50; iWheelHeight = 30; iWheelWidth = 8; iWheelSpeedbarHeight = 15; iWheelSpeedbarWidth = 4; ////////////////////// iFontSize = 8; fontPlot = new QFont( "helvetica", iFontSize , QFont::Normal); //ZZZ setBackgroundMode ( Qt::NoBackground); paintWidget = new QPainter(); _buffer = new QPixmap(width(), height()); _buffer->fill( Qt::black ); paintBuffer = new QPainter(); vaAmbient.resize(8); vaProximity.resize(8); int ii; for (ii = 0; ii<8 ; ii++){ vaAmbient[ii] =1; vaProximity[ii] =ii; } afMotor[0] = 10; afMotor[1] = 10; iInhibit = 10; // ranges from 0 to 10 defineColors(); DrawStatus( ); }
void CUIManager::NewRound() { int i; for (i = 0; i < 3; i++) { DeleteCardImages(i); DeleteDiscardImages(i); } gpGeneral->ClearScreen(true, true, true); gpGeneral->PlaySound(SOUND_HINT2); DrawPlayerNames(); DrawStatus(0, 0); }
/* Unsuspend does the opposite of Suspend for the same reason */ static void unsuspend( Short p ) { stor.flash = stor.player[p].suspend.flash; stor.status = stor.player[p].suspend.status; stor.currscore = stor.player[p].suspend.currscore; stor.scorethisturn = stor.player[p].suspend.scorethisturn; stor.scorethisroll = stor.player[p].suspend.scorethisroll; DrawStatus(); stor.flash = stor.status = stor.currscore = stor.scorethisturn = stor.scorethisroll = 0; }
void StatusLine( ) { stor.status = -1; if ( stor.YMNWTBYM ) { stor.status = DS_YMNWTBYM; } else if ( stor.flash ) { stor.status = DS_MustClearFlash; } DrawStatus(); }
void RenderScene(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); if (minimumZ == 0.f) minimumZ = GetWinZ(); Draw(GL_RENDER); DrawStatus(); glutSwapBuffers(); }
/* * 描画 */ static void DrawSch(void) { /* * Note: 20141016 by Ohta: * This function acts only Re-Drawing OSD, not Display. * Display is separated thread: DrawThreadMain()@sdl/draw_thread.cpp. */ OnDraw(); // Note: This is NULL Function. DrawStatus(); /* * カウンタアップ */ dwDrawTotal++; }
void CBatmonContainer::Draw(const TRect& aRect) const { CWindowGc& gc=SystemGc(); gc.SetPenColor(TRgb::Color4K(0x048)); gc.SetPenStyle(CGraphicsContext::ESolidPen); gc.SetBrushColor(TRgb::Color4K(0x000)); gc.SetBrushStyle(CGraphicsContext::ESolidBrush); TRect rect=Rect(); gc.DrawRect(rect); DrawTitle(); DrawStatus(); DrawExitMark(); DrawPage(); }
void ClsEPuckDisp::customEvent( QEvent* e ) { // cout << "ClsEPuckDisp::customEvent( QCustomEvent* e )" << endl; if (dynamic_cast<QCEventData*>(e)){ pair<double, double> pData = dynamic_cast<QCEventData*>(e)->getData(); afMotor[0] = pData.first * 10.; afMotor[1] = pData.second * 10.; // cout << "pData.first, pData.second: " << pData.first << ", " << pData.second << endl; DrawStatus( ); } }
// 출력 void Draw() { if(!(refresh_object || refresh_message || refresh_status || refresh_time)) { return; } if(refresh_object) { refresh_object = 0; DrawFloor(map_id); DrawObjects(); } if(refresh_message) { refresh_message = 0; DrawMessage(); } if(refresh_status) { refresh_status = 0; DrawStatus(); } if(refresh_time) { refresh_time = 0; DrawTime(); } mvaddch(22, 78, ' '); refresh(); }
int _tmain(int argc, _TCHAR* argv[]) { /* Начальная инициализация параметров. этот код требуется запустить один раз. TVAInitParams params; memcpy(¶ms.Camera, &g_camera, sizeof(TVACamera)); params.NumZones = 0; params.EventSens = 0.5; params.EventTimeSens = 1000; SaveInitParams("params.xml", ¶ms); */ // инициализация зон наблюдения. for (int i = 0; i < C_MAX_OBJECTS; i++) { g_contours[i].IsRect = false; g_contours[i].NumPoints = C_MAX_POINTS; g_contours[i].Points = (TVAPoint*)malloc(C_MAX_POINTS*sizeof(TVAPoint)); } cvInitFont(&g_font, CV_FONT_HERSHEY_PLAIN,1, 1); CvCapture* capture = NULL; if (argc < 2) capture = cvCaptureFromCAM(0); else capture = cvCaptureFromFile(argv[1]); if (capture == NULL) { printf("%s\n", "Cannot open camera."); return -1; } double fps = cvGetCaptureProperty ( // Получаем частоту кадров capture, CV_CAP_PROP_FPS ); CvSize size = cvSize( // Получаем размер (int)cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH), (int)cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT) ); g_mask = cvCreateImage(size, IPL_DEPTH_8U, 1); CvVideoWriter* writer = NULL; cvNamedWindow(_MODULE_); cvSetMouseCallback(_MODULE_, on_mouse); /* Цикл получения и обработки изображения. */ for (;;) { IplImage* frame = NULL; frame = cvQueryFrame(capture); if (!frame) break; /* отрисовка прямоугольников */ for (int i = 0; i < g_rects_count; i++) { CvPoint p1 = cvPoint(g_rects[i].x, g_rects[i].y); CvPoint p2 = cvPoint(p1.x + g_rects[i].width, p1.y + g_rects[i].height); cvRectangle(frame, p1, p2, CV_RGB(255,0,0)); } /* Отрисовка зон наблюдения. */ for (int i = 0; i < g_contours_count; i++) { if (g_contours[i].NumPoints > 0) { for (int j = 1; j < g_contours[i].NumPoints; j++) { CvPoint p1 = cvPoint((int)g_contours[i].Points[j-1].X, (int)g_contours[i].Points[j-1].Y); CvPoint p2 = cvPoint((int)g_contours[i].Points[j].X, (int)g_contours[i].Points[j].Y); cvLine(frame, p1,p2, CV_RGB(255,0,0)); } CvPoint p1 = cvPoint((int)g_contours[i].Points[g_contours[i].NumPoints-1].X, (int)g_contours[i].Points[g_contours[i].NumPoints-1].Y); CvPoint p2 = cvPoint((int)g_contours[i].Points[0].X, (int)g_contours[i].Points[0].Y); cvLine(frame, p1,p2, CV_RGB(255,0,0)); } } /* Отображение полученного изображения в окне. */ ProcessFrame(frame); if (g_grid_visible) DrawGrid(frame); DrawStatus(frame); cvShowImage(_MODULE_, frame); /* Запись фрейма */ if (g_record_video) cvWriteFrame( writer, frame ); /* Анализ клавиатуры */ bool state = g_set_rects || g_set_contours || g_set_zones; int c; c = cvWaitKey(10); if ((char)c == 27) break; if ((char)c == 's') { cvSaveImage("out.png", frame); } else if ((char)c == 'l') { if (!state) LoadRects(size.width, size.height); } else if ((char)c == 'g') { if (!state) LoadContours(size.width, size.height); } else if ((char)c == 'k') { if (!state) LoadZones(size.width, size.height); } else if ((char)c == 'r') { if (g_record_video) { // завершаем запись на диск cvReleaseVideoWriter( &writer ); writer = NULL; g_record_video = false; printf("Stop recording.\n"); } else { // открываем файл для записи и связываем с ним // переменную writer writer = cvCreateVideoWriter("out.avi",CV_FOURCC('D','I','V','X'), fps, size ); if (writer == NULL) { printf("%s\n", "Cannot create writer."); } else { g_record_video = true; printf("Start recording.\n"); } } } else if ((char)c == 't') { if (g_set_rects) { SaveRects(size.width, size.height); if (!g_set_zones) { g_rects_count = 0; ClearMask(g_mask); } g_set_rects = false; } else if (!g_set_contours) { g_set_rects = true; } } else if ((char)c == 'c') { if (g_set_contours) { SaveContours(size.width, size.height); if (!g_set_zones) { g_contours_count = 0; ClearMask(g_mask); } g_set_contours = false; g_open_contour = false; } else if (!g_set_rects) { g_set_contours = true; } } else if ((char)c == 'z') { if (g_set_zones) { SaveZones(size.width, size.height); g_set_zones = false; g_contours_count = 0; g_rects_count = 0; ClearMask(g_mask); } else if (!g_set_rects && !g_set_contours) { g_set_zones = true; } } else if ((char)c == 'w') { g_grid_visible = !g_grid_visible; } } cvReleaseVideoWriter( &writer ); cvDestroyWindow(_MODULE_); cvReleaseCapture(&capture); cvReleaseImage(&g_mask); // освобождение памяти for (int i = 0; i < C_MAX_OBJECTS; i++) { free(g_contours[i].Points); } return 0; }
static void _IndicatePercentageDone(CLUSTER cluster, CLUSTER totalclusters) { _UpdateInterfaceState(); DrawStatus(cluster, totalclusters); }
void DrawHUD() { player_t * CPlayer = StatusBar->CPlayer; players[consoleplayer].inventorytics = 0; if (hud_althudscale && SCREENWIDTH>640) { hudwidth=SCREENWIDTH/2; if (hud_althudscale == 2) { // Optionally just double the pixels to reduce scaling artifacts. hudheight=SCREENHEIGHT/2; } else { if (WidescreenRatio == 4) { hudheight = hudwidth * 30 / BaseRatioSizes[WidescreenRatio][3]; // BaseRatioSizes is inverted for this mode } else { hudheight = hudwidth * 30 / (48*48/BaseRatioSizes[WidescreenRatio][3]); } } } else { hudwidth=SCREENWIDTH; hudheight=SCREENHEIGHT; } if (!automapactive) { int i; // No HUD in the title level! if (gamestate == GS_TITLELEVEL || !CPlayer) return; if (!deathmatch) DrawStatus(CPlayer, 5, hudheight-50); else { DrawStatus(CPlayer, 5, hudheight-75); DrawFrags(CPlayer, 5, hudheight-70); } DrawHealth(CPlayer, 5, hudheight-45); DrawArmor(CPlayer->mo->FindInventory<ABasicArmor>(), CPlayer->mo->FindInventory<AHexenArmor>(), 5, hudheight-20); i=DrawKeys(CPlayer, hudwidth-4, hudheight-10); i=DrawAmmo(CPlayer, hudwidth-5, i); if (hud_showweapons) DrawWeapons(CPlayer, hudwidth - 5, i); DrawInventory(CPlayer, 144, hudheight-28); if (CPlayer->camera && CPlayer->camera->player) { StatusBar->DrawCrosshair(); } if (idmypos) DrawCoordinates(CPlayer); DrawTime(); DrawLatency(); } else { FString mapname; char printstr[256]; int seconds; int length=8*SmallFont->GetCharWidth('0'); int fonth=SmallFont->GetHeight()+1; int bottom=hudheight-1; if (am_showtotaltime) { seconds = Tics2Seconds(level.totaltime); mysnprintf(printstr, countof(printstr), "%02i:%02i:%02i", seconds/3600, (seconds%3600)/60, seconds%60); DrawHudText(SmallFont, hudcolor_ttim, printstr, hudwidth-length, bottom, FRACUNIT); bottom -= fonth; } if (am_showtime) { if (level.clusterflags&CLUSTER_HUB) { seconds = Tics2Seconds(level.time); mysnprintf(printstr, countof(printstr), "%02i:%02i:%02i", seconds/3600, (seconds%3600)/60, seconds%60); DrawHudText(SmallFont, hudcolor_time, printstr, hudwidth-length, bottom, FRACUNIT); bottom -= fonth; } // Single level time for hubs seconds= Tics2Seconds(level.maptime); mysnprintf(printstr, countof(printstr), "%02i:%02i:%02i", seconds/3600, (seconds%3600)/60, seconds%60); DrawHudText(SmallFont, hudcolor_ltim, printstr, hudwidth-length, bottom, FRACUNIT); } ST_FormatMapName(mapname); screen->DrawText(SmallFont, hudcolor_titl, 1, hudheight-fonth-1, mapname, DTA_KeepRatio, true, DTA_VirtualWidth, hudwidth, DTA_VirtualHeight, hudheight, TAG_DONE); DrawCoordinates(CPlayer); } }
BOOL CALLBACK ServerProgressDlgProc ( HWND hDlg, PGPUInt32 uMsg, WPARAM wParam, LPARAM lParam) { KEYGBL *pkg; switch (uMsg) { case WM_INITDIALOG: { SetWindowLong (hDlg, GWL_USERDATA, lParam); pkg=(KEYGBL *)lParam; pkg->hwndServerProgress=hDlg; pkg->iStatusValue = 0; pkg->iStatusDirection = 1; CreateThread (NULL, 0, KeyServerThread, (LPVOID)pkg, 0, &(pkg->dwThreadID)); return TRUE; } case WM_PAINT : { pkg=(KEYGBL *)GetWindowLong (hDlg, GWL_USERDATA); DrawStatus (GetDlgItem (hDlg, IDC_PROGRESS), &(pkg->iStatusValue), &(pkg->iStatusDirection)); break; } case WM_TIMER : { pkg=(KEYGBL *)GetWindowLong (hDlg, GWL_USERDATA); pkg->iStatusValue += pkg->iStatusDirection; if (pkg->iStatusValue <= 0) { pkg->iStatusValue = 0; pkg->iStatusDirection = 1; } else if (pkg->iStatusValue >= NUMLEDS-1) { pkg->iStatusValue = NUMLEDS-1; pkg->iStatusDirection = -1; } InvalidateRect (hDlg, NULL, FALSE); break; } case WM_NOTIFY : { break; } case WM_QUIT: case WM_CLOSE: case WM_DESTROY: { EndDialog(hDlg, 0); return TRUE; } case WM_COMMAND : { switch(LOWORD (wParam)) { case IDCANCEL : { pkg=(KEYGBL *)GetWindowLong (hDlg, GWL_USERDATA); pkg->bCancel=TRUE; if (pkg->mLastKeyServer) { PGPError err; err = PGPCancelKeyServerCall (pkg->mLastKeyServer); PGPsdkUIErrorBox (hDlg, err); } break; } } return TRUE; } } return FALSE; }
int main (void) { XGpio dip; int dip_check; static XPs2 Ps2Inst; XPs2_Config *ConfigPtr; u32 StatusReg; u32 BytesReceived; u8 RxBuffer; int key_count=0; int i; status=PVP; int x_cur=7, y_cur=7, x_pos=0, y_pos=0; XGpio_Initialize(&dip, XPAR_DIP_SWITCHES_8BITS_DEVICE_ID); XGpio_SetDataDirection(&dip, 1, 0xffffffff); ConfigPtr = XPs2_LookupConfig(XPAR_XPS_PS2_0_0_DEVICE_ID); XPs2_CfgInitialize(&Ps2Inst, ConfigPtr, ConfigPtr->BaseAddress); XIntc_RegisterHandler(XPAR_XPS_INTC_0_BASEADDR, XPAR_XPS_INTC_0_XPS_TIMER_0_INTERRUPT_INTR, (XInterruptHandler) timer_int_handler, (void *)XPAR_XPS_TIMER_0_BASEADDR); XIntc_MasterEnable(XPAR_XPS_INTC_0_BASEADDR); XIntc_EnableIntr(XPAR_XPS_INTC_0_BASEADDR, 0x1); XTmrCtr_SetLoadReg(XPAR_XPS_TIMER_0_BASEADDR, 0, 333333); XTmrCtr_SetControlStatusReg(XPAR_XPS_TIMER_0_BASEADDR, 0, XTC_CSR_INT_OCCURED_MASK | XTC_CSR_LOAD_MASK ); XIntc_EnableIntr(XPAR_XPS_TIMER_0_BASEADDR, XPAR_XPS_TIMER_0_INTERRUPT_MASK); XTmrCtr_SetControlStatusReg(XPAR_XPS_TIMER_0_BASEADDR, 0, XTC_CSR_ENABLE_TMR_MASK | XTC_CSR_ENABLE_INT_MASK | XTC_CSR_AUTO_RELOAD_MASK | XTC_CSR_DOWN_COUNT_MASK); microblaze_enable_interrupts(); InitializeGame(x_cur, y_cur);status=PVP; xil_printf("-- Game Starts! --\r\n"); xil_printf("\r\nHuman Player's turn!\r\n"); int vga_input; vga_input=(0<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(1<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(2<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(3<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(4<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(5<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(6<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(7<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(8<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(0<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(0<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(1<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(2<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(3<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(4<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(5<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(6<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(7<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(8<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(0<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(1<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(2<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(3<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(4<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(5<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(6<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(7<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(8<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(0<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(1<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(2<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(3<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(4<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(5<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(6<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(7<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(8<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(1<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(2<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(3<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(4<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(5<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(6<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(7<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(8<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(9<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(10<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(11<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(12<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(13<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(14<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(15<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(16<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(17<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(18<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(19<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(20<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(21<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(22<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(23<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(24<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(25<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(26<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(27<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(28<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(29<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); vga_input=(9<<24)+(30<<16)+(1<<8)+3; VGA_IP_mWriteReg(XPAR_VGA_IP_0_BASEADDR, 0, vga_input); while (1) { if (turn==HUMAN_PLAYER || (turn==COMPUTER_PLAYER && status==PVP)) { do { if (turn==COMPUTER_PLAYER && status==PVC) break; dip_check=XGpio_DiscreteRead(&dip, 1); StatusReg = XPs2_GetStatus(&Ps2Inst); }while((StatusReg & XPS2_STATUS_RX_FULL) == 0); BytesReceived = XPs2_Recv(&Ps2Inst, &RxBuffer, 1); key_count=(key_count+1)%3; if (key_count==0) { if (RxBuffer==0x21&& win_flag==0) { DrawNumber(level,3,2,EMPTY); if(level==1) level=2; else level=1; if(status==PVC ) DrawNumber(level,3,2,0); else if(status==CVP) DrawNumber(level,3,2,1); else DrawNumber(level,3,2,EMPTY); } if (RxBuffer==0x1D && win_flag==0) { EraseCursor(x_cur, y_cur); if (y_cur<=0) y_cur=14; else y_cur--; DrawChess(x_cur, y_cur, CURSOR); } if (RxBuffer==0x1B && win_flag==0) { EraseCursor(x_cur, y_cur); if (y_cur>=14) y_cur=0; else y_cur++; DrawChess(x_cur, y_cur, CURSOR); } if (RxBuffer==0x1C && win_flag==0) { EraseCursor(x_cur, y_cur); if (x_cur<=0) x_cur=14; else x_cur--; DrawChess(x_cur, y_cur, CURSOR); } if (RxBuffer==0x23 && win_flag==0) { EraseCursor(x_cur, y_cur); if (x_cur>=14) x_cur=0; else x_cur++; DrawChess(x_cur, y_cur, CURSOR); } if (RxBuffer==0x5A && win_flag==0) { DrawBack(3,1119,EMPTY); if (board_state[x_cur][y_cur]==EMPTY) { if(status==CVP) DrawChess(x_cur, y_cur, 1-turn); else DrawChess(x_cur, y_cur, turn); board_state[x_cur][y_cur]=turn; board_record[BackTimes].x=x_cur; board_record[BackTimes].y=y_cur; BackTimes++; count=0; time0=0; if (turn==COMPUTER_PLAYER) step_flag=1; if (CheckWin(x_cur,y_cur,turn)==1) { xil_printf("\r\nHuman Player wins!\r\n"); win_flag=1; DrawWinning(0, 1, EMPTY); if(status==CVP) DrawWinning(0, 1, 1-turn); else DrawWinning(0, 1, turn); } if (CheckBan(x_cur,y_cur,turn)==1){ xil_printf("\r\nComputer Player wins!\r\n"); win_flag=1; DrawWinning(0, 1, EMPTY); if(status==CVP) DrawWinning(0, 1, turn); else DrawWinning(0, 1, 1-turn); } else { if (turn==HUMAN_PLAYER) turn=COMPUTER_PLAYER; else turn=HUMAN_PLAYER; xil_printf("\r\nComputer Player's turn!\r\n"); } } } if (RxBuffer==0x29 && turn==HUMAN_PLAYER && win_flag==0) { count=0;time0=0; if (status==PVP) { x_cur=7; y_cur=7; for (i=0; i<256; i++) { board_record[i].x=0; board_record[i].y=0; } InitializeGame(x_cur, y_cur);status=PVP; DrawStatus(1, 21, EMPTY,status); status=PVC; DrawNumber(level,3,2,0); DrawStatus(1, 21, COMPUTER_PLAYER,status); } else if(status==PVC) { x_cur=7; y_cur=7; for (i=0; i<256; i++) { board_record[i].x=0; board_record[i].y=0; } InitializeGame(x_cur, y_cur);status=PVP; DrawStatus(1, 21, EMPTY,status); status=CVP; DrawNumber(level,3,2,1); DrawStatus(1, 21, COMPUTER_PLAYER,status); turn=COMPUTER_PLAYER; } else if(status==CVP) { x_cur=7; y_cur=7; for (i=0; i<256; i++) { board_record[i].x=0; board_record[i].y=0; } InitializeGame(x_cur, y_cur);status=PVP; DrawStatus(1, 21, EMPTY,status); status=PVP; DrawStatus(1, 21, COMPUTER_PLAYER,status); } } if (RxBuffer==0x76) { x_cur=7; y_cur=7; for (i=0; i<256; i++) { board_record[i].x=0; board_record[i].y=0; } InitializeGame(x_cur, y_cur);status=PVP; } if (RxBuffer==0x2D) { if(BackTimes>0){ BackTimes--; x_cur=board_record[BackTimes].x; y_cur=board_record[BackTimes].y; board_state[x_cur][y_cur]=EMPTY; DrawChess(x_cur,y_cur,EMPTY); turn=1-turn; if(status==PVC) { BackTimes--; x_cur=board_record[BackTimes].x; y_cur=board_record[BackTimes].y; board_state[x_cur][y_cur]=EMPTY; DrawChess(x_cur,y_cur,EMPTY); turn=HUMAN_PLAYER; } DrawBack(3,1119,turn); } } } } if (turn==COMPUTER_PLAYER && (status==PVC ||status==CVP )&& win_flag==0) { if (step_flag==0) { if (x_cur-1<0) x_pos=x_cur+1; else x_pos=x_cur-1; y_pos=y_cur; step_flag=1; } else { if(level==2||level==3){ EvaluateComputerMove(board_state, 0, MIN_INFINITY, MAX_INFINITY, 0, 0); x_pos=maxMoveX; y_pos=maxMoveY; xil_printf("\r\n computer \r\n");} else { everyScore(Computer); current_pos=best(Computer); x_pos=current_pos.y; y_pos=current_pos.x; xil_printf("\r\n computer \r\n"); } } xil_printf("\r\n%x, %x\r\n", x_pos, y_pos); if(status==CVP) DrawChess(x_pos, y_pos, 1-turn); else DrawChess(x_pos, y_pos, turn); board_state[x_pos][y_pos]=COMPUTER_PLAYER; board_record[BackTimes].x=x_pos; board_record[BackTimes].y=y_pos; BackTimes++; count=0; time0=0; if (CheckWin(x_pos, y_pos, turn)) { xil_printf("\r\nComputer Player wins!\r\n"); win_flag=1; DrawWinning(0,1, EMPTY); if(status==CVP) DrawWinning(0,1, 1-turn); else DrawWinning(0,1, turn); turn=HUMAN_PLAYER; } else { turn=HUMAN_PLAYER; xil_printf("\r\nHuman Player's turn!\r\n"); } } } return 0; }
void RedrawFunc( void ) { // all time in milliseconds int elapsedTime = glutGet( GLUT_ELAPSED_TIME ); static int prevElapsedTime = 0; static float timeAccum = 0.0; int deltaTime = elapsedTime - prevElapsedTime; vec3_t lightPosition = { 0.0f, 0.0f, 60.0f }; prevElapsedTime = elapsedTime; glClearColor( 0.0f, 0.0f, 0.0f, 1.0f ); glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); glDepthFunc( GL_LEQUAL ); glEnable( GL_DEPTH_TEST ); if( drawLighting ) { SetLight( lightPosition ); } if( drawBaseTexture ) { glEnable( GL_TEXTURE_2D ); glBindTexture( GL_TEXTURE_2D, BASE_TEXTURE ); // glBindTexture( GL_TEXTURE_2D, NORMAL_TEXTURE ); } else { glDisable( GL_TEXTURE_2D ); } if( drawWireFrame ) { glPolygonMode( GL_FRONT_AND_BACK, GL_LINE ); glCallList( WIRE_LIST ); } else { glCallList( QUAD_LIST ); } glDisable( GL_TEXTURE_2D ); glDisable( GL_LIGHTING ); glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); if( drawNormals ) { glColor3f( 0.0f, 1.0f, 0.0f ); glCallList( NORMAL_LIST ); glColor3f( 1.0f, 1.0f, 1.0f ); } DrawLightSource( lightPosition, 1.0f, 1.0f, 1.0f ); DrawStatus(); glutSwapBuffers(); glFinish(); }
static void Draw(menuFrameWork_t *self) { Menu_Draw(self); DrawStatus(); }
void DrawHUD() { player_t * CPlayer = StatusBar->CPlayer; // [BB] The player may not have a body while connecting. if ( CPlayer->mo == NULL ) return; players[consoleplayer].inventorytics = 0; if (hud_althudscale && SCREENWIDTH>640) { hudwidth=SCREENWIDTH/2; if (hud_althudscale == 2) { // Optionally just double the pixels to reduce scaling artifacts. hudheight=SCREENHEIGHT/2; } else { if (WidescreenRatio == 4) { hudheight = hudwidth * 30 / BaseRatioSizes[WidescreenRatio][3]; // BaseRatioSizes is inverted for this mode } else { hudheight = hudwidth * 30 / (48*48/BaseRatioSizes[WidescreenRatio][3]); } } } else { hudwidth=SCREENWIDTH; hudheight=SCREENHEIGHT; } if (!automapactive) { int i; // No HUD in the title level! if (gamestate == GS_TITLELEVEL || !CPlayer) return; if (!deathmatch) DrawStatus(CPlayer, 5, hudheight-50); else { DrawStatus(CPlayer, 5, hudheight-75); // [TP] Only draw frags if not playing in teams if (( GAMEMODE_GetCurrentFlags() & GMF_PLAYERSONTEAMS ) == 0 ) DrawFrags(CPlayer, 5, hudheight-70); } // [TP] Only draw health and armor if we are allowed to know those stats. Also don't // draw spectator's health/armor stats. if ( ShouldDrawHealth( CPlayer )) { DrawHealth(CPlayer, 5, hudheight-45); DrawArmor(CPlayer->mo->FindInventory<ABasicArmor>(), CPlayer->mo->FindInventory<AHexenArmor>(), 5, hudheight-20); } // [TP] Draw team stuff. DrawTeamScores( 10, hudheight - 90 ); i=DrawKeys(CPlayer, hudwidth-4, hudheight-10); i=DrawAmmo(CPlayer, hudwidth-5, i); DrawWeapons(CPlayer, hudwidth-5, i); DrawInventory(CPlayer, 144, hudheight-28); if (CPlayer->camera && CPlayer->camera->player) { StatusBar->DrawCrosshair(); } if (idmypos) DrawCoordinates(CPlayer); DrawTime(); } else { FString mapname; char printstr[256]; int seconds; int length=8*SmallFont->GetCharWidth('0'); int fonth=SmallFont->GetHeight()+1; int bottom=hudheight-1; if (am_showtotaltime) { seconds = level.totaltime / TICRATE; mysnprintf(printstr, countof(printstr), "%02i:%02i:%02i", seconds/3600, (seconds%3600)/60, seconds%60); DrawHudText(SmallFont, hudcolor_ttim, printstr, hudwidth-length, bottom, FRACUNIT); bottom -= fonth; } if (am_showtime) { if (level.clusterflags&CLUSTER_HUB) { seconds = level.time /TICRATE; mysnprintf(printstr, countof(printstr), "%02i:%02i:%02i", seconds/3600, (seconds%3600)/60, seconds%60); DrawHudText(SmallFont, hudcolor_time, printstr, hudwidth-length, bottom, FRACUNIT); bottom -= fonth; } // Single level time for hubs seconds= level.maptime /TICRATE; mysnprintf(printstr, countof(printstr), "%02i:%02i:%02i", seconds/3600, (seconds%3600)/60, seconds%60); DrawHudText(SmallFont, hudcolor_ltim, printstr, hudwidth-length, bottom, FRACUNIT); } ST_FormatMapName(mapname); screen->DrawText(SmallFont, hudcolor_titl, 1, hudheight-fonth-1, mapname, DTA_KeepRatio, true, DTA_VirtualWidth, hudwidth, DTA_VirtualHeight, hudheight, TAG_DONE); DrawCoordinates(CPlayer); } }
void CCellView::SelectCell(BPoint where) { cell curCell, anchorCell, oldCurCell, tmpCell, prevCurCell; BPoint cPoint; range r, prevSel; BRegion lastSelectionRgn, newSelectionRgn; bool updateBorders = (fSelection.top == 1 && fSelection.bottom == kRowCount) || (fSelection.left == 1 && fSelection.right == kColCount); BMessage * current = Window()->CurrentMessage(); int32 modifiers; FailOSErr(current->FindInt32("modifiers", &modifiers), errMessageMissing); prevSel = fSelection; prevCurCell = fCurCell; StClipCells clip(this); ClearAnts(); cPoint = where; (void)GetCellHitBy(cPoint, curCell); if (!fEntering) HiliteSelection(false, false); if (!fEntering && modifiers & B_SHIFT_KEY) { if (curCell.v < fSelection.top) anchorCell.v = fSelection.bottom; else anchorCell.v = fSelection.top; if (curCell.h < fSelection.left) anchorCell.h = fSelection.right; else anchorCell.h = fSelection.left; fSelection.Set(std::min(anchorCell.h, curCell.h), std::min(anchorCell.v, curCell.v), std::max(anchorCell.h, curCell.h), std::max(anchorCell.v, curCell.v)); } else { anchorCell.h = r.right = r.left = curCell.h; anchorCell.v = r.bottom = r.top = curCell.v; fCurCell = curCell; fSelection = r; } if (!fEntering) HiliteSelection(false, true); DrawStatus(); if (updateBorders) DrawBorders(); oldCurCell = curCell; ulong buttons; GetMouse(&cPoint, &buttons); while (buttons) { (void)GetCellHitBy(cPoint, curCell); SelectionToRegion(lastSelectionRgn); if (curCell.v == anchorCell.v) r.bottom = r.top = curCell.v; else if (curCell.v < anchorCell.v) { r.top = curCell.v; r.bottom = anchorCell.v; } else { r.bottom = curCell.v; r.top = anchorCell.v; } if (curCell.h == anchorCell.h) r.right = r.left = curCell.h; else if (curCell.h < anchorCell.h) { r.left = curCell.h; r.right = anchorCell.h; } else { r.right = curCell.h; r.left = anchorCell.h; } if (fEntering && ((oldCurCell.v != curCell.v) || (oldCurCell.h != curCell.h))) ClearAnts(); fSelection = r; SelectionToRegion(newSelectionRgn); if (!fEntering) ChangeSelection(&lastSelectionRgn, &newSelectionRgn); if (((fCurCell.v != fSelection.top) || (fCurCell.h != fSelection.left)) && !fEntering) ClearAnts(); fCurCell = fSelection.TopLeft(); if (oldCurCell.v != curCell.v || oldCurCell.h != curCell.h) { DrawStatus(); tmpCell = fCurCell; fCurCell = curCell; if (fEntering) fSelection = prevSel; AdjustScrollBars(); ScrollToSelection(); fSelection = r; fCurCell = tmpCell; } MarchAnts(); oldCurCell = curCell; GetMouse(&cPoint, &buttons); } if (fEntering) { ClearAnts(); fEditBox->EnterRange(fSelection); fSelection = prevSel; fCurCell = prevCurCell; } else fCurCell = fSelection.TopLeft(); AdjustScrollBars(); DrawStatus(); }
void CCellView::SelectCol(BPoint where, int colNr) { BPoint curPoint; cell oldAnts, curCurCell = fCurCell; range curSelection = fSelection, tmpSelection; long anchorCol, curCol, lastCol, y; float l, r; BRegion oldSel, newSel, oldClip; ulong modifiers = Window()->CurrentMessage()->FindInt32("modifiers"); curPoint = where; curCol = colNr; ClearAnts(); if (!fEntering && (modifiers & B_SHIFT_KEY)) { if (curCol > fSelection.right) anchorCol = fSelection.left; else anchorCol = fSelection.right; } else anchorCol = curCol; lastCol = curCol; if (!fEntering) SelectionToRegion(oldSel); if (anchorCol > curCol) fSelection.Set(curCol, 1, anchorCol, kRowCount); else fSelection.Set(anchorCol, 1, curCol, kRowCount); fCurCell = fSelection.TopLeft(); DrawStatus(); DrawBorders(); if (!fEntering) { SelectionToRegion(newSel); ChangeSelection(&oldSel, &newSel); } ulong buttons; GetMouse(&curPoint, &buttons); while (buttons) { oldAnts = fCurCell; cell c; GetCellHitBy(curPoint, c); curCol = std::max((int)c.h, 1); fCurCell.h = curCol; if (fEntering) { tmpSelection = fSelection; fSelection = curSelection; } ScrollToSelection(); if (fEntering) fSelection = tmpSelection; fCurCell = oldAnts; if (lastCol != curCol) { if (fEntering) ClearAnts(); else SelectionToRegion(oldSel); if (curCol > anchorCol) fSelection.Set(anchorCol, 1, curCol, kRowCount); else fSelection.Set(curCol, 1, anchorCol, kRowCount); // SetFontName("Emily"); // SetFontSize(12); if (lastCol > curCol) { r = lastCol; l = curCol; } else { r = curCol; l = lastCol; } for (y = static_cast<long>(l) ; y <= static_cast<long>(r) ; y++ ) { c.h = y; BRect r; char s[10]; GetCellRect(c, r); r.top = 1.0; r.bottom = fBorderHeight - 1.0; if (r.left != r.right) { NumToAString(y, s); FillRect3D(this, r, y >= fSelection.left && y <= fSelection.right, true, s); } } if (!fEntering) { SelectionToRegion(newSel); ChangeSelection(&oldSel, &newSel); } if (!fEntering && fCurCell.h != fSelection.left) ClearAnts(); fCurCell = fSelection.TopLeft(); DrawStatus(); } MarchAnts(); lastCol = curCol; GetMouse(&curPoint, &buttons); } if (fEntering) { fEditBox->EnterRange(fSelection); ClearAnts(); fSelection = curSelection; fCurCell = curCurCell; DrawStatus(); DrawBorders(); } }
void CCellView::SelectRow(BPoint where, int rowNr) { BPoint curPoint; cell oldAnts, curCurCell = fCurCell; range curSelection = fSelection, tmpSelection; long anchorRow, curRow, lastRow; float t, b; BRegion oldSel, newSel, oldClip; ulong modifiers = Window()->CurrentMessage()->FindInt32("modifiers"); curPoint = where; curRow = rowNr; ClearAnts(); if (!fEntering && (modifiers & B_SHIFT_KEY)) { if (curRow > fSelection.bottom) anchorRow = fSelection.top; else anchorRow = fSelection.bottom; } else anchorRow = curRow; lastRow = curRow; if (!fEntering) SelectionToRegion(oldSel); if (anchorRow > curRow) fSelection.Set(1, curRow, kColCount, anchorRow); else fSelection.Set(1, anchorRow, kColCount, curRow); fCurCell = fSelection.TopLeft(); DrawStatus(); DrawBorders(); if (!fEntering) { SelectionToRegion(newSel); ChangeSelection(&oldSel, &newSel); } ulong buttons; GetMouse(&curPoint, &buttons); while (buttons) { oldAnts = fCurCell; cell c; GetCellHitBy(curPoint, c); curRow = c.v; fCurCell.v = curRow; if (fEntering) { tmpSelection = fSelection; fSelection = curSelection; } ScrollToSelection(); if (fEntering) fSelection = tmpSelection; fCurCell = oldAnts; if (lastRow != curRow) { if (fEntering) ClearAnts(); else SelectionToRegion(oldSel); if (curRow > anchorRow) fSelection.Set(1, anchorRow, kColCount, curRow); else fSelection.Set(1, curRow, kColCount, anchorRow); // SetFontName("Emily"); // SetFontSize(12); if (lastRow > curRow) { b = lastRow; t = curRow; } else { b = curRow; t = lastRow; } for (long x = static_cast<long>(t) ; x <= static_cast<long>(b) ; x++ ) { BRect r; char s[10]; c.v = x; GetCellRect(c, r); r.left = 0.0; r.right = fBorderWidth - 1.0; if (r.top != r.bottom) { sprintf(s, "%d", x); FillRect3D(this, r, x >= fSelection.top && x <= fSelection.bottom, true, s); } } if (!fEntering) { SelectionToRegion(newSel); ChangeSelection(&oldSel, &newSel); } if (!fEntering && fCurCell.v != fSelection.top) ClearAnts(); fCurCell = fSelection.TopLeft(); DrawStatus(); } MarchAnts(); lastRow = curRow; GetMouse(&curPoint, &buttons); } if (fEntering) { fEditBox->EnterRange(fSelection); ClearAnts(); fSelection = curSelection; fCurCell = curCurCell; DrawStatus(); DrawBorders(); } } /* SelectRow */