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

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

?? fl_font.cxx

?? flnx 0.17 是做嵌入linux gui 必備工具箱
?? CXX
?? 第 1 頁 / 共 2 頁
字號:
//// "$Id: fl_font.cxx,v 1.1.1.1 2003/08/07 21:18:41 jasonk Exp $"//// Font selection 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 GNULibrary 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".//// Select fonts from the fltk font table.#ifdef WIN32#include "fl_font_win32.cxx"#else#include <config.h>#include <FL/Fl.H>#include <FL/fl_draw.H>#include <FL/x.H>#include "Fl_Font.H"#include <ctype.h>#include <stdlib.h>#include <string.h>#include <stdio.h>#ifdef NANO_X/* Define a class here for the font cache */#define WIDTH_CACHE_SIZE 20typedef struct{    GR_FONT_ID fontid;    GR_FONT_INFO fi;    int age;    unsigned char widths[256];}width_cache_struct;class font_cache{  private:    width_cache_struct * cache[WIDTH_CACHE_SIZE];  public:    width_cache_struct * check_cache(GR_FONT_ID curfont)    {	/* For the moment, we index the cache with the font ID */	int n;	for (n = 0; n < WIDTH_CACHE_SIZE; n++)	{	    if (cache[n]) {		if (cache[n]->fontid == curfont) {		    cache[n]->age = 0;		    return (cache[n]);		}		cache[n]->age++;	    }	}	return ((width_cache_struct *) 0);    }    void add_cache(GR_FONT_ID curfont, unsigned char *widths,		   GR_FONT_INFO * fi)    {	int n;	int oldest = -1;	for (n = 0; n < WIDTH_CACHE_SIZE; n++) {	    if (!cache[n]) {		cache[n] =		    (width_cache_struct *) malloc(sizeof(width_cache_struct));		if (!cache[n])		    return;		cache[n]->fontid = curfont;		cache[n]->age = 0;		bcopy(widths, cache[n]->widths, 256);		memcpy(&cache[n]->fi, fi, sizeof(GR_FONT_INFO));		return;	    } else {		if (oldest != -1) {		    if (cache[n]->age > cache[oldest]->age)			oldest = n;		} else		    oldest = n;	    }	}	if (oldest == -1)	    return;	bzero(cache[oldest], sizeof(width_cache_struct));	cache[oldest]->fontid = curfont;	cache[oldest]->age = 0;	bcopy(widths, cache[oldest]->widths, 256);	return;    }    font_cache() {	int n;	for (n = 0; n < WIDTH_CACHE_SIZE; n++)	    cache[n] = (width_cache_struct *) 0;    }    ~font_cache() {	int n;	for (n = 0; n < WIDTH_CACHE_SIZE; n++)	    if (cache[n])		free(cache[n]);    }};font_cache width_cache;#endif// size is not used unless we're nano-X and then it size defaults to 16// if TTF we'll resize it laterFl_FontSize::Fl_FontSize(const char *name, int size){#ifdef NANO_X    isTTF = false;    next = 0;			// it can't be in a list yet    font = GrCreateFont((GR_CHAR *) name, size, NULL);    // need to determine whether the font is TrueType    // GrGetFontInfo() needs a way to indicate that    // so this is a bit of a hack; are all TTF fonts in .ttf files?    if (font) {	if (strstr(name, ".ttf")) {	    minsize = size;	    maxsize = size;	// TTF fonts always scale	    isTTF = true;	} else {	    minsize = size;	    maxsize = size;	// not true type always scale	}    } else {	Fl::warning("bad font: %s, using a builtin", name);//      font = GrCreateFont("HZKFONT", 16, NULL);	font = GrCreateFont((GR_CHAR *) "fonts/simfang.ttf", 16, NULL);	if (!font)	    font = GrCreateFont((GR_CHAR *) GR_FONT_GUI_VAR, 0, NULL);    }#else    font = XLoadQueryFont(fl_display, name);    if (!font) {	Fl::warning("bad font: %s", name);	font = XLoadQueryFont(fl_display, "fixed");	// if fixed fails we crash    }#endif#if HAVE_GL    listbase = 0;#endif}Fl_FontSize *fl_fontsize;#ifdef NANOX// attempts to resize the font in microwindowsvoidFl_FontSize::Resize(int size){    GrSetFontSize(font, size);}#endifFl_FontSize::~Fl_FontSize(){#if HAVE_GL// Delete list created by gl_draw().  This is not done by this code// as it will link in GL unnecessarily.  There should be some kind// of "free" routine pointer, or a subclass?// if (listbase) {//  int base = font->min_char_or_byte2;//  int size = font->max_char_or_byte2-base+1;//  int base = 0; int size = 256;//  glDeleteLists(listbase+base,size);// }#endif    if (this == fl_fontsize)	fl_fontsize = 0;#ifdef NANO_X    if (font)	GrDestroyFont(font);#else    XFreeFont(fl_display, font);#endif}////////////////////////////////////////////////////////////////#ifdef NANO_X/* JHC - Major hack! */#ifdef PDAstatic Fl_Fontdesc built_in_table[] = {    {GR_FONT_GUI_VAR},    {GR_FONT_GUI_VAR},    {GR_FONT_GUI_VAR},    {GR_FONT_GUI_VAR},    {GR_FONT_SYSTEM_FIXED},    {GR_FONT_SYSTEM_FIXED},    {GR_FONT_SYSTEM_FIXED},    {GR_FONT_SYSTEM_FIXED},    {GR_FONT_GUI_VAR},    {GR_FONT_GUI_VAR},    {GR_FONT_GUI_VAR},    {GR_FONT_GUI_VAR},    {GR_FONT_OEM_FIXED},    {GR_FONT_SYSTEM_FIXED},    {GR_FONT_SYSTEM_FIXED},    {"pda3x6.fnt"}};#else// WARNING: if you add to this table, you must redefine FL_FREE_FONT// in Enumerations.H & recompile!!static Fl_Fontdesc built_in_table[] = {    {"/usr/local/microwin/fonts/arial.ttf"},    {"/usr/local/microwin/fonts/arialb.ttf"},    {"/usr/local/microwin/fonts/ariali.ttf"},    {"/usr/local/microwin/fonts/arialz.ttf"},    {"/usr/local/microwin/fonts/cour.ttf"},    {"/usr/local/microwin/fonts/courb.ttf"},    {"/usr/local/microwin/fonts/couri.ttf"},    {"/usr/local/microwin/fonts/courz.ttf"},    {"/usr/local/microwin/fonts/times.ttf"},    {"/usr/local/microwin/fonts/timesb.ttf"},    {"/usr/local/microwin/fonts/timesi.ttf"},    {"/usr/local/microwin/fonts/timesz.ttf"},    {"/usr/local/microwin/fonts/impact.ttf"},    {"/usr/local/microwin/fonts/comic.ttf"},    {"/usr/local/microwin/fonts/comicbd.ttf"},    {"Terminal"}    /*       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"},       {"HZKFONT"}     */};#endif /* PDA */#else// WARNING: if you add to this table, you must redefine FL_FREE_FONT// in Enumerations.H & recompile!!static Fl_Fontdesc built_in_table[] = {    {"-*-helvetica-medium-r-normal--*"},    {"-*-helvetica-bold-r-normal--*"},    {"-*-helvetica-medium-o-normal--*"},    {"-*-helvetica-bold-o-normal--*"},    {"-*-courier-medium-r-normal--*"},    {"-*-courier-bold-r-normal--*"},    {"-*-courier-medium-o-normal--*"},    {"-*-courier-bold-o-normal--*"},    {"-*-times-medium-r-normal--*"},    {"-*-times-bold-r-normal--*"},    {"-*-times-medium-i-normal--*"},    {"-*-times-bold-i-normal--*"},    {"-*-symbol-*"},    {"-*-lucidatypewriter-medium-r-normal-sans-*"},    {"-*-lucidatypewriter-bold-r-normal-sans-*"},    {"-*-*zapf dingbats-*"}};#endifFl_Fontdesc *fl_fonts = built_in_table;#define MAXSIZE 32767// return dash number N, or pointer to ending null if none:const char *fl_font_word(const char *p, int n){    while (*p) {	if (*p == '-') {	    if (!--n)		break;	}	p++;    }    return p;}// return a pointer to a number we think is "point size":char *fl_find_fontsize(char *name){    char *c = name;    // for standard x font names, try after 7th dash:    if (*c == '-') {	c = (char *) fl_font_word(c, 7);	if (*c++ && isdigit(*c))	    return c;	return 0;		// malformed x font name?    }    char *r = 0;    // find last set of digits:    for (c++; *c; c++)	if (isdigit(*c) && !isdigit(*(c - 1)))	    r = c;    return r;}const char *fl_encoding = "iso8859-1";// return true if this matches fl_encoding:intfl_correct_encoding(const char *name){    if (*name != '-')	return 0;    const char *c = fl_font_word(name, 13);    return (*c++ && !strcmp(c, fl_encoding));}#ifdef NANO_X// font choosers - if the fonts change in built_in_table, // these and the enum in Fl/Enumerations.H will have to changeinline boolIsBold(int fnum){    switch (fnum) {    case FL_HELVETICA_BOLD:    case FL_HELVETICA_BOLD_ITALIC:    case FL_COURIER_BOLD:    case FL_COURIER_BOLD_ITALIC:	return true;    default:	return false;    }}inline boolIsItalic(int fnum){    switch (fnum) {    case FL_HELVETICA_ITALIC:    case FL_HELVETICA_BOLD_ITALIC:    case FL_COURIER_ITALIC:    case FL_COURIER_BOLD_ITALIC:	return true;    default:	return false;    }}#endif // NANO-X

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区日韩 | 久久久欧美精品sm网站| 久久精品国产99国产精品| 国产精品久久久久久久久免费桃花 | 欧美成人一区二区| 欧美伊人久久久久久午夜久久久久| 婷婷综合久久一区二区三区| 亚洲欧美日韩国产手机在线| 欧美精品一区二区高清在线观看| 欧美日韩国产美| 美美哒免费高清在线观看视频一区二区 | 日本不卡高清视频| 成年人国产精品| 精品无人码麻豆乱码1区2区| 蜜臀av在线播放一区二区三区| 亚洲1区2区3区视频| 亚洲一区二区美女| 麻豆精品久久精品色综合| 麻豆国产精品一区二区三区 | 性感美女极品91精品| 一区二区三区四区蜜桃 | 成人av在线一区二区三区| 成人一区二区三区在线观看 | 色天天综合色天天久久| 国产精品久久久久影院老司| 国产精品一区专区| 久久一区二区三区四区| 激情综合色播五月| 日韩一级片网站| 日本三级亚洲精品| 欧美一区二区三区电影| 亚洲二区在线观看| 在线免费av一区| 亚洲乱码日产精品bd| 色综合久久久久久久久| 亚洲日本青草视频在线怡红院| 99精品国产热久久91蜜凸| 亚洲欧洲在线观看av| 一本到不卡免费一区二区| 亚洲天堂精品视频| 在线免费观看一区| 亚洲v精品v日韩v欧美v专区| 91精品国产一区二区三区| 美女爽到高潮91| 久久久欧美精品sm网站| 成人免费视频免费观看| 国产欧美日韩亚州综合| 成人av免费在线观看| 亚洲理论在线观看| 欧美日韩亚洲综合在线| 捆绑变态av一区二区三区| 久久色.com| 国产一区二区福利视频| 久久无码av三级| 国产精品自拍在线| 久久综合精品国产一区二区三区 | 高潮精品一区videoshd| 久久精品亚洲乱码伦伦中文| 国产精品白丝av| 中文字幕制服丝袜一区二区三区| 91蜜桃在线免费视频| 粉嫩一区二区三区在线看| 欧美日韩黄视频| 久久国产精品一区二区| 国产精品美女久久久久av爽李琼| 91高清视频在线| 蜜臀av亚洲一区中文字幕| 中文天堂在线一区| 在线播放一区二区三区| 成人午夜在线播放| 日韩制服丝袜先锋影音| 国产精品色在线| 欧美绝品在线观看成人午夜影视| 国产自产v一区二区三区c| 亚洲四区在线观看| 精品av综合导航| 欧美伊人久久久久久久久影院| 国产一区三区三区| 午夜欧美2019年伦理| 国产亚洲欧美激情| 91麻豆精品国产91久久久久| 成人午夜视频免费看| 免费xxxx性欧美18vr| 亚洲人成7777| 久久一区二区三区四区| 在线观看91精品国产入口| 国产精品亚洲综合一区在线观看| 午夜免费欧美电影| 中文一区在线播放| 欧美日韩在线播| 国产美女在线观看一区| 亚洲天堂网中文字| 丁香网亚洲国际| 亚洲一区二区欧美日韩| 国产日韩欧美亚洲| 色中色一区二区| 韩国女主播成人在线| 亚洲午夜久久久| 中文字幕五月欧美| 国产欧美一区二区精品忘忧草 | 精品三级av在线| 欧美日韩精品免费| 欧美在线色视频| 99国产精品久久| 懂色av噜噜一区二区三区av| 国产综合色在线视频区| 日本三级亚洲精品| 男女性色大片免费观看一区二区 | 欧美日韩成人激情| 在线免费观看视频一区| 一本到高清视频免费精品| av午夜一区麻豆| 成人一区二区视频| 国产 日韩 欧美大片| 成人免费av资源| www.视频一区| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲免费观看高清完整版在线观看 | 国产午夜精品久久久久久久| 欧美videossexotv100| 日韩欧美在线观看一区二区三区| 欧美精品视频www在线观看| 欧美区一区二区三区| 日韩午夜精品视频| 久久久久久久精| 国产精品每日更新在线播放网址| 亚洲国产高清在线观看视频| 亚洲视频电影在线| 一区二区欧美国产| 日韩激情视频网站| 激情久久五月天| 成人免费观看男女羞羞视频| 99re热这里只有精品视频| 欧美在线观看视频一区二区三区| 欧美三级电影在线看| 日韩欧美久久久| 久久久av毛片精品| 亚洲欧洲韩国日本视频| 亚洲成人免费影院| 91久久一区二区| 日韩精品中午字幕| 国产精品区一区二区三| 亚洲国产精品久久一线不卡| 美女爽到高潮91| 成人18视频日本| 欧美高清视频www夜色资源网| 日韩精品一区在线| **性色生活片久久毛片| 视频一区二区国产| 国产成人精品影视| 久久综合av免费| 国产精品国产三级国产aⅴ中文| 亚洲综合一区二区三区| 国产一区亚洲一区| 在线观看国产91| 国产三级精品三级| 亚洲丰满少妇videoshd| 国产乱色国产精品免费视频| 色综合久久天天综合网| 欧美一级高清片在线观看| 亚洲欧洲成人av每日更新| 卡一卡二国产精品| 在线免费不卡视频| 欧美国产视频在线| 麻豆国产欧美日韩综合精品二区| av电影天堂一区二区在线观看| 91精品国产高清一区二区三区蜜臀| 国产人久久人人人人爽| 日韩电影在线观看网站| 99久久精品一区二区| 精品人在线二区三区| 午夜av一区二区三区| 91麻豆高清视频| 久久久五月婷婷| 免费人成在线不卡| 在线精品视频免费播放| 国产精品久久久久四虎| 美女视频网站久久| 欧美日韩成人激情| 一区二区三区精品在线| 99久久国产综合色|国产精品| 欧美精品一区二区三区四区| 视频精品一区二区| 在线观看日韩毛片| 亚洲视频小说图片| 高清不卡在线观看| 久久久久九九视频| 国产一区二区三区不卡在线观看| 91精品国产综合久久久久| 午夜精品福利一区二区蜜股av| 色综合网色综合| 亚洲同性gay激情无套| 国产suv一区二区三区88区| 欧美r级在线观看| 麻豆成人久久精品二区三区红| 717成人午夜免费福利电影| 亚洲一区二区美女| 欧美日韩一区二区三区不卡| 亚洲欧美乱综合| 亚洲主播在线播放|