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

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

?? demo.cxx

?? flnx 0.17 是做嵌入linux gui 必備工具箱
?? CXX
字號:
//// "$Id: demo.cxx,v 1.1.1.1 2003/08/07 21:18:42 jasonk Exp $"//// Main demo program for the Fast Light Tool Kit (FLTK).//// Copyright 1998-1999 by Bill Spitzak and others.//// This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Library General Public// License as published by the Free Software Foundation; either// version 2 of the License, or (at your option) any later version.//// This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU// Library General Public License for more details.//// You should have received a copy of the GNU Library General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307// USA.//// Please report all bugs and problems to "fltk-bugs@easysw.com".//#include <stdio.h>#include <string.h>#include <stdlib.h>#if defined(WIN32) && !defined(CYGNUS)#  include <direct.h>#else#  include <unistd.h>#endif#include <FL/Fl.H>#include <FL/Fl_Window.H>#include <FL/Fl_Box.H>#include <FL/Fl_Button.H>#include <FL/filename.H>#include <FL/x.H>/* The form description */void doexit(Fl_Widget *, void *);void doback(Fl_Widget *, void *);void dobut(Fl_Widget *, long);Fl_Window *form;Fl_Button *but[9];void create_the_forms() {  Fl_Widget *obj;  form = new Fl_Window(370, 450);  obj = new Fl_Box(FL_FRAME_BOX,20,390,330,40,"FLTK Demonstration");  obj->color(FL_GRAY-4);  obj->labelsize(24);  obj->labelfont(FL_BOLD);  obj->labeltype(FL_ENGRAVED_LABEL);  obj = new Fl_Box(FL_FRAME_BOX,20,50,330,330,0);  obj->color(FL_GRAY-8);  obj = new Fl_Button(130,10,110,30,"Exit");  obj->callback(doexit);  obj = new Fl_Button(20,50,330,380); obj->type(FL_HIDDEN_BUTTON);  obj->callback(doback);  obj = but[0] = new Fl_Button(40,270,90,90);  obj = but[1] = new Fl_Button(140,270,90,90);  obj = but[2] = new Fl_Button(240,270,90,90);  obj = but[5] = new Fl_Button(240,170,90,90);  obj = but[4] = new Fl_Button(140,170,90,90);  obj = but[3] = new Fl_Button(40,170,90,90);  obj = but[6] = new Fl_Button(40,70,90,90);  obj = but[7] = new Fl_Button(140,70,90,90);  obj = but[8] = new Fl_Button(240,70,90,90);  for (int i=0; i<9; i++) {    but[i]->align(FL_ALIGN_WRAP);    but[i]->callback(dobut, i);  }  form->forms_end();}/* Maintaining and building up the menus. */typedef struct {  char name[64];  int numb;  char iname[9][64];  char icommand[9][64];} MENU;#define MAXMENU	32MENU menus[MAXMENU];int mennumb = 0;int find_menu(char nnn[])/* Returns the number of a given menu name. */{  int i;  for (i=0; i<mennumb; i++)    if (strcmp(menus[i].name,nnn) == 0) return i;  return -1;}void create_menu(char nnn[])/* Creates a new menu with name nnn */{  if (mennumb == MAXMENU -1) return;  strcpy(menus[mennumb].name,nnn);  menus[mennumb].numb = 0;  mennumb++;}void addto_menu(char men[], char item[], char comm[])/* Adds an item to a menu */{  int n = find_menu(men);  if (n<0) { create_menu(men); n = find_menu(men); }  if (menus[n].numb == 9) return;  strcpy(menus[n].iname[menus[n].numb],item);  strcpy(menus[n].icommand[menus[n].numb],comm);  menus[n].numb++;}/* Button to Item conversion and back. */int b2n[][9] = { 	{ -1, -1, -1, -1,  0, -1, -1, -1, -1},	{ -1, -1, -1,  0, -1,  1, -1, -1, -1},	{  0, -1, -1, -1,  1, -1, -1, -1,  2},	{  0, -1,  1, -1, -1, -1,  2, -1,  3},	{  0, -1,  1, -1,  2, -1,  3, -1,  4},	{  0, -1,  1,  2, -1,  3,  4, -1,  5},	{  0, -1,  1,  2,  3,  4,  5, -1,  6},	{  0,  1,  2,  3, -1,  4,  5,  6,  7},	{  0,  1,  2,  3,  4,  5,  6,  7,  8}  };int n2b[][9] = { 	{  4, -1, -1, -1, -1, -1, -1, -1, -1},	{  3,  5, -1, -1, -1, -1, -1, -1, -1},	{  0,  4,  8, -1, -1, -1, -1, -1, -1},	{  0,  2,  6,  8, -1, -1, -1, -1, -1},	{  0,  2,  4,  6,  8, -1, -1, -1, -1},	{  0,  2,  3,  5,  6,  8, -1, -1, -1},	{  0,  2,  3,  4,  5,  6,  8, -1, -1},	{  0,  1,  2,  3,  5,  6,  7,  8, -1},	{  0,  1,  2,  3,  4,  5,  6,  7,  8}  };int but2numb(int bnumb, int maxnumb)/* Transforms a button number to an item number when there are   maxnumb items in total. -1 if the button should not exist. */ { return b2n[maxnumb][bnumb]; }int numb2but(int inumb, int maxnumb)/* Transforms an item number to a button number when there are   maxnumb items in total. -1 if the item should not exist. */ { return n2b[maxnumb][inumb]; }/* Pushing and Popping menus */char stack[64][32];char stsize = 0;void push_menu(char nnn[])/* Pushes a menu to be visible */{  int n,i,bn;  int men = find_menu(nnn);  if (men < 0) return;  n = menus[men].numb;  for (i=0; i<9; i++) but[i]->hide();  for (i=0; i<n; i++)  {    bn = numb2but(i,n-1);    but[bn]->show();    but[bn]->label(menus[men].iname[i]);  }  strcpy(stack[stsize],nnn);  stsize++;}void pop_menu()/* Pops a menu */{  if (stsize<=1) return;  stsize -= 2;  push_menu(stack[stsize]);}/* The callback Routines */void dobut(Fl_Widget *, long arg)/* handles a button push */{  int men = find_menu(stack[stsize-1]);  int n = menus[men].numb;  int bn = but2numb( (int) arg, n-1);  if (menus[men].icommand[bn][0] == '@')    push_menu(menus[men].icommand[bn]);  else {#ifdef WIN32    STARTUPINFO		suInfo;		// Process startup information    PROCESS_INFORMATION	prInfo;		// Process information    memset(&suInfo, 0, sizeof(suInfo));    suInfo.cb = sizeof(suInfo);    int icommand_length = strlen(menus[men].icommand[bn]);    char* copy_of_icommand = new char[icommand_length+1];    strcpy(copy_of_icommand,menus[men].icommand[bn]);    // On WIN32 the .exe suffix needs to be appended to the command    // whilst leaving any additional parameters unchanged - this    // is required to handle the correct conversion of cases such as :     // `../fluid/fluid valuators.fl' to '../fluid/fluid.exe valuators.fl'.    // skip leading spaces.    char* start_command = copy_of_icommand;    while(*start_command == ' ') ++start_command;    // find the space between the command and parameters if one exists.    char* start_parameters = strchr(start_command,' ');    char* command = new char[icommand_length+6]; // 6 for extra 'd.exe\0'    if (start_parameters==NULL) { // no parameters required.#  ifdef _DEBUG      sprintf(command, "%sd.exe", start_command);#  else      sprintf(command, "%s.exe", start_command);#  endif // _DEBUG    } else { // parameters required.      // break the start_command at the intermediate space between      // start_command and start_parameters.      *start_parameters = 0;      // move start_paremeters to skip over the intermediate space.      ++start_parameters;#  ifdef _DEBUG      sprintf(command, "%sd.exe %s", start_command, start_parameters);#  else      sprintf(command, "%s.exe %s", start_command, start_parameters);#  endif // _DEBUG    }    CreateProcess(NULL, command, NULL, NULL, FALSE,                  NORMAL_PRIORITY_CLASS, NULL, NULL, &suInfo, &prInfo);	    delete command;    delete copy_of_icommand;	#else // NON WIN32 systems.    int icommand_length = strlen(menus[men].icommand[bn]);    char* command = new char[icommand_length+5]; // 5 for extra './' and ' &\0'     sprintf(command, "./%s &", menus[men].icommand[bn]);    system(command);    delete command;#endif // WIN32  }}void doback(Fl_Widget *, void *) {pop_menu();}void doexit(Fl_Widget *, void *) {exit(0);}int load_the_menu(const char fname[])/* Loads the menu file. Returns whether successful. */{  FILE *fin;  char line[256], mname[64],iname[64],cname[64];  int i,j;  fin = fopen(fname,"r");  if (fin == NULL)  {//    fl_show_message("ERROR","","Cannot read the menu description file.");    return 0;  }  for (;;) {    if (fgets(line,256,fin) == NULL) break;    j = 0; i = 0;    while (line[i] == ' ' || line[i] == '\t') i++;    if (line[i] == '\n') continue;    if (line[i] == '#') continue;    while (line[i] != ':' && line[i] != '\n') mname[j++] = line[i++];    mname[j] = '\0';    if (line[i] == ':') i++;    j = 0;     while (line[i] != ':' && line[i] != '\n')    {      if (line[i] == '\\') {	i++;	if (line[i] == 'n') iname[j++] = '\n';	else iname[j++] = line[i];	i++;      } else        iname[j++] = line[i++];    }    iname[j] = '\0';    if (line[i] == ':') i++;    j = 0;    while (line[i] != ':' && line[i] != '\n') cname[j++] = line[i++];    cname[j] = '\0';    addto_menu(mname,iname,cname);  }  fclose(fin);  return 1;}int main(int argc, char **argv) {  create_the_forms();  char buf[256];  strcpy(buf, argv[0]);  filename_setext(buf,".menu");  const char *fname = buf;  int i = 0;  if (!Fl::args(argc,argv,i) || i < argc-1)    Fl::fatal("Usage: %s <switches> <menufile>\n%s",Fl::help);  if (i < argc) fname = argv[i];  if (!load_the_menu(fname)) Fl::fatal("Can't open %s",fname);  strcpy(buf,fname);  const char *c = filename_name(buf);  if (c > buf) {buf[c-buf] = 0; chdir(buf);}  push_menu("@main");  form->show(argc,argv);  Fl::run();  return 0;}//// End of "$Id: demo.cxx,v 1.1.1.1 2003/08/07 21:18:42 jasonk Exp $".//

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久这里都是精品| 亚洲乱码日产精品bd| 亚洲精品视频自拍| 欧美aaaaaa午夜精品| 日本二三区不卡| 久久一二三国产| 日韩国产在线一| 99精品偷自拍| 国产日韩欧美综合一区| 美国毛片一区二区三区| 日本韩国视频一区二区| 亚洲国产精品国自产拍av| 老司机精品视频导航| 在线观看亚洲a| 亚洲人一二三区| 成人午夜免费视频| 国产日韩亚洲欧美综合| 国产一区二区三区日韩 | 精品日韩一区二区三区免费视频| 中文字幕一区二区在线观看| 国产精品 欧美精品| 日韩亚洲电影在线| 热久久久久久久| 欧美日韩国产综合一区二区| 亚洲欧美色图小说| 97se亚洲国产综合自在线不卡| 久久久777精品电影网影网| 狠狠色2019综合网| 亚洲精品一区二区三区蜜桃下载| 日本午夜一本久久久综合| 欧美日韩五月天| 亚洲不卡av一区二区三区| 欧美日韩黄色一区二区| 日韩中文字幕区一区有砖一区 | 亚洲激情男女视频| 99久久免费精品| 尤物在线观看一区| 欧美日韩免费在线视频| 亚洲高清免费视频| 日韩一区二区在线观看| 激情图区综合网| 欧美激情综合在线| 色菇凉天天综合网| 日韩在线一二三区| 精品国产免费人成电影在线观看四季| 久久电影网电视剧免费观看| 久久精品一二三| 97久久久精品综合88久久| 夜夜精品视频一区二区| 91精品国模一区二区三区| 久久国内精品自在自线400部| 日韩欧美一卡二卡| 成人小视频在线观看| 亚洲欧美日韩久久| 欧美色视频一区| 看电影不卡的网站| 国产精品伦一区| 欧美日韩一区二区欧美激情| 久久精品国内一区二区三区| 国产日韩视频一区二区三区| 色婷婷激情久久| 精品一区二区三区视频| 中文字幕在线不卡国产视频| 欧美日韩精品欧美日韩精品| 狠狠色丁香婷婷综合| 亚洲卡通动漫在线| 精品国产91久久久久久久妲己| 成人性色生活片免费看爆迷你毛片| 一区二区三区日韩精品| 精品国精品自拍自在线| 91国偷自产一区二区开放时间 | 亚洲午夜久久久久久久久久久| 日韩一级在线观看| 91色porny蝌蚪| 久久不见久久见中文字幕免费| 自拍偷拍亚洲激情| 精品国产乱码久久久久久夜甘婷婷| gogo大胆日本视频一区| 乱中年女人伦av一区二区| 一区二区三区精密机械公司| 国产色一区二区| 欧美电影一区二区| 日本高清无吗v一区| 国产美女av一区二区三区| 亚洲国产美女搞黄色| 国产欧美一区二区三区沐欲| 91精品国产福利| 欧美亚洲综合一区| 91亚洲国产成人精品一区二区三| 另类小说欧美激情| 日一区二区三区| 亚洲精品自拍动漫在线| 国产三级一区二区| 亚洲精品在线电影| 日韩一区二区在线看| 欧美日韩一级视频| 欧美三级电影在线看| 99re热这里只有精品视频| 狠狠色丁香婷婷综合| 美国毛片一区二区| 日本 国产 欧美色综合| 亚洲福利一区二区| 性感美女久久精品| 亚洲午夜在线观看视频在线| 亚洲男人电影天堂| 亚洲欧美视频在线观看视频| 亚洲欧美在线视频观看| 国产精品久久久久久久久免费桃花 | 色94色欧美sute亚洲13| 高清国产一区二区| 成人av资源站| 99精品视频中文字幕| www.成人网.com| av网站免费线看精品| 99久久精品国产网站| 99久久婷婷国产综合精品电影| 99re亚洲国产精品| 欧美性色黄大片| 欧美日韩免费高清一区色橹橹 | 日韩欧美亚洲另类制服综合在线 | 裸体健美xxxx欧美裸体表演| 日韩综合一区二区| 乱一区二区av| 国产精品99久久久久久似苏梦涵| 国产精品一二三区在线| caoporn国产一区二区| 在线看一区二区| 91精品国产91久久久久久一区二区 | 日韩午夜三级在线| 日韩欧美一区二区三区在线| 26uuu精品一区二区在线观看| 久久理论电影网| 亚洲欧美日韩在线不卡| 五月激情综合色| 极品少妇一区二区| 成人黄色电影在线 | 成人高清在线视频| 91影院在线免费观看| 在线观看视频一区二区欧美日韩| 欧美高清视频一二三区 | 一区二区三区国产精品| 日韩精彩视频在线观看| 国产精品99久久久久久有的能看| eeuss鲁片一区二区三区| 欧美日韩国产欧美日美国产精品| 日韩欧美一区二区在线视频| 日本一区二区三区免费乱视频| 亚洲免费观看高清在线观看| 免费观看久久久4p| 不卡一卡二卡三乱码免费网站| 欧美在线色视频| 久久久久高清精品| 亚洲一二三专区| 国产精品自拍毛片| 欧美视频精品在线| 久久亚洲精品国产精品紫薇| 亚洲欧美日韩中文播放 | 中文字幕免费一区| 亚洲高清免费观看| 成人黄色在线视频| 欧美成人aa大片| 亚洲人亚洲人成电影网站色| 韩国精品免费视频| 精品视频在线免费看| 中文字幕二三区不卡| 久久国产尿小便嘘嘘尿| 色素色在线综合| 国产欧美一区二区精品性色| 日韩精彩视频在线观看| 91一区一区三区| 国产精品拍天天在线| 久久国产精品免费| 欧美片网站yy| 一区二区三区在线免费| 国产1区2区3区精品美女| 欧美电影免费观看高清完整版在| 亚洲午夜在线视频| 色噜噜久久综合| 亚洲欧洲性图库| 成人综合婷婷国产精品久久| 久久午夜免费电影| 蜜桃av一区二区在线观看| 欧美日韩高清在线播放| 一区二区三区蜜桃| 在线视频欧美精品| 亚洲欧美日韩人成在线播放| 成av人片一区二区| 日韩一区日韩二区| caoporm超碰国产精品| 久久九九久久九九| 国产麻豆视频一区| 精品粉嫩aⅴ一区二区三区四区| 人人精品人人爱| 日韩欧美电影在线| 狠狠狠色丁香婷婷综合激情 | 欧美日韩免费一区二区三区| 亚洲综合在线免费观看| 色av成人天堂桃色av| 亚洲午夜羞羞片| 欧美日韩精品二区第二页|