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

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

?? rgui.c

?? 十七種模擬器源代碼 非常有用的作課程設計不可缺少的
?? C
?? 第 1 頁 / 共 3 頁
字號:
/******************************************************************************//*                                                                            *//*                              R-GUI: RAINE GUI                              *//*                                                                            *//******************************************************************************/#include "raine.h"#include "rgui.h"#include "rguiproc.h"#ifdef GFX_SVGALIB#include <vga.h> // Thanks allegro !#endif#ifdef GFX_XDGA2#include <xalleg.h> // _xwin struct#endif#ifdef RAINE_DEBUG#include "debug.h"#endif#include "gui.h" // gui_pal#define GFX_CANCEL         3#define GFX_DRIVER_LIST    4#define GFX_MODE_LIST      5#define GFX_SCAN_LIST      7#define GFX_FSKIP_LIST     11#define GFX_VSYNC_LIST     13#define GFX_SPEED_LIST     16#define GFX_EAGLE_LIST     19#define GFX_TRIPLE_LIST    21#define GFX_BPP_LIST       25extern DIALOG gfx_mode_dialog[];typedef struct GFX_MODE_DATA{   int w;   int h;   char *s;} GFX_MODE_DATA;static GFX_MODE_DATA gfx_mode_data_autodetect[] ={#if defined(RAINE_DOS) || defined(RAINE_UNIX)   { 256,   200,  " 256 x 200"  },   { 256,   224,  " 256 x 224"  },   { 256,   240,  " 256 x 240"  },   { 256,   256,  " 256 x 256"  },   { 320,   200,  " 320 x 200"  },   { 320,   240,  " 320 x 240"  },   { 320,   256,  " 320 x 256"  },#ifndef RAINE_UNIX   // This is the only mode I can't make to work !!! Don't know why...   { 320,   350,  " 320 x 350"  },#endif      { 320,   400,  " 320 x 400"  },   { 320,   480,  " 320 x 480"  },   { 320,   600,  " 320 x 600"  },   { 360,   200,  " 360 x 200"  },   { 360,   240,  " 360 x 240"  },   { 360,   270,  " 360 x 270"  },   { 360,   360,  " 360 x 360"  },   { 360,   400,  " 360 x 400"  },   { 360,   480,  " 360 x 480"  },   { 360,   600,  " 360 x 600"  },   { 376,   282,  " 376 x 282"  },   { 376,   308,  " 376 x 308"  },   { 376,   564,  " 376 x 564"  },   { 400,   300,  " 400 x 300"  },   { 400,   600,  " 400 x 600"  },   { 512,   384,  " 512 x 384"  },   { 640,   200,  " 640 x 200"  },   { 640,   240,  " 640 x 240"  },   { 640,   400,  " 640 x 400"  },   { 640,   480,  " 640 x 480"  },   { 800,   200,  " 800 x 200"  },   { 800,   300,  " 800 x 300"  },   { 800,   600,  " 800 x 600"  },   { 1024,  256,  "1024 x 256"  },   { 1024,  384,  "1024 x 384"  },   { 1024,  768,  "1024 x 768"  },   { 1280,  1024, "1280 x 1024" },   { 1600,  1200, "1600 x 1200" },#else   { 320,   200,  " 320 x 200"  },   { 320,   240,  " 320 x 240"  },   { 400,   300,  " 400 x 300"  },   { 512,   384,  " 512 x 384"  },   { 640,   400,  " 640 x 400"  },   { 640,   480,  " 640 x 480"  },   { 800,   600,  " 800 x 600"  },   { 1024,  768,  "1024 x 768"  },   { 1280,  1024, "1280 x 1024" },   { 1600,  1200, "1600 x 1200" },#endif   { 0,     0,    NULL          }};#ifdef GFX_MODEXstatic GFX_MODE_DATA gfx_mode_data_modex[] ={   { 256,   200,  " 256 x 200"  },   { 256,   224,  " 256 x 224"  },   { 256,   240,  " 256 x 240"  },   { 256,   256,  " 256 x 256"  },   { 320,   200,  " 320 x 200"  },   { 320,   240,  " 320 x 240"  },   { 320,   256,  " 320 x 256"  },#ifndef RAINE_UNIX   { 320,   350,  " 320 x 350"  },#endif      { 320,   400,  " 320 x 400"  },   { 320,   480,  " 320 x 480"  },   { 320,   600,  " 320 x 600"  },   { 360,   200,  " 360 x 200"  },   { 360,   240,  " 360 x 240"  },   { 360,   270,  " 360 x 270"  },   { 360,   360,  " 360 x 360"  },   { 360,   400,  " 360 x 400"  },   { 360,   480,  " 360 x 480"  },   { 360,   600,  " 360 x 600"  },   { 376,   282,  " 376 x 282"  },   { 376,   308,  " 376 x 308"  },   { 376,   564,  " 376 x 564"  },   { 400,   300,  " 400 x 300"  },   { 400,   600,  " 400 x 600"  },   { 0,     0,    NULL          }};static GFX_MODE_DATA gfx_mode_data_arcade_monitor[] ={   { 320,   240,  " 320 x 240"  },   { 0,     0,    NULL          }};#endif#ifdef GFX_VGAstatic GFX_MODE_DATA gfx_mode_data_vga[] ={   { 320,   200,  " 320 x 200"  },   { 0,     0,    NULL          }};#endif#ifdef GFX_DRIVER_XTENDEDstatic GFX_MODE_DATA gfx_mode_data_extended[] ={   { 640,   400,  " 640 x 400"  },   { 0,     0,    NULL          }};#endif#ifdef GFX_SVGALIBstatic GFX_MODE_DATA *gfx_mode_data_svga = NULL; // Generated...#endif#ifdef GFX_XDGA2#define MAX_DGAMODES 20static GFX_MODE_DATA gfx_mode_data_dga[MAX_DGAMODES],  gfx_mode_data_xfs[MAX_DGAMODES];#endif#ifdef GFX_FBCON#define MAX_FBMODES 20// 20 should be much enough !!!static GFX_MODE_DATA gfx_mode_data_fb[MAX_FBMODES] ={  { 640,   480,  " 640 x 480"  },  { 800,   600,  " 800 x 600"  },  { 1024,  768,  "1024 x 768"  },  { 0,     0,    NULL          }};#endif#ifdef GFX_DRIVER_VESA1static GFX_MODE_DATA gfx_mode_data_vesa[] ={   { 320,   200,  " 320 x 200"  },   { 320,   240,  " 320 x 240"  },   { 400,   300,  " 400 x 300"  },   { 512,   384,  " 512 x 384"  },   { 640,   400,  " 640 x 400"  },   { 640,   480,  " 640 x 480"  },   { 800,   600,  " 800 x 600"  },   { 1024,  768,  "1024 x 768"  },   { 1280,  1024, "1280 x 1024" },   { 1600,  1200, "1600 x 1200" },   { 320,   400,  " 320 x 400"  },   { 320,   480,  " 320 x 480"  },   { 400,   600,  " 400 x 600"  },   { 640,   200,  " 640 x 200"  },   { 640,   240,  " 640 x 240"  },   { 800,   200,  " 800 x 200"  },   { 800,   300,  " 800 x 300"  },   { 1024,  256,  "1024 x 256"  },   { 1024,  384,  "1024 x 384"  },   { 0,     0,    NULL          }};#endif#if !defined(RAINE_DOS) && !defined(RAINE_UNIX)static GFX_MODE_DATA gfx_mode_data_directx[] ={   { 320,   200,  " 320 x 200"  },   { 320,   240,  " 320 x 240"  },   { 400,   300,  " 400 x 300"  },   { 512,   384,  " 512 x 384"  },   { 640,   400,  " 640 x 400"  },   { 640,   480,  " 640 x 480"  },   { 800,   600,  " 800 x 600"  },   { 1024,  768,  "1024 x 768"  },   { 1280,  1024, "1280 x 1024" },   { 1600,  1200, "1600 x 1200" },   { 0,     0,    NULL          }};#endif// gfx_mode_getter():// Listbox data getter routine for the graphics mode list.GFX_MODE_DATA *res_data;UINT32 res_data_length;static char *gfx_mode_getter(int index, int *list_size){   UINT32 ta;   if(index == -1){      if(list_size){         if(!res_data_length){            ta = 0;            while(res_data[ta].s){               ta++;            }            res_data_length = ta;         }	 *list_size = res_data_length;      }      return NULL;   }   if((index >= 0)&&((UINT32)index < res_data_length))      return raine_translate_text(res_data[index].s);   else      return NULL;}typedef struct GFX_CARD_DATA{   UINT32 id;   UINT8 *name;   GFX_MODE_DATA *res_list;} GFX_CARD_DATA;struct GFX_CARD_DATA gfx_card_data[] ={	{ GFX_AUTODETECT,     "Autodetect",           gfx_mode_data_autodetect },#ifdef GFX_VGA	{ GFX_VGA,            "VGA",                  gfx_mode_data_vga },#endif#ifdef GFX_MODEX	{ GFX_MODEX,          "Mode-X",               gfx_mode_data_modex },	{ GFX_ARCMON,         "Arcade Monitor",       gfx_mode_data_arcade_monitor },#endif#ifdef GFX_DRIVER_VESA1	{ GFX_VESA1,          "VESA 1.2",             gfx_mode_data_vesa },#endif#ifdef GFX_DRIVER_VESA2B	{ GFX_VESA2B,         "VESA 2.0 (banked)",    gfx_mode_data_vesa },#endif#ifdef GFX_DRIVER_VESA2L	{ GFX_VESA2L,         "VESA 2.0 (linear)",    gfx_mode_data_vesa },#endif#ifdef GFX_DRIVER_VESA3	{ GFX_VESA3,          "VESA 3.0",             gfx_mode_data_vesa },#endif#ifdef GFX_DRIVER_VBEAF	{ GFX_VBEAF,          "VBE/AF",               gfx_mode_data_vesa },#endif#ifdef GFX_DRIVER_XTENDED	{ GFX_XTENDED,        "Extended Mode",        gfx_mode_data_extended },#endif#ifdef GFX_DRIVER_DIRECTX	{ GFX_DIRECTX_ACCEL,  "Accelerated", gfx_mode_data_directx },	{ GFX_DIRECTX_SAFE,   "Safe",        gfx_mode_data_directx },	{ GFX_DIRECTX_SOFT,   "Soft",        gfx_mode_data_directx },	{ GFX_DIRECTX_OVL,    "Overlay",     gfx_mode_data_directx },	{ GFX_DIRECTX_WIN,    "Windowed",    gfx_mode_data_directx },#endif#ifdef GFX_SVGALIB	{ GFX_SVGALIB,   "SVGA", NULL	 },#endif};#ifdef RAINE_UNIXstruct GFX_CARD_DATA gfx_card_data_xfree[] ={  { GFX_XWINDOWS, "standard X Windows", gfx_mode_data_autodetect },#ifdef GFX_XWINDOWS_FULLSCREEN  { GFX_XWINDOWS_FULLSCREEN, "X11 Fullscreen", gfx_mode_data_xfs },#endif#ifdef GFX_XDGA2  { GFX_XDGA2, "DGA 2.0 mode", gfx_mode_data_dga },  { GFX_XDGA2_SOFT, "DGA 2.0 software only mode", gfx_mode_data_dga },#endif};#endifint fbcon_enabled = 0;void switch_gfx_res_data(int screen_mode, int x, int y){   int i;#ifdef RAINE_UNIX   if (x_display)     res_data = gfx_card_data_xfree[screen_mode].res_list;   else#endif     res_data = gfx_card_data[screen_mode].res_list;   res_data_length = 0;   gfx_mode_dialog[GFX_MODE_LIST].d1 = 0;   for(i=0; res_data[i].s; i++){      if((res_data[i].w >= x)&&(res_data[i].h >= y)){	 gfx_mode_dialog[GFX_MODE_LIST].d1 = i;	 return;       }   }}/* gfx_card_getter: *  Listbox data getter routine for the graphics card list. */static char *gfx_card_getter(int index, int *list_size){    if(index == -1){    if(list_size){#ifdef RAINE_UNIX      if (x_display)	if (geteuid()>0) // Non root -> only xfree standard	  *list_size = 2; // X11 & X11FS	else	  *list_size = (sizeof(gfx_card_data_xfree) / sizeof(GFX_CARD_DATA));      else#endif      #ifdef GFX_FBCON	if (fbcon_enabled)	  *list_size = 1;	else#endif	*list_size = (sizeof(gfx_card_data) / sizeof(GFX_CARD_DATA));    }      return NULL;   }   if(index == -4){      SEND_MESSAGE(&gfx_mode_dialog[GFX_MODE_LIST], MSG_END, 0);      switch_gfx_res_data(         *list_size,         res_data[gfx_mode_dialog[GFX_MODE_LIST].d1].w,         res_data[gfx_mode_dialog[GFX_MODE_LIST].d1].h      );      SEND_MESSAGE(&gfx_mode_dialog[GFX_MODE_LIST], MSG_START, 0);      SEND_MESSAGE(&gfx_mode_dialog[GFX_MODE_LIST], MSG_DRAW, 0);      return NULL;   }   if(index >= 0)#ifdef RAINE_UNIX     if (x_display)       return raine_translate_text(gfx_card_data_xfree[index].name);     else#endif          return raine_translate_text(gfx_card_data[index].name);   else      return NULL;}int qsort_modes(const void *a, const void *b) {  char *s1 = ((GFX_MODE_DATA*)a)->s;  char *s2 = ((GFX_MODE_DATA*)b)->s;  int diff = strlen(s1)-strlen(s2);  if (diff)    return diff;  return stricmp(s1,s2);}#ifdef GFX_XDGA2void setup_dga_modes() {  // This one is easy (at least it looks easy compared to fbcon !)   XDGAMode *mode;   int num_modes;   int  i, trouve,nb=0,w,h,j;   char name[10];   if (x_display) {     mode = XDGAQueryModes(_xwin.display, _xwin.screen, &num_modes);     for (i=0; i<num_modes; i++) {       w = mode[i].viewportWidth;       h = mode[i].viewportHeight;       // Check if current mode is already in (with a different refresh rate...)       trouve = 0;       for (j=0; j<nb; j++) {	 if (gfx_mode_data_dga[j].w == w && gfx_mode_data_dga[j].h == h) {	   trouve = 1;	   break;	 }       }              if (!trouve && nb < MAX_DGAMODES-1) {	 gfx_mode_data_dga[nb].w = w;	 gfx_mode_data_dga[nb].h = h;	 sprintf(name,"%dx%d",w,h);	 gfx_mode_data_dga[nb++].s = strdup(name);       }     }          gfx_mode_data_dga[nb].w =        gfx_mode_data_dga[nb].h = 0;     gfx_mode_data_dga[nb].s = NULL;     // The array must be sorted for the auto-change res...     qsort(gfx_mode_data_dga,nb,sizeof(GFX_MODE_DATA),qsort_modes);   }}    #endif#ifdef GFX_XWINDOWS_FULLSCREENvoid setup_xfs_modes() {  // A copy of the dga version for x11 full screen   int  i, trouve,nb=0,w,h,j;   char name[10];   XF86VidModeModeInfo *mode;   if (x_display) {     /* Get list of modelines.  */     if (!XF86VidModeGetAllModeLines(_xwin.display, _xwin.screen,				     &_xwin.num_modes, &_xwin.modesinfo)) {       return;     }     for (i=0; i<_xwin.num_modes; i++) {       mode = _xwin.modesinfo[i];       w = mode->hdisplay;       h = mode->vdisplay;              // Check if current mode is already in (with a different refresh rate...)       trouve = 0;       for (j=0; j<nb; j++) {	 if (gfx_mode_data_xfs[j].w == w && gfx_mode_data_xfs[j].h == h) {	   trouve = 1;	   break;	 }       }              if (!trouve && nb < MAX_DGAMODES-1) {	 gfx_mode_data_xfs[nb].w = w;	 gfx_mode_data_xfs[nb].h = h;	 sprintf(name,"%dx%d",w,h);	 gfx_mode_data_xfs[nb++].s = strdup(name);	        }     }          gfx_mode_data_xfs[nb].w =        gfx_mode_data_xfs[nb].h = 0;     gfx_mode_data_xfs[nb].s = NULL;     // The array must be sorted for the auto-change res...     qsort(gfx_mode_data_xfs,nb,sizeof(GFX_MODE_DATA),qsort_modes);   }}    #endif#ifdef GFX_SVGALIBvoid setup_svga_modes() {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人一区二区三区在线观看| 欧美在线观看18| 日本麻豆一区二区三区视频| 亚洲免费av高清| 亚洲免费观看高清| 亚洲黄色小说网站| 亚洲蜜臀av乱码久久精品| 亚洲精品国久久99热| 亚洲素人一区二区| 亚洲国产美女搞黄色| 午夜欧美在线一二页| 日韩高清不卡一区二区三区| 日韩高清不卡一区| 美女网站视频久久| 国产99久久精品| 色婷婷精品大在线视频| 欧美三级乱人伦电影| 日韩欧美一级在线播放| 国产欧美日韩亚州综合| 亚洲青青青在线视频| 亚洲精品国产第一综合99久久| 亚洲精品国久久99热| 天天综合色天天综合| 韩国女主播一区二区三区| 成人avav影音| 91精品国产91久久综合桃花| 久久夜色精品国产欧美乱极品| 中文字幕巨乱亚洲| 亚洲午夜私人影院| 韩国女主播一区二区三区| 91欧美激情一区二区三区成人| 欧美日韩一区二区三区四区 | 亚洲人一二三区| 亚洲国产婷婷综合在线精品| 蜜臀av一区二区在线免费观看 | 91首页免费视频| 日韩一区和二区| 中文字幕综合网| 蜜桃一区二区三区四区| 91色在线porny| 久久亚洲精品国产精品紫薇| 亚洲精品国产a久久久久久| 久久精品国产成人一区二区三区| www.成人网.com| 日韩欧美国产午夜精品| 亚洲欧美日韩小说| 国产高清一区日本| 日韩视频不卡中文| 亚洲综合在线观看视频| 国产成人鲁色资源国产91色综 | 欧美日韩免费观看一区二区三区 | 91在线观看免费视频| 日韩欧美国产一区二区三区| 玉米视频成人免费看| 国产精品1区二区.| 欧美刺激午夜性久久久久久久| 亚洲一区在线看| 91在线小视频| 国产精品美女久久久久久久久久久 | 91丨国产丨九色丨pron| 精品久久免费看| 日本vs亚洲vs韩国一区三区| 日本韩国一区二区三区| 国产精品乱人伦一区二区| 韩国理伦片一区二区三区在线播放| 欧美日韩免费电影| 亚洲一区二区av在线| 色婷婷精品大视频在线蜜桃视频| 欧美经典一区二区三区| 国产一区二区福利视频| 日韩女优电影在线观看| 日韩一区精品字幕| 欧美日韩另类国产亚洲欧美一级| 一区二区三区不卡视频在线观看| 99视频精品全部免费在线| 中文字幕av免费专区久久| 国产成人福利片| 中文字幕 久热精品 视频在线| 国产经典欧美精品| 国产精品视频一二三| av欧美精品.com| 一区二区三区在线播放| 在线免费观看日韩欧美| 午夜精品视频在线观看| 3atv一区二区三区| 久久国产福利国产秒拍| 久久久久久久综合| 99久久精品国产毛片| 一区二区久久久| 91国模大尺度私拍在线视频| 亚洲成在人线免费| 日韩一区二区视频在线观看| 狠狠色丁香久久婷婷综合_中| 国产欧美日韩激情| 91免费国产视频网站| 日产欧产美韩系列久久99| 久久综合九色综合97婷婷女人| 国产露脸91国语对白| 亚洲免费av在线| 91精品国产综合久久精品app| 另类人妖一区二区av| 国产精品久线在线观看| 欧美日韩激情在线| 国产精品亚洲人在线观看| 亚洲免费视频成人| 精品国产污网站| 91在线精品一区二区三区| 日日夜夜精品视频天天综合网| 精品91自产拍在线观看一区| 成人精品小蝌蚪| 日本亚洲视频在线| 1024成人网| 日韩欧美国产午夜精品| 91女厕偷拍女厕偷拍高清| 免费高清视频精品| 综合网在线视频| 日韩三级.com| 99re在线视频这里只有精品| 蜜桃视频在线观看一区| 亚洲女与黑人做爰| 久久久亚洲精华液精华液精华液 | 午夜视频在线观看一区| 欧美大片在线观看一区二区| 91在线精品一区二区三区| 久久成人免费日本黄色| 亚洲国产成人av网| 国产精品美女视频| 26uuu色噜噜精品一区二区| 欧美性极品少妇| 99久久er热在这里只有精品66| 久久99久久精品| 亚洲地区一二三色| 悠悠色在线精品| 国产精品毛片无遮挡高清| 欧美大片在线观看一区| 欧美日韩视频不卡| 91免费国产在线| av中文字幕一区| 粉嫩aⅴ一区二区三区四区五区| 蜜桃av一区二区三区| 亚洲bt欧美bt精品| 一区二区三区欧美| 亚洲色图一区二区三区| 国产精品久久午夜夜伦鲁鲁| www激情久久| 久久免费的精品国产v∧| 欧美成人a在线| 久久亚洲一区二区三区四区| 久久综合久色欧美综合狠狠| 日韩欧美另类在线| 26uuu亚洲综合色| 国产亚洲综合在线| 国产三级一区二区三区| 欧美激情自拍偷拍| 亚洲欧美中日韩| 亚洲黄网站在线观看| 亚洲综合无码一区二区| 一级特黄大欧美久久久| 亚洲综合成人在线| 午夜精品成人在线| 美女网站色91| 国产精品一区二区无线| 国产美女av一区二区三区| 国产91丝袜在线18| 91免费在线播放| 91精品国产一区二区三区| 欧美va在线播放| 国产欧美一区二区精品性色| 中文幕一区二区三区久久蜜桃| 亚洲欧美色一区| 日韩电影免费在线看| 国产一区二区三区| 高清不卡一二三区| 欧美中文字幕一区二区三区| 欧美一区二区三区视频免费| 久久青草国产手机看片福利盒子 | 美女网站一区二区| 成人小视频在线| 欧美日韩精品综合在线| 精品美女一区二区| 国产精品久久久久桃色tv| 亚洲精品ww久久久久久p站 | 国产精品一区二区三区乱码| av一区二区三区在线| 欧美亚洲综合网| 日韩免费观看高清完整版在线观看| 亚洲精品一线二线三线| 亚洲欧美日韩久久| 捆绑调教一区二区三区| 91同城在线观看| 日韩欧美在线一区二区三区| 国产精品国产三级国产三级人妇 | 老司机精品视频在线| 99国产精品99久久久久久| 91精品国产福利| 亚洲欧美偷拍卡通变态| 国产综合色视频| 欧美精选在线播放| 中文字幕色av一区二区三区| 另类欧美日韩国产在线|