⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 brewhallcanvas.cpp

📁 象棋框架
💻 CPP
字号:
/*===========================================================================
FILE: BrewHallCanvas.c
===========================================================================*/
#include "BrewHallCanvas.h"

CBrewHallCanvas::CBrewHallCanvas(){
  frame = NULL;
  paintCounter = 0;
}

CBrewHallCanvas::~CBrewHallCanvas(){
}

void CBrewHallCanvas::setFrame(void *f){
  frame = f;
}

void CBrewHallCanvas::paint(IDisplay *d, IGraphics *g){
  CBrewHall *f = (CBrewHall *)frame;

  if (f == NULL)
	return;
  if (f->frame == NULL)
	return;

  paintCounter ++;

  MEMSET(f->szText, '\0', sizeof(f->szText));
  switch (f->m_nHallState){
    case HALL_INIT:
    case HALL_WAIT_SEAT_LIST:
    case HALL_READY_SEAT_LIST:
	  f->szText[0] = 0x53D6;
	  f->szText[1] = 0x623F;
	  f->szText[2] = 0x95F4;
	  f->szText[3] = 0x4FE1;
	  f->szText[4] = 0x606F;
	  switch (paintCounter % 4){
	    case 0:
		default:
	      f->szText[5] = '-';
		  break;
	    case 1:
	      f->szText[5] = '\\';
		  break;
	    case 2:
	      f->szText[5] = '|';
		  break;
	    case 3:
	      f->szText[5] = '/';
		  break;
	  }
	  f->szText[6] = '\0';
      IDISPLAY_DrawText(d, AEE_FONT_NORMAL, f->szText, -1, f->frame->getScreenOffsetX(), f->frame->getScreenOffsetY(), NULL, 0);
	  break;
	case HALL_UPDATE_SEAT_LIST:
	case HALL_CHOOSE_SEAT:
	  IMENUCTL_Redraw(f->m_pIMenu);
	  break;
	case HALL_CHOOSE_ACTION:
	  IMENUCTL_Redraw(f->m_pIMenu);
	  break;
    case HALL_TEST_SITDOWN:
	case HALL_GET_SITDOWN:
	case HALL_WAIT_SITDOWN:
	  f->szText[0] = 0x5750;
	  f->szText[1] = 0x4E0B;
	  switch (paintCounter % 4){
	    case 0:
		default:
	      f->szText[2] = '-';
		  break;
	    case 1:
	      f->szText[2] = '\\';
		  break;
	    case 2:
	      f->szText[2] = '|';
		  break;
	    case 3:
	      f->szText[2] = '/';
		  break;
	  }
	  f->szText[3] = '\0';
      IDISPLAY_DrawText(d, AEE_FONT_NORMAL, f->szText, -1, f->frame->getScreenOffsetX(), f->frame->getScreenOffsetY(), NULL, 0);
	  break;
    case HALL_TEST_QUERY:
	case HALL_GET_QUERY:
	case HALL_WAIT_QUERY:
	case HALL_READY_QUERY:
	  f->szText[0] = 0x67E5;
	  f->szText[1] = 0x770B;
	  switch (paintCounter % 4){
	    case 0:
		default:
	      f->szText[2] = '-';
		  break;
	    case 1:
	      f->szText[2] = '\\';
		  break;
	    case 2:
	      f->szText[2] = '|';
		  break;
	    case 3:
	      f->szText[2] = '/';
		  break;
	  }
	  f->szText[3] = '\0';
      IDISPLAY_DrawText(d, AEE_FONT_NORMAL, f->szText, -1, f->frame->getScreenOffsetX(), f->frame->getScreenOffsetY(), NULL, 0);
	  break;
    case HALL_CHOOSE_QUERY:
	  IMENUCTL_Redraw(f->m_pIMenu);
	  break;
	default:
	  break;
  }
}

boolean CBrewHallCanvas::keyPressed(UINT16 code, UINT32 param){
  return FALSE;
}

boolean CBrewHallCanvas::keyReleased(UINT16 code, UINT32 param){
  return FALSE;
}

boolean CBrewHallCanvas::keyRepeated(UINT16 code, UINT32 param){
  return FALSE;
}

boolean CBrewHallCanvas::key(UINT16 code, UINT32 param){
  CBrewHall *f = (CBrewHall *)frame;

  if (f == NULL)
	return FALSE;
  if (f->frame == NULL)
	return FALSE;

  switch (f->m_nHallState){
    case HALL_CHOOSE_SEAT:
      if (IMENUCTL_HandleEvent(f->m_pIMenu, EVT_KEY, code, param) == TRUE)
		return TRUE;
	  break;
    case HALL_CHOOSE_ACTION:
      if (IMENUCTL_HandleEvent(f->m_pIMenu, EVT_KEY, code, param) == TRUE)
		return TRUE;
	  break;
    case HALL_CHOOSE_QUERY:
      if (IMENUCTL_HandleEvent(f->m_pIMenu, EVT_KEY, code, param) == TRUE)
		return TRUE;
	  break;
	default:
	  break;
  }

  switch (code){
	case AVK_CLR:
      switch (f->m_nHallState){
	    case HALL_INIT:
        case HALL_WAIT_SEAT_LIST:
        case HALL_READY_SEAT_LIST:
        case HALL_CHOOSE_SEAT:
	      if (f->frame != NULL){
			f->m_nHallRunFlag = FALSE;
	        f->frame->postUserEvent(LOGIN, SWITCH_INTO, 0);
		    return TRUE;
		  }
		  break;
        case HALL_READY_ACTION_LIST:
        case HALL_CHOOSE_ACTION:
        case HALL_TEST_SITDOWN:
        case HALL_GET_SITDOWN:
        case HALL_WAIT_SITDOWN:
        case HALL_TEST_QUERY:
        case HALL_GET_QUERY:
        case HALL_WAIT_QUERY:
        case HALL_READY_QUERY:
        case HALL_CHOOSE_QUERY:
		  f->m_nHallState = HALL_READY_SEAT_LIST;
          break;
		default:
		  break;
	  }
	  return TRUE;
	default:
	  break;
  }

  return FALSE;
}

void CBrewHallCanvas::Release(){
  delete this;
}

IBrewCanvas *CreateHallCanvas(){
  return (IBrewCanvas *)new CBrewHallCanvas();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -