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

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

?? fl_menu_.cxx

?? flnx 0.17 是做嵌入linux gui 必備工具箱
?? CXX
字號:
//// "$Id: Fl_Menu_.cxx,v 1.1.1.1 2003/08/07 21:18:40 jasonk Exp $"//// Common menu 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".//// This is a base class for all items that have a menu://	Fl_Menu_Bar, Fl_Menu_Button, Fl_Choice// This provides storage for a menu item, functions to add/modify/delete// items, and a call for when the user picks a menu item.// More code in Fl_Menu_add.C#include <FL/Fl.H>#include <FL/Fl_Menu_.H>#include <string.h>#include <stdio.h>#include <stdlib.h>int Fl_Menu_::value(const Fl_Menu_Item* m) {  clear_changed();  if (value_ != m) {value_ = m; return 1;}  return 0;}// When user picks a menu item, call this.  It will do the callback.// Unfortunatly this also casts away const for the checkboxes, but this// was necessary so non-checkbox menus can really be declared const...const Fl_Menu_Item* Fl_Menu_::picked(const Fl_Menu_Item* v) {  if (v) {    if (v->radio()) {      if (!v->value()) { // they are turning on a radio item	set_changed();	((Fl_Menu_Item*)v)->setonly();      }      redraw();    } else if (v->flags & FL_MENU_TOGGLE) {      set_changed();      ((Fl_Menu_Item*)v)->flags ^= FL_MENU_VALUE;      redraw();    } else if (v != value_) { // normal item      set_changed();    }    value_ = v;    if (when()&(FL_WHEN_CHANGED|FL_WHEN_RELEASE)) {      if (changed() || when()&FL_WHEN_NOT_CHANGED) {	clear_changed();	if (value_ && value_->callback_) value_->do_callback((Fl_Widget*)this);	else do_callback();      }    }  }  return v;}// turn on one of a set of radio buttonsvoid Fl_Menu_Item::setonly() {  flags |= FL_MENU_RADIO | FL_MENU_VALUE;  Fl_Menu_Item* j;  for (j = this; ; ) {	// go down    if (j->flags & FL_MENU_DIVIDER) break; // stop on divider lines    j++;    if (!j->text || !j->radio()) break; // stop after group    j->clear();  }  for (j = this-1; ; j--) { // go up    if (!j->text || (j->flags&FL_MENU_DIVIDER) || !j->radio()) break;    j->clear();  }}Fl_Menu_::Fl_Menu_(int X,int Y,int W,int H,const char* l): Fl_Widget(X,Y,W,H,l) {  set_flag(SHORTCUT_LABEL);  box(FL_UP_BOX);  when(FL_WHEN_RELEASE_ALWAYS);  value_ = menu_ = 0;  alloc = 0;  selection_color(FL_SELECTION_COLOR);  textfont(FL_HELVETICA);  textsize(FL_NORMAL_SIZE);  textcolor(FL_BLACK);  down_box(FL_NO_BOX);}int Fl_Menu_::size() const {  if (!menu_) return 0;  return menu_->size();}void Fl_Menu_::menu(const Fl_Menu_Item* m) {  clear();  value_ = menu_ = (Fl_Menu_Item*)m;}#if 1// this version is ok with new Fl_Menu_add code with fl_menu_array_owner:void Fl_Menu_::copy(const Fl_Menu_Item* m, void* user_data) {  int n = m->size();  Fl_Menu_Item* newMenu = new Fl_Menu_Item[n];  memcpy(newMenu, m, n*sizeof(Fl_Menu_Item));  menu(newMenu);  alloc = 1; // make destructor free array, but not strings  // for convienence, provide way to change all the user data pointers:  if (user_data) for (; n--;) {    if (newMenu->callback_) newMenu->user_data_ = user_data;    newMenu++;  }}#else// This is Guillaume Nodet's fixed version for the older Fl_Menu_add// that enlarged the array at powers of 2:void Fl_Menu_::copy(const Fl_Menu_Item* m, void* user_data) {  int i, s = m->size(), n=s;  for (i=0; n; n>>=1, i++);  n = 1 << i;  Fl_Menu_Item* newMenu = new Fl_Menu_Item[n];  memcpy(newMenu, m, s*sizeof(Fl_Menu_Item));  memset(newMenu+s, 0, (n-s)*sizeof(Fl_Menu_Item));  menu(newMenu);  alloc = 1; // make destructor free it  // for convienence, provide way to change all the user data pointers:  if (user_data) for (; s--;) {    if (newMenu->callback_) newMenu->user_data_ = user_data;    newMenu++;  }}#endifFl_Menu_::~Fl_Menu_() {  clear();}// Fl_Menu::add() uses this to indicate the owner of the dynamically-// expanding array.  We must not free this array:Fl_Menu_* fl_menu_array_owner = 0;void Fl_Menu_::clear() {  if (alloc) {    if (alloc>1) for (int i = size(); i--;)      if (menu_[i].text) free((void*)menu_[i].text);    if (this == fl_menu_array_owner)      fl_menu_array_owner = 0;    else      delete[] menu_;    menu_ = 0;    value_ = 0;    alloc = 0;  }}//// End of "$Id: Fl_Menu_.cxx,v 1.1.1.1 2003/08/07 21:18:40 jasonk Exp $".//

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本免费新一区视频| 99r国产精品| 成人精品视频一区二区三区| 欧美中文字幕一区二区三区| 欧美v国产在线一区二区三区| 国产精品美女久久久久aⅴ国产馆| 亚洲与欧洲av电影| 成人精品免费视频| 日韩欧美www| 亚洲成人自拍网| 色先锋久久av资源部| 久久人人爽爽爽人久久久| 五月婷婷激情综合网| 91丨国产丨九色丨pron| 久久久精品tv| 国产综合色在线| 欧美大片免费久久精品三p| 亚洲综合无码一区二区| 99久久婷婷国产| 国产午夜精品一区二区三区嫩草| 偷拍日韩校园综合在线| 91福利视频网站| 中文字幕av不卡| 国产成人无遮挡在线视频| 精品久久人人做人人爽| 久久99精品国产.久久久久 | 欧美一级视频精品观看| 亚洲黄色小视频| 在线精品视频一区二区三四| 中文字幕亚洲在| 91在线丨porny丨国产| 日本一区二区三区电影| 国内精品伊人久久久久影院对白| 欧美成人官网二区| 激情五月婷婷综合网| 久久麻豆一区二区| 精品一区二区在线观看| 精品国产91洋老外米糕| 国内精品视频一区二区三区八戒| 日韩欧美在线观看一区二区三区| 秋霞电影一区二区| 日韩精品在线看片z| 九九久久精品视频| 久久久精品影视| 91一区一区三区| 一区二区三区中文在线| 欧美日韩美少妇| 久久精品久久99精品久久| 精品久久久久久久久久久久久久久久久 | 欧美一区二区三区喷汁尤物| 久久精品噜噜噜成人av农村| www成人在线观看| 成人午夜视频在线| 亚洲综合色婷婷| 欧美精品tushy高清| 亚洲高清一区二区三区| 日韩欧美一区二区三区在线| 国产福利视频一区二区三区| 亚洲三级电影全部在线观看高清| 欧美性xxxxx极品少妇| 美女精品自拍一二三四| 国产精品丝袜91| 欧美男男青年gay1069videost| 美女高潮久久久| 国产精品美女视频| 欧美日韩免费视频| 国产精品自产自拍| 亚洲一区在线观看免费观看电影高清 | av高清久久久| 人人狠狠综合久久亚洲| 国产精品传媒在线| 91精品福利在线一区二区三区| 国产在线精品不卡| 一区二区三区电影在线播| 精品国产网站在线观看| 色嗨嗨av一区二区三区| 国产做a爰片久久毛片| 一区二区三区欧美日韩| 2021中文字幕一区亚洲| 在线精品视频一区二区三四| 国产乱码精品一区二区三区忘忧草| 夜夜亚洲天天久久| 国产免费观看久久| 538在线一区二区精品国产| www.综合网.com| 精品一二三四区| 日韩精品一级二级 | 欧美伊人久久大香线蕉综合69 | 午夜电影网一区| 日韩毛片视频在线看| 久久久久99精品一区| 欧美久久久久久久久中文字幕| 成人涩涩免费视频| 麻豆成人久久精品二区三区红 | 国产精品福利影院| 精品日产卡一卡二卡麻豆| 91成人免费电影| 成人97人人超碰人人99| 国产精品自在在线| 麻豆精品久久久| 丝袜美腿亚洲综合| 亚洲国产精品一区二区www在线 | 日韩精品午夜视频| 亚洲国产精品一区二区尤物区| 亚洲人成网站在线| 最新国产成人在线观看| 国产精品久久一级| 国产精品久久久久久亚洲伦| 久久久91精品国产一区二区三区| 欧美刺激午夜性久久久久久久 | 在线精品视频小说1| 色综合色狠狠综合色| 波波电影院一区二区三区| 国产很黄免费观看久久| 国产jizzjizz一区二区| 成人黄色片在线观看| 不卡的av电影在线观看| 99久久精品免费| 91片在线免费观看| 欧洲一区在线电影| 欧美日韩在线观看一区二区| 精品视频一区 二区 三区| 欧美三片在线视频观看 | 久久久精品综合| 中文文精品字幕一区二区| 国产精品美女久久久久久久网站| 国产精品麻豆99久久久久久| 国产精品久久久久aaaa| 1024精品合集| 亚洲综合久久av| 日韩不卡手机在线v区| 国产伦理精品不卡| 成人午夜看片网址| 欧美综合一区二区| 91精品国产乱| 国产日韩欧美制服另类| 亚洲人成在线播放网站岛国| 亚洲国产精品久久人人爱蜜臀 | 久久午夜羞羞影院免费观看| 久久亚洲免费视频| 亚洲柠檬福利资源导航| 香蕉久久夜色精品国产使用方法| 精品一区二区在线免费观看| 本田岬高潮一区二区三区| 欧美做爰猛烈大尺度电影无法无天| 欧美日本一道本在线视频| 久久亚洲捆绑美女| 亚洲一区在线免费观看| 国产综合一区二区| 91精品91久久久中77777| 欧美一区二区三区免费观看视频| 久久综合资源网| 一区二区三区中文免费| 黄色小说综合网站| 色综合久久六月婷婷中文字幕| 欧美一级夜夜爽| 亚洲免费在线电影| 国产在线观看免费一区| 欧美视频一区在线| 久久综合久久久久88| 亚洲资源中文字幕| 国产成人自拍高清视频在线免费播放| 欧美亚洲精品一区| 国产日本一区二区| 美国一区二区三区在线播放| 99久久er热在这里只有精品15| 欧美一级黄色大片| 亚洲综合一区二区三区| 丁香五精品蜜臀久久久久99网站 | 国产欧美一区视频| 日日摸夜夜添夜夜添国产精品| caoporn国产精品| 精品久久一区二区| 日韩国产精品久久| 欧美专区在线观看一区| 国产精品久线在线观看| 国产美女视频一区| 精品国产乱码久久久久久牛牛| 一区二区三区.www| 99久久国产免费看| 国产精品久久夜| 国产精品1024| 国产性色一区二区| 久久97超碰国产精品超碰| 欧美美女激情18p| 亚洲一区免费视频| 欧美性色黄大片| 亚洲激情六月丁香| 91成人免费电影| 一区二区三区欧美日| 色哟哟一区二区| 一区二区三区.www| 欧美伊人精品成人久久综合97| 亚洲欧美日韩综合aⅴ视频| 色综合久久中文综合久久97| 国产精品网站在线| 99精品视频在线观看| 亚洲色图色小说| 色久综合一二码| 亚洲精品欧美专区|