static void SelectPathOK(AG_Event *event) { char *key = AG_STRING(1); AG_Textbox *tbox = AG_PTR(2); AG_Window *win = AG_PTR(3); char *path = AG_STRING(4); AG_SetString(agConfig, key, path); AG_TextboxSetString(tbox, path); AG_ObjectDetach(win); }
static void EnteredString(AG_Event *event) { char *s = AG_STRING(1); AG_TextInfo("got-string", "Got string \"%s\"", s); }
void AGOL_Settings::ReplaceWadDirSelectorOk(AG_Event *event) { AG_TlistItem *selitem = AG_TlistSelectedItem(WadDirList); char *waddir = AG_STRING(2); if((selitem && strlen(selitem->text) > 0) && (waddir && strlen(waddir) > 0 && !IsWadDirDuplicate(waddir))) { list<string>::iterator i; // Look for the selected directory in the list for(i = WadDirs.begin(); i != WadDirs.end(); ++i) if(*i == selitem->text) { // Replace the item with the new path *i = waddir; break; } } DeleteEventHandler(DirSelOkHandler); delete DirSel; DirSel = NULL; }
static void SaveColorSchemeToACS(AG_Event *event) { char *file = AG_STRING(1); return AG_ColorsSave(file); }
static int LoadColorSchemeFromACS(AG_Event *event) { char *file = AG_STRING(1); return AG_ColorsLoad(file); }
static void WarnRestart(AG_Event *event) { char *key = AG_STRING(1); AG_TextWarning(key, _("Note: Save the configuration and restart %s " "for this change to take effect"), agProgName); }
static void FileChosen(AG_Event *event) { AG_FileSelector *fs = AG_PTR(1); char *path = AG_STRING(2); AG_TextboxSetString(fs->tbox, path); AG_PostEvent(NULL, fs, "file-chosen", "%s", path); Collapse(fs); }
static void SetPath(AG_Event *event) { char path[AG_PATHNAME_MAX]; AG_Textbox *tbox = AG_SELF(); char *varname = AG_STRING(1); AG_TextboxCopyString(tbox, path, sizeof(path)); AG_SetString(agConfig, varname, path); AG_WidgetUnfocus(tbox); }
void AGOL_Settings::OdamexPathSelectorOk(AG_Event *event) { char *odapath = AG_STRING(2); // If a path came back set the odamex path label if(odapath && strlen(odapath) > 0) AG_LabelTextS(OdamexPathLabel, odapath); DeleteEventHandler(DirSelOkHandler); delete DirSel; DirSel = NULL; }
void AGOL_Settings::AddWadDirSelectorOk(AG_Event *event) { char *waddir = AG_STRING(2); // If a path came back add it to the list if(waddir && strlen(waddir) > 0 && !IsWadDirDuplicate(waddir)) WadDirs.push_back(waddir); DeleteEventHandler(DirSelOkHandler); delete DirSel; DirSel = NULL; }
void MenuDeathmatchMaps::handlerCheckMap(AG_Event * event){ std::string filename( AG_STRING(1) ); try { TiXmlDocument doc; // nacteni XML souboru TiXmlRootElement(doc, filename, "map", true); if(setMap(filename)) handlerBack(); } catch(int val){ if(val==1) AG_TextError("%s:\n%s", filename.c_str(), "File does not represent Bombic map."); } }
static void SelectPath(AG_Event *event) { char path[AG_PATHNAME_MAX]; AG_Window *win; AG_DirDlg *dd; char *key = AG_STRING(1); AG_Textbox *tbox = AG_PTR(2); win = AG_WindowNew(0); dd = AG_DirDlgNew(win, AG_DIRDLG_EXPAND|AG_DIRDLG_CLOSEWIN); AG_GetString(agConfig, key, path, sizeof(path)); if (AG_DirDlgSetDirectoryS(dd, path) == -1) { AG_MkPath(path); (void)AG_DirDlgSetDirectoryS(dd, path); } AG_WindowSetGeometryAlignedPct(win, AG_WINDOW_MC, 30, 30); AG_WindowSetCaption(win, _("Select %s directory"), key); AG_DirDlgOkAction(dd, SelectPathOK, "%s,%p,%p", key, tbox, win); AG_WindowShow(win); }
static int SaveToCSV(AG_Event *event) { struct test_ops *test = AG_PTR(1); AG_Table *t = AG_PTR(2); char separator = AG_UCHAR(3); char *path = AG_STRING(4); FILE *f; if ((f = fopen(path, "w")) == NULL) { AG_SetError("%s: Unable to open", AG_Strerror(errno)); return (-1); } fprintf(f, "Benchmark for Agar %d.%d.%d\n", AGAR_MAJOR_VERSION, AGAR_MINOR_VERSION, AGAR_PATCHLEVEL); fprintf(f, "Test: %s%s\n", test->name, (test->flags&TEST_SDL) ? " (SDL-only)" : (test->flags&TEST_GL) ? " (GL-only)" : ""); fprintf(f, "Iterations: %u x %u\n\n", test->runs, test->iterations); AG_TableSaveASCII(t, f, ':'); fclose(f); return (0); }
/* Callback routine for AG_FileDlg. */ static int LoadImage(AG_Event *event) { /* AG_FileDlg *fd = AG_SELF(); */ AG_Window *winParent = AG_PTR(1); char *file = AG_STRING(2); AG_FileType *ft = AG_PTR(3); AG_Surface *s; AG_Window *win; AG_Scrollview *sv; Uint8 *pSrc; Uint i; if (strcmp(ft->exts[0], "*.bmp") == 0) { s = AG_SurfaceFromBMP(file); } else if (strcmp(ft->exts[0], "*.jpg") == 0) { s = AG_SurfaceFromJPEG(file); } else if (strcmp(ft->exts[0], "*.png") == 0) { s = AG_SurfaceFromPNG(file); } else { AG_SetError("Unrecognized format: %s", ft->exts[0]); return (-1); } if (s == NULL) return (-1); if ((win = AG_WindowNew(0)) == NULL) { AG_SurfaceFree(s); return (-1); } AG_WindowSetCaption(win, "Image <%s>", AG_ShortFilename(file)); /* We use AG_FileOptionFoo() to retrieve per-type options. */ if (AG_FileOptionBool(ft,"invert")) { pSrc = (Uint8 *)s->pixels; for (i = 0; i < s->w*s->h; i++) { Uint8 r, g, b; AG_GetPixelRGB(AG_GET_PIXEL(s,pSrc), s->format, &r,&g,&b); r = 255 - r; g = 255 - g; b = 255 - b; AG_PUT_PIXEL(s, pSrc, AG_MapPixelRGB(s->format, r,g,b)); pSrc += s->format->BytesPerPixel; } } /* * Place an AG_Pixmap(3) widget inside of an AG_Scrollview(3) so * the user can pan the view. */ sv = AG_ScrollviewNew(win, AG_SCROLLVIEW_BY_MOUSE|AG_SCROLLVIEW_EXPAND); AG_PixmapFromSurfaceScaled(sv, 0, s, s->w, s->h); AG_SurfaceFree(s); AG_WindowSetGeometry(win, -1, -1, 320, 240); AG_WindowAttach(winParent, win); AG_WindowShow(win); return (0); }