/* webclient_datahandler(): * * Callback function. Called from the webclient module when HTTP data * has arrived. */ void webclient_datahandler(char *data, u16_t len) { if(len > 0) { if(strcmp(webclient_mimetype(), http_texthtml) == 0) { count = (count + 1) & 3; show_statustext(receivingmsgs[count]); htmlparser_parse(data, len); redraw_window(); } else { uip_abort(); #if WWW_CONF_WITH_WGET ctk_dialog_open(&wgetdialog); #endif /* WWW_CONF_WITH_WGET */ } } else { /* Clear remaining parts of page. */ loading = 0; } if(data == NULL) { loading = 0; show_statustext("Done."); petsciiconv_topetscii(&webpage[(WWW_CONF_WEBPAGE_HEIGHT - 1) * WWW_CONF_WEBPAGE_WIDTH], WWW_CONF_WEBPAGE_WIDTH); CTK_WIDGET_FOCUS(&mainwindow, &urlentry); redraw_window(); } }
void about() { FC_TABLE c = {0,RGB555(31,31,0),RGB555(28,28,28),RGB555(24,24,24),RGB555(20,20,20)}; FC_TABLE c2= {0,RGB555(31,16,0),RGB555(28,16,0),RGB555(24,16,0),RGB555(20,16,0)}; FC_TABLE c3= {0,RGB555(0,24,0),RGB555(0,20,0),RGB555(0,16,0),RGB555(0,10,0)}; static about_win = -1; if (find_window(about_win) == NULL) { about_win = def_window(300,200,"About"); waktual->x = 320-150; waktual->y = 140; memcpy(f_default,flat_color(0x0),sizeof(FC_TABLE)); waktual->modal = 1; default_font = vga_font; define(-1,5,25,29,29,0,dtext,"\x8");property(NULL,icones,&c,WINCOLOR); define(-1,75,25,100,29,0,dtext,"MAPEDIT");property(NULL,NULL,&c2,WINCOLOR); define(-1,200,35,60,29,0,label,"verze 2.0");property(NULL,NULL,&c3,WINCOLOR); define(-1,20,80,200,10,0,label,"Naps no pro hru \"Br ny Skeldalu\""); define(-1,20,92,200,10,0,label,"(C) 1997 Napoleon gameS "); define(-1,20,104,200,10,0,label,"Naprogamoval: Ond©ej Nov k "); define(-1,20,116,200,10,0,label,"Tento software sm¡ b˜t pou‘it jen"); define(-1,20,128,200,10,0,label,"ve spojen¡ s v˜vojem hry \"Br ny"); define(-1,20,140,200,10,0,label,"Skeldalu\" (a p©¡padn‚ dal¨¡ verze)"); define(-1,20,152,200,10,0,label,"a to pouze ‡leny v˜vojov‚ho t˜mu."); define(10,110,170,80,20,0,button,"Ok");on_change(close_test); } else select_window(about_win); redraw_window(); }
/**************************************************************** * * * met un secteur dans le tampon * * * ****************************************************************/ void copier_tampon(windowptr thewin) { int i; char scrap_path[FILENAME_MAX]; switch (thewin -> type) { case SECTEUR: case FICHIER: case FICHIER_FS: case RAW_FLOPPY: case RAW_HARD: for (i=0; i<512; i++) Tampon -> fonction.tampon.secteurBin[i] = (thewin -> fonction.secteur.page*512L + thewin -> fonction.secteur.secteurBin)[i]; /* update la fenˆtre Tampon */ if (Menu[OUVRIR_TAMPON].ob_state & DISABLED) /* la fenˆtre est d‚j… ouverte */ { convert_sect(Tampon -> fonction.secteur.secteurBin, Tampon -> fonction.text.Ligne, Tampon -> fonction.secteur.ascii); Efface = FALSE; redraw_window(Tampon -> win, &Tampon -> win -> work); } ajoute(Firstwindow, Messages(TAMPON_10)); case TEXT: case TAMPON: if (ClipBoard && scrp_read(scrap_path)) copier_clipboard(thewin, scrap_path); break; } } /* copier_tampon */
char ask_password(char *pass,char text) { char *c; switch (text) { case 0:c ="Provˆ©en¡";break; case 1:c ="Zmˆna hesla";break; case 2:c ="Kontrola";break; } def_dialoge(320-100,240-50,200,90,c); define(-1,10,20,1,1,0,label,"Vlo‘ heslo:"); define(10,10,40,180,12,0,input_line,49); property(def_border(3,WINCOLOR),NULL,flat_color(RGB555(31,31,31)),RGB555(8,8,8)); if (text == 1)set_default(pass);else set_default("");on_event(ask_password_event); define(20,5,5,50,20,2,button,"OK"); property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate); define(30,5,5,50,20,3,button,"Zru¨it"); property(def_border(1,0),NULL,NULL,WINCOLOR);on_change(terminate); redraw_window(); goto_control(10); escape(); if (o_aktual->id == 30) text = 0;else { text = 1; get_value(0,10,pass); } close_current(); return text; }
/**************************************************************** * * * echange un secteur et le tampon * * * ****************************************************************/ void echanger_tampon(windowptr thewin) { char c; int i; switch (thewin -> type) { case SECTEUR: case FICHIER: case FICHIER_FS: case RAW_FLOPPY: case RAW_HARD: for (i=0; i<512; i++) { c = (thewin -> fonction.secteur.page*512L + thewin -> fonction.secteur.secteurBin)[i]; (thewin -> fonction.secteur.page*512L + thewin -> fonction.secteur.secteurBin)[i] = Tampon -> fonction.tampon.secteurBin[i]; Tampon -> fonction.tampon.secteurBin[i] = c; } thewin -> fonction.secteur.dirty = TRUE; secteur_window_update(thewin, FALSE); /* update la fenˆtre Tampon */ if (Menu[OUVRIR_TAMPON].ob_state & DISABLED) { convert_sect(Tampon -> fonction.secteur.secteurBin, Tampon -> fonction.text.Ligne, Tampon -> fonction.secteur.ascii); Efface = FALSE; redraw_window(Tampon -> win, &Tampon -> win -> work); } ajoute(Firstwindow, Messages(TAMPON_12)); } } /* echanger_tampon */
/* webclient_closed(): * * Callback function. Called from the webclient when the HTTP * connection was closed after a request from the "webclient_close()" * function. */ void webclient_closed(void) { show_statustext("Stopped."); petsciiconv_topetscii(webpageptr - x, x); CTK_WIDGET_FOCUS(&mainwindow, &downbutton); redraw_window(); }
/*-----------------------------------------------------------------------------------*/ static void clear_page(void) { ctk_window_clear(&mainwindow); make_window(); memset(webpage, 0, WWW_CONF_WEBPAGE_WIDTH * WWW_CONF_WEBPAGE_HEIGHT); redraw_window(); }
inline void IAtelier_summer::ToggleToolbar(const char* toolbar_name/* = "toolbar"*/) { CToolbar_summer* tb = (CToolbar_summer*)find_glyph(toolbar_name); if (tb) tb->toggle_visible(); //change(GLYPH_CHANGED_CANVAS_BKG | GLYPH_CHANGED_CANVAS); redraw_window(); }
void open_editor_win() { if (find_window(editor_win) == NULL) { editor_win = def_window(100,150,"Editory"); define(10,10,25,80,20,0,button,"map script");on_change(edit_script_file); define(20,10,50,80,20,0,button,"map texty");on_change(edit_script_file); define(30,10,75,80,20,0,button,"items.scr");on_change(edit_script_file); define(40,10,100,80,20,0,button,"items.pic");on_change(edit_script_file); define(50,10,125,80,20,0,button,"animator");on_change(call_animator); redraw_window(); } else { select_window(editor_win); redraw_window(); } }
/* webclient_closed(): * * Callback function. Called from the webclient when the HTTP * connection was closed after a request from the "webclient_close()" * function. . */ void webclient_closed(void) { show_statustext("Stopped."); petsciiconv_topetscii(&webpage[(WWW_CONF_WEBPAGE_HEIGHT - 1) * WWW_CONF_WEBPAGE_WIDTH], WWW_CONF_WEBPAGE_WIDTH); CTK_WIDGET_FOCUS(&mainwindow, &downbutton); redraw_window(); }
static void edit_scrollto(void *data, int kind) { EDITINFO *einf = (EDITINFO*) data; /* ** handle scrollbar up/down/left/right ** redraw drawwin */ if (!kind) { redraw_window(einf->info); } else { /* vertical scroll */ int line_nr = scrollbar_line(einf->scrollver,0); editwindow_line(einf->info, line_nr); } }
void window_request(int pid, unsigned char *req) { /* window request */ if (req[1] == WMREQ_REGWIN) add_window(pid, (wm_reg_t *) req); else if (req[1] == WMREQ_REDRAW) redraw_window(pid, (wm_redraw_t *) req); else if (req[1] == WMREQ_CLOSEWIN) close_window(pid, (wm_closewin_t *) req); else if (req[1] == WMREQ_SET_WP) { set_wallpaper(((wm_set_wallpaper_t *) req)->index); update_screen(); } }
void edit_sector(int source) { TSECTOR *p; TSTR_LIST l; CTL3D b1,b2,b3; l=read_directory("c:\\windows\\system\\*.*",DIR_FULL,_A_NORMAL); p=&mapa.sectordef[source]; memcpy(&b1,def_border(1,0),sizeof(CTL3D)); memcpy(&b2,def_border(5,WINCOLOR),sizeof(CTL3D)); memcpy(&b3,def_border(3,WINCOLOR),sizeof(CTL3D)); default_font=vga_font; memcpy(f_default,flat_color(0x0000),sizeof(charcolors)); def_dialoge(100,100,300,200,"String list - test only"); define(9,10,20,240,170,0,listbox,l,0x1f);c_default(0); o_end->autoresizex=1; o_end->autoresizey=1; define(10,3,42,17,110,1,scroll_bar_v,0,10,1,SCROLLBARCOL); property(NULL,NULL,NULL,WINCOLOR); o_end->autoresizey=1; define(11,1,20,21,17,1,scroll_button,-1,0,"\x1e"); property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support); define(12,1,22,21,17,2,scroll_button,1,10,"\x1f"); property(NULL,icones,NULL,WINCOLOR);on_change(scroll_support); define(20,1,1,10,10,2,resizer); /* define(OK_BUTT,100,5,80,20,2,button,"Ok");property(&b1,NULL,NULL,WINCOLOR); on_change(terminate); define(CANCEL_BUTT,10,5,80,20,2,button,"Zru¨it");property(&b1,NULL,NULL,WINCOLOR); on_change(terminate); define(-1,5,20,100,12,0,label,"P©ipojen¡:"); define(10,10,35,50,12,0,input_line,20,0,MAPSIZE-1,"%6d");property(&b2,NULL,NULL,WINCOLOR); set_default(strs(p->step_next[0]));on_exit(test_int); define(20,10,50,50,12,0,input_line,20,0,MAPSIZE-1,"%6d");property(&b2,NULL,NULL,WINCOLOR); set_default(strs(p->step_next[1]));on_exit(test_int); define(30,10,65,50,12,0,input_line,20,0,MAPSIZE-1,"%6d");property(&b2,NULL,NULL,WINCOLOR); set_default(strs(p->step_next[2]));on_exit(test_int); define(40,10,80,50,12,0,input_line,20,0,MAPSIZE-1,"%6d");property(&b2,NULL,NULL,WINCOLOR); set_default(strs(p->step_next[3]));on_exit(test_int); define(50,70,35,80,12,0,button,"Sever");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup); define(60,70,50,80,12,0,button,"V˜chod");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup); define(70,70,65,80,12,0,button,"Jih");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup); define(80,70,80,80,12,0,button,"Z pad");property(&b1,NULL,NULL,WINCOLOR);on_change(edit_side_sup); temp_source=source; */redraw_window(); escape(); close_window(waktual); release_list(l); }
/**************************************************************** * * * efface le tampon (met … 0) * * * ****************************************************************/ void effacer_tampon(void) { int i; for (i=0; i<512; i++) Tampon -> fonction.tampon.secteurBin[i] = '\0'; /* update la fenˆtre Tampon */ if (Menu[OUVRIR_TAMPON].ob_state & DISABLED) { convert_sect(Tampon -> fonction.secteur.secteurBin, Tampon -> fonction.text.Ligne, Tampon -> fonction.secteur.ascii); Efface = FALSE; redraw_window(Tampon -> win, &Tampon -> win -> work); } } /* effacer_tampon */
int execute(char program[MAXSTRING],char command[MAXSTRING],int multi) { char comstring[MAXSTRING+1]; if(!multi) { // hide_dialog(NULL); strncpy(comstring," ",MAXSTRING); comstring[MAXSTRING]=EOL; strncat(comstring,command,MAXSTRING); comstring[MAXSTRING]=EOL; Pexec(0,program,comstring,NULL); menu_bar(menu_tree, 1); redraw_window(NULL); // unhide_dialog(NULL); } Return TRUE; }
/**************************************************************** * * * Lit le le ClipBoard * * * ****************************************************************/ void coller_clipboard(char *scrap_path) { FILE *fd; char scrap_file[FILENAME_MAX]; /* le fichier en binaire */ strcpy(scrap_file, scrap_path); strcat(scrap_file, "SCRAP.BIN"); /* ouverture du fichier */ if ((fd = fopen(scrap_file, "rb")) != NULL) { /* lecture du fichier */ fread(Tampon -> fonction.secteur.secteurBin, 512L, 1L, fd); /* fermeture */ fclose(fd); } else { /* le fichier texte */ strcpy(scrap_file, scrap_path); strcat(scrap_file, "SCRAP.TXT"); /* ouverture du fichier */ if ((fd = fopen(scrap_file, "rb")) != NULL) { /* lecture du fichier */ fread(Tampon -> fonction.secteur.secteurBin, 512L, 1L, fd); /* fermeture */ fclose(fd); } } /* update la fenˆtre Tampon */ if (Menu[OUVRIR_TAMPON].ob_state & DISABLED) { convert_sect(Tampon -> fonction.secteur.secteurBin, Tampon -> fonction.text.Ligne, Tampon -> fonction.secteur.ascii); Efface = FALSE; redraw_window(Tampon -> win, &Tampon -> win -> work); } } /* coller_clipboard */
/**************************************************************** * * * Actif ou D‚sactive le ClipBoard GEM * * * ****************************************************************/ void clipboard_gem(windowptr thewin) { char scrap_path[FILENAME_MAX]; if (!(ClipBoard || scrp_read(scrap_path))) { error_msg(Z_CLIPBOARD_NOT_INSTALLED); return; } if (test_scrap_path(scrap_path)) return; ClipBoard = 1-ClipBoard; if (ClipBoard) { char text[80]; ajoute(Firstwindow, Messages(TAMPON_15)); sprintf(text, Messages(TAMPON_16), scrap_path); ajoute(Firstwindow, text); } else ajoute(Firstwindow, Messages(TAMPON_17)); menu_icheck(Menu, CLIPBOARD_GEM, ClipBoard); make_frontwin(thewin); if (ClipBoard) coller_clipboard(scrap_path); /* update la fenˆtre Tampon */ if (Menu[OUVRIR_TAMPON].ob_state & DISABLED) { convert_sect(Tampon -> fonction.secteur.secteurBin, Tampon -> fonction.text.Ligne, Tampon -> fonction.secteur.ascii); Efface = FALSE; redraw_window(Tampon -> win, &Tampon -> win -> work); } } /* clipboard_gem */
void jdi_na_sektor(s) { WINDOW *w,*w2; if (!s) return; cur_layer=minfo[s].layer; xmap_offs=minfo[s].x; ymap_offs=minfo[s].y; c_set_value(map_win,20,ymap_offs); c_set_value(map_win,30,xmap_offs); unselect_map(); minfo[s].flags=1; info_sector(s); w=find_window(map_win); w2=waktual; if (w!=NULL) { waktual=w; redraw_window(); waktual=w2; } }
void action_flags() { CTL3D b1; long flags; flags=f_get_value(0,350); memcpy(&b1,def_border(1,0),sizeof(CTL3D)); def_dialoge(300,220,300,210,"V¡ce vlajek"); define(CANCEL_BUTT,11,5,80,20,2,button,"Zru¨it");property(&b1,NULL,NULL,WINCOLOR); on_change(terminate); define(OK_BUTT,100,5,80,20,2,button,"Ok");property(&b1,NULL,NULL,WINCOLOR); on_change(terminate); define(10,10,20,250,10,0,check_box,side_flgs[24]); define(20,10,32,250,10,0,check_box,side_flgs[25]); define(30,10,44,250,10,0,check_box,side_flgs[26]); define(40,10,56,250,10,0,check_box,side_flgs[27]); define(50,10,68,250,10,0,check_box,side_flgs[28]); define(60,10,88,250,10,0,check_box,side_flgs[29]); define(70,10,100,250,10,0,check_box,side_flgs[30]); define(80,10,112,250,10,0,check_box,side_flgs[31]); define(90,10,124,250,10,0,check_box,side_flgs[20]); define(100,10,136,250,10,0,check_box,side_flgs[21]); define(110,10,148,250,10,0,check_box,side_flgs[22]); define(120,10,160,250,10,0,check_box,side_flgs[23]); fill_bit_fields(0,10,flags>>24,8); fill_bit_fields(0,90,flags>>20,4); redraw_window(); escape(); if (o_aktual->id==OK_BUTT) { flags=get_bit_fields(0,10,8)<<24; flags|=get_bit_fields(0,90,4)<<20; } close_window(waktual); c_set_value(0,350,flags); }
static void scroll_up(console_private_t *pcp) { cursor(pcp, CS_SUSPEND); /* mark that we scrolled up by one line */ ++pcp->scroll_up; /* move all lines one line up */ memmove(pcp->pchWindowBuffer, &pcp->pchWindowBuffer[pcp->xMax], CALC_POS(pcp, 0, pcp->yMax - 1)); /* clear the last line */ memset(&pcp->pchWindowBuffer[CALC_POS(pcp, 0, pcp->yMax - 1)], ' ', pcp->xMax); move_upwards(pcp); /* force repainting of the whole window */ #if 0 /* @SRT this variant takes less processor time because hopefully, the window needs not to be updated with every single scroll. */ InvalidateRect(pcp->hwndConsole, NULL, FALSE ); #else /* @SRT this variant looks more realistic since every single scroll can be seen by the user */ redraw_window(pcp, NULL); #endif /* Adjust the line where the input begins */ pcp->yPosInputLineStart--; cursor(pcp, CS_RESUME); }
void redraw_cmdline(void) { if(prev_mode == MENU_MODE) { menu_redraw(); } else { redraw_window(); if(prev_mode == SORT_MODE) redraw_sort_dialog(); else if(prev_mode == ATTR_MODE) redraw_attr_dialog(); } line_width = getmaxx(stdscr); curs_set(TRUE); update_cmdline_size(); update_cmdline_text(); if(cfg.wild_menu) draw_wild_menu(-1); }
void show_full_file_properties(FileView *view) { char name_buf[PATH_MAX]; // char perm_buf[26]; char size_buf[56]; // char uid_buf[26]; char buf[256]; //struct passwd *pwd_buf; //struct group *grp_buf; struct tm *tm_ptr; int x, y; int key = 0; int done = 0; curr_stats.show_full = 0; setup_menu(view); getmaxyx(menu_win, y, x); werase(menu_win); snprintf(name_buf, sizeof(name_buf), "%s", view->dir_entry[view->list_pos].name); describe_file_size(size_buf, sizeof(size_buf), view); mvwaddstr(menu_win, 2, 2, "File: "); mvwaddnstr(menu_win, 2, 8, name_buf, x - 8); mvwaddstr(menu_win, 4, 2, "Size: "); mvwaddstr(menu_win, 4, 8, size_buf); /* mvwaddstr(menu_win, 6, 2, "Type: "); if(S_ISLNK(view->dir_entry[view->list_pos].mode)) { char linkto[PATH_MAX +NAME_MAX]; int len; char *filename = strdup(view->dir_entry[view->list_pos].name); len = strlen(filename); if (filename[len - 1] == '/') filename[len - 1] = '\0'; mvwaddstr(menu_win, 6, 8, "Link"); len = readlink (filename, linkto, sizeof (linkto)); mvwaddstr(menu_win, 7, 2, "Link To: "); if (len > 0) { linkto[len] = '\0'; mvwaddnstr(menu_win, 7, 11, linkto, x - 11); } else mvwaddstr(menu_win, 7, 11, "Couldn't Resolve Link"); } else if (S_ISREG (view->dir_entry[view->list_pos].mode)) { FILE *pipe; char command[1024]; char buf[NAME_MAX]; */ /* Use the file command to get file information */ /* snprintf(command, sizeof(command), "file \"%s\" -b", view->dir_entry[view->list_pos].name); if ((pipe = popen(command, "r")) == NULL) { mvwaddstr(menu_win, 6, 8, "Unable to open pipe to read file"); return; } fgets(buf, sizeof(buf), pipe); pclose(pipe); mvwaddnstr(menu_win, 6, 8, buf, x - 9); */ /* if((S_IXUSR &view->dir_entry[view->list_pos].mode) || (S_IXGRP &view->dir_entry[view->list_pos].mode) || (S_IXOTH &view->dir_entry[view->list_pos].mode)) mvwaddstr(other_view->win, 6, 8, "Executable"); else mvwaddstr(other_view->win, 6, 8, "Regular File"); } if (S_ISDIR (view->dir_entry[view->list_pos].mode)) { mvwaddstr(menu_win, 6, 8, "Directory"); } else if (S_ISCHR (view->dir_entry[view->list_pos].mode)) { mvwaddstr(menu_win, 6, 8, "Character Device"); } else if (S_ISBLK (view->dir_entry[view->list_pos].mode)) { mvwaddstr(menu_win, 6, 8, "Block Device"); } else if (S_ISFIFO (view->dir_entry[view->list_pos].mode)) { mvwaddstr(menu_win, 6, 8, "Fifo Pipe"); } else if (S_ISSOCK (view->dir_entry[view->list_pos].mode)) { mvwaddstr(menu_win, 6, 8, "Socket"); } else { mvwaddstr(menu_win, 6, 8, "Unknown"); } */ // mvwaddstr(menu_win, 8, 2, "Permissions: "); // mvwaddstr(menu_win, 8, 15, perm_buf); mvwaddstr(menu_win, 10, 2, "Modified: "); tm_ptr = localtime(&view->dir_entry[view->list_pos].mtime); strftime (buf, sizeof (buf), "%a %b %d %I:%M %p", tm_ptr); mvwaddstr(menu_win, 10, 13, buf); mvwaddstr(menu_win, 12, 2, "Accessed: "); tm_ptr = localtime(&view->dir_entry[view->list_pos].atime); strftime (buf, sizeof (buf), "%a %b %d %I:%M %p", tm_ptr); mvwaddstr(menu_win, 12, 13, buf); mvwaddstr(menu_win, 14, 2, "Changed: "); tm_ptr = localtime(&view->dir_entry[view->list_pos].ctime); strftime (buf, sizeof (buf), "%a %b %d %I:%M %p", tm_ptr); mvwaddstr(menu_win, 14, 13, buf); //mvwaddstr(menu_win, 16, 2, "Owner: "); //mvwaddstr(menu_win, 16, 10, uid_buf); //mvwaddstr(menu_win, 18, 2, "Group: "); /* if((grp_buf = getgrgid(view->dir_entry[view->list_pos].gid)) != NULL) { mvwaddstr(menu_win, 18, 10, grp_buf->gr_name); } */ wnoutrefresh(menu_win); box(menu_win, 0, 0); wrefresh(menu_win); while(!done) { key = wgetch(menu_win); /* ascii Return - Ctrl-c - Escape */ if(key == 13 || key == 3 || key == 27) done = 1; } werase(menu_win); curr_stats.menu = 0; redraw_window(); }
/**************************************************************** * * * cherche une chaŒne dans le tampon * * * ****************************************************************/ void search_tampon(windowptr thewin, boolean diff_majmin) { register char *buffer, search_char; register int i, j; int start, curseur_x = thewin -> fonction.fichier.curseur_x, curseur_y = thewin -> fonction.fichier.curseur_y; buffer = Tampon -> fonction.tampon.secteurBin; start = curseur_x < 0 ? 0 : thewin -> fonction.fichier.curseur_y*32 + curseur_x/2 +1; search_char = SearchString[0]; if (diff_majmin) { for (i=start; i<512; i++) if (buffer[i] == search_char) { for (j=1; j<SearchLength && i+j<512 && buffer[i+j] == SearchString[j]; j++) ; if (j == SearchLength) { thewin -> fonction.fichier.curseur_x = 2*(i&31); thewin -> fonction.fichier.curseur_y = i/32; if (curseur_x < 0) { update_curseur(thewin, 2*(i&31), i/32, FAIL, FAIL, FALSE); menu_icheck(Menu, CURSEUR_VISIBLE, 1); } else update_curseur(thewin, 2*(i&31), i/32, curseur_x, curseur_y, FALSE); Efface = FALSE; redraw_window(thewin -> win, &thewin -> win -> work); return; } } } else { for (i=start; i<512; i++) if ((buffer[i] & 0xDF) == (search_char & 0xDF)) { for (j=1; j<SearchLength && i+j<512 && (buffer[i+j] & 0xDF) == (SearchString[j] & 0xDF); j++) ; if (j == SearchLength) { thewin -> fonction.fichier.curseur_x = 2*(i&31); thewin -> fonction.fichier.curseur_y = i/32; if (curseur_x < 0) { update_curseur(thewin, 2*(i&31), i/32, FAIL, FAIL, FALSE); menu_icheck(Menu, CURSEUR_VISIBLE, 1); } else update_curseur(thewin, 2*(i&31), i/32, curseur_x, curseur_y, FALSE); Efface = FALSE; redraw_window(thewin -> win, &thewin -> win -> work); return; } } } } /* search_tampon */
void Ending(void) { char stuff[][2][32] = { {"XSoldier staff", ""}, {"Producer", "Y.Hashimoto"}, {"Program", "R.Masuda"}, {"", "Y.Hashimoto"}, {"Character Algorithm", "K.Inomata"}, {"", "H.Yokobori"}, {"", "M.Nakayama"}, {"", "Y.Hashimoto"}, {"Character Design", "H.Hayakawa"}, {"", "Y.Hashimoto"}, {"1.x Series Developer", "Oohara Yuuma"}, {"Special Thanks", "N.Oohashi"}, {"", "T.Yamada"}, {"", "T.Igari"}, {"", "RAKI all members"}, {"", ".... and YOU."}, }; char msg[][30] = { "Try Next Stage!!", "You are a great soldier!!!", "crazy ........" }; /* number of staffs */ int stfnumber = 16; int count = 0; int time = (stfnumber + 6) * 100; int len; int i; while (1) { if (waittime && (signal_delivered==0)) pause(); signal_delivered = 0; if (count < time) { count++; } if (event_handle_ending() == 0) return; clear_window(); DrawStar(StarPtn1); DrawStar(StarPtn2); for (i=0; i<stfnumber; i++) { if (i == 0) { draw_string(210, FieldH - count + 100 * i, stuff[i][0], strlen(stuff[i][0])); draw_string(450, FieldH - count + 100 * i, stuff[i][1], strlen(stuff[i][1])); } else { draw_string(100, FieldH - count + 100 * i, stuff[i][0], strlen(stuff[i][0])); draw_string(300, FieldH - count + 100 * i + 30, stuff[i][1], strlen(stuff[i][1])); } } if (count > time-30) { len = count - (time-30); if (manage->Loop < 3) { if (len >= strlen(msg[manage->Loop-1])) { draw_string(200, 440, "Press space key", strlen("Press space key")); len = strlen(msg[manage->Loop-1]); } draw_string(200, 400, msg[manage->Loop-1], len); } else { if (len >= strlen(msg[2])) { draw_string(200, 440, "Press space key", strlen("Press space key")); len = strlen(msg[2]); } } } redraw_window(); } }
void handle_msg(int *msg) { WINDOWP window; wake_mouse(); window= get_window(msg[3]); /* Zugeh�riges Fenster */ switch (msg[0]) /* Art der Nachricht */ { case MN_SELECTED: if (makro_rec) /* Makro wird Tastendruck vorgegaukelt */ { int kstate, kreturn; char str[50]; get_string(menu, msg[4], str); if (str_to_key(str, &kstate, &kreturn)) { kstate |= (kstate & 3); to_makro(kstate, kreturn); } } handle_menu(msg[3], msg[4], menu_ctrl); menu_ctrl = FALSE; break; case WM_REDRAW : if (msg[3] == akt_handle) redraw_aktion(); else redraw_window (window, (GRECT*)(msg+4)); break; case WM_CLOSED : do_icon(window->handle, DO_DELETE); break; case WM_FULLED : full_window (window); break; case WM_ARROWED : arrow_window (window, msg[4], 1); break; case WM_HSLID : h_slider (window, msg[4]); break; case WM_VSLID : v_slider (window, msg[4]); break; case WM_SIZED : size_window (window, (GRECT*)(msg+4), TRUE); break; case WM_MOVED : move_window (window, (GRECT*)(msg+4)); break; case WM_NEWTOP : /* Fenster von qed ist irgendwie nach oben gekommen */ case WM_ONTOP : ontop_window(window); break; case WM_TOPPED : top_window (window); break; case WM_UNTOPPED: /* qed hat jetzt nicht mehr das Top-Fenster */ untop_window (window); break; case WM_BOTTOMED: /* AES 4.00 MagiC 3 : Fenster nach hinten */ case WM_M_BDROPPED : /* Magic 2 */ bottom_window (window, msg[0]); break; case WM_ICONIFY: iconify_window(window, (GRECT*)(msg+4)); break; case WM_ALLICONIFY: all_iconify(window, (GRECT*)(msg+4)); break; case WM_UNICONIFY: if (all_iconified) all_uniconify(NULL, (GRECT*)(msg+4)); else uniconify_window(window, (GRECT*)(msg+4)); break; case WM_SHADED : case WM_UNSHADED : shade_window(window, msg[0]); break; case AP_TERM: if (all_iconified) all_uniconify(NULL, NULL); quick_close = TRUE; if (prepare_quit()) do_quit(); break; case AP_DRAGDROP : if (all_iconified) Bconout(2, 7); else handle_dd(msg); break; case SC_CHANGED : /* * Ignorieren, da wir vor dem Paste sowieso neu laden. */ break; case VA_START : case VA_PROTOSTATUS : case VA_DRAG_COMPLETE : case VA_DRAGACCWIND : case AV_SENDKEY : handle_av(msg); break; case SE_INIT: case SE_OK: case SE_ACK: case SE_OPEN: case SE_ERROR: case SE_ERRFILE: case SE_PROJECT: case SE_QUIT: case SE_TERMINATE: case SE_CLOSE : case SE_MENU : if (all_iconified) all_uniconify(NULL, NULL); handle_se(msg); break; case OLGA_INIT : case OLE_NEW : case OLGA_ACK : case OLE_EXIT : handle_olga(msg); break; case SH_WDRAW: /* schickt Freedom st�ndig */ case DHST_ACK: /* SMU antwortet */ /* ignore */ break; case FONT_CHANGED : if (msg[4] != 0) font_id = msg[4]; if (msg[5] != 0) font_pts = msg[5]; font_change(); break; default: if (debug_level) { char str[12]; int d, i, id; if ((appl_xgetinfo(4, &d, &d, &i, &d)) && (i == 1)) /* gibts appl_search? */ { i = appl_search(0, str, &d, &id); while (i != 0) { if (id == msg[1]) break; i = appl_search( 1, str, &d, &id); } } else { strcpy(str, ""); id = msg[1]; } debug("Unbekannte Msg %d (0x%X) von %s (%d)\n", msg[0], msg[0], str, id); } break; } }
/* www_process(): * * The program's signal dispatcher function. Is called whenever a signal arrives. */ PROCESS_THREAD(www_process, ev, data) { static struct ctk_widget *w; #if WWW_CONF_WITH_WGET static char *argptr; #endif /* WWW_CONF_WITH_WGET */ w = (struct ctk_widget *)data; PROCESS_BEGIN(); /* Create the main window. */ memset(webpage, 0, sizeof(webpage)); ctk_window_new(&mainwindow, WWW_CONF_WEBPAGE_WIDTH, WWW_CONF_WEBPAGE_HEIGHT+5, "Web browser"); make_window(); #ifdef WWW_CONF_HOMEPAGE strncpy(editurl, WWW_CONF_HOMEPAGE, sizeof(editurl)); #endif /* WWW_CONF_HOMEPAGE */ CTK_WIDGET_FOCUS(&mainwindow, &urlentry); #if WWW_CONF_WITH_WGET || defined(WWW_CONF_WGET_EXEC) #if CTK_CONF_WINDOWS /* Create download dialog.*/ ctk_dialog_new(&wgetdialog, 38, 7); CTK_WIDGET_ADD(&wgetdialog, &wgetlabel1); CTK_WIDGET_ADD(&wgetdialog, &wgetlabel2); CTK_WIDGET_ADD(&wgetdialog, &wgetnobutton); CTK_WIDGET_ADD(&wgetdialog, &wgetyesbutton); #endif /* CTK_CONF_WINDOWS */ #endif /* WWW_CONF_WITH_WGET || WWW_CONF_WGET_EXEC */ ctk_window_open(&mainwindow); while(1) { PROCESS_WAIT_EVENT(); if(ev == tcpip_event) { webclient_appcall(data); } else if(ev == ctk_signal_widget_activate) { if(w == (struct ctk_widget *)&gobutton || w == (struct ctk_widget *)&urlentry) { start_loading(); firsty = 0; #if WWW_CONF_HISTORY_SIZE > 0 log_back(); #endif /* WWW_CONF_HISTORY_SIZE > 0 */ memcpy(url, editurl, WWW_CONF_MAX_URLLEN); petsciiconv_toascii(url, WWW_CONF_MAX_URLLEN); open_url(); CTK_WIDGET_FOCUS(&mainwindow, &gobutton); #if WWW_CONF_HISTORY_SIZE > 0 } else if(w == (struct ctk_widget *)&backbutton) { firsty = 0; start_loading(); --history_last; if(history_last > WWW_CONF_HISTORY_SIZE) { history_last = WWW_CONF_HISTORY_SIZE - 1; } memcpy(url, history[(int)history_last], WWW_CONF_MAX_URLLEN); open_url(); CTK_WIDGET_FOCUS(&mainwindow, &backbutton); #endif /* WWW_CONF_HISTORY_SIZE > 0 */ } else if(w == (struct ctk_widget *)&downbutton) { firsty = pagey + WWW_CONF_WEBPAGE_HEIGHT - 4; start_loading(); open_url(); CTK_WIDGET_FOCUS(&mainwindow, &downbutton); } else if(w == (struct ctk_widget *)&stopbutton) { loading = 0; webclient_close(); #if WWW_CONF_WITH_WGET || defined(WWW_CONF_WGET_EXEC) } else if(w == (struct ctk_widget *)&wgetnobutton) { #if CTK_CONF_WINDOWS ctk_dialog_close(); #else /* CTK_CONF_WINDOWS */ clear_page(); #endif /* CTK_CONF_WINDOWS */ } else if(w == (struct ctk_widget *)&wgetyesbutton) { #if CTK_CONF_WINDOWS ctk_dialog_close(); #else /* CTK_CONF_WINDOWS */ clear_page(); #endif /* CTK_CONF_WINDOWS */ #if WWW_CONF_WITH_WGET quit(); argptr = arg_alloc((char)WWW_CONF_MAX_URLLEN); if(argptr != NULL) { strncpy(argptr, url, WWW_CONF_MAX_URLLEN); } program_handler_load("wget.prg", argptr); #else /* WWW_CONF_WITH_WGET */ petsciiconv_topetscii(url, sizeof(url)); /* Clear screen */ ctk_restore(); WWW_CONF_WGET_EXEC(url); redraw_window(); show_statustext("Cannot exec wget"); #endif /* WWW_CONF_WITH_WGET */ #endif /* WWW_CONF_WITH_WGET || WWW_CONF_WGET_EXEC */ #if WWW_CONF_FORMS } else { /* Assume form widget. */ struct inputattrib *input = (struct inputattrib *) (((char *)w) - offsetof(struct inputattrib, widget)); formsubmit(input->formptr); #endif /* WWW_CONF_FORMS */ } } else if(ev == ctk_signal_hyperlink_activate) { firsty = 0; #if WWW_CONF_HISTORY_SIZE > 0 log_back(); #endif /* WWW_CONF_HISTORY_SIZE > 0 */ set_link(w->widget.hyperlink.url); show_url(); open_url(); start_loading(); CTK_WIDGET_FOCUS(&mainwindow, &stopbutton); } else if(ev == ctk_signal_hyperlink_hover) { if(CTK_WIDGET_TYPE((struct ctk_widget *)data) == CTK_WIDGET_HYPERLINK) { strncpy(statustexturl, w->widget.hyperlink.url, sizeof(statustexturl)); petsciiconv_topetscii(statustexturl, sizeof(statustexturl)); show_statustext(statustexturl); } #if UIP_UDP } else if(ev == resolv_event_found) { /* Either found a hostname, or not. */ if((char *)data != NULL && resolv_lookup((char *)data, NULL) == RESOLV_STATUS_CACHED) { open_url(); } else { show_statustext("Host not found"); } #endif /* UIP_UDP */ } else if(ev == ctk_signal_window_close || ev == PROCESS_EVENT_EXIT) { quit(); } }
/* open_url(): * * Called when the URL present in the global "url" variable should be * opened. It will call the hostname resolver as well as the HTTP * client requester. */ static void open_url(void) { unsigned char i; static char host[32]; char *file; register char *urlptr; static uip_ipaddr_t addr; /* Trim off any spaces in the end of the url. */ urlptr = url + strlen(url) - 1; while(*urlptr == ' ' && urlptr > url) { *urlptr = 0; --urlptr; } /* Don't even try to go further if the URL is empty. */ if(urlptr == url) { return; } /* See if the URL starts with http://, otherwise prepend it. */ if(strncmp(url, http_http, 7) != 0) { while(urlptr >= url) { *(urlptr + 7) = *urlptr; --urlptr; } strncpy(url, http_http, 7); } /* Find host part of the URL. */ urlptr = &url[7]; for(i = 0; i < sizeof(host); ++i) { if(*urlptr == 0 || *urlptr == '/' || *urlptr == ' ' || *urlptr == ':') { host[i] = 0; break; } host[i] = *urlptr; ++urlptr; } /* XXX: Here we should find the port part of the URL, but this isn't currently done because of laziness from the programmer's side :-) */ /* Find file part of the URL. */ while(*urlptr != '/' && *urlptr != 0) { ++urlptr; } if(*urlptr == '/') { file = urlptr; } else { file = "/"; } #if UIP_UDP /* Try to lookup the hostname. If it fails, we initiate a hostname lookup and print out an informative message on the statusbar. */ if(uiplib_ipaddrconv(host, &addr) == 0) { uip_ipaddr_t *addrptr; if(resolv_lookup(host, &addrptr) != RESOLV_STATUS_CACHED) { resolv_query(host); show_statustext("Resolving host..."); return; } uip_ipaddr_copy(&addr, addrptr); } #else /* UIP_UDP */ uiplib_ipaddrconv(host, &addr); #endif /* UIP_UDP */ /* The hostname we present in the hostname table, so we send out the initial GET request. */ if(webclient_get(host, 80, file) == 0) { show_statustext("Out of memory error"); } else { show_statustext("Connecting..."); } redraw_window(); }
void edit_side(int source,int smer) { TSTENA *p; CTL3D b1,b2,b3; char s[200]; p=&mapa.sidedef[source][smer]; memcpy(&b1,def_border(1,0),sizeof(CTL3D)); memcpy(&b2,def_border(5,WINCOLOR),sizeof(CTL3D)); memcpy(&b3,def_border(6,WINCOLOR),sizeof(CTL3D)); default_font=vga_font; memcpy(f_default,flat_color(0x0000),sizeof(charcolors)); sprintf(s,"Vlastnosti stˆn, sektor %d stˆna %d",source,smer); def_window(400,324,s); waktual->x=125; waktual->y=60; waktual->modal=1; define(CANCEL_BUTT,10,5,80,20,2,button,"Zru¨it");property(&b1,NULL,NULL,WINCOLOR); on_change(close_current); define(OK_BUTT,190,5,80,20,2,button,"Ok");property(&b1,NULL,NULL,WINCOLOR); on_change(edit_side_ok); define(3400,100,5,80,20,2,button,"P©edvolba");property(&b1,NULL,NULL,WINCOLOR); on_change(edit_side_predvolba_1);on_exit(edit_side_predvolba_2); define(10,5,20,300,35,0,label,"Prim rn¡: Sekundarn¡: Oblouk:");property(&b3,NULL,NULL,WINCOLOR); define(20,10,35,90,12,0,str_line,side_names);property(&b2,NULL,NULL,WINCOLOR);c_default(p->prim); on_enter(string_list_sup); define(30,110,35,90,12,0,str_line,side_names);property(&b2,NULL,NULL,WINCOLOR);c_default(p->sec); on_enter(string_list_sup); define(40,210,35,90,12,0,str_line,oblouky);property(&b2,NULL,NULL,WINCOLOR);c_default(p->oblouk & 0x0f); on_enter(string_list_sup); define(-1,5,60,250,12,0,label,"Animace primarn¡:"); define(-1,5,75,250,12,0,label,"Animace sekundarn¡:"); define(-1,5,90,250,12,0,label,"X pozice sek. stˆny:"); define(-1,5,105,250,12,0,label,"Y pozice sek. stˆny:"); define(-1,5,120,250,12,0,label,"C¡lov˜ sektor ud losti:"); define(-1,5,135,250,12,0,label,"C¡lov stˆna ud losti:"); define(-1,5,150,250,12,0,label,"Popis akce:"); define(-1,260,60,100,12,0,label,"Aplikuj na stˆnu:"); define(50,200,60,50,10,0,input_line,10,1,16,"%6d");property(&b2,NULL,NULL,WINCOLOR); set_default(strs((p->prim_anim & 0xf)+1));on_exit(test_int); define(60,200,75,50,10,0,input_line,10,1,16,"%6d");property(&b2,NULL,NULL,WINCOLOR); set_default(strs((p->sec_anim & 0xf)+1));on_exit(test_int); define(70,200,90,50,10,0,input_line,10,0,499,"%6d");property(&b2,NULL,NULL,WINCOLOR); set_default(strs(p->xsec<<1));on_exit(test_int); define(80,200,105,50,10,0,input_line,10,0,511,"%6d");property(&b2,NULL,NULL,WINCOLOR); set_default(strs(p->ysec<<1));on_exit(test_int); define(90,200,120,50,10,0,input_line,10,0,65535,"%6d");property(&b2,NULL,NULL,WINCOLOR); set_default(strs(p->sector_tag));on_exit(test_int); define(100,200,135,50,10,0,str_line,steny2);property(&b2,NULL,NULL,WINCOLOR); c_default(p->side_tag & 0x3);on_enter(string_list_sup); define(110,100,150,150,10,0,str_line,actions);property(&b2,NULL,NULL,WINCOLOR); on_enter(string_list_sup); c_default(p->action); define(120,10,175,150,10,0,check_box,side_flgs[0]); define(130,10,187,150,10,0,check_box,side_flgs[1]); define(140,10,199,150,10,0,check_box,side_flgs[2]); define(150,10,211,150,10,0,check_box,side_flgs[3]); define(160,10,223,150,10,0,check_box,side_flgs[4]); define(170,10,235,150,10,0,check_box,side_flgs[5]); define(180,10,247,150,10,0,check_box,side_flgs[6]); define(190,10,259,150,10,0,check_box,side_flgs[7]); define(200,190,175,100,10,0,check_box,side_flgs[8]); define(210,190,187,100,10,0,check_box,side_flgs[9]); define(220,190,199,100,10,0,check_box,side_flgs[10]); define(230,190,211,150,10,0,check_box,side_flgs[11]); define(240,190,223,150,10,0,check_box,side_flgs[12]); define(250,190,235,150,10,0,check_box,side_flgs[13]); define(260,190,247,150,10,0,check_box,side_flgs[14]); define(270,190,259,150,10,0,check_box,side_flgs[15]); define(280,10,271,75,10,0,check_box,side_flgs[16]); define(290,10,283,75,10,0,check_box,side_flgs[17]); define(300,190,271,150,10,0,check_box,side_flgs[18]); define(310,10,295,75,11,0,check_box,side_flgs[19]); define(400,290,80,100,10,0,check_box,"Severn¡"); define(410,290,95,100,10,0,check_box,"V˜chodn¡"); define(420,290,110,100,10,0,check_box,"Ji‘n¡"); define(430,290,125,100,10,0,check_box,"Z padn¡"); define(340,290,150,100,15,0,button2,"V¡ce >>");on_change(action_flags); define(350,290,150,100,15,0,value_store,4);c_default(p->flags & 0xfff00000); define(360,290,150,100,15,0,value_store,4);c_default(source); define(370,290,150,100,15,0,value_store,4);c_default(smer); define(-1,5,20,60,10,1,label,"Lclip:"); define(440,30,35,30,12,1,input_line,3,0,255,"%3d"); property(&b2,NULL,NULL,WINCOLOR); set_default(strs(p->lclip));on_exit(test_int); define(450,10,220,30,30,1,radio_butts,3,"-","\x4","\x6");c_default((p->oblouk>>5) & 0x3); property(NULL,icones,NULL,WINCOLOR); define(460,10,175,80,12,1,button,"V˜klenek");on_change(edit_vyklenek_start); define(470,190,283,150,10,0,check_box,"Lze polo‘it za");c_default(p->oblouk>>7); define(480,10,307,75,10,0,check_box,"P©edsunout s.");c_default(p->side_tag>>7); fill_bit_fields(0,120,p->flags,20); if (source) fill_bit_fields(0,400,1<<smer,4); else fill_bit_fields(0,400,0xf,4); set_enable(0,3400,source!=0); set_enable(0,460,source!=0); redraw_window(); }
int main(int argc, char **argv) { XEvent event; config_init(); parse_cli_options(argc, argv); config_read(); mixer_init(config.mixer_device, config.verbose, (const char **)config.exclude_channel); mixer_set_channel(0); display = XOpenDisplay(config.display_name); if (display == NULL) { const char *name; if (config.display_name) { name = config.display_name; } else { name = getenv("DISPLAY"); if (name == NULL) { fprintf(stderr, "wmix:error: Unable to open display, variable $DISPLAY not set\n"); return EXIT_FAILURE; } } fprintf(stderr, "wmix:error: Unable to open display \"%s\"\n", name); return EXIT_FAILURE; } display_width = (float)DisplayWidth(display, DefaultScreen(display)) / 4.0; display_height = (float)DisplayHeight(display, DefaultScreen(display)) / 2.0; dockapp_init(display); new_window("wmix", 64, 64); new_osd(DisplayWidth(display, DefaultScreen(display)) - 200, 60); if (config.mmkeys) mmkey_install(display); config_release(); blit_string("wmix " VERSION); scroll_text(3, 4, 57, true); ui_update(); /* add click regions */ add_region(1, 37, 36, 25, 25); /* knob */ add_region(2, 4, 42, 27, 15); /* balancer */ add_region(3, 2, 26, 7, 10); /* previous channel */ add_region(4, 10, 26, 7, 10); /* next channel */ add_region(5, 39, 14, 20, 7); /* mute toggle */ add_region(6, 4, 14, 13, 7); /* rec toggle */ add_region(10, 3, 4, 56, 7); /* re-scroll current channel name */ /* setup up/down signal handler */ create_pid_file(); signal(SIGUSR1, (void *) signal_catch); signal(SIGUSR2, (void *) signal_catch); while (true) { if (button_pressed || slider_pressed || (XPending(display) > 0)) { XNextEvent(display, &event); switch (event.type) { case KeyPress: if (key_press_event(&event.xkey)) idle_loop = 0; break; case Expose: redraw_window(); break; case ButtonPress: button_press_event(&event.xbutton); idle_loop = 0; break; case ButtonRelease: button_release_event(&event.xbutton); idle_loop = 0; break; case MotionNotify: /* process cursor change, or drag events */ motion_event(&event.xmotion); idle_loop = 0; break; case LeaveNotify: /* go back to standard cursor */ if ((!button_pressed) && (!slider_pressed)) set_cursor(NORMAL_CURSOR); break; case DestroyNotify: XCloseDisplay(display); return EXIT_SUCCESS; default: break; } } else { usleep(100000); scroll_text(3, 4, 57, false); /* rescroll message after some delay */ if (idle_loop++ > 256) { scroll_text(3, 4, 57, true); idle_loop = 0; } /* get rid of OSD after a few seconds of idle */ if ((idle_loop > 15) && osd_mapped() && !button_pressed) { unmap_osd(); idle_loop = 0; } if (mixer_is_changed()) ui_update(); } } return EXIT_SUCCESS; }
static void edit_draw(void *data) { EDITINFO *einf = (EDITINFO *) data; redraw_window(einf->info); }