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

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

?? common.h

?? Linux環(huán)境下手寫輸入程序。手寫輸入
?? H
字號:
/*cellwriter -- a character recognition input methodCopyright (C) 2007 Michael Levin <risujin@risujin.org>This program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.*/#include <gtk/gtk.h>#include <math.h>/*        Limits*/#define HISTORY_MAX 8#define KEYBOARD_SIZE_MIN 480/*        Single instance protection*/typedef void (*SingleInstanceFunc)(const char *msg);int single_instance_init(SingleInstanceFunc callback, const char *str);void single_instance_cleanup(void);/*        Unicode blocks*/typedef struct {        short enabled;        const int start, end;        const char *name;} UnicodeBlock;extern UnicodeBlock unicode_blocks[];/*        Profile*/extern int profile_line, profile_read_only;const char *profile_read(void);int profile_write(const char *str);int profile_sync_int(int *var);int profile_sync_short(short *var);/*        Window*/enum {        WINDOW_UNDOCKED = 0,        WINDOW_DOCKED_TOP,        WINDOW_DOCKED_BOTTOM,};extern GtkWidget *window;extern GtkTooltips *tooltips;extern int window_force_show, window_force_hide, window_force_x, window_force_y,           window_force_docked, window_struts,           window_embedded, window_button_labels, window_show_info,           window_docked, style_colors;void window_create(void);void window_sync(void);void window_cleanup(void);void window_show(void);void window_hide(void);void window_toggle(void);void window_pack(void);void window_update_colors(void);void window_set_docked(int mode);void unicode_block_toggle(int block, int on);void blocks_sync(void);void startup_splash_show(void);/*        GTK/GDK/Glib specific*//* Multiply to convert RGB to GDK color */#define COLOR_SCALE 256/* Constants may not have been defined if GLib is not included */#ifndef TRUE#define TRUE 1#endif#ifndef FALSE#define FALSE 0#endif#ifndef NULL#define NULL ((void*)0)#endif/* A macro used to initialize GdkColor with RGB values */#define RGB_TO_GDKCOLOR(r, g, b) {0, (r) * 256, (g) * 256, (b) * 256 }static inline void cairo_set_source_gdk_color(cairo_t *cairo,                                              const GdkColor *color,                                              double alpha)/* Set the cairo source color from a GdkColor */{        cairo_set_source_rgba(cairo, color->red / 65535.,                                     color->green / 65535.,                                     color->blue / 65535., alpha);}static inline void cairo_pattern_add_gdk_color_stop(cairo_pattern_t *pattern,                                                    double offset,                                                    GdkColor *color,                                                    double alpha)/* Add a GdkColor color stop to a cairo pattern */{        cairo_pattern_add_color_stop_rgba(pattern, offset,                                          color->red / 65535.,                                          color->green / 65535.,                                          color->blue / 65535., alpha);}static inline int gdk_colors_equal(GdkColor *a, GdkColor *b)/* Check if two GdkColor structures are equal */{        return a->red == b->red && a->green == b->green && a->blue == b->blue;}void highlight_gdk_color(const GdkColor *base, GdkColor *out, double value);void scale_gdk_color(const GdkColor *base, GdkColor *out, double value);void shade_gdk_color(const GdkColor *base, GdkColor *out, double value);void gdk_color_to_hsl(const GdkColor *src,                      double *hue, double *sat, double *lit);void hsl_to_gdk_color(GdkColor *src, double hue, double sat, double lit);/*        Error logging and variable argument parsing*//* Function traces */#define LOG_LEVEL_TRACE (G_LOG_LEVEL_DEBUG << 1)#define trace(...) trace_full(__FILE__, __FUNCTION__, __VA_ARGS__)/* Log detail level */extern int log_level;#ifdef _EFISTDARG_H_char *nvav(int *plen, const char *format, va_list va);#endifchar *nva(int *length, const char *format, ...);char *va(const char *format, ...);void log_errno(const char *message);void log_print(const char *format, ...);void trace_full(const char *file, const char *func, const char *fmt, ...);/*        Angles*//* Size of the ANGLE data type in bytes */#define ANGLE_SIZE 2#if (ANGLE_SIZE == 4)/* High-precision angle type */typedef int ANGLE;#define ANGLE_PI 2147483648#elif (ANGLE_SIZE == 2)/* Medium-precision angle type */typedef short ANGLE;#define ANGLE_PI 32768#else/* Low-precision angle type */typedef signed char ANGLE;#define ANGLE_PI 128#endif/*        2D Vector*/typedef struct Vec2 {	float x, y;} Vec2;static inline void vec2_set(Vec2 *dest, float x, float y){	dest->x = x;	dest->y = y;}#define vec2_from_coords vec2_setstatic inline void vec2_copy(Vec2 *dest, const Vec2 *src){	dest->x = src->x;	dest->y = src->y;}static inline void vec2_sub(Vec2 *dest, const Vec2 *a, const Vec2 *b){	dest->x = a->x - b->x;	dest->y = a->y - b->y;}static inline void vec2_sum(Vec2 *dest, const Vec2 *a, const Vec2 *b){	dest->x = a->x + b->x;	dest->y = a->y + b->y;}static inline float vec2_dot(const Vec2 *a, const Vec2 *b){	return a->x * b->x + a->y * b->y;}static inline float vec2_cross(const Vec2 *a, const Vec2 *b){	return a->y * b->x - b->y * a->x;}static inline void vec2_scale(Vec2 *dest, const Vec2 *src, float scale){	dest->x = src->x * scale;	dest->y = src->y * scale;}static inline void vec2_avg(Vec2 *dest, const Vec2 *a, const Vec2 *b,			    float scale){	dest->x = a->x + (b->x - a->x) * scale;	dest->y = a->y + (b->y - a->y) * scale;}static inline float vec2_square(const Vec2 *src){        return src->x * src->x + src->y * src->y;}static inline float vec2_mag(const Vec2 *src){	return sqrt(src->x * src->x + src->y * src->y);}static inline ANGLE vec2_angle(const Vec2 *src){	return (ANGLE)(atan2f(src->y, src->x) * ANGLE_PI / M_PI + 0.5f);}static inline float vec2_norm(Vec2 *dest, const Vec2 *a){	float mag = vec2_mag(a);	dest->x = a->x / mag;	dest->y = a->y / mag;	return mag;}static inline void vec2_proj(Vec2 *dest, const Vec2 *a, const Vec2 *b){	float dist = vec2_dot(a, b), mag = vec2_mag(b), mag2 = mag * mag;	dest->x = dist * b->x / mag2;	dest->y = dist * b->y / mag2;}static inline void vec2_from_angle(Vec2 *dest, ANGLE angle, float mag){	dest->y = sinf(angle * M_PI / ANGLE_PI) * mag;	dest->x = cosf(angle * M_PI / ANGLE_PI) * mag;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一卡二卡三卡国产欧美| 韩日av一区二区| 国产精品成人一区二区艾草| 中文字幕乱码一区二区免费| 亚洲色图制服诱惑| 日韩在线一区二区| 国产精品1区二区.| 欧美日韩专区在线| 久久久精品国产免大香伊| 亚洲色图在线播放| 91高清视频在线| 久久精品欧美一区二区三区麻豆| 亚洲一区二区三区激情| 国产一区二区在线观看视频| 欧美午夜一区二区三区| 欧美国产欧美综合| 色妹子一区二区| 久久夜色精品国产欧美乱极品| 亚洲日穴在线视频| 在线不卡中文字幕播放| 国产精品乱码久久久久久| 另类专区欧美蜜桃臀第一页| 色狠狠综合天天综合综合| 日欧美一区二区| 久久久久久久久伊人| 色综合天天综合给合国产| 精品美女一区二区三区| 视频一区二区三区中文字幕| 久久综合久久综合久久综合| 97久久精品人人爽人人爽蜜臀| 精品国产不卡一区二区三区| 亚洲www啪成人一区二区麻豆| av在线这里只有精品| 国产精品第一页第二页第三页 | 一区二区三区在线影院| 国产风韵犹存在线视精品| 日韩一区二区在线播放| 成人av动漫网站| 亚洲欧美综合色| 99久久99久久免费精品蜜臀| 日韩av一二三| 欧美成人video| 91精彩视频在线观看| 国产毛片精品视频| 日韩经典一区二区| 亚洲欧洲综合另类| 欧美性猛交一区二区三区精品| 国产在线乱码一区二区三区| 亚洲大片免费看| 亚洲视频 欧洲视频| 久久亚洲综合色一区二区三区| 欧美系列在线观看| 99久久精品费精品国产一区二区| 久久99精品视频| 国产精品天美传媒| 久久综合色鬼综合色| 欧美另类久久久品| 91美女片黄在线观看| 亚洲一区二区三区视频在线 | 亚洲另类在线视频| 成人免费视频一区二区| 一区二区欧美视频| 国产精品久久久久久久第一福利| 欧美成人精品1314www| 欧美日韩亚洲丝袜制服| 一本大道综合伊人精品热热| 国产成人免费网站| 国产在线日韩欧美| 国模少妇一区二区三区| 久久精品国产99国产| 日本在线观看不卡视频| 亚洲国产美国国产综合一区二区| 欧美videos中文字幕| 91精品国产欧美一区二区18| 国产一区二区三区免费播放| 日本不卡视频在线| 亚洲日本在线视频观看| 亚洲视频一区在线观看| 自拍av一区二区三区| 中文字幕色av一区二区三区| 亚洲国产高清aⅴ视频| 中文字幕不卡的av| 中文字幕一区二区不卡| 一区在线观看免费| 亚洲免费观看视频| 亚洲mv在线观看| 麻豆freexxxx性91精品| 日本一区二区三区国色天香| 99久久久久久99| 在线观看国产91| 毛片av一区二区三区| 九九九久久久精品| 成人免费视频caoporn| 99riav一区二区三区| 色婷婷精品久久二区二区蜜臀av| 欧美性三三影院| 欧美三级日韩三级国产三级| 日韩片之四级片| 26uuu精品一区二区| 国产精品三级av| 一区二区三区四区高清精品免费观看 | 日韩精品一级二级| 日本欧美一区二区三区乱码| 国产原创一区二区| 成av人片一区二区| 欧美日产国产精品| 成人爽a毛片一区二区免费| 91在线视频18| 91麻豆精品国产91久久久资源速度 | 中文字幕在线不卡一区| 亚洲精品成人少妇| 日本va欧美va瓶| 成年人国产精品| 日韩一区国产二区欧美三区| 国产精品久久久久天堂| 天天影视涩香欲综合网| 国产欧美日韩在线看| 一区二区三区欧美日| 久久精品久久综合| 99天天综合性| 日韩视频在线一区二区| 国产精品萝li| 紧缚捆绑精品一区二区| 色综合久久久久网| 精品国产一区二区三区久久久蜜月| 国产精品人人做人人爽人人添 | 三级久久三级久久久| 成人小视频在线| 欧美一级片免费看| 日韩伦理av电影| 国产乱人伦偷精品视频免下载| 欧美视频一区在线| 中文字幕在线不卡一区二区三区 | 久久久精品tv| 日韩国产高清影视| 一本色道久久加勒比精品| 欧美精品一区二区高清在线观看| 亚洲精品videosex极品| 高潮精品一区videoshd| 成人免费不卡视频| 精品av综合导航| 亚洲不卡av一区二区三区| 91在线精品一区二区三区| 2021久久国产精品不只是精品| 亚洲444eee在线观看| av激情成人网| 国产精品乱码人人做人人爱| 国产一区二区0| 欧美变态tickle挠乳网站| 天堂精品中文字幕在线| 色偷偷成人一区二区三区91| 久久美女艺术照精彩视频福利播放 | 中国色在线观看另类| 久久99精品久久久久久| 欧美一区二区视频网站| 夜夜精品视频一区二区| 色综合一区二区三区| 中文字幕一区二区日韩精品绯色| 国产成都精品91一区二区三 | 国产日韩欧美精品一区| 精品一区二区三区免费视频| 日韩欧美一区在线| 天天做天天摸天天爽国产一区| 欧美日韩三级视频| 亚洲国产成人91porn| 欧美日韩国产另类一区| 亚洲超碰97人人做人人爱| 欧美撒尿777hd撒尿| 亚洲成av人影院| 91精品国产高清一区二区三区蜜臀 | 韩国v欧美v亚洲v日本v| 精品久久久久av影院 | 久久国产综合精品| 欧美成人女星排名| 韩国在线一区二区| 国产日韩精品一区二区浪潮av| 国产精品一二三四区| 国产精品嫩草影院av蜜臀| 99re这里都是精品| 亚洲主播在线观看| 欧美一区二区精品在线| 美脚の诱脚舐め脚责91| 久久综合色8888| 不卡一区二区中文字幕| 亚洲精品国产一区二区三区四区在线 | 一本大道av一区二区在线播放| 亚洲一区二区三区四区在线 | 精品av久久707| 成人福利视频在线看| 一区二区三区在线免费视频| 欧美亚洲国产一区二区三区va| 亚洲h动漫在线| 久久影院午夜片一区| www.视频一区| 午夜精品久久久久影视| 日韩欧美电影一区| 亚洲高清在线精品| 欧美tk—视频vk| 91亚洲精品久久久蜜桃网站| 亚洲午夜视频在线|