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

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

?? cellwidget.c

?? 添加系統調用。。。在LINUX下添加一個新的系統調用。在文件中添加自己的系統調用的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
                g_object_unref(layout);        }        /* Insertion arrows */        if (!invalid && inserting &&            (current_cell == i || current_cell == i + 1)) {                double width, stem, height;                cairo_set_source_gdk_color(cairo, &color_select, 1.);                width = CELL_BORDER;                stem = CELL_BORDER / 2;                height = CELL_BORDER;                if ((!right_to_left && current_cell == i) ||                    (right_to_left && current_cell == i + 1)) {                        /* Top right arrow */                        cairo_move_to(cairo, x, y + 1);                        cairo_line_to(cairo, x + stem, y + 1);                        cairo_line_to(cairo, x + stem, y + height);                        cairo_line_to(cairo, x + width, y + height);                        cairo_line_to(cairo, x, y + height * 2);                        cairo_close_path(cairo);                        cairo_fill(cairo);                        /* Bottom right arrow */                        cairo_move_to(cairo, x, y + cell_height - 1);                        cairo_line_to(cairo, x + stem, y + cell_height - 1);                        cairo_line_to(cairo, x + stem,                                      y + cell_height - height);                        cairo_line_to(cairo, x + width,                                      y + cell_height - height);                        cairo_line_to(cairo, x, y + cell_height - height * 2);                        cairo_close_path(cairo);                        cairo_fill(cairo);                } else if ((!right_to_left && current_cell == i + 1) ||                           (right_to_left && current_cell == i)) {                        double ox;                        ox = i % cell_cols == cell_cols - 1 ? 0. : 1.;                        /* Top left arrow */                        cairo_move_to(cairo, x + cell_width + ox, y + 1);                        cairo_line_to(cairo, x + cell_width - stem + ox,                                      y + 1);                        cairo_line_to(cairo, x + cell_width - stem + ox,                                      y + height);                        cairo_line_to(cairo, x + cell_width - width + ox,                                      y + height);                        cairo_line_to(cairo, x + cell_width + ox,                                      y + height * 2);                        cairo_close_path(cairo);                        cairo_fill(cairo);                        /* Bottom left arrow */                        cairo_move_to(cairo, x + cell_width + ox,                                      y + cell_height - 1);                        cairo_line_to(cairo, x + cell_width - stem + ox,                                      y + cell_height - 1);                        cairo_line_to(cairo, x + cell_width - stem + ox,                                      y + cell_height - height);                        cairo_line_to(cairo, x + cell_width - width + ox,                                      y + cell_height - height);                        cairo_line_to(cairo, x + cell_width + ox,                                      y + cell_height - height * 2);                        cairo_close_path(cairo);                        cairo_fill(cairo);                }        }        gtk_widget_queue_draw_area(drawing_area, x, y, cell_width, cell_height);        pc->flags &= ~CELL_DIRTY;        /* This cell may have dirtied the on-screen keyboard */        if (show_keys && x < key_widget->x + key_widget->width &&                         y < key_widget->y + key_widget->height &&                         x + cell_width > key_widget->x &&                         y + cell_height > key_widget->y)                keys_dirty = TRUE;}static void render_dirty(void)/* Render cells marked dirty */{        int i;        for (i = cell_row_view * cell_cols; i < cell_rows * cell_cols; i++)                if (cells[i].flags & CELL_DIRTY)                        render_cell(i);        if (show_keys && keys_dirty) {                key_widget_render(key_widget);                keys_dirty = FALSE;        }}void cell_widget_render(void)/* Render the cells */{        int i, cols, rows, width, height;        if (!cairo || !pixmap || !pixmap_gc)                return;        /* On-screen keyboard eats up some cells on the end */        cols = cell_cols;        if (show_keys)                cols -= KEY_WIDGET_COLS;        /* Render cells */        for (i = cell_row_view * cols; i < cell_rows * cols; i++)                render_cell(i);        /* Draw border */        rows = cell_rows < cell_rows_pref ? cell_rows : cell_rows_pref;        width = cell_width * cols + 1;        height = cell_height * rows + 1;        gdk_gc_set_rgb_fg_color(pixmap_gc, &color_bg_dark);        if (!right_to_left)                gdk_draw_rectangle(pixmap, pixmap_gc, FALSE, 0, 0,                                   width, height);        else                gdk_draw_rectangle(pixmap, pixmap_gc, FALSE,                                   drawing_area->allocation.width - width - 1,                                   0, width, height);        /* Fill extra space to the right */        gdk_gc_set_rgb_fg_color(pixmap_gc, &color_bg);        if (!right_to_left)                gdk_draw_rectangle(pixmap, pixmap_gc, TRUE, width + 1, 0,                                   drawing_area->allocation.width - width,                                   height + 1);        else                gdk_draw_rectangle(pixmap, pixmap_gc, TRUE, 0, 0,                                   drawing_area->allocation.width - width - 1,                                   height + 1);        /* Fill extra space below */        gdk_draw_rectangle(pixmap, pixmap_gc, TRUE, 0, height + 1,                           drawing_area->allocation.width,                           drawing_area->allocation.height - height + 1);        /* Render the on-screen keyboard */        if (show_keys) {                key_widget_render(key_widget);                keys_dirty = FALSE;        }        /* Dirty the entire drawing area */        gtk_widget_queue_draw(drawing_area);}static void clear_cell(int i){        Cell *cell;        cell = cells + i;        cell->flags = 0;        if (cell->ch || i == current_cell) {                if (i == current_cell)                        input = NULL;                cell->flags |= CELL_DIRTY;        }        clear_sample(&cell->sample);        cell->ch = 0;        cell->alts[0] = NULL;}static void pad_cell(int cell){        int i;        /* Turn any blank cells behind the cell into spaces */        for (i = cell - 1; i >= 0 && !cells[i].ch; i--) {                cells[i].ch = ' ';                cells[i].flags |= CELL_DIRTY;        }}static void free_cells(void)/* Free sample data */{        int i;        if (!cells)                return;        for (i = 0; i < cell_rows * cell_cols; i++)                clear_cell(i);        g_free(cells);        cells = NULL;        input = NULL;}static void wrap_cells(int new_rows, int new_cols)/* Word wrap cells */{        Cell *new_cells;        int i, j, size, row, col, break_i = -1, break_j = -1;        /* Allocate and clear the new grid */        if (new_rows < 1)                new_rows = 1;        size = new_rows * new_cols * sizeof (Cell);        new_cells = g_malloc0(size);        for (i = 0, j = 0, row = 0, col = 0; i < cell_rows * cell_cols; i++) {                if (!cells[i].ch)                        continue;                /* Break at non-alphanumeric characters */                if (!g_unichar_isalnum(cells[i].ch)) {                        break_i = i;                        break_j = j;                }                if (col >= new_cols) {                        /* If we need to, allocate room for the new row */                        if (++row >= new_rows) {                                size = ++new_rows * new_cols * sizeof (Cell);                                new_cells = g_realloc(new_cells, size);                                memset(new_cells + (new_rows - 1) * new_cols,                                       0, new_cols * sizeof (Cell));                        }                        /* Move any hanging words down to the next row */                        size = i - break_i - 1;                        if (size >= 0 && size < i - 1) {                                memset(new_cells + break_j + 1, 0,                                       sizeof (Cell) * size);                                i = break_i + 1;                                break_i = -1;                        }                        col = 0;                        if (!cells[i].ch)                                continue;                }                new_cells[j++] = cells[i];                col++;        }        /* If we have filled the last row, we need to add a new row */        if (col >= new_cols && row >= new_rows - 1) {                size = ++new_rows * new_cols * sizeof (Cell);                new_cells = g_realloc(new_cells, size);                memset(new_cells + (new_rows - 1) * new_cols, 0,                       new_cols * sizeof (Cell));        }        /* Only free the cell array, NOT the samples as we have copied the           Sample data over to the new cell array */        g_free(cells);        cells = new_cells;        /* Scroll the grid */        if (new_rows > cell_rows && new_rows > cell_rows_pref)                cell_row_view += new_rows - cell_rows;        /* Do not let the row view look too far down */        if (cell_row_view + cell_rows_pref > new_rows) {                cell_row_view = new_rows - cell_rows_pref;                if (cell_row_view < 0)                        cell_row_view = 0;        }        cell_rows = new_rows;        cell_cols = new_cols;}static int set_size_request(int force)/* Resize the drawing area if necessary */{        int new_w, new_h, rows, resized;        new_w = cell_cols * cell_width + 2;        rows = cell_rows;        if (rows > cell_rows_pref)                rows = cell_rows_pref;        new_h = rows * cell_height + 2;        resized = new_w != drawing_area->allocation.width ||                  new_h != drawing_area->allocation.height || force;        if (!resized)                return FALSE;        gtk_widget_set_size_request(drawing_area, new_w, new_h);        return TRUE;}static int pack_cells(int new_rows, int new_cols)/* Pack and position cells, resize widget and window when necessary.   Returns TRUE if the widget was resized in the process and can expect a   configure event in the near future. */{        int i, rows, range, new_range;        /* Must have at least one row */        if (new_rows < 1)                new_rows = 1;        /* Word wrapping will perform its own memory allocation */        if (!training && cells)                wrap_cells(new_rows, new_cols);        else if (!cells || new_rows != cell_rows || new_cols != cell_cols) {                /* Find minimum number of rows necessary */                if (cells) {                        for (i = cell_rows * cell_cols - 1; i > 0; i--)                                if (cells[i].ch)                                        break;                        rows = i / new_cols + 1;                        if (new_rows < rows)                                new_rows = rows;                        new_range = new_rows * new_cols;                        /* If we have shrunk the grid, clear cells outside */                        range = cell_rows * cell_cols;                        for (i = new_range; i < range; i++)                                clear_cell(i);                } else {                        range = 0;                        new_range = new_rows * new_cols;                }                /* Allocate enough room, clear any new cells */                cells = g_realloc(cells, new_rows * new_cols * sizeof (Cell));                if (new_range > range)                        memset(cells + range, 0,                               (new_range - range) * sizeof (Cell));                cell_rows = new_rows;                cell_cols = new_cols;        }        dirty_all();        /* Update the scrollbar */        if (cell_rows <= cell_rows_pref) {                cell_row_view = 0;                gtk_widget_hide(scrollbar);        } else {                GtkObject *adjustment;                if (cell_row_view > cell_rows - cell_rows_pref)                        cell_row_view = cell_rows - cell_rows_pref;                if (cell_row_view < 0)                        cell_row_view = 0;                adjustment = gtk_adjustment_new(cell_row_view, 0, cell_rows, 1,                                                cell_rows_pref, cell_rows_pref);                gtk_range_set_adjustment(GTK_RANGE(scrollbar),                                         GTK_ADJUSTMENT(adjustment));                gtk_widget_show(scrollbar);        }        return set_size_request(FALSE);}static void stop_timeout(void){        if (!timeout_source)                return;        g_source_remove(timeout_source);        timeout_source = 0;}static void finish_cell(int cell){        stop_timeout();        if (cell < 0 || cell >= cell_rows * cell_cols ||            !input || input->len < 1)                return;        cells[cell].flags |= CELL_DIRTY;        /* Train on the input */        if (training)                train_sample(&cells[cell].sample, TRUE);        /* Recognize input */        else if (input && input->strokes[0] && input->strokes[0]->len) {                Cell *pc = cells + cell;                int i;                /* Track stats */                if (pc->ch && pc->ch != ' ')                        rewrites++;                inputs++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美男同性恋视频网站| 中文字幕一区二区三区蜜月| 99久久婷婷国产综合精品| 韩国欧美一区二区| 精品影视av免费| 久久精品国产成人一区二区三区 | 亚洲免费色视频| 中文字幕一区二区三区四区不卡| 国产精品久久久久久久久果冻传媒 | 国产精品福利一区| 国产精品欧美经典| 亚洲天堂福利av| 亚洲欧美国产77777| 一区二区日韩电影| 日韩高清国产一区在线| 美女免费视频一区二区| 经典三级一区二区| 成人av资源网站| 在线精品国精品国产尤物884a | 青青草一区二区三区| 久久丁香综合五月国产三级网站| 国产一区二区不卡在线| av高清久久久| 91麻豆精品国产无毒不卡在线观看| 在线综合+亚洲+欧美中文字幕| 久久综合九色综合97婷婷| 国产精品黄色在线观看| 天天综合色天天综合色h| 国产在线播精品第三| 99re在线精品| 欧美一区二区福利在线| 中文字幕欧美日韩一区| 亚洲成人一二三| 高清在线观看日韩| 欧美日韩国产一区二区三区地区| 337p日本欧洲亚洲大胆精品| 亚洲天堂免费看| 国产综合色视频| 精品视频在线视频| 久久久精品欧美丰满| 亚洲成在人线免费| 成人中文字幕合集| 日韩亚洲电影在线| 亚洲激情自拍偷拍| 国产成人自拍网| 3751色影院一区二区三区| 国产精品久久影院| 韩国成人在线视频| 欧美日韩另类国产亚洲欧美一级| 国产精品丝袜黑色高跟| 精品中文字幕一区二区| 欧美日韩日本视频| 亚洲免费观看高清完整版在线| 精品亚洲aⅴ乱码一区二区三区| 欧美在线不卡视频| 亚洲欧美综合色| 国产一区二区毛片| 日韩欧美一区二区免费| 亚洲国产精品久久人人爱| 99精品热视频| 国产精品乱码一区二区三区软件 | 国产午夜久久久久| 美日韩一区二区| 这里只有精品99re| 日韩精品91亚洲二区在线观看| 91在线无精精品入口| 成人avav影音| 五月天丁香久久| 波多野结衣亚洲一区| 久久人人爽人人爽| 黑人精品欧美一区二区蜜桃| 欧美肥大bbwbbw高潮| 亚洲一二三专区| 色狠狠桃花综合| 一区二区三区四区亚洲| 91在线观看下载| 亚洲视频在线一区观看| www.欧美.com| 亚洲毛片av在线| 欧美三级中文字幕| 日韩电影免费在线| 日韩一级高清毛片| 国产一区二区主播在线| 久久久高清一区二区三区| 国产精品一二三四区| 国产欧美一区二区三区鸳鸯浴 | 色婷婷激情综合| 亚洲男人天堂av网| 欧美影院一区二区| 调教+趴+乳夹+国产+精品| 日韩欧美国产1| 国产一区二区三区免费看| 国产女主播一区| 色婷婷久久久亚洲一区二区三区| 亚洲综合激情另类小说区| 欧美欧美午夜aⅴ在线观看| 美国十次了思思久久精品导航| 日韩精品在线一区二区| 国产成人aaa| 亚洲在线成人精品| 日韩欧美亚洲另类制服综合在线 | 亚洲女厕所小便bbb| 在线成人免费视频| 国产精品一二三四区| 亚洲免费色视频| 欧美va亚洲va香蕉在线| 成人黄色网址在线观看| 亚洲1区2区3区4区| 久久久久久久久久电影| 91麻豆精品视频| 久久99国产精品麻豆| 亚洲欧美另类在线| 精品免费国产二区三区| 色综合久久88色综合天天6| 日韩二区三区四区| 国产精品成人一区二区艾草| 91麻豆精品国产自产在线观看一区 | 国产福利一区在线观看| 依依成人精品视频| 久久久精品国产免大香伊| 欧美日韩一区二区三区在线看| 国产美女娇喘av呻吟久久| 亚洲国产精品天堂| 欧美韩国日本不卡| 日韩一卡二卡三卡四卡| 91小视频在线| 国产高清精品在线| 老汉av免费一区二区三区 | 欧美一区二区在线播放| 成人app网站| 国产精品系列在线观看| 日韩精品一卡二卡三卡四卡无卡| 国产精品久久久久毛片软件| 欧美电视剧免费全集观看| 欧美日韩国产电影| 91丨porny丨户外露出| 丁香五精品蜜臀久久久久99网站| 免费观看久久久4p| 日韩中文欧美在线| 亚洲午夜视频在线观看| 亚洲三级理论片| 中文字幕在线一区免费| 国产色婷婷亚洲99精品小说| 精品成a人在线观看| 欧美一区二区视频观看视频| 欧美色图在线观看| 欧美日韩在线观看一区二区 | 日韩视频在线观看一区二区| 欧美视频精品在线| 欧美在线观看视频在线| 色婷婷综合久色| 在线一区二区视频| 色婷婷香蕉在线一区二区| 日本精品一级二级| 色噜噜狠狠一区二区三区果冻| 色偷偷成人一区二区三区91| 欧美影院精品一区| 欧美日韩高清一区二区| 制服丝袜国产精品| 日韩一区二区在线观看视频| 欧美成人高清电影在线| 久久久综合视频| 亚洲欧洲另类国产综合| 亚洲欧美另类小说视频| 亚洲bt欧美bt精品| 麻豆国产91在线播放| 国产精品影视天天线| 成人av片在线观看| 在线影院国内精品| 91精品国产综合久久精品性色| 日韩美女在线视频| 国产午夜精品理论片a级大结局| 国产清纯在线一区二区www| 日韩美女视频一区| 肉丝袜脚交视频一区二区| 美女精品一区二区| youjizz久久| 欧美日韩不卡一区二区| 精品乱码亚洲一区二区不卡| 久久久久久久久久久久电影| 中文字幕综合网| 青椒成人免费视频| 成人动漫视频在线| 欧美精品一二三四| 久久精品免费看| 天天综合网 天天综合色| 人人超碰91尤物精品国产| 国产综合色精品一区二区三区| 成人午夜免费av| 在线观看91av| 国产欧美视频在线观看| 亚洲综合视频在线观看| 久久99精品视频| 91福利国产精品| 久久精品日韩一区二区三区| 亚洲高清视频的网址| 成人午夜av影视| 欧美一区二区三区日韩| 亚洲男人天堂av网| 国产1区2区3区精品美女|