示例#1
0
void muiDrawObject(muiObject *obj)
{
    switch (obj->type) {
    case MUI_BUTTON:
        drawbut(obj);
        break;
    case MUI_RADIOBUTTON:
        drawradiobutton(obj);
        break;
    case MUI_TINYRADIOBUTTON:
        drawtinyradio(obj);
        break;
    case MUI_LABEL:
        drawlabel(obj);
        break;
    case MUI_BOLDLABEL:
        drawboldlabel(obj);
        break;
    case MUI_TEXTBOX:
        drawtb(obj);
        break;
    case MUI_VSLIDER:
        drawvs(obj);
        break;
    case MUI_HSLIDER:
        drawhs(obj);
        break;
    case MUI_TEXTLIST:
        drawtl(obj);
        break;
    case MUI_PULLDOWN:
        drawpulldown(obj);
        break;
    }
}
示例#2
0
文件: scr_imap.c 项目: vbt1/xrick
/*
 * Map introduction
 *
 * ASM: 1948
 *
 * return: SCREEN_RUNNING, SCREEN_DONE, SCREEN_EXIT
 */
U8
screen_introMap(void)
{

//char tutu[50];
//sprintf(tutu,"imap ctrl=%d seq=%d, %d %d          ",control_status,seq, 0 , SCREEN_TIMEOUT);
//slPrint(tutu,slLocate(3,14));

  switch (seq) {
  case 0:
//	slPrint("befor sysvid_clear",slLocate(3,15));
    sysvid_clear();
//	slPrint("after sysvid_clear",slLocate(3,15));
#ifdef GFXPC
    draw_tilesBank = 1;
    draw_filter = 0xAAAA;
#endif
#ifdef GFXST
    draw_tilesBank = 0;
#endif
    draw_tllst = screen_imaptext[game_map];
    draw_setfb(32, 0);
    draw_tilesSubList();

    draw_setfb(32, 96);
#ifdef GFXPC
    draw_filter = 0x5555;
#endif
    draw_tilesList();

    game_rects = NULL;

#ifdef GFXPC
    draw_filter = 0xFFFF;
#endif
//	slPrint("befor init          ",slLocate(3,15));
    init();
//	slPrint("after init          ",slLocate(3,15));
    nextstep();
//	slPrint("after nextstep          ",slLocate(3,15));
    drawcenter();
//	slPrint("after drawcenter          ",slLocate(3,15));
    drawtb();
//	slPrint("after drawtb          ",slLocate(3,15));
    drawlr();
//	slPrint("after drawlr          ",slLocate(3,15));
    drawsprite();
//	slPrint("after drawsprite          ",slLocate(3,15));
    control_last = 0;

    game_rects = &draw_SCREENRECT;

#ifdef ENABLE_SOUND
	game_setmusic(map_maps[game_map].tune, 1);
#endif
//	slPrint("after game_setmusic          ",slLocate(3,15));

	seq = 1;
    break;
  case 1:  /* top and bottom borders */
    drawtb();
    game_rects = &anim_rect;
    seq = 2;
    break;
  case 2:  /* background and sprite */
    anim();
    drawcenter();
    drawsprite();
    game_rects = &anim_rect;
    seq = 3;
    break;
  case 3:  /* all borders */
    drawtb();
    drawlr();
    game_rects = &anim_rect;
    seq = 1;
    break;
  case 4:  /* wait for key release */
    if (!(control_status & CONTROL_FIRE))
      seq = 5;
    else
	  {
	  //control_status =0;
      sys_sleep(50); /* .5s */
	  }
    break;
  }

  if (control_status & CONTROL_FIRE) {  /* end as soon as key pressed */
    seq = 4;
  }

  if (control_status & CONTROL_EXIT)  /* check for exit request */
    return SCREEN_EXIT;

  if (seq == 5) {  /* end as soon as key pressed */
    sysvid_clear();
    seq = 0;
	return SCREEN_DONE;
  }
  else
    return SCREEN_RUNNING;
}