int main(int argc, char *argv[]) { char *driverSpec = NULL, *optArg; int c; while ((c = AG_Getopt(argc, argv, "?hd:", &optArg, NULL)) != -1) { switch (c) { case 'd': driverSpec = optArg; break; case '?': case 'h': default: printf("Usage: keyevents [-d agar-driver-spec]\n"); return (1); } } if (AG_InitCore("agar-keyevents-demo", 0) == -1 || AG_InitGraphics(driverSpec) == -1) { fprintf(stderr, "%s\n", AG_GetError()); return (1); } AG_BindGlobalKey(AG_KEY_ESCAPE, AG_KEYMOD_ANY, AG_QuitGUI); AG_BindGlobalKey(AG_KEY_F8, AG_KEYMOD_ANY, AG_ViewCapture); CreateWindow(); AG_EventLoop(); AG_Destroy(); return (0); }
int main(int argc, char *argv[]) { Uint flags = AG_VIDEO_RESIZABLE; int c, i, fps = -1; char *s; if (AG_InitCore("agar-bench", 0) == -1) { fprintf(stderr, "%s\n", AG_GetError()); return (1); } while ((c = getopt(argc, argv, "?vegt:r:T:")) != -1) { extern char *optarg; switch (c) { case 'v': exit(0); case 'g': flags |= AG_VIDEO_OPENGL; break; case 't': AG_TextParseFontSpec(optarg); break; case 'T': AG_SetString(agConfig, "font-path", optarg); break; case 'r': fps = atoi(optarg); break; case '?': default: printf("%s [-vfFgG] [-w width] [-h height] [-r fps]" " [-t font,size,flags] [-T font-path]\n", agProgName); exit(0); } } if (AG_InitVideo(640, 480, 32, flags) == -1) { fprintf(stderr, "%s\n", AG_GetError()); return (-1); } AG_BindGlobalKey(AG_KEY_ESCAPE, AG_KEYMOD_ANY, AG_Quit); AG_BindGlobalKey(AG_KEY_F8, AG_KEYMOD_ANY, AG_ViewCapture); AG_SetRefreshRate(fps); MainWindow(); AG_EventLoop(); AG_Destroy(); return (0); fail: AG_Destroy(); return (1); }
void agar_event_loop (void) { AG_EventLoop (); }
int main(int argc, char *argv[]) { char s[256]; double v = 10.0; char *driverSpec = NULL, *optArg; int c; while ((c = AG_Getopt(argc, argv, "?hd:", &optArg, NULL)) != -1) { switch (c) { case 'd': driverSpec = optArg; break; case '?': case 'h': default: printf("Usage: textdlg [-d agar-driver-spec]\n"); return (1); } } if (AG_InitCore("agar-textdlg-demo", 0) == -1 || AG_InitGraphics(driverSpec) == -1) { fprintf(stderr, "%s\n", AG_GetError()); return (1); } AG_BindGlobalKey(AG_KEY_ESCAPE, AG_KEYMOD_ANY, AG_QuitGUI); AG_BindGlobalKey(AG_KEY_F8, AG_KEYMOD_ANY, AG_ViewCapture); /* Prompt for a series of options. */ { AG_Button *btns[3]; btns[0] = AG_ButtonNew(NULL, 0, NULL); btns[1] = AG_ButtonNew(NULL, 0, NULL); btns[2] = AG_ButtonNew(NULL, 0, NULL); AG_TextPromptOptions(btns, 3, "Multiple-choice selection: "); AG_ButtonText(btns[0], "Yes"); AG_ButtonText(btns[1], "No"); AG_ButtonText(btns[2], "Maybe"); } /* Prompt for a string and invoke callback on return. */ AG_TextPromptString("Prompt for a string: ", EnteredString, NULL); /* Various canned dialogs as described in AG_Text(3). */ AG_TextWarning("my-warning-key", "This is a warning"); AG_TextError("This is an error message"); AG_TextTmsg(AG_MSG_INFO, 3000, "This is a timed message"); AG_TextMsg(AG_MSG_INFO, "This is an informational message"); AG_TextInfo("infomsg", "This is an informational message. Multiline text is " "always allowed. Text will be wrapped to multiple lines " "if it cannot be displayed properly on a single line."); /* Edit an existing floating-point variable. */ AG_TextEditFloat(&v, 0.0, 100.0, "cm", "Edit a float value: "); /* Edit an existing fixed-size string buffer. */ AG_Strlcpy(s, "Test string", sizeof(s)); AG_TextEditString(s, sizeof(s), "Edit a string: "); /* Use the standard Agar event loop. */ AG_EventLoop(); AG_Destroy(); return (0); }
int main(int argc, char *argv[]) { #ifdef HAVE_SDL AG_Window *win; SDL_Surface *screen, *bmp, *tex1, *tex2, *avatar; AG_Surface *agbmp, *agavatar; int c, useGL = 0; Uint32 sdlFlags = 0; char *optArg; Uint32 rmask, gmask, bmask, amask; if (AG_InitCore("agar-sdl-demo", 0) == -1) { fprintf(stderr, "AG_InitCore: %s\n", AG_GetError()); goto fail; } while ((c = AG_Getopt(argc, argv, "?g", &optArg, NULL)) != -1) { switch (c) { case 'g': useGL = 1; break; default: printf("Usage: %s [-g]\n", agProgName); break; } } /* Set up SDL */ if (SDL_Init(SDL_INIT_VIDEO) == -1) { fprintf(stderr, "SDL_Init: %s\n", SDL_GetError()); return (1); } if (useGL) { sdlFlags = SDL_RESIZABLE|SDL_OPENGL; } else { sdlFlags = SDL_RESIZABLE|SDL_SWSURFACE; } if ((screen = SDL_SetVideoMode(320, 240, 32, sdlFlags)) == NULL) { fprintf(stderr, "SDL_SetVideoMode: %s\n", SDL_GetError()); goto fail; } if (useGL) { /* Set up OpenGL viewport and projection. */ AG_GL_InitContext(AG_RECT(0,0,320,240)); } /* Initialize Agar-GUI to reuse display */ if (AG_InitVideoSDL(screen, 0) == -1) { fprintf(stderr, "%s\n", AG_GetError()); AG_Destroy(); goto fail; } AG_BindGlobalKey(AG_KEY_ESCAPE, AG_KEYMOD_ANY, AG_QuitGUI); /* Display some test widgets. */ win = AG_WindowNew(AG_WINDOW_PLAIN); AG_LabelNew(win, 0, "Attached to existing %s display", useGL ? "SDL/OpenGL" : "SDL"); /* Test conversion from SDL_Surface to AG_Surface. */ if ((bmp = SDL_LoadBMP("agar.bmp")) != NULL) { if ((agbmp = AG_SurfaceFromSDL(bmp)) != NULL) { AG_PixmapFromSurface(win, 0, agbmp); } else { AG_LabelNewS(win, 0, AG_GetError()); } } #ifdef HAVE_SDL_IMAGE if ((tex1 = IMG_Load("test1.png")) == NULL || (tex2 = IMG_Load("test2.png")) == NULL) { fprintf(stderr, "IMG_Load() failed\n"); goto fail; } # if SDL_BYTEORDER == SDL_BIG_ENDIAN rmask = 0xff000000; gmask = 0x00ff0000; bmask = 0x0000ff00; amask = 0x000000ff; # else rmask = 0x000000ff; gmask = 0x0000ff00; bmask = 0x00ff0000; amask = 0xff000000; # endif avatar = SDL_CreateRGBSurface(SDL_SWSURFACE|SDL_SRCALPHA, 64, 128, tex1->format->BitsPerPixel, rmask, gmask, bmask, amask); SDL_SetAlpha(tex1, 0, 0); SDL_BlitSurface(tex1, NULL, avatar, NULL); SDL_SetAlpha(tex2, SDL_SRCALPHA, 0); SDL_BlitSurface(tex2, NULL, avatar, NULL); if ((agavatar = AG_SurfaceFromSDL(avatar)) != NULL) { AG_PixmapFromSurface(win, 0, agavatar); } else { AG_LabelNewS(win, 0, AG_GetError()); } #endif /* HAVE_SDL_IMAGE */ AG_WindowShow(win); AG_EventLoop(); AG_Destroy(); SDL_Quit(); return (0); fail: SDL_Quit(); return (1); #else fprintf(stderr, "Agar was compiled without SDL support\n"); return (1); #endif /* HAVE_SDL */ }