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

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

?? de_win.c

?? Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
?? C
字號:
/* * Copyright (c) 1994 by Xerox Corporation.  All rights reserved. * * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK. * * Permission is hereby granted to use or copy this program * for any purpose,  provided the above notices are retained on all copies. * Permission to modify the code and to distribute modified code is granted, * provided the above notices are retained, and a notice that the code was * modified is included with the above copyright notice. *//* Boehm, February 6, 1995 12:29 pm PST *//* * The MS Windows specific part of de.   * This started as the generic Windows application template * made available by Rob Haack (rhaack@polaris.unm.edu), but * significant parts didn't survive to the final version. * * This was written by a nonexpert windows programmer. */#include "windows.h"#include "gc.h"#include "cord.h"#include "de_cmds.h"#include "de_win.h"int LINES = 0;int COLS = 0;char       szAppName[]     = "DE";char       FullAppName[]   = "Demonstration Editor";HWND        hwnd;void de_error(char *s){    MessageBox( hwnd, (LPSTR) s,                (LPSTR) FullAppName,                MB_ICONINFORMATION | MB_OK );    InvalidateRect(hwnd, NULL, TRUE);}int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,                      LPSTR command_line, int nCmdShow){   MSG         msg;   WNDCLASS    wndclass;   HANDLE      hAccel;#  ifdef THREAD_LOCAL_ALLOC     GC_INIT();  /* Required if GC is built with THREAD_LOCAL_ALLOC 	*/     		 /* Always safe, but this is used as a GC test.		*/#  endif   if (!hPrevInstance)   {      wndclass.style          = CS_HREDRAW | CS_VREDRAW;      wndclass.lpfnWndProc    = WndProc;      wndclass.cbClsExtra     = 0;      wndclass.cbWndExtra     = DLGWINDOWEXTRA;      wndclass.hInstance      = hInstance;      wndclass.hIcon          = LoadIcon (hInstance, szAppName);      wndclass.hCursor        = LoadCursor (NULL, IDC_ARROW);      wndclass.hbrBackground  = GetStockObject(WHITE_BRUSH);      wndclass.lpszMenuName   = "DE";      wndclass.lpszClassName  = szAppName;      if (RegisterClass (&wndclass) == 0) {          char buf[50];   	   	  sprintf(buf, "RegisterClass: error code: 0x%X", GetLastError());   	  de_error(buf);   	  return(0);      }   }      /* Empirically, the command line does not include the command name ...   if (command_line != 0) {       while (isspace(*command_line)) command_line++;       while (*command_line != 0 && !isspace(*command_line)) command_line++;       while (isspace(*command_line)) command_line++;   } */      if (command_line == 0 || *command_line == 0) {        de_error("File name argument required");        return( 0 );   } else {        char *p = command_line;                while (*p != 0 && !isspace(*p)) p++;   	arg_file_name = CORD_to_char_star(   			    CORD_substr(command_line, 0, p - command_line));   }   hwnd = CreateWindow (szAppName,   			FullAppName,   			WS_OVERLAPPEDWINDOW | WS_CAPTION, /* Window style */   			CW_USEDEFAULT, 0, /* default pos. */   			CW_USEDEFAULT, 0, /* default width, height */   			NULL,	/* No parent */   			NULL, 	/* Window class menu */   			hInstance, NULL);   if (hwnd == NULL) {   	char buf[50];   	   	sprintf(buf, "CreateWindow: error code: 0x%X", GetLastError());   	de_error(buf);   	return(0);   }   ShowWindow (hwnd, nCmdShow);   hAccel = LoadAccelerators( hInstance, szAppName );      while (GetMessage (&msg, NULL, 0, 0))   {      if( !TranslateAccelerator( hwnd, hAccel, &msg ) )      {         TranslateMessage (&msg);         DispatchMessage (&msg);      }   }   return msg.wParam;}/* Return the argument with all control characters replaced by blanks.	*/char * plain_chars(char * text, size_t len){    char * result = GC_MALLOC_ATOMIC(len + 1);    register size_t i;        for (i = 0; i < len; i++) {       if (iscntrl(text[i])) {           result[i] = ' ';       } else {           result[i] = text[i];       }    }    result[len] = '\0';    return(result);}/* Return the argument with all non-control-characters replaced by 	*//* blank, and all control characters c replaced by c + 32.		*/char * control_chars(char * text, size_t len){    char * result = GC_MALLOC_ATOMIC(len + 1);    register size_t i;        for (i = 0; i < len; i++) {       if (iscntrl(text[i])) {           result[i] = text[i] + 0x40;       } else {           result[i] = ' ';       }    }    result[len] = '\0';    return(result);}int char_width;int char_height;void get_line_rect(int line, int win_width, RECT * rectp){    rectp -> top = line * char_height;    rectp -> bottom = rectp->top + char_height;    rectp -> left = 0;    rectp -> right = win_width;}int caret_visible = 0;	/* Caret is currently visible.	*/int screen_was_painted = 0;/* Screen has been painted at least once.	*/void update_cursor(void);INT_PTR CALLBACK AboutBoxCallback( HWND hDlg, UINT message,                           WPARAM wParam, LPARAM lParam ){   switch( message )   {      case WM_INITDIALOG:           SetFocus( GetDlgItem( hDlg, IDOK ) );           break;      case WM_COMMAND:           switch( wParam )           {              case IDOK:                   EndDialog( hDlg, TRUE );                   break;           }           break;      case WM_CLOSE:           EndDialog( hDlg, TRUE );           return TRUE;   }   return FALSE;}LRESULT CALLBACK WndProc (HWND hwnd, UINT message,                          WPARAM wParam, LPARAM lParam){   static HANDLE  hInstance;   HDC dc;   PAINTSTRUCT ps;   RECT client_area;   RECT this_line;   RECT dummy;   TEXTMETRIC tm;   register int i;   int id;   switch (message)   {      case WM_CREATE:           hInstance = ( (LPCREATESTRUCT) lParam)->hInstance;           dc = GetDC(hwnd);           SelectObject(dc, GetStockObject(SYSTEM_FIXED_FONT));           GetTextMetrics(dc, &tm);           ReleaseDC(hwnd, dc);           char_width = tm.tmAveCharWidth;           char_height = tm.tmHeight + tm.tmExternalLeading;           GetClientRect(hwnd, &client_area);      	   COLS = (client_area.right - client_area.left)/char_width;      	   LINES = (client_area.bottom - client_area.top)/char_height;      	   generic_init();           return(0);      case WM_CHAR:      	   if (wParam == QUIT) {      	       SendMessage( hwnd, WM_CLOSE, 0, 0L );      	   } else {      	       do_command((int)wParam);      	   }      	   return(0);            case WM_SETFOCUS:      	   CreateCaret(hwnd, NULL, char_width, char_height);      	   ShowCaret(hwnd);      	   caret_visible = 1;      	   update_cursor();      	   return(0);      	         case WM_KILLFOCUS:      	   HideCaret(hwnd);      	   DestroyCaret();      	   caret_visible = 0;      	   return(0);      	         case WM_LBUTTONUP:      	   {      	       unsigned xpos = LOWORD(lParam);	/* From left	*/      	       unsigned ypos = HIWORD(lParam);	/* from top */      	             	       set_position( xpos/char_width, ypos/char_height );      	       return(0);      	   }      	         case WM_COMMAND:      	   id = LOWORD(wParam);      	   if (id & EDIT_CMD_FLAG) {               if (id & REPEAT_FLAG) do_command(REPEAT);               do_command(CHAR_CMD(id));               return( 0 );           } else {             switch(id) {               case IDM_FILEEXIT:                  SendMessage( hwnd, WM_CLOSE, 0, 0L );                  return( 0 );               case IDM_HELPABOUT:                  if( DialogBox( hInstance, "ABOUTBOX",                                 hwnd, AboutBoxCallback ) )                     InvalidateRect( hwnd, NULL, TRUE );                  return( 0 );	       case IDM_HELPCONTENTS:	     	  de_error(	     	       "Cursor keys: ^B(left) ^F(right) ^P(up) ^N(down)\n"	     	       "Undo: ^U    Write: ^W   Quit:^D  Repeat count: ^R[n]\n"	     	       "Top: ^T   Locate (search, find): ^L text ^L\n");	     	  return( 0 );	     }	   }           break;      case WM_CLOSE:           DestroyWindow( hwnd );           return 0;      case WM_DESTROY:           PostQuitMessage (0);	   GC_win32_free_heap();           return 0;            case WM_PAINT:      	   dc = BeginPaint(hwnd, &ps);      	   GetClientRect(hwnd, &client_area);      	   COLS = (client_area.right - client_area.left)/char_width;      	   LINES = (client_area.bottom - client_area.top)/char_height;      	   SelectObject(dc, GetStockObject(SYSTEM_FIXED_FONT));      	   for (i = 0; i < LINES; i++) {      	       get_line_rect(i, client_area.right, &this_line);      	       if (IntersectRect(&dummy, &this_line, &ps.rcPaint)) {      	           CORD raw_line = retrieve_screen_line(i);      	           size_t len = CORD_len(raw_line);      	           char * text = CORD_to_char_star(raw_line);      	           		/* May contain embedded NULLs	*/      	           char * plain = plain_chars(text, len);      	           char * blanks = CORD_to_char_star(CORD_chars(' ',      	           				                COLS - len));      	           char * control = control_chars(text, len);#		   define RED RGB(255,0,0)      	                 	           SetBkMode(dc, OPAQUE);      	           SetTextColor(dc, GetSysColor(COLOR_WINDOWTEXT));      	                 	           TextOut(dc, this_line.left, this_line.top,      	           	   plain, (int)len);      	           TextOut(dc, this_line.left + (int)len * char_width,		   	   this_line.top,      	           	   blanks, (int)(COLS - len));      	           SetBkMode(dc, TRANSPARENT);      	           SetTextColor(dc, RED);      	           TextOut(dc, this_line.left, this_line.top,      	           	   control, (int)strlen(control));      	       }      	   }      	   EndPaint(hwnd, &ps);      	   screen_was_painted = 1;      	   return 0;   }   return DefWindowProc (hwnd, message, wParam, lParam);}int last_col;int last_line;void move_cursor(int c, int l){    last_col = c;    last_line = l;        if (caret_visible) update_cursor();}void update_cursor(void){    SetCaretPos(last_col * char_width, last_line * char_height);    ShowCaret(hwnd);}void invalidate_line(int i){    RECT line;        if (!screen_was_painted) return;    	/* Invalidating a rectangle before painting seems result in a	*/    	/* major performance problem.					*/    get_line_rect(i, COLS*char_width, &line);    InvalidateRect(hwnd, &line, FALSE);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产精品久久久久久久久久久| 久久精品国产久精国产| 东方aⅴ免费观看久久av| xvideos.蜜桃一区二区| 国产91精品入口| 国产精品久久久久三级| a美女胸又www黄视频久久| 亚洲少妇30p| 欧美精品视频www在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 日本一不卡视频| 日韩欧美视频一区| 国产伦精品一区二区三区在线观看| 久久久精品影视| 波多野结衣亚洲| 亚洲一区二区免费视频| 日韩一区二区高清| 国产不卡高清在线观看视频| 亚洲人成人一区二区在线观看| 91美女蜜桃在线| 日韩va欧美va亚洲va久久| 日韩精品一区二区三区三区免费| 国产麻豆一精品一av一免费| 中文字幕人成不卡一区| 欧美日韩在线不卡| 国产在线一区二区| 亚洲欧美日韩国产手机在线| 制服丝袜av成人在线看| 国产在线精品视频| 一级日本不卡的影视| 日韩精品一区二区三区中文精品 | 欧美国产欧美亚州国产日韩mv天天看完整 | 国产麻豆日韩欧美久久| 亚洲综合在线五月| 精品成a人在线观看| 91蜜桃网址入口| 另类成人小视频在线| 亚洲天堂久久久久久久| 精品人在线二区三区| 91香蕉视频mp4| 国内精品久久久久影院薰衣草| 亚洲三级在线免费观看| 日韩免费在线观看| 欧洲一区二区三区免费视频| 国产在线观看一区二区| 亚洲一区二区三区中文字幕在线| 国产目拍亚洲精品99久久精品| 欧美性videosxxxxx| 国产91在线观看| 美女国产一区二区三区| 亚洲免费在线观看视频| 久久久噜噜噜久久中文字幕色伊伊| 欧美在线一二三| 成人黄色网址在线观看| 国内精品伊人久久久久av影院| 亚洲香肠在线观看| 亚洲丝袜精品丝袜在线| 国产日韩欧美精品电影三级在线| 欧美浪妇xxxx高跟鞋交| 色综合久久久久久久久久久| 粉嫩一区二区三区性色av| 视频在线在亚洲| 香蕉影视欧美成人| 亚洲高清免费观看高清完整版在线观看| 亚洲精品视频一区| 久久精品综合网| 亚洲精品一区二区三区影院| 在线播放91灌醉迷j高跟美女| 91丨九色丨黑人外教| 国产成人日日夜夜| 国精产品一区一区三区mba视频| 日韩国产在线观看| 五月天一区二区| 亚洲电影中文字幕在线观看| 亚洲最大的成人av| 亚洲一区二区三区美女| 亚洲自拍与偷拍| 亚洲一二三四在线| 亚洲国产美国国产综合一区二区| 一区二区三区中文免费| 成人欧美一区二区三区在线播放| 国产精品网友自拍| 国产午夜精品福利| 国产欧美日韩视频一区二区| 亚洲国产精品99久久久久久久久| 日本一区二区三区四区| 国产精品三级久久久久三级| 国产精品毛片久久久久久久| 亚洲欧洲av一区二区三区久久| 国产精品麻豆视频| 最好看的中文字幕久久| 亚洲久草在线视频| 成人黄色片在线观看| 国产a级毛片一区| www.视频一区| 欧美在线啊v一区| 欧美精品自拍偷拍| 精品久久久久av影院| 国产午夜精品一区二区三区视频 | 粉嫩高潮美女一区二区三区| 国产高清久久久久| 99国产欧美久久久精品| 日本久久电影网| 欧美绝品在线观看成人午夜影视| 日韩三级在线观看| 欧美激情艳妇裸体舞| 亚洲美女电影在线| 日韩精品一二三四| 国产乱人伦精品一区二区在线观看| 成人伦理片在线| 欧美视频完全免费看| 精品久久人人做人人爰| 国产精品女主播av| 亚洲成人激情综合网| 国产精品主播直播| 欧美丝袜丝nylons| 久久这里只有精品视频网| 亚洲视频一二三| 全国精品久久少妇| 99热这里都是精品| 日韩三级视频中文字幕| 最新日韩av在线| 九一九一国产精品| 91麻豆免费观看| 日韩一区二区三区四区| 欧美激情资源网| 日韩成人一区二区| eeuss鲁片一区二区三区在线观看| 欧美色电影在线| 国产清纯在线一区二区www| 五月天亚洲婷婷| www.爱久久.com| 日韩欧美123| 一区二区三区毛片| 国产成人免费视频网站| 欧美日韩情趣电影| 1000精品久久久久久久久| 理论电影国产精品| 欧美日韩三级在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 毛片基地黄久久久久久天堂| 色偷偷88欧美精品久久久| 久久久久久亚洲综合| 日本欧美久久久久免费播放网| 91国偷自产一区二区三区成为亚洲经典 | 亚洲日本成人在线观看| 国产一区二区三区在线看麻豆| 欧美日韩日本视频| 一区二区三区在线影院| 国产69精品一区二区亚洲孕妇| 日韩一区二区精品| 91影视在线播放| 久久综合九色综合97_久久久| 亚洲成人免费在线观看| 91影院在线免费观看| 国产婷婷一区二区| 精品一区二区三区视频| 欧美一区日韩一区| 亚洲综合图片区| 99精品久久只有精品| 久久免费电影网| 国内精品伊人久久久久av影院 | 中文字幕欧美一区| 成人夜色视频网站在线观看| 亚洲精品一区二区三区福利| 另类欧美日韩国产在线| 欧美一区二区三区四区五区 | 免费观看成人av| 欧美丰满少妇xxxxx高潮对白| 一区二区免费在线播放| 在线亚洲欧美专区二区| 一区二区三区精密机械公司| 91国偷自产一区二区使用方法| 一区二区三区在线视频播放| 91久久线看在观草草青青| 亚洲激情自拍视频| 欧洲国内综合视频| 亚洲成人高清在线| 在线91免费看| 麻豆精品新av中文字幕| 精品国产一区久久| 国产成人精品亚洲日本在线桃色| 国产无人区一区二区三区| 国产91丝袜在线观看| 亚洲欧洲av另类| 欧美在线观看你懂的| 日韩精彩视频在线观看| 欧美一级免费观看| 国产一区在线精品| 一区二区中文字幕在线| 色狠狠av一区二区三区| 五月天中文字幕一区二区| 日韩女优毛片在线| 成人黄色软件下载| 亚洲一区二区三区四区在线观看 | 欧美zozozo| 国产69精品久久99不卡| 一区二区在线观看视频在线观看| 欧美日韩久久一区二区| 麻豆久久一区二区|