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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? display.c

?? 樹大根深三棱盡所標(biāo)桿ssfsfsa fdsafs
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*****************************************************************************			       XCopilotThis code is part of XCopilot, a port of copilot     Portions of this code are Copyright (C) 1997 Ivan A. Curtis		       icurtis@radlogic.com.auThe original MS-Windows95 copilot emulator was written by Greg Hewgill.The following copyright notice appeared on the original copilot sources:		  Copyright (c) 1996 Greg HewgillSome of the code in this file was derived from code in whichthe following copyright notice appeared:		     XWindow Support for QuickCam		   by Paul Chinn <loomer@svpal.org>	      Modified by Scott Laird <scott@laird.com> 	 I took a bunch of this code from the source for VGB	  "Virtual GameBoy" emulator by Marat Fayzullin and			    Elan Feingold MC68000 Emulation code is from Bernd Schmidt's Unix Amiga Emulator.       The following copyright notice appeared in those files:	  Original UAE code Copyright (c) 1995 Bernd SchmidtThis code must not be distributed without these copyright notices intact.**************************************************************************************************************************************************************Filename:	display.cDescription:	Display module for xcopilot emulatorUpdate History:   (most recent first)   Gene McCulley   7-May-98 19:13 -- reworked main loop, added calibration   Gene McCulley   6-May-98 15:25 -- Changed pixel doubling to MagFactor                                     Dirty rectangle drawing                                     Bug fix for 2-bit, doubled, 16 bpp mode   Ian Goldberg    4-Sep-97 13:29 -- bug fixes for screen updates   Eric Howe       3-Sep-97 15:09 -- trap window closure from window manager   C. Chan-Nui    18-Jul-97 10:23 -- lazy screen updates   Brian Grossman 15-Jul-97 21:40 -- fixed pixeldoubling colors   Brandon Long   15-Jul-97 15:27 -- fixed byte-order display problems   Chris Bare     10-Jul-97 11:18 -- shaped screen, better bg colour   Brian Grossman 30-Jun-97 24:00 -- added pixeldoubling   Ian Goldberg   20-Jun-97 14:09 -- added support for greyscale and panning   Ian Goldberg   10-Apr-97 16:53 -- changed beeps into true amp/freq/dur sound   I. Curtis       9-Apr-97 11:43 -- 16bpp and keboard events courtesy of   	Andrew Pfiffer <andyp@co.intel.com>    I. Curtis       5-Mar-97 20:33 -- added key event processing code   I. Curtis      25-Feb-97 20:17 -- major tidy up   I. Curtis      23-Feb-97 21:17 -- Created.******************************************************************************/#include <config.h>#include <bittypes.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <signal.h>#include <unistd.h>#include <sys/time.h>#include <sys/ipc.h>#include <sys/shm.h>#include "display.h"#include <X11/Xlib.h>#include <X11/Xutil.h>#include <X11/keysym.h>#include <X11/xpm.h>#include <X11/StringDefs.h>#include <X11/IntrinsicP.h>#include <X11/Shell.h>#ifdef USE_XSHM#include <X11/extensions/XShm.h> /* MIT Shared Memory Extensions */#endif#include <X11/extensions/shape.h>#include "cmap_mgr.h"#include "sysdeps.h"#include "shared.h"#include "dragonball.h"#include "case.xpm"#include "libmx.h"/***************************************************************************** *                                                                           * * 			   Global Variables                                  * *                                                                           * *****************************************************************************/#ifdef USE_XSHMXShmSegmentInfo xcpSHMInfo;	/* info about shm pixmap (if using shm) */#endifstatic int xcpUsingShm = 0;		/* set True if we are using MIT shm ext. */static int xcpStarted = 0;		/* set True once XCPilot is started */static int xcpQuit = 0;		/* set True if XCopilot must quit */static Display *xcpDisplay;		/* X Display connection */static Screen *xcpScreen;		/* X screen */static int xcpScreenNum;		/* screen number */static Window xcpLCDWindow;		/* window for Copilot LCD image */static Window xcpCaseWindow;		/* window for case */static XImage *xcpLCDImage;		/* XImage of LCD screen */static GC xcpLCDgc;			/* GC for rendering LCD XImage */static XColor xcpGreys[14];		/* Greyscales for LCD */static int xcpDepth;			/* Pixel depth of XImage */static int MagFactor = 1;       /* pixel magnification factor */static int (*oldErrorfunc)();static int hitError;static Atom xcpDeleteWindow;static shared_img *shared;static char *new_sbuf;static int screen_size = 0;static int buffer_size;extern int dbg_loadapp(FILE *out, FILE *in, char *cmd, char *line,		       shared_img *shptr);#define xcpOffPixel (xcpGreys[0].pixel)#define xcpOnPixel (xcpGreys[6].pixel)/************************************* * Menu Items                        * *                                   * * These structures hold the entries * * for menus                         * *************************************/mx_menu_item main_items[] = {  {MXItemFlag_Center, "XCopilot", 0},  {MXItemFlag_Left, "Load database...", 0},  {MXItemFlag_Left, "Load file...", 0},  {MXItemFlag_Left, "About...", 0},  {MXItemFlag_Left | MXItemFlag_Disabled, " ", 0},  {MXItemFlag_Left, "Quit", 0},};mx_menu_item about_items[] = {  {MXItemFlag_Center, NULL, 0},  {MXItemFlag_Left | MXItemFlag_Disabled, " ", 0},  {MXItemFlag_Center, "Unix/X Port by Ivan A. Curtis", 0},  {MXItemFlag_Left | MXItemFlag_Disabled, " ", 0},  {MXItemFlag_Center, "bugs fixed and features added by:", 0},  {MXItemFlag_Center, "Ian Goldberg", 0},  {MXItemFlag_Center, "Brian Grossman", 0},  {MXItemFlag_Center, "Chris Bare", 0},  {MXItemFlag_Center, "Brandon Long", 0},  {MXItemFlag_Center, "C. Chan-Nui", 0},  {MXItemFlag_Center, "Eric Howe", 0},  {MXItemFlag_Center, "Gene McCulley", 0},  {MXItemFlag_Center, "Jon Abbott", 0},  {MXItemFlag_Center, "Bill Janssen", 0},  {MXItemFlag_Center, "Felix Croes", 0},  {MXItemFlag_Center, "Max Okumoto", 0},  {MXItemFlag_Center, "Anders Hammarquist", 0},  {MXItemFlag_Left | MXItemFlag_Disabled, " ", 0},  {MXItemFlag_Center, "Copilot by Greg Hewgill", 0},  {MXItemFlag_Left | MXItemFlag_Disabled, " ", 0},};mx_menu_item appok_items[] = {  {MXItemFlag_Center, "XCopilot", 0},  {MXItemFlag_Left | MXItemFlag_Disabled, " ", 0},  {MXItemFlag_Center, "  App Loaded  ", 0},  {MXItemFlag_Left | MXItemFlag_Disabled, " ", 0},};mx_menu_item appfail_items[] = {  {MXItemFlag_Center, "XCopilot", 0},  {MXItemFlag_Left | MXItemFlag_Disabled, " ", 0},  {MXItemFlag_Center, "  Load App Failed  ", 0},  {MXItemFlag_Left | MXItemFlag_Disabled, " ", 0},};mx_menu_item ok_items[] = {  {MXItemFlag_Center, "OK", 0},};#include "icon2.xpm"static void set_icon(Widget w){  Pixmap pixmap, mask;  XpmAttributes attributes;  Arg args[2];  bzero((void*)&attributes, sizeof(attributes));  if(XpmCreatePixmapFromData(XtDisplay(w), DefaultRootWindow(XtDisplay(w)),                             pilot_xpm, &pixmap, &mask, &attributes))    return;                 XtSetArg(args[0], XtNiconPixmap, pixmap);  XtSetArg(args[1], XtNiconMask, mask);  XtSetValues(w, args, 2);}/*************************************** * This is a signal handler. It simply * * sets xcpQuit True, which causes the * * event loop to terminate             * ***************************************/static void xcpSignalQuit(int unused){  xcpQuit = 1;} /******************************************************** * Check if the X Shared Memory extension is available. * * Return:  0 = not available                           * *   1 = shared XImage support available                * *   2 = shared Pixmap support available also           * ********************************************************/static int xcpCheckXshm(Display *display){  int major, minor, ignore;  int pixmaps;#ifdef USE_XSHM  if (XQueryExtension(display, "MIT-SHM", &ignore, &ignore, &ignore)) {    if (XShmQueryVersion(display, &major, &minor, &pixmaps) == True) {      return (pixmaps == True) ? 2 : 1;    } else {      return 0;    }  } else {    return 0;  }#else  return 0;#endif}/************************************************ * Initialize xwindows, and prepare a shared    * * memory buffer for the LCD image. width and   * * height are the dimensions of the LCD screen. * * Returns a pointer to shared memory buffer    * * or regular ximage buffer.                    * ************************************************/#define CASEWIDTH 220#define CASEHEIGHT 337#define LCDWIDTH 160#define LCDHEIGHT 160int casewidth = CASEWIDTH,    caseheight = CASEHEIGHT,    lcdwidth = LCDWIDTH,    lcdheight = LCDHEIGHT ;static mx_appearance *app;    /* appearance structure form menu *//* panels for menus */static mx_panel *panel_main, *panel_about, *panel_ok;static mx_panel *panel_appok, *panel_appfail;/*************************************** * Put the LCD image on the LCD window * ***************************************/static void xcpPutImage(int x, int y, int width, int height) {#ifdef USE_XSHM  if (xcpUsingShm)    XShmPutImage(xcpDisplay, xcpLCDWindow, xcpLCDgc, xcpLCDImage, x, y, x, y, 		 width, height, False);  else#endif    XPutImage(xcpDisplay, xcpLCDWindow, xcpLCDgc, xcpLCDImage, x, y, x, y,	      width, height);}static int xcpHandleExpose(XEvent *event) {  xcpPutImage(event->xexpose.x, event->xexpose.y, event->xexpose.width,              event->xexpose.height);  return event->xexpose.count;}static void HandleExpose(Widget w, XtPointer client_data, XEvent *event,                         Boolean *continue_to_dispatch){  *continue_to_dispatch = True;  xcpHandleExpose(event);}/********************************* * Release allocated X resources * * in preparation for exit       * *********************************/static void xcpCleanup(void){  shared->CpuReq = cpuExit;  if (xcpStarted) {    if (xcpLCDImage) {      XDestroyImage(xcpLCDImage);    }#ifdef USE_XSHM    if (xcpUsingShm) {      XShmDetach(xcpDisplay, &xcpSHMInfo);      if (xcpSHMInfo.shmaddr) {	shmdt(xcpSHMInfo.shmaddr);      }      if (xcpSHMInfo.shmid > 0) {	shmctl(xcpSHMInfo.shmid, IPC_RMID, 0);      }    }#endif  }  exit(0);}static void do_menu(int x, int y){  int choice;  choice = mx_popup_menu(xcpDisplay, xcpScreenNum, panel_main, &x, &y, True);  switch (choice) {    char *appname;    int rx, ry;    case 1:            /* Load App.. */    case 2:      rx = x;      ry = y;      appname = mx_popup_filesel(xcpDisplay, xcpScreenNum, app, &rx, &ry,                                 choice - 1);      if (appname != NULL)        if (dbg_loadapp(NULL, NULL, NULL, appname, shared) == 0)          mx_popup_alert(xcpDisplay, xcpScreenNum, panel_appok, panel_ok, &x,                         &y);        else          mx_popup_alert(xcpDisplay, xcpScreenNum, panel_appfail, panel_ok,                         &x, &y);      break;    case 3:             /* About.. */      mx_popup_alert(xcpDisplay, xcpScreenNum, panel_about, panel_ok, &x, &y);      break;    case 5:             /* Quit */      xcpCleanup();      break;    default:      break;  }}/************************************************************ * Handle a key event                                       * * img is a pointer to the shared memory structure which    * * holds the custom registers which are shared between the  * * CPU and Display processes. down is 1 if the key is down, * * key is the number of the key                             * ************************************************************/static void xcpKeyEvent(int down, int key){  shared->keydown = down;  shared->key = key;  shared->run_updateisr = 1;}typedef struct _Key {  const char *name;  XRectangle bounds;} Key;static Key keys[] = {{"power", {0, 281, 16, 22}},                     {"up", {100, 280, 25, 12}},                     {"down", {100, 302, 25, 12}},                     {"datebook", {24, 277, 28, 29}},                     {"phone", {63, 277, 28, 29}},                     {"todo", {134, 277, 28, 29}},

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91蜜桃视频在线| 欧美丝袜丝交足nylons| 一区二区三区中文字幕在线观看| 欧美巨大另类极品videosbest| 成人性生交大片免费看中文| 奇米精品一区二区三区四区| 日韩一区欧美一区| www国产成人免费观看视频 深夜成人网| 色综合激情五月| 国产98色在线|日韩| 免费在线看成人av| 亚洲国产成人高清精品| 中文字幕日韩av资源站| 久久你懂得1024| 欧美一区二区久久| 欧洲av一区二区嗯嗯嗯啊| av综合在线播放| 国产91精品露脸国语对白| 蜜臀久久久99精品久久久久久| 亚洲精品国久久99热| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产一级精品在线| 日本欧美在线观看| 午夜伦欧美伦电影理论片| 一区二区三区久久| 依依成人综合视频| 亚洲三级免费观看| 日韩一区在线免费观看| 国产精品全国免费观看高清| 国产人久久人人人人爽| 国产性天天综合网| 国产喷白浆一区二区三区| 久久久亚洲精品一区二区三区 | 色呦呦国产精品| eeuss鲁片一区二区三区| 国产91丝袜在线播放| 丁香一区二区三区| 成人免费观看男女羞羞视频| 丁香婷婷综合激情五月色| 国产成人aaa| 成人美女在线观看| 99久久精品免费看| 97精品国产露脸对白| 91网址在线看| 欧美三级日韩三级| 7777女厕盗摄久久久| 日韩免费视频一区| 欧美精品一区二区三区在线| 久久久久久综合| 中文字幕av一区二区三区高| 中文字幕av一区二区三区| 18成人在线观看| 亚洲国产精品自拍| 蜜桃av噜噜一区| 国精产品一区一区三区mba视频 | 亚洲一卡二卡三卡四卡无卡久久| 亚洲一区二区三区中文字幕| 图片区小说区区亚洲影院| 蜜桃传媒麻豆第一区在线观看| 国产一区二区剧情av在线| 大陆成人av片| 欧美日韩综合色| 日韩午夜电影在线观看| 国产无人区一区二区三区| 中文字幕综合网| 日韩高清在线不卡| 国产精品1024| 欧洲一区在线观看| 精品第一国产综合精品aⅴ| 国产欧美日韩另类视频免费观看 | 狠狠色狠狠色综合系列| 成人av在线影院| 欧美日韩专区在线| 久久精品亚洲乱码伦伦中文| 亚洲精品中文字幕乱码三区 | 色综合久久88色综合天天| 制服丝袜成人动漫| 国产欧美精品日韩区二区麻豆天美| 亚洲欧美日本韩国| 开心九九激情九九欧美日韩精美视频电影| 成人中文字幕合集| 欧美人xxxx| 国产精品福利在线播放| 天天操天天干天天综合网| 国产麻豆视频精品| 欧美性三三影院| 亚洲国产精品激情在线观看| 午夜伦理一区二区| 成人黄色在线看| 777午夜精品免费视频| 国产精品福利一区二区| 精品一区二区三区日韩| 在线看一区二区| 国产欧美一区在线| 蜜桃av一区二区三区| 在线免费观看日韩欧美| 国产欧美中文在线| 另类小说欧美激情| 欧美午夜理伦三级在线观看| 中文在线免费一区三区高中清不卡| 亚洲超碰精品一区二区| 97精品超碰一区二区三区| www国产精品av| 欧美aaaaaa午夜精品| 欧美最猛黑人xxxxx猛交| 国产精品无人区| 国产在线精品一区二区三区不卡| 欧美日韩中文一区| 亚洲视频图片小说| 国产69精品一区二区亚洲孕妇 | 欧美一区日韩一区| 亚洲综合一区二区精品导航| 成人免费va视频| 久久久影视传媒| 日本成人在线不卡视频| 91久久精品网| 亚洲美女视频在线观看| 不卡的电影网站| 精品91自产拍在线观看一区| 蜜桃av一区二区在线观看| 欧美老人xxxx18| 夜夜嗨av一区二区三区四季av| av一二三不卡影片| 国产欧美久久久精品影院| 国产综合色在线视频区| 精品日韩欧美一区二区| 看电视剧不卡顿的网站| 欧美一级爆毛片| 奇米精品一区二区三区四区| 欧美高清视频不卡网| 五月天激情综合网| 欧美另类高清zo欧美| 三级在线观看一区二区 | 欧美高清在线视频| 国产自产高清不卡| 精品久久久久久最新网址| 日本人妖一区二区| 日韩欧美一区二区三区在线| 日本在线不卡一区| 日韩精品专区在线影院观看| 美腿丝袜亚洲三区| 26uuu欧美日本| 国产精品一级黄| 国产精品视频一二三| 99久免费精品视频在线观看| 国产精品久久久久久久蜜臀| av高清久久久| 亚洲综合激情另类小说区| 在线成人免费视频| 欧美a级一区二区| 国产亚洲精品资源在线26u| 成人精品鲁一区一区二区| 亚洲品质自拍视频| 欧美日韩一级片在线观看| 免费人成网站在线观看欧美高清| 精品国产凹凸成av人导航| 懂色中文一区二区在线播放| 亚洲欧洲三级电影| 欧美日本一区二区在线观看| 老汉av免费一区二区三区| 久久日一线二线三线suv| 99v久久综合狠狠综合久久| 亚洲国产精品一区二区久久恐怖片| 3d动漫精品啪啪1区2区免费| 国产乱国产乱300精品| 亚洲欧美电影一区二区| 欧美区在线观看| 国产不卡高清在线观看视频| 亚洲精品乱码久久久久久久久 | 欧美一级理论片| 国产成人午夜精品5599| 一区二区三区视频在线看| 56国语精品自产拍在线观看| 国产一区二区精品久久91| 亚洲免费毛片网站| 日韩免费看的电影| 菠萝蜜视频在线观看一区| 天堂成人国产精品一区| 久久久久久久久久电影| 欧美视频日韩视频在线观看| 久久国产福利国产秒拍| 亚洲日本一区二区| 精品成人私密视频| 欧美在线一区二区三区| 国产一区三区三区| 亚洲二区在线视频| 国产精品欧美一区二区三区| 91精品在线观看入口| 色综合色狠狠天天综合色| 国产在线视频精品一区| 亚洲成人精品一区| 国产日韩精品一区| 日韩欧美在线综合网| 91亚洲午夜精品久久久久久| 精品一区二区久久久| 午夜一区二区三区在线观看| 欧美激情一区二区三区| 精品久久久久久久人人人人传媒 | 亚洲精品成人悠悠色影视| 久久天天做天天爱综合色|