Beispiel #1
0
void
eval_draw(void)
{
	F = cadr(p1);
	T = caddr(p1);

	if (T == symbol(NIL)) {
		push(F);
		rewrite();
		guess();
		T = pop();
		F = pop();
	}

	push(get_binding(T));
	push(get_arglist(T));

	draw_main();

	p2 = pop();
	p1 = pop();
	set_binding_and_arglist(T, p1, p2);

	// return value

	push(symbol(NIL));
}
Beispiel #2
0
void controls_draw(state_t *state)
{
	int x, y;

	SDL_GetMouseState(&x, &y);
	if(in_main_area(x, y))
		draw_main(x, y, state);
	levels_draw(state);
	scores_draw(state);
	bar_draw(x, y, state);
	sel_draw(state);
}
Beispiel #3
0
int main(void)
{
  int a = returnas5();
  int b = returnas6();
  
  al_init();
  al_init_primitives_addon();
  
  ALLEGRO_DISPLAY *display = al_create_display(SCREEN_W, SCREEN_H);

  draw_main(&display);

  al_destroy_display(display);
  
  return 0;
}
Beispiel #4
0
void get_text_ext_freetype(const char *string, double *top, double *bot, double *left, double *rite)
{
    struct rectangle box;

    box.t = 1e300;
    box.b = -1e300;
    box.l = 1e300;
    box.r = -1e300;

    draw_main(cur_x, cur_y, string, &box);

    *top = box.t;
    *bot = box.b;
    *left = box.l;
    *rite = box.r;
}
Beispiel #5
0
ENTRYPOINT void draw_commander(ModeInfo * mi) 
{
  Display *display = MI_DISPLAY(mi);
  Window window = MI_WINDOW(mi);
  commander_conf *cp = &commander[MI_SCREEN(mi)];
  if (!cp->glx_context) return;
  /*MI_IS_DRAWN(mi) = True;*/
  glXMakeCurrent(display, window, *(cp->glx_context));
  if (!draw_main(cp)) {
    release_commander(mi);
    return;
  }
  mi->polygon_count = cp->npoints;
  if (MI_IS_FPS(mi)) do_fps (mi);
  glFinish();
  glXSwapBuffers(display, window);
}
Beispiel #6
0
ENTRYPOINT void draw_cubicgrid(ModeInfo * mi) 
{
  Display *display = MI_DISPLAY(mi);
  Window window = MI_WINDOW(mi);
  cubicgrid_conf *cp;
  if (!cubicgrid) return;
  cp = &cubicgrid[MI_SCREEN(mi)];
  MI_IS_DRAWN(mi) = True;
  if (!cp->glx_context) return;
  glXMakeCurrent(display, window, *(cp->glx_context));
  if (!draw_main(cp)) {
    release_cubicgrid(mi);
    return;
  }
  if (MI_IS_FPS(mi)) do_fps (mi);
  glFlush();
  glXSwapBuffers(display, window);
}
Beispiel #7
0
ENTRYPOINT void draw_cube21(ModeInfo * mi) 
{
  Display *display = MI_DISPLAY(mi);
  Window window = MI_WINDOW(mi);
  cube21_conf *cp;
  if (!cube21) return;
  cp = &cube21[MI_SCREEN(mi)];
  MI_IS_DRAWN(mi) = True;
  if (!cp->glx_context) return;
  mi->polygon_count = 0;
  glXMakeCurrent(display, window, *cp->glx_context);
  if (!draw_main(mi, cp)) {
    MI_ABORT(mi);
    return;
  }
  if (MI_IS_FPS(mi)) do_fps (mi);
  glFlush();
  glXSwapBuffers(display, window);
}
ENTRYPOINT void 
draw_rubikblocks(ModeInfo * mi) 
{
  Display *display = MI_DISPLAY(mi);
  Window window = MI_WINDOW(mi);
  rubikblocks_conf *cp;
  if (!rubikblocks) return;
  cp = &rubikblocks[MI_SCREEN(mi)];
  MI_IS_DRAWN(mi) = True;
  if (!cp->glx_context) return;
  mi->polygon_count = 0;
  glXMakeCurrent(display, window, *(cp->glx_context));
  if (!draw_main(mi, cp)) 
  {
    release_rubikblocks(mi);
    return;
  }
  if (MI_IS_FPS(mi)) do_fps (mi);
  glFlush();
  glXSwapBuffers(display, window);
}
Beispiel #9
0
// 更新函数。用来嵌套draw_main。因为不能在本函数中不断申请画笔cario。
// 输入:控件、显示事件、data。
// 返回值:FALSE
static gboolean window_drawing(GtkWidget * widget,GdkEventExpose * expose,gpointer data)
{
    draw_main(widget);
    return FALSE;
}
Beispiel #10
0
void soft_text_freetype(const char *string)
{
    draw_main(cur_x, cur_y, string, NULL);
}
Beispiel #11
0
	//ゲームメイン画面
	void game_main()
	{
		controll_main();
		draw_main();
	}