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)); }
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); }
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; }
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; }
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); }
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); }
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); }
// 更新函数。用来嵌套draw_main。因为不能在本函数中不断申请画笔cario。 // 输入:控件、显示事件、data。 // 返回值:FALSE static gboolean window_drawing(GtkWidget * widget,GdkEventExpose * expose,gpointer data) { draw_main(widget); return FALSE; }
void soft_text_freetype(const char *string) { draw_main(cur_x, cur_y, string, NULL); }
//ゲームメイン画面 void game_main() { controll_main(); draw_main(); }