亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rguiproc.c

?? 十七種模擬器源代碼 非常有用的作課程設計不可缺少的
?? C
?? 第 1 頁 / 共 3 頁
字號:
}// d_raine_button_proc():// A button object (the dp field points to the text string). This object// can be selected by clicking on it with the mouse or by pressing its // keyboard shortcut. If the D_EXIT flag is set, selecting it will close // the dialog, otherwise it will toggle on and off.//// Only MSG_DRAW is changed, all others fall back on the original d_button_procint d_raine_button_proc(int msg, DIALOG *d, int c){   int state1, state2;   int swap;   int g;   switch (msg) {      case MSG_DRAW:      if(d->flags & D_SELECTED){      solid_3d_box_invert(d->x, d->y, d->x + d->w, d->y + d->h);      //line(screen, d->x+1, d->y+1, d->x+1,      d->y+d->h-1, CGUI_BOX_COL_LOW_1);      //line(screen, d->x+1, d->y+1, d->x+d->w-1, d->y+1,      CGUI_BOX_COL_LOW_1);      g = 1;      state1 = (d->flags & D_DISABLED) ? gui_mg_color : translate_color(d->fg);      state2 = translate_color(d->bg);      }      else{      solid_3d_box(d->x, d->y, d->x + d->w, d->y + d->h);      //line(screen, d->x+1,      d->y+d->h-1, d->x+d->w-1, d->y+d->h-1, CGUI_BOX_COL_LOW_1);      //line(screen, d->x+d->w-1, d->y+1,      d->x+d->w-1, d->y+d->h-1, CGUI_BOX_COL_LOW_1);      g = 0;       state1 = (d->flags & D_DISABLED) ? gui_mg_color : translate_color(d->fg);      state2 = translate_color(d->bg);      }      text_mode(-1);      gui_textout(screen, raine_translate_text(d->dp), d->x+d->w/2+g, d->y+d->h/2-text_height(font)/2+g, state1, TRUE);      if((d->flags & D_GOTFOCUS) && (!(d->flags & D_SELECTED) || !(d->flags & D_EXIT))){	    dotted_rect(d->x+1+g, d->y+1+g, d->x+d->w-2+g, d->y+d->h-2+g);      }	 break;      case MSG_WANTFOCUS:	 return D_WANTFOCUS;      case MSG_KEY:	 /* close dialog? */	 if (d->flags & D_EXIT) {	    return D_CLOSE;	 }	 /* or just toggle */	 d->flags ^= D_SELECTED;	 scare_mouse();	 SEND_MESSAGE(d, MSG_DRAW, 0);	 unscare_mouse();	 break;      case MSG_CLICK:	 /* what state was the button originally in? */	 state1 = d->flags & D_SELECTED;	 if (d->flags & D_EXIT)	    swap = FALSE;	 else	    swap = state1;	 /* track the mouse until it is released */	 while (gui_mouse_b()) {	    state2 = ((rgui_mouse_x() >= d->x) && (rgui_mouse_y() >= d->y) &&		      (rgui_mouse_x() < d->x + d->w) && (rgui_mouse_y() < d->y + d->h));	    if (swap)	       state2 = !state2;	    /* redraw? */	    if (((state1) && (!state2)) || ((state2) && (!state1))) {	       d->flags ^= D_SELECTED;	       state1 = d->flags & D_SELECTED;	       scare_mouse();	       SEND_MESSAGE(d, MSG_DRAW, 0);	       unscare_mouse();	    }	    /* let other objects continue to animate */	    broadcast_dialog_message(MSG_IDLE, 0);	 }	 /* should we close the dialog? */	 if ((d->flags & D_SELECTED) && (d->flags & D_EXIT)) {	    d->flags ^= D_SELECTED;	    return D_CLOSE;	 }	 break;    }   return D_O_K;}int x_raine_button_proc(int msg, DIALOG *d, int c){   return d_raine_button_proc(msg,d,c);}/* x_edit_proc */int x_edit_proc(int msg, DIALOG *d, int c){   int f, l, p, w, x, fg, b, scroll;   char buf[16];   char *s;   int rtm;   if (msg == MSG_DRAW) {     s = d->dp;     l = ustrlen(s);     if (d->d2 > l)        d->d2 = l;     /* calculate maximal number of displayable characters */     if (d->d2 == l)  {       usetc(buf+usetc(buf, ' '), 0);       x = text_length(font, buf);     }     else       x = 0;     b = 0;     for (p=d->d2; p>=0; p--) {       usetc(buf+usetc(buf, ugetat(s, p)), 0);       x += text_length(font, buf);       b++;       if (x > d->w) 	 break;     }     if (x <= d->w) {       b = l;        scroll = FALSE;     }     else {       b--;        scroll = TRUE;     }          // Real drawing     fg = (d->flags & D_DISABLED) ? gui_mg_color : translate_color(d->fg);     x = 0;     if (scroll) {       p = d->d2-b+1;        b = d->d2;      }     else        p = 0;           for (; p<=b; p++) {       f = ugetat(s, p);       usetc(buf+usetc(buf, (f) ? f : ' '), 0);       w = text_length(font, buf);       if (x+w > d->w) 	 break;       f = ((p == d->d2) && (d->flags & D_GOTFOCUS));       rtm = text_mode((f) ? fg : translate_color(d->bg));       textout(screen, font, buf, d->x+x, d->y, (f) ? translate_color(d->bg) : fg);       text_mode(rtm);       x += w;     }     if (x < d->w)       rectfill(screen, d->x+x, d->y, d->x+d->w-1, d->y+text_height(font)-1, translate_color(d->bg));   } else { // MSG_DRAW     return d_edit_proc(msg,d,c);   }      return D_O_K;}// d_raine_radio_proc():// GUI procedure for radio buttons.// Parameters: d1-button group number; d2-button style (0=circle,1=square);// dp-text to appear as label to the right of the button.//// Only MSG_DRAW is changed, all others fall back on the original d_radio_procint d_raine_radio_proc(int msg, DIALOG *d, int c){   int x, center, r, fg;   if(msg==MSG_DRAW){	 fg = (d->flags & D_DISABLED) ? CGUI_BOX_COL_MIDDLE : translate_color(d->fg);	 text_mode(CGUI_BOX_COL_MIDDLE);	 gui_textout(screen, d->dp, d->x+d->h+text_height(font), d->y+(d->h-(text_height(font)-gui_font_baseline))/2, fg, FALSE);	 x = d->x;	 r = d->h/2;	 center = x+r;	 rectfill(screen, x+1, d->y+1, x+d->h-1, d->y+d->h-1, CGUI_BOX_COL_MIDDLE);	 switch (d->d2) {	    case 1:	       trans_3d_box(x, d->y, x+d->h, d->y+d->h);	       if (d->flags & D_SELECTED)		  rectfill(screen, x+r/2, d->y+r/2, x+d->h-r/2, d->y+d->h-r/2, CGUI_BOX_COL_HIGH_2);	       break;	    default:	       circle(screen, center, d->y+r, r, fg);	       if (d->flags & D_SELECTED)		  circlefill(screen, center, d->y+r, r/2, CGUI_BOX_COL_HIGH_2);	       break;	 }	 if(d->flags & D_GOTFOCUS){	    dotted_rect(x+1, d->y+1, x+d->h-1, d->y+d->h-1);         }      return D_O_K;   }   else{      return d_radio_proc(msg,d,c);   }}int x_raine_radio_proc(int msg, DIALOG *d, int c){   int x, center, r, fg;   if(msg==MSG_DRAW){	 fg = (d->flags & D_DISABLED) ? CGUI_BOX_COL_MIDDLE : translate_color(d->fg);	 text_mode(CGUI_BOX_COL_MIDDLE);	 gui_textout(screen, raine_translate_text(d->dp), d->x+d->h+text_height(font), d->y+(d->h-(text_height(font)-gui_font_baseline))/2, fg, FALSE);	 x = d->x;	 r = d->h/2;	 center = x+r;	 rectfill(screen, x+1, d->y+1, x+d->h-1, d->y+d->h-1, CGUI_BOX_COL_MIDDLE);	 switch (d->d2) {	    case 1:	       trans_3d_box(x, d->y, x+d->h, d->y+d->h);	       if (d->flags & D_SELECTED)		  rectfill(screen, x+r/2, d->y+r/2, x+d->h-r/2, d->y+d->h-r/2, CGUI_BOX_COL_HIGH_2);	       break;	    default:	       circle(screen, center, d->y+r, r, fg);	       if (d->flags & D_SELECTED)		  circlefill(screen, center, d->y+r, r/2, CGUI_BOX_COL_HIGH_2);	       break;	 }	 if(d->flags & D_GOTFOCUS){	    dotted_rect(x+1, d->y+1, x+d->h-1, d->y+d->h-1);         }      return D_O_K;   }   else{      return d_radio_proc(msg,d,c);   }}/* _draw_raine_scrollable_frame: *  Helper function to draw a frame for all objects with vertical scrollbars. */void _draw_raine_scrollable_frame(DIALOG *d, int listsize, int offset, int height, int fg_color){   int i, len;   int xx, yy;   // possibly draw scrollbar   if (listsize > height) {      trans_3d_box(d->x, d->y, d->x+d->w-(8+5), d->y+d->h);      trans_3d_box(d->x+d->w-(8+4), d->y, d->x+d->w, d->y+d->h);      // scrollbar with focus      if (d->flags & D_GOTFOCUS) {	 dotted_rect(d->x+1, d->y+1, d->x+d->w-(8+6), d->y+d->h-1);	 dotted_rect(d->x+d->w-(8+3), d->y+1, d->x+d->w-1, d->y+d->h-1);      }      else {	 rect(screen, d->x+1, d->y+1, d->x+d->w-(8+6), d->y+d->h-1, CGUI_BOX_COL_MIDDLE);	 rect(screen, d->x+d->w-(8+3), d->y+1, d->x+d->w-1, d->y+d->h-1, CGUI_BOX_COL_MIDDLE);      }      // create and draw the scrollbar      i = ((d->h-4) * height + listsize/2) / listsize;      xx = d->x+d->w-(8+2);      yy = d->y+2;      if (offset > 0) {	 len = (((d->h-4) * offset) + listsize/2) / listsize;	 rectfill(screen, xx, yy, xx+8, yy+len-1, CGUI_BOX_COL_MIDDLE);	 yy += len;      }      if (yy+i+1 < d->y+d->h-2) {         solid_3d_box(xx, yy, xx+8+1, yy+i+1);	 yy += i+1;	 rectfill(screen, xx, yy, xx+8, d->y+d->h-2, CGUI_BOX_COL_MIDDLE);      }      else {         solid_3d_box(xx, yy, xx+8+1, d->y+d->h-1);      }   }   else {      trans_3d_box(d->x, d->y, d->x+d->w, d->y+d->h);      // no scrollbar necessary      if (d->flags & D_GOTFOCUS)	 dotted_rect(d->x+1, d->y+1, d->x+d->w-1, d->y+d->h-1);      else	 rect(screen, d->x+1, d->y+1, d->x+d->w-1, d->y+d->h-1, CGUI_BOX_COL_MIDDLE);   }}/* _draw_raine_listbox: *  Helper function to draw a listbox object. */void _draw_raine_listbox(DIALOG *d){   int height, listsize, i, len, bar, x, y, w;   int fg_color, fg, bg;   char *sel = d->dp2;   char s[1024];   (*(getfuncptr)d->dp)(-1, &listsize);   height = (d->h-3) / text_height(gui_fixed_font);   bar = (listsize > height);   w = (bar ? d->w-14 : d->w-2);   fg_color = (d->flags & D_DISABLED) ? gui_mg_color : CGUI_BOX_COL_HIGH_2;   /* draw box contents */   for (i=0; i<height; i++) {      if (d->d2+i < listsize) {	 if (d->d2+i == d->d1) {	    fg = CGUI_COL_TEXT_1;	    bg = CGUI_BOX_COL_HIGH_2;	 } 	 else if ((sel) && (sel[d->d2+i])) { 	    fg = CGUI_COL_TEXT_1;	    bg = CGUI_BOX_COL_MIDDLE;	 }	 else {	    fg = CGUI_COL_TEXT_1;	    bg = CGUI_BOX_COL_MIDDLE;	 }	 usetc(s, 0);	 ustrncat(s, (*(getfuncptr)d->dp)(i+d->d2, NULL), sizeof(s)-ucwidth(0));	 x = d->x + 2;	 y = d->y + 2 + i*text_height(gui_fixed_font);	 text_mode(bg);	 rectfill(screen, x, y, x+7, y+text_height(gui_fixed_font)-1, bg); 	 x += 8;	 len = ustrlen(s);	 while (text_length(gui_fixed_font, s) >= MAX(d->w - (bar ? 22 : 10), 1)) {	    len--;	    usetat(s, len, 0);	 }	 textout(screen, gui_fixed_font, s, x, y, CGUI_COL_TEXT_1); 	 x += text_length(gui_fixed_font, s);	 if (x <= d->x+w) 	    rectfill(screen, x, y, d->x+w, y+text_height(gui_fixed_font)-1, bg);      }      else {	 rectfill(screen, d->x+2,  d->y+2+i*text_height(gui_fixed_font), 		  d->x+w, d->y+1+(i+1)*text_height(gui_fixed_font), CGUI_BOX_COL_MIDDLE);      }   }   if (d->y+2+i*text_height(gui_fixed_font) <= d->y+d->h-2)      rectfill(screen, d->x+2, d->y+2+i*text_height(gui_fixed_font), 				       d->x+w, d->y+d->h-2, CGUI_BOX_COL_MIDDLE);   /* draw frame, maybe with scrollbar */   _draw_raine_scrollable_frame(d, listsize, d->d2, height, fg_color);}// d_raine_list_proc():// A list box object. The dp field points to a function which it will call// to obtain information about the list. This should follow the form://    char *<list_func_name> (int index, int *list_size);// If index is zero or positive, the function should return a pointer to// the string which is to be displayed at position index in the list. If// index is  negative, it should return null and list_size should be set// to the number of items in the list. The list box object will allow the

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区思思人| 亚洲一区二区中文在线| 亚洲一区视频在线| 国产真实精品久久二三区| 色综合久久66| 国产亚洲成av人在线观看导航| 亚洲成人黄色影院| eeuss鲁片一区二区三区| 久久夜色精品一区| 日韩在线观看一区二区| 欧美日韩一区不卡| 亚洲美女精品一区| 成人爱爱电影网址| 久久嫩草精品久久久久| 久久精品国产99国产精品| 欧美系列亚洲系列| 亚洲一区二区黄色| 欧美中文字幕一区| 亚洲高清三级视频| 在线观看国产日韩| 一区二区三区日韩欧美| 97久久精品人人澡人人爽| 国产精品久久久久永久免费观看| 国产一区二区三区观看| 久久久www成人免费无遮挡大片| 欧美aⅴ一区二区三区视频| 欧美一级生活片| 男女视频一区二区| 日韩女同互慰一区二区| 韩国女主播一区| 久久久另类综合| 成人激情电影免费在线观看| 国产精品久久久久久久久久久免费看 | 亚洲一区在线观看视频| 欧洲人成人精品| 亚洲国产毛片aaaaa无费看| 在线观看视频一区二区欧美日韩| 国产精品国产三级国产三级人妇| 成人免费观看男女羞羞视频| 国产精品素人一区二区| 色综合久久久久综合体| 午夜欧美视频在线观看| 欧美精品九九99久久| 免费日本视频一区| 久久久久久久综合| 成人小视频在线观看| 亚洲男人的天堂在线aⅴ视频| 欧美丝袜自拍制服另类| 久久精品国产免费| 国产精品视频第一区| 色偷偷久久一区二区三区| 午夜视黄欧洲亚洲| 国产清纯美女被跳蛋高潮一区二区久久w | 91啪亚洲精品| 午夜精品在线视频一区| 欧美不卡视频一区| 97久久人人超碰| 免费亚洲电影在线| 亚洲图片激情小说| 9191国产精品| zzijzzij亚洲日本少妇熟睡| 一区二区三区四区不卡在线 | 欧美高清视频一二三区| 精品一二三四区| 中文字幕中文字幕在线一区| 欧美福利视频一区| 成人激情图片网| 麻豆国产精品777777在线| 国产精品乱码一区二区三区软件| 欧美日韩黄色影视| 东方欧美亚洲色图在线| 天天综合天天综合色| 国产欧美一区二区三区网站| 欧美日韩黄色影视| 91视频在线看| 国产成人在线色| 六月丁香婷婷色狠狠久久| 亚洲欧美在线另类| 久久久久久免费| 这里只有精品电影| 色婷婷精品久久二区二区蜜臂av | 国产自产高清不卡| 亚洲国产毛片aaaaa无费看| 国产欧美日韩激情| 欧美成人福利视频| 欧美色男人天堂| 99久久婷婷国产精品综合| 九色porny丨国产精品| 亚洲一区二区在线免费看| 中文字幕在线一区二区三区| 精品国产91久久久久久久妲己 | 亚洲欧美欧美一区二区三区| 精品欧美一区二区三区精品久久| 欧美日韩一区二区三区视频| 成人爱爱电影网址| 懂色av一区二区三区免费观看| 麻豆91免费观看| 美女网站在线免费欧美精品| 亚洲国产wwwccc36天堂| 亚洲人一二三区| 国产精品国模大尺度视频| 国产日产欧美一区二区视频| 欧美精品一区二区三区蜜桃| 欧美成人乱码一区二区三区| 日韩欧美高清dvd碟片| 欧美人与z0zoxxxx视频| 欧美日韩国产成人在线免费| 在线观看欧美黄色| 欧美色偷偷大香| 欧美美女直播网站| 91精品福利在线一区二区三区 | 久久久久久久一区| 久久免费视频色| 久久久久久日产精品| 久久久天堂av| 国产精品乱人伦| 日韩毛片高清在线播放| 亚洲欧美日韩中文字幕一区二区三区 | 欧美国产一区在线| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 久久影院视频免费| 99精品久久只有精品| 色哟哟精品一区| 色哟哟一区二区| 91精品婷婷国产综合久久竹菊| 欧美疯狂性受xxxxx喷水图片| 日韩一区二区三区电影在线观看 | 色丁香久综合在线久综合在线观看| 成人app在线观看| 欧美中文字幕一区| 欧美一区二区三区在线观看视频| 日韩一区二区三区免费看 | 一区二区三区四区亚洲| 日韩精品一级中文字幕精品视频免费观看 | 菠萝蜜视频在线观看一区| 色综合久久99| 欧美一区二区三区在线电影| 久久久亚洲国产美女国产盗摄| 国产精品毛片无遮挡高清| 亚洲一区二区三区视频在线播放| 麻豆一区二区三| 成人综合在线视频| 欧美精品xxxxbbbb| 国产欧美一区在线| 偷拍亚洲欧洲综合| 国产精品18久久久久| 91黄色免费网站| 精品国产精品网麻豆系列| 亚洲乱码国产乱码精品精的特点 | 极品少妇xxxx精品少妇偷拍| zzijzzij亚洲日本少妇熟睡| 91麻豆精品国产| 国产精品午夜免费| 美女视频黄a大片欧美| 91一区二区在线| 精品国产sm最大网站| 亚洲国产三级在线| 福利一区福利二区| 51精品国自产在线| 亚洲另类中文字| 国产成人午夜99999| 欧美一区午夜精品| 亚洲精品免费在线观看| 国内精品久久久久影院薰衣草| 欧美午夜影院一区| 国产精品久久久久7777按摩| 久久99久久久久久久久久久| 日本久久精品电影| 亚洲国产成人一区二区三区| 久久爱另类一区二区小说| 欧美在线播放高清精品| 久久久精品综合| 久久成人精品无人区| 欧美私模裸体表演在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 青青草97国产精品免费观看无弹窗版| 91美女福利视频| 国产精品福利一区二区| 国产一区 二区| 日韩精品一区二区三区在线播放 | 亚洲蜜桃精久久久久久久| 国产91高潮流白浆在线麻豆| 久久精品视频免费观看| 精品影视av免费| 精品国产一区二区三区忘忧草| 三级欧美韩日大片在线看| 欧美午夜在线一二页| 亚洲黄网站在线观看| 91在线视频官网| 日韩美女久久久| 91网站最新地址| 亚洲狼人国产精品| 欧美午夜在线一二页| 视频在线观看一区二区三区| 欧美日韩一区二区三区视频| 亚洲韩国精品一区| 欧美老人xxxx18| 日本欧美韩国一区三区| 精品久久久久一区| 国产伦精一区二区三区|