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

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

?? fl.cxx

?? flnx 0.17 是做嵌入linux gui 必備工具箱
?? CXX
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
#include <stdio.h>//// "$Id: Fl.cxx,v 1.1.1.1 2003/08/07 21:18:39 jasonk Exp $"//// Main event handling code 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 <FL/x.H>#include <FL/Fl.H>#include <FL/Fl_Window.H>#include <ctype.h>#include <stdlib.h>#include <string.h>#include <stdio.h>//// Globals...//Fl_Widget	*Fl::belowmouse_,		*Fl::pushed_,		*Fl::focus_,		*Fl::selection_owner_;int		Fl::damage_,		Fl::e_x,		Fl::e_y,		Fl::e_x_root,		Fl::e_y_root,		Fl::e_state,		Fl::e_clicks,		Fl::e_is_click,		Fl::e_keysym;char		*Fl::e_text = "";int		Fl::e_length;static double fl_elapsed();//// 'Fl:event_inside()' - Return whether or not the mouse event is inside//                       the given rectangle.//int Fl::event_inside(int x,int y,int w,int h) /*const*/ {  int mx = event_x() - x;  int my = event_y() - y;  return (mx >= 0 && mx < w && my >= 0 && my < h);}int Fl::event_inside(const Fl_Widget *o) /*const*/ {  return event_inside(o->x(),o->y(),o->w(),o->h());}// Timeouts are insert-sorted into order.  This works good if there// are only a small number:static struct Timeout {  double time;  void (*cb)(void*);  void* arg;} * timeout;static int numtimeouts;static int timeout_array_size;void Fl::add_timeout(double t, void (*cb)(void *), void *v) {  fl_elapsed();  if (numtimeouts >= timeout_array_size) {    timeout_array_size = 2*timeout_array_size+1;    timeout = (Timeout*)realloc(timeout, timeout_array_size*sizeof(Timeout));  }  // insert-sort the new timeout:  int i;  for (i=0; i<numtimeouts; i++) {    if (timeout[i].time > t) {      for (int j=numtimeouts; j>i; j--) timeout[j] = timeout[j-1];      break;    }  }  timeout[i].time = t;  timeout[i].cb = cb;  timeout[i].arg = v;  numtimeouts++;}void Fl::remove_timeout(void (*cb)(void *), void *v) {  int i,j;  for (i=j=0; i<numtimeouts; i++) {    if (timeout[i].cb == cb && timeout[i].arg==v) ;    else {if (j<i) timeout[j]=timeout[i]; j++;}  }  numtimeouts = j;}static int call_timeouts() {  int expired = 0;  while (numtimeouts) {    if (timeout[0].time > 0) break;    // we must remove timeout from array before doing the callback:    void (*cb)(void*) = timeout[0].cb;    void *arg = timeout[0].arg;    numtimeouts--; expired++;    if (numtimeouts) memmove(timeout, timeout+1, numtimeouts*sizeof(Timeout));    // now it is safe for the callback to do add_timeout:    cb(arg);  }  return expired;}void Fl::flush() {  if (damage()) {    damage_ = 0;    for (Fl_X* x = Fl_X::first; x; x = x->next) {      if (x->w->damage() && x->w->visible_r()) {//      if (1) {	if (x->wait_for_expose) {	  // leave Fl::damage() set so programs can tell damage still exists	  	damage_ = 1;		x->wait_for_expose=0;//tanghao	} else {	  x->flush();	  x->w->clear_damage();	}      }    }  }#ifndef WIN32#ifdef NANO_X  if (fl_display)GrFlush();#else  if (fl_display) XFlush(fl_display);#endif#endif}extern double fl_wait(int timeout_flag, double timeout);extern int fl_ready();static int initclock; // if false we didn't call fl_elapsed() last time#ifndef WIN32#include <sys/time.h>#endif// fl_elapsed must return the amount of time since the last time it was// called.  To reduce the number of system calls to get the// current time, the "initclock" symbol is turned on by an indefinite// wait.  This should then reset the measured-from time and return zerostatic double fl_elapsed() {#ifdef WIN32  unsigned long newclock = GetTickCount();  const int TICKS_PER_SECOND = 1000; // divisor of the value to get seconds  static unsigned long prevclock;  if (!initclock) {prevclock = newclock; initclock = 1; return 0.0;}  else if (newclock < prevclock) return 0.0;  double t = double(newclock-prevclock)/TICKS_PER_SECOND;  prevclock = newclock;#else  static struct timeval prevclock;  struct timeval newclock;  gettimeofday(&newclock, NULL);  if (!initclock) {    prevclock.tv_sec = newclock.tv_sec;    prevclock.tv_usec = newclock.tv_usec;    initclock = 1;    return 0.0;  }  double t = newclock.tv_sec - prevclock.tv_sec +    (newclock.tv_usec - prevclock.tv_usec)/1000000.0;  prevclock.tv_sec = newclock.tv_sec;  prevclock.tv_usec = newclock.tv_usec;#endif  // expire any timeouts:  if (t > 0.0) for (int i=0; i<numtimeouts; i++) timeout[i].time -= t;  return t;}void (*Fl::idle)();static char in_idle;static void callidle() {  if (!Fl::idle || in_idle) return;  in_idle = 1;  Fl::idle();  in_idle = 0;}int Fl::wait() {  callidle();  int expired = 0;  if (numtimeouts) {fl_elapsed(); expired = call_timeouts();}  flush();  //if (!Fl_X::first) return 0; // no windows  if (!Fl_X::first) {      fl_wait(1,1);      return 0;  } else if ((idle && !in_idle) || expired) {    fl_wait(1,0.0);  } else if (numtimeouts) {    fl_wait(1, timeout[0].time);  } else {    initclock = 0;    //if (!Fl_X::first) {    //  fl_wait(1,1);    //  return 0;    //} else {      fl_wait(0,0);    //}  }  return 1;}double Fl::wait(double time) {  callidle();  int expired = 0;  if (numtimeouts) {time -= fl_elapsed(); expired = call_timeouts();}  flush();  double wait_time = (idle && !in_idle) || expired ? 0.0 : time;  if (numtimeouts && timeout[0].time < wait_time) wait_time = timeout[0].time;  fl_wait(1, wait_time);  return time - fl_elapsed();}int Fl::check() {  callidle();  if (numtimeouts) {fl_elapsed(); call_timeouts();}  fl_wait(1, 0.0);  flush();  return Fl_X::first != 0; // return true if there is a window}int Fl::ready() {  // if (idle && !in_idle) return 1; // should it do this?  if (numtimeouts) {fl_elapsed(); if (timeout[0].time <= 0) return 1;}  return fl_ready();}int Fl::run() {  while (wait());  return 0;}////////////////////////////////////////////////////////////////// Window list management:Fl_X* Fl_X::first;Fl_Window* fl_find(Window xid) {  Fl_X *window;  for (Fl_X **pp = &Fl_X::first; (window = *pp); pp = &window->next)    if (window->xid == xid) {      if (window != Fl_X::first && !Fl::modal()) {	// make this window be first to speed up searches	// this is not done if modal is true to avoid messing up modal stack	*pp = window->next;	window->next = Fl_X::first;	Fl_X::first = window;      }      return window->w;    }  return 0;}void Fl::redraw() {  for (Fl_X* x = Fl_X::first; x; x = x->next) x->w->redraw();}Fl_Window* Fl::first_window() {Fl_X* x = Fl_X::first; return x ? x->w : 0;}Fl_Window* Fl::next_window(const Fl_Window* w) {  Fl_X* x = Fl_X::i(w)->next; return x ? x->w : 0;}////////////////////////////////////////////////////////////////// Event handlers:struct handler_link {  int (*handle)(int);  const handler_link *next;};static const handler_link *handlers = 0;void Fl::add_handler(int (*h)(int)) {  handler_link *l = new handler_link;  l->handle = h;  l->next = handlers;  handlers = l;}static int send_handlers(int event) {  for (const handler_link *h = handlers; h; h = h->next)    if (h->handle(event)) return 1;  return 0;}////////////////////////////////////////////////////////////////Fl_Widget* fl_oldfocus; // kludge for Fl_Group...void Fl::focus(Fl_Widget *o) {  if (grab()) return; // don't do anything while grab is on  Fl_Widget *p = focus_;  if (o != p) {    focus_ = o;    fl_oldfocus = 0;    for (; p && !p->contains(o); p = p->parent()) {      p->handle(FL_UNFOCUS);      fl_oldfocus = p;    }  }}void Fl::belowmouse(Fl_Widget *o) {  if (grab()) return; // don't do anything while grab is on  Fl_Widget *p = belowmouse_;  if (o != p) {    event_is_click(0);    belowmouse_ = o;    for (; p && !p->contains(o); p = p->parent()) p->handle(FL_LEAVE);  }}void Fl::pushed(Fl_Widget *o) {  pushed_ = o;}Fl_Window *fl_xfocus;	// which window X thinks has focusFl_Window *fl_xmousewin;// which window X thinks has FL_ENTERFl_Window *Fl::grab_;	// most recent Fl::grab()Fl_Window *Fl::modal_;	// topmost modal() window// Update modal(), focus() and other state according to system state,// and send FL_ENTER, FL_LEAVE, FL_FOCUS, and/or FL_UNFOCUS events.// This is the only function that produces these events in response// to system activity.// This is called whenever a window is added or hidden, and whenever// X says the focus or mouse window have changed.void fl_fix_focus() {  if (Fl::grab()) return; // don't do anything while grab is on.  // set focus based on Fl::modal() and fl_xfocus  Fl_Widget* w = fl_xfocus;  if (w) {    while (w->parent()) w = w->parent();    if (Fl::modal()) w = Fl::modal();    if (!w->contains(Fl::focus()))      if (!w->take_focus()) Fl::focus(w);  } else    Fl::focus(0);  if (!Fl::pushed()) {    // set belowmouse based on Fl::modal() and fl_xmousewin:    w = fl_xmousewin;    if (w) {      if (Fl::modal()) w = Fl::modal();      if (!w->contains(Fl::belowmouse())) {	Fl::belowmouse(w);	w->handle(FL_ENTER);      } else {	// send a FL_MOVE event so the enter/leave state is up to date	Fl::e_x = Fl::e_x_root-fl_xmousewin->x();	Fl::e_y = Fl::e_y_root-fl_xmousewin->y();

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜av一区二区三区| 久久久精品黄色| 亚洲精品在线电影| 国产欧美日韩在线| 亚洲区小说区图片区qvod| 五月婷婷另类国产| 九一九一国产精品| 91理论电影在线观看| 欧美男人的天堂一二区| 久久综合99re88久久爱| 亚洲视频精选在线| 日本中文字幕一区| www.一区二区| 日韩一区二区精品| 中文字幕第一区综合| 亚洲18女电影在线观看| 国产精品88888| 欧美系列一区二区| 2017欧美狠狠色| 亚洲天堂成人网| 久久成人免费电影| 91成人国产精品| 久久久久久久电影| 午夜在线电影亚洲一区| 国产成人av一区二区三区在线 | 欧美色窝79yyyycom| 精品国产免费人成在线观看| 一区二区理论电影在线观看| 激情综合五月天| 91福利区一区二区三区| 久久久美女艺术照精彩视频福利播放| 洋洋av久久久久久久一区| 国产精品资源站在线| 欧美日韩一区二区三区四区| 国产精品午夜春色av| 视频一区视频二区在线观看| 91玉足脚交白嫩脚丫在线播放| 欧美一区二区黄| 亚洲资源中文字幕| 国产99精品国产| 日韩午夜中文字幕| 亚洲成人第一页| 一本色道**综合亚洲精品蜜桃冫| 久久亚洲一区二区三区明星换脸| 石原莉奈一区二区三区在线观看| 91丨porny丨蝌蚪视频| 久久久久9999亚洲精品| 免费高清不卡av| 欧美日韩亚洲综合一区| 亚洲免费av高清| 国产999精品久久久久久| 精品欧美乱码久久久久久1区2区| 亚洲国产成人av好男人在线观看| 91麻豆蜜桃一区二区三区| 精品sm捆绑视频| 日本网站在线观看一区二区三区 | 亚洲欧美偷拍三级| 粉嫩13p一区二区三区| 久久伊人蜜桃av一区二区| 七七婷婷婷婷精品国产| 欧美另类变人与禽xxxxx| 一个色妞综合视频在线观看| 99re免费视频精品全部| 国产精品乱码人人做人人爱| 国产91综合网| 国产欧美日韩三区| 国产成人av资源| 国产欧美一区二区精品性色超碰| 国产精品中文字幕一区二区三区| 精品久久久久久综合日本欧美| 久久99热这里只有精品| 日韩欧美一级在线播放| 热久久一区二区| 日韩欧美激情四射| 理论电影国产精品| 久久综合色婷婷| 国产精品中文欧美| 国产精品毛片久久久久久| av色综合久久天堂av综合| 亚洲天堂精品在线观看| 色综合视频在线观看| 亚洲自拍另类综合| 欧美日本在线播放| 蜜臀国产一区二区三区在线播放| 日韩精品一区二区三区四区视频| 九九视频精品免费| 久久影音资源网| 福利一区二区在线观看| 一区在线观看视频| 91福利资源站| 日韩制服丝袜先锋影音| 56国语精品自产拍在线观看| 美女在线视频一区| 精品盗摄一区二区三区| 国产精品 欧美精品| 国产欧美日韩精品一区| av午夜一区麻豆| 一区二区激情小说| 91精品国产麻豆国产自产在线| 青青草视频一区| 久久婷婷久久一区二区三区| 成人性生交大片| 亚洲三级在线看| 88在线观看91蜜桃国自产| 久久国产日韩欧美精品| 久久综合狠狠综合| 91小宝寻花一区二区三区| 午夜精品在线看| 久久夜色精品一区| 色综合色狠狠天天综合色| 亚洲国产wwwccc36天堂| www日韩大片| 91高清视频在线| 麻豆精品国产传媒mv男同| 中文字幕精品在线不卡| 欧美日本在线播放| 国产精品亚洲综合一区在线观看| 亚洲丝袜美腿综合| 日韩一区二区免费在线电影| youjizz久久| 免费人成黄页网站在线一区二区| 中文字幕av不卡| 国产精品视频yy9299一区| 91免费看视频| 久草在线在线精品观看| 亚洲黄一区二区三区| 欧美一级国产精品| 99精品视频在线免费观看| 欧美96一区二区免费视频| 国产精品区一区二区三区| 欧美福利一区二区| 成人高清伦理免费影院在线观看| 亚洲午夜精品在线| 国产精品色噜噜| 欧美一区二区三区色| 99精品视频一区二区| 久久超级碰视频| 亚洲制服丝袜一区| 久久婷婷综合激情| 欧美三级在线播放| 成人深夜视频在线观看| 偷拍日韩校园综合在线| 成人欧美一区二区三区白人| 日韩精品最新网址| 日本高清不卡视频| 成人午夜激情影院| 久久99精品久久久| 亚洲国产综合在线| 中文字幕佐山爱一区二区免费| 日韩精品一区二区三区四区 | 一区二区三区精品| 国产日韩精品久久久| 日韩一区二区精品| 欧美视频一区在线| 97久久超碰国产精品电影| 国产精品一区二区视频| 毛片av一区二区三区| 天天影视涩香欲综合网| 一区二区高清在线| 亚洲欧美在线视频观看| 久久精品人人做人人综合 | 麻豆精品视频在线观看免费| 亚洲一区二区三区精品在线| 一区二区中文视频| 国产精品视频免费看| 国产日产欧美精品一区二区三区| 欧美一级高清大全免费观看| 欧美日韩免费不卡视频一区二区三区 | 日本精品一级二级| 不卡一二三区首页| 国产91高潮流白浆在线麻豆 | 日韩欧美一二三| 91精品国产乱| 6080yy午夜一二三区久久| 欧美色网一区二区| 欧美日韩一区二区欧美激情| 在线免费av一区| 色综合久久久久久久久| 成人a免费在线看| 不卡的看片网站| 99久久国产综合精品色伊| 97久久精品人人澡人人爽| 99久久精品99国产精品| www.日韩av| 色偷偷成人一区二区三区91| 一本久久a久久免费精品不卡| 9l国产精品久久久久麻豆| eeuss鲁一区二区三区| 99久久国产综合精品女不卡| 一本色道**综合亚洲精品蜜桃冫| 91福利在线观看| 欧美丰满嫩嫩电影| 欧美一级黄色大片| 日韩精品一区二区三区中文不卡 | 国产精品一区二区在线观看不卡 | 久久九九久精品国产免费直播| 亚洲激情图片qvod| 亚洲一卡二卡三卡四卡无卡久久| 一区二区三区鲁丝不卡| 天天色天天操综合|