锘??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩视频免费大全中文字幕,欧美午夜精品一区,国产精品日韩久久久久http://www.shnenglu.com/dfghj44444/category/13470.html浠涔堥兘鎳備竴鐐癸紝鐢熸椿灝辨湁瓚d竴浜?/description>zh-cnThu, 16 Dec 2010 17:02:38 GMTThu, 16 Dec 2010 17:02:38 GMT60鐢℅tkTreeView瀹炵幇checkButton http://www.shnenglu.com/dfghj44444/archive/2010/10/18/130270.html鍙垜鑰佺帇鍚?/dc:creator>鍙垜鑰佺帇鍚?/author>Mon, 18 Oct 2010 07:20:00 GMThttp://www.shnenglu.com/dfghj44444/archive/2010/10/18/130270.htmlhttp://www.shnenglu.com/dfghj44444/comments/130270.htmlhttp://www.shnenglu.com/dfghj44444/archive/2010/10/18/130270.html#Feedback0http://www.shnenglu.com/dfghj44444/comments/commentRss/130270.htmlhttp://www.shnenglu.com/dfghj44444/services/trackbacks/130270.html浠婂ぉ姝eソ鏈夎繖涓渶姹傦紝欏烘墜鎼滀簡(jiǎn)涓涓嬶紝鍙堜笉鏄偅涔堢鍚堟垜鐨勯渶瑕侊紝浜庢槸鑷繁闅忔墜鍐欎簡(jiǎn)涓柊鐨勶紝鎶婁唬鐮佹渶灝忓寲浜?br>
 1
 2  GtkListStore *list_store = gtk_list_store_new (2, GTK_TYPE_POINTER,G_TYPE_STRING);//鏂板緩涓涓狶ISTSTORE
 3
 4  GtkWidget *tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (list_store));//鏂板緩涓涓猅REEVIEW
 5
 6  GtkCellRenderer *cell = gtk_cell_renderer_toggle_new ();//瀹氫箟CHECKBOX綾誨瀷
 7  g_signal_connect (cell, "toggled", G_CALLBACK (channel_toggled_cb),
 8            list_store);//緇戝畾鐐瑰嚮浜嬩歡錛堝惁鍒欑偣浜?jiǎn)娌℃湁鍕惧Q?/span>
 9  gtk_tree_view_insert_column(GTK_TREE_VIEW (tree_view),
10                          -1"record",
11                          cell);//鍦ㄦ渶宸﹁竟鎻掑叆涓鍒桟HECKBOX
鑷充簬鍏蜂綋鐨勭偣鍑諱簨浠訛紝鎴戝氨涓嶈創(chuàng)浜?jiǎn)锛屾瘮杈兘巰鍗?br>


]]>
GTK瀛︿範(fàn)絎旇100624---閬嶅巻GTK TreeViewhttp://www.shnenglu.com/dfghj44444/archive/2010/06/25/118699.html鍙垜鑰佺帇鍚?/dc:creator>鍙垜鑰佺帇鍚?/author>Fri, 25 Jun 2010 03:57:00 GMThttp://www.shnenglu.com/dfghj44444/archive/2010/06/25/118699.htmlhttp://www.shnenglu.com/dfghj44444/comments/118699.htmlhttp://www.shnenglu.com/dfghj44444/archive/2010/06/25/118699.html#Feedback0http://www.shnenglu.com/dfghj44444/comments/commentRss/118699.htmlhttp://www.shnenglu.com/dfghj44444/services/trackbacks/118699.html 1GtkTreeIter iter;//瀹氫箟涓涓凱浠e櫒
 2    GtkTreeModel *pmodel;
 3    char* pitem;
 4    pmodel=gtk_tree_view_get_model(GTK_TREE_VIEW1));//寰楀埌TREEVIEW鐨刴odel
 5    gtk_tree_model_get_iter_first(pmodel,&iter);//榪唬鍣ㄥ畾浣嶅埌絎竴琛?/span>
 6    int columns=gtk_tree_model_get_n_columns(pmodel);//鑾峰彇琛屾暟
 7    
 8    //鑾峰彇鍒楀悕
 9    for(int i=0;i<columns;i++)
10    {
11        GtkTreeViewColumn *column = gtk_tree_view_get_column(GTK_TREE_VIEW(control),i);//閬嶅巻header
12        string coltitle(__(gtk_tree_view_column_get_title(column),1));
13        cout<<coltitle;//杈撳嚭鍒楀悕
14    }
            
15        
16    do//寮濮嬮亶鍘嗗唴瀹?/span>
17    {
18        for(int i=0;i<columns;i++)
19            {
20                gtk_tree_model_get (GTK_TREE_MODEL(pmodel),&iter,
21                i,        &pitem,
22                -1);//灝嗘寚瀹氬崟鍏冩牸鐨勫間紶緇檖item
23                try
24                {
25                    cout<<pitem;//杈撳嚭鍗曞厓鏍肩殑鍊?/span>
26                }
catch{}
27            }

28    }
while(gtk_tree_model_iter_next(pmodel,&iter)); 鍞夛紝緗戜笂鎵句簡(jiǎn)鍗婂ぉ錛屾病鎵懼埌鎬濊礬錛屽彧鏈夎嚜宸辨參鎱㈠晝浜?jiǎn)锛屽啓瀹屽彂涓涓嬶紝緇欓渶瑕佺殑鏈嬪弸涓浜涘熼壌



]]>
Cairo 鍥懼艦鎸囧崡 (4) 鈥斺?鍩烘湰緇樺浘http://www.shnenglu.com/dfghj44444/archive/2010/04/08/111958.html鍙垜鑰佺帇鍚?/dc:creator>鍙垜鑰佺帇鍚?/author>Thu, 08 Apr 2010 06:15:00 GMThttp://www.shnenglu.com/dfghj44444/archive/2010/04/08/111958.htmlhttp://www.shnenglu.com/dfghj44444/comments/111958.htmlhttp://www.shnenglu.com/dfghj44444/archive/2010/04/08/111958.html#Feedback0http://www.shnenglu.com/dfghj44444/comments/commentRss/111958.htmlhttp://www.shnenglu.com/dfghj44444/services/trackbacks/111958.html  
榪欎竴閮ㄥ垎璁茶堪濡備綍緇樺埗涓浜涚畝鍗曠殑鍥懼厓錛屽寘鎷洿綰褲佸~鍏呬笌絎旂敾鎿嶄綔銆佽櫄綰褲佺嚎绔紙Cap錛変笌綰跨殑浜ゅ悎絳夊浘褰㈢殑緇樺埗鏂規(guī)硶銆?br>鐩寸嚎孌?br>鐩寸嚎孌墊槸闈炲父鍩虹鐨勭煝閲忓浘褰㈠璞°傜敾涓鏉$洿綰挎錛岄渶瑕佽皟鐢ㄤ袱涓嚱鏁幫細(xì)cairo_move_to() 鍑芥暟錛岀敤浜庤緗嚎孌佃搗鐐癸紱cairo_line_to() 鐢ㄤ簬璁懼畾綰挎緇堢偣銆?br>#include
#include
double coordx[100];
double coordy[100];
int count = 0;
static gboolean
on_expose_event(GtkWidget *widget,
                GdkEventExpose *event,
                gpointer data)
{
        cairo_t *cr;
        
        cr = gdk_cairo_create(widget->window);
        
        cairo_set_source_rgb(cr, 0, 0, 0);
        cairo_set_line_width (cr, 0.5);
        
        int i, j;
        for ( i = 0; i 1; i++ ) {
                for ( j  = 0; j -1; j++ ) {
                        cairo_move_to(cr, coordx, coordy);
                        cairo_line_to(cr, coordx[j], coordy[j]);
                }
        }
        
        count = 0;
        cairo_stroke(cr);
        cairo_destroy(cr);
        
        return FALSE;
}
gboolean clicked(GtkWidget *widget, GdkEventButton *event,
                 gpointer user_data)
{
        if (event->button == 1) {
                coordx[count] = event->x;
                coordy[count++] = event->y;
        }
        
        if (event->button == 3) {
                gtk_widget_queue_draw(widget);
        }
        
        return TRUE;
}
int
main (int argc, char *argv[])
{
        
        GtkWidget *window;
        
        gtk_init(&argc, &argv);
        
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        
        gtk_widget_add_events (window, GDK_BUTTON_PRESS_MASK);
        
        g_signal_connect(window, "expose-event",
                         G_CALLBACK(on_expose_event), NULL);
        g_signal_connect(window, "destroy",
                         G_CALLBACK(gtk_main_quit), NULL);
        g_signal_connect(window, "button-press-event",
                         G_CALLBACK(clicked), NULL);
        
        gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
        gtk_window_set_title(GTK_WINDOW(window), "lines");
        gtk_window_set_default_size(GTK_WINDOW(window), 400, 300);
        gtk_widget_set_app_paintable(window, TRUE);
        
        gtk_widget_show_all(window);
        
        gtk_main();
        
        return 0;
}
璇ョず渚嬩細(xì)鍒涘緩涓涓敮鎸侀紶鏍囦氦浜掔粯鍒剁洿綰挎鐨?GTK+ 紿楀彛銆傚湪紿楀彛涓嬌鐢ㄩ紶鏍囧乏閿殢渚跨偣鍑犱笅錛屾瘡涓嬈$偣鍑?yán)L椂錛屽厜鏍囦綅緗殑鍧愭爣閮戒細(xì)琚鍏ラ暱搴︿負(fù) 100 鐨勬暟緇勶紱鐒跺悗鐐瑰嚮榧犳爣鍙抽敭錛屾墍鏈夌敱榧犳爣宸﹂敭鐐瑰嚮鎵寰楀埌鐨勭偣浼?xì)琚郊姝q炴帴褰㈡垚鐩寸嚎孌碉紱鍦ㄧ獥鍙d腑鍐嶆鐐瑰嚮榧犳爣鍙抽敭鏃訛紝浼?xì)瀵菇H楀彛緇樺浘鍖哄煙榪涜娓呴櫎銆?br>涓嬮潰瀵硅紺轟緥紼嬪簭浠g爜榪涜鍒嗘瀽錛?br>        cairo_set_source_rgb(cr, 0, 0, 0);
        cairo_set_line_width (cr, 0.5);
璁劇疆棰滆壊涓洪粦鑹詫紝綰垮涓?0.5pt 涓哄弬鏁幫紝緇樺埗鐩寸嚎孌點(diǎn)?br>        int i, j;
        for ( i = 0; i 1; i++ ) {
                for ( j  = 0; j -1; j++ ) {
                        cairo_move_to(cr, coordx, coordy);
                        cairo_line_to(cr, coordx[j], coordy[j]);
                }
        }
鐢?cairo_move_to() 鍜?cairo_line_to() 鍑芥暟鍦?cr 涓畾涔夌粯鍥捐礬寰?(path)錛岃繛鎺? coordx[] 鍜?coordy[] 鎵璁板綍鐨勬瘡涓偣銆?br>        cairo_stroke(cr);
cairo_stroke() 鍑芥暟浼?xì)灏?cr 涓殑璺緞緇樺埗鍑烘潵銆?br>        g_signal_connect(window, "button-press-event",
                         G_CALLBACK(clicked), NULL);
璁懼畾 button-press-event 浜嬩歡鐨勫洖璋冨嚱鏁頒負(fù) clicked ()銆?br>        if (event->button == 1) {
                coordx[count] = event->x;
                coordy[count++] = event->y;
        }
鍦?clicked () 鍑芥暟涓紝褰撻紶鏍囧乏閿偣鍑諱簨浠跺彂鐢熸椂錛岃鍏夋爣鎵鍦ㄤ綅緗殑 x 鍜?y 鍧愭爣鍒嗗埆璁板叆鏁扮粍 coordx 鍜?coordy銆?br>        if (event->button == 3) {
                gtk_widget_queue_draw(widget);
        }
鍦?clicked () 鍑芥暟涓紝褰撻紶鏍囧彸閿崟鍑?yán)L椂錛岃皟鐢?gtk_widget_queue_draw () 鍑芥暟閲嶇粯紿楀彛鍖哄煙銆?br>
鎻忕粯 (Stroke) 涓庡~鍏?(Fill)
鎻忕粯 (Stroke) 鍙互緇樺埗褰㈢姸鐨勮疆寤擄紝濉厖 (Fill) 鍒欑敤浜庡悜褰㈢姸鍐呴儴鐏屾敞棰滆壊銆?
#include
#include
#include
static gboolean
on_expose_event (GtkWidget * widget,
                 GdkEventExpose * event, gpointer data)
{
        cairo_t *cr;
        cr = gdk_cairo_create (widget->window);
        int width, height;
        gtk_window_get_size (GTK_WINDOW (widget), &width, &height);
        cairo_set_line_width (cr, 9);
        cairo_set_source_rgb (cr, 0.69, 0.19, 0);
        cairo_arc (cr, width / 2, height / 2,
                   (width ) / 2 - 10, 0,
                   2 * M_PI);
        cairo_stroke_preserve (cr);
        cairo_set_source_rgb (cr, 0.3, 0.4, 0.6);
        cairo_fill (cr);
        cairo_destroy (cr);
        return FALSE;
}
int
main (int argc, char *argv[])
{
        GtkWidget *window;
        gtk_init (&argc, &argv);
        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        g_signal_connect (G_OBJECT (window), "expose-event",
                          G_CALLBACK (on_expose_event), NULL);
        g_signal_connect (G_OBJECT (window), "destroy",
                          G_CALLBACK (gtk_main_quit), NULL);
        gtk_window_set_position (GTK_WINDOW (window),
                                 GTK_WIN_POS_CENTER);
        gtk_window_set_default_size (GTK_WINDOW (window), 200, 150);
        gtk_widget_set_app_paintable (window, TRUE);
        gtk_widget_show_all (window);
        gtk_main ();
        return 0;
}
榪欎釜紺轟緥緇樺埗涓涓唴閮ㄥ~鍏呯伆鑹茬殑鍦嗐?br>涓嬮潰瀵逛唬鐮佽繘琛岃В鏋愶細(xì)
#include
涔嬫墍浠ュ紩鍏ヨ繖涓ご鏂囦歡錛屾槸鍥犱負(fù)紼嬪簭涓嬌鐢ㄤ簡(jiǎn)鍦嗗懆鐜囧父閲?M_PI銆?br>        int width, height;
        gtk_window_get_size (GTK_WINDOW (widget), &width, &height);
鑾峰彇紿楀彛鐨勫搴︿笌楂樺害灝哄銆傜▼搴忎腑灝嗕嬌鐢ㄨ繖浜涘間綔涓虹粯鍒跺渾褰㈢殑鍙傝冨昂瀵革紝浠ュ疄鐜扮獥鍙e昂瀵稿彉鍖栨椂錛屾墍緇樺埗鐨勫渾鐨勫昂瀵鎬篃浼?xì)鐩稿簲鍙樺寲銆?br>        cairo_set_source_rgb (cr, 0.69, 0.19, 0);
        cairo_arc (cr, width / 2, height / 2,
                   (width ) / 2 - 10, 0,
                   2 * M_PI);
        cairo_stroke_preserve (cr);
鎻忕粯鍦嗙殑杞粨銆傝繖閲岃娉ㄦ剰涓涓? cairo_stroke_preserve () 鍑芥暟涓?cairo_stroke () 鍑芥暟鐨勫尯鍒紙鏈濂界殑鍔炴硶鏄敤鍚庤呮浛鎹竴涓嬪墠鑰咃紝鐪嬬湅紼嬪簭鎵ц鏁堟灉錛夈俢airo_stroke_preserve () 鍑芥暟浼?xì)灏嗗畠缁樺埗鐨勮矾寰勪緷鐒朵繚瀛樺?cairo 鐜涓紝鑰?cairo_stroke () 鎵緇樺埗鐨勮礬寰勶紝鍦ㄧ粯鍒跺畬鎴愬悗錛屽氨浠?cairo鐨勭幆澧冧腑娓呴櫎浜?jiǎn)銆?br>        cairo_set_source_rgb (cr, 0.3, 0.4, 0.6);
        cairo_fill (cr);
瀵逛嬌鐢? cairo_stroke_preserve () 鍑芥暟緇樺埗鐨勮礬寰勮繘琛岃摑鑹插~鍏呫?br>
铏氱嚎 (Dash)
姣忔潯綰塊兘鍙互鐢ㄤ笉鍚岀殑铏氱嚎絎?(dash pen) 鏉ョ敾銆傝櫄綰挎ā寮忔槸閫氳繃 cairo_set_dash () 鍑芥暟鏉ヨ瀹氥傛ā寮忕被鍨嬮氳繃涓涓暟緇勬潵瀹氫箟錛屾暟緇勪腑鐨勫煎潎涓烘鏁幫紝瀹冧滑鐢ㄤ簬璁劇疆铏氱嚎鐨勮櫄閮ㄥ垎涓庡疄閮ㄥ垎銆傛暟緇勭殑闀垮害涓庡亸縐婚噺鍙互鍦ㄧ▼搴忎腑璁懼畾銆傚鏋滄暟緇勭殑闀垮害 涓? 0錛岃櫄綰挎ā寮忓氨鏄紱佹浜?jiǎn)锛岄偅鎵緇樺埗鐨勭嚎鏄疄綰褲傚鏋滄暟緇勯暱搴︿負(fù) 1錛屽垯瀵瑰簲鐫铏氬疄鍧囧寑鍒嗗竷鐨勮櫄綰挎ā寮忋傚亸縐婚噺鏄敤鏉ヨ緗湪铏氱嚎鐨勫绔湪涓涓櫄綰垮懆鏈燂紙鍖呭惈涓涓疄閮ㄥ崟鍏冨拰涓涓櫄閮ㄥ崟鍏冿級(jí)鍐呯殑璧峰浣嶇疆銆?br>#include
#include
static gboolean
on_expose_event (GtkWidget * widget,
                 GdkEventExpose * event, gpointer data)
{
        cairo_t *cr;
        cr = gdk_cairo_create (widget->window);
        cairo_set_source_rgba (cr, 0, 0, 0, 1);
        static const double dashed1[] = { 4.0, 1.0 };
        static int len1 = sizeof (dashed1) / sizeof (dashed1[0]);
        static const double dashed2[] = { 4.0, 10.0, 4.0 };
        static int len2 = sizeof (dashed2) / sizeof (dashed2[0]);
        static const double dashed3[] = { 1.0 };
        cairo_set_line_width (cr, 1.5);
        cairo_set_dash (cr, dashed1, len1, 0);
        cairo_move_to (cr, 40, 60);
        cairo_line_to (cr, 360, 60);
        cairo_stroke (cr);
        cairo_set_dash (cr, dashed2, len2, 10);
        cairo_move_to (cr, 40, 120);
        cairo_line_to (cr, 360, 120);
        cairo_stroke (cr);
        cairo_set_dash (cr, dashed3, 1, 0);
        cairo_move_to (cr, 40, 180);
        cairo_line_to (cr, 360, 180);
        cairo_stroke (cr);
        cairo_destroy (cr);
        return FALSE;
}
int
main (int argc, char *argv[])
{
        GtkWidget *window;
        GtkWidget *darea;
        gtk_init (&argc, &argv);
        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        darea = gtk_drawing_area_new ();
        gtk_container_add (GTK_CONTAINER (window), darea);
        g_signal_connect (darea, "expose-event",
                          G_CALLBACK (on_expose_event), NULL);
        g_signal_connect (window, "destroy",
                          G_CALLBACK (gtk_main_quit), NULL);
        gtk_window_set_position (GTK_WINDOW (window),
                                 GTK_WIN_POS_CENTER);
        gtk_window_set_default_size (GTK_WINDOW (window), 400, 300);
        gtk_widget_show_all (window);
        gtk_main ();
        return 0;
}
璇ョず渚嬫紨紺轟簡(jiǎn)涓夌铏氱嚎妯″紡鐨勮緗強(qiáng)緇樺埗銆?br>涓嬮潰鍒嗘瀽涓涓嬪叧閿唬鐮併?br>        static const double dashed1[] = { 4.0, 1.0 };
璁懼畾絎竴鏉¤櫄綰跨殑妯″紡錛屽畠鐨勫疄閮ㄦ槸 4 涓儚绱狅紝铏氶儴鏄?1 涓儚绱犮?br>        static int len1 = sizeof (dashed1) / sizeof (dashed1[0]);
璁$畻鏁扮粍 dashed1 鐨勯暱搴︺?br>        cairo_set_dash (cr, dashed1, len1, 0);
璁劇疆铏氱嚎妯″紡銆?br>        darea = gtk_drawing_area_new ();
        gtk_container_add (GTK_CONTAINER (window), darea);
榪欐錛屾垜浠槸鍦?drawing_area 閮ㄤ歡涓婄粯鍥撅紝涓嶅啀鏄獥鍙e尯鍩熶簡(jiǎn)銆?br>
綰垮附 (Line caps)
綰垮附鏄拡瀵圭洿綰挎鐨勭鐐瑰艦鐘惰岃█鐨勶紝鍒嗕負(fù)涓夌錛?br>

  • CAIRO_LINE_CAP_SQUARE
  • CAIRO_LINE_CAP_ROUND
  • CAIRO_LINE_CAP_BUTT

瀵瑰簲褰㈢姸濡備笅鍥炬墍紺猴細(xì)

鍚屼竴鏉$洿綰挎錛孋AIRO_LINE_CAP_SQUARE 綰垮附涓?CAIRO_LINE_CAP_BUTT 綰垮附浼?xì)瀵艰嚧鐩淳U挎闀垮害鏈夋墍宸埆錛屽墠鑰呬細(xì)姣斿悗鑰呴暱涓涓嚎瀹藉昂瀵搞?br>#include
#include
static gboolean
on_expose_event (GtkWidget * widget,
                 GdkEventExpose * event, gpointer data)
{
        cairo_t *cr;
        cr = gdk_cairo_create (widget->window);
        cairo_set_source_rgba (cr, 0, 0, 0, 1);
        cairo_set_line_width (cr, 10);
        cairo_set_line_cap (cr, CAIRO_LINE_CAP_BUTT);
        cairo_move_to (cr, 40, 60);
        cairo_line_to (cr, 360, 60);
        cairo_stroke (cr);
        cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
        cairo_move_to (cr, 40, 150);
        cairo_line_to (cr, 360, 150);
        cairo_stroke (cr);
        cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE);
        cairo_move_to (cr, 40, 240);
        cairo_line_to (cr, 360, 240);
        cairo_stroke (cr);
        cairo_set_line_width (cr, 1.5);
        cairo_move_to (cr, 40, 40);
        cairo_line_to (cr, 40, 260);
        cairo_stroke (cr);
        cairo_move_to (cr, 360, 40);
        cairo_line_to (cr, 360, 260);
        cairo_stroke (cr);
        cairo_move_to (cr, 365, 40);
        cairo_line_to (cr, 365, 260);
        cairo_stroke (cr);
        cairo_destroy (cr);
        return FALSE;
}
璇ョず渚嬬粯鍒朵笁鏉″叿鏈変笉鍚岀嚎甯界殑鐩寸嚎孌碉紝鍚屾椂涔熷睍紺轟簡(jiǎn)涓嶅悓綰垮附瀵圭嚎鐨勯暱搴︾殑褰卞搷銆?br>涓嬮潰瀵瑰叧閿唬鐮佽繘琛岀畝鍗曞垎鏋愶細(xì)
        cairo_set_line_width (cr, 10);
璁劇疆綰跨殑瀹藉害涓?10px銆?br>        cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND);
        cairo_move_to (cr, 40, 150);
        cairo_line_to (cr, 360, 150);
        cairo_stroke (cr);
鐢諱簡(jiǎn)涓鏉$嚎甯戒負(fù) CAIRO_LINE_CAP_ROUND 鐨勭洿綰挎銆?br>        cairo_move_to (cr, 40, 40);
        cairo_line_to (cr, 40, 260);
        cairo_stroke (cr);
榪欐槸涓夋潯绔栫嚎涔嬩竴錛岀敤浜庤〃鐜扮嚎甯藉綰跨殑闀垮害鐨勫獎(jiǎng)鍝嶃?br>
綰跨殑浜ゅ悎 (Line joins)
綰跨殑浜ゅ悎瀛樺湪浠ヤ笅涓夌椋庢牸錛?br>

  • CAIRO_LINE_JOIN_MITER
  • CAIRO_LINE_JOIN_BEVEL
  • CAIRO_LINE_JOIN_ROUND

瀵瑰簲褰㈢姸濡備笅鍥炬墍紺恒?br>
#include
#include
static gboolean
on_expose_event (GtkWidget * widget,
                 GdkEventExpose * event, gpointer data)
{
        cairo_t *cr;
        cr = gdk_cairo_create (widget->window);
        cairo_set_source_rgb (cr, 0.1, 0, 0);
        cairo_rectangle (cr, 30, 30, 100, 100);
        cairo_set_line_width (cr, 14);
        cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
        cairo_stroke (cr);
        cairo_rectangle (cr, 160, 30, 100, 100);
        cairo_set_line_width (cr, 14);
        cairo_set_line_join (cr, CAIRO_LINE_JOIN_BEVEL);
        cairo_stroke (cr);
        cairo_rectangle (cr, 100, 160, 100, 100);
        cairo_set_line_width (cr, 14);
        cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND);
        cairo_stroke (cr);
        cairo_destroy (cr);
        return FALSE;
}
int
main (int argc, char *argv[])
{
        GtkWidget *window;
        GtkWidget *darea;
        gtk_init (&argc, &argv);
        window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
        darea = gtk_drawing_area_new ();
        gtk_container_add (GTK_CONTAINER (window), darea);
        g_signal_connect (darea, "expose-event",
                          G_CALLBACK (on_expose_event), NULL);
        g_signal_connect (window, "destroy",
                          G_CALLBACK (gtk_main_quit), NULL);
        gtk_window_set_position (GTK_WINDOW (window),
                                 GTK_WIN_POS_CENTER);
        gtk_window_set_default_size (GTK_WINDOW (window), 300, 280);
        gtk_widget_show_all (window);
        gtk_main ();
        return 0;
}

璇ョず渚嬮噰鐢ㄤ笉鍚岀殑浜ゅ悎綾誨瀷緇樺埗浜?jiǎn)涓変釜鐭╁舰銆?br>涓嬮潰瀵瑰叧閿唬鐮佽繘琛岀畝鍗曞垎鏋愶細(xì)
        cairo_rectangle (cr, 30, 30, 100, 100);
        cairo_set_line_width (cr, 14);
        cairo_set_line_join (cr, CAIRO_LINE_JOIN_MITER);
        cairo_stroke (cr);
緇樺埗浜?jiǎn)涓涓嚎瀹戒負(fù) 14px錛屼氦鍚堢被鍨嬩負(fù) CAIRO_LINE_JOIN_MITER 鐨勭煩褰€?br>


鏈枃鏉ヨ嚜ChinaUnix鍗氬錛屽鏋滄煡鐪嬪師鏂囪鐐癸細(xì)


]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧洲在线免费| 亚洲一区二区三区涩| 欧美精品18+| 一本色道久久综合亚洲精品高清 | 亚洲——在线| 国产精品推荐精品| 久久久蜜桃一区二区人| 久久精品最新地址| 91久久精品美女| 激情婷婷久久| 欧美激情一区二区三区在线视频| 欧美肥婆在线| 亚洲女人天堂成人av在线| 亚洲欧美第一页| 在线成人h网| 亚洲精品久久久久中文字幕欢迎你 | 亚洲一区二区三区免费在线观看| 亚洲综合好骚| 伊人婷婷欧美激情| 亚洲精选在线观看| 国产区精品视频| 欧美黑人在线观看| 国产精品v欧美精品v日韩精品| 亚洲精品久久在线| 亚洲特级毛片| 在线精品视频在线观看高清| 亚洲美女啪啪| 国产一区二区主播在线| 亚洲国产乱码最新视频| 国产精品久久777777毛茸茸| 卡通动漫国产精品| 欧美日一区二区三区在线观看国产免| 久久精品国产91精品亚洲| 欧美chengren| 欧美系列一区| 亚洲精品乱码久久久久久蜜桃91| 亚洲小说欧美另类婷婷| 亚洲丁香婷深爱综合| 一区二区三区日韩欧美| 今天的高清视频免费播放成人| 亚洲精选中文字幕| 国内揄拍国内精品久久| 亚洲美女中文字幕| 韩国女主播一区| 一本色道久久| 亚洲国产黄色| 午夜久久一区| 一区二区日韩| 久久亚洲一区二区三区四区| 亚洲一区亚洲| 久久躁狠狠躁夜夜爽| 午夜伦理片一区| 亚洲专区在线视频| 亚洲精品一区二区网址| 欧美在线免费观看视频| 亚洲视频axxx| 欧美xx69| 久久天天躁狠狠躁夜夜爽蜜月| 欧美日韩亚洲成人| 欧美777四色影视在线| 国产精品资源| 99亚洲一区二区| 91久久香蕉国产日韩欧美9色 | 欧美主播一区二区三区美女 久久精品人 | 欧美一区二区免费视频| 你懂的视频一区二区| 久久国产黑丝| 欧美三区在线观看| 欧美黄色影院| 韩国精品在线观看| 亚洲欧美色一区| 亚洲午夜91| 欧美国产日韩一区| 欧美sm视频| 久久久久久久网| 国产精品视频免费| 日韩一级在线| 国产伦精品一区二区三区免费迷 | 亚洲日本在线观看| 亚洲成色777777在线观看影院| 亚洲欧美日韩国产成人精品影院| 亚洲天堂激情| 欧美日本在线看| 欧美激情一二三区| 影音先锋久久久| 欧美在线播放一区| 欧美日韩另类一区| 亚洲福利久久| 91久久亚洲| 久久亚洲综合色| 久久综合色播五月| 国产主播一区二区三区| 午夜精品视频| 久久国产88| 国产视频一区在线| 香蕉亚洲视频| 久久精品国产99国产精品澳门| 国产精品免费网站在线观看| 一区二区三区四区蜜桃| 亚洲五月婷婷| 国产精品国产亚洲精品看不卡15 | 国产日韩精品一区二区三区| 亚洲无线视频| 亚洲欧美制服中文字幕| 久久蜜桃资源一区二区老牛| 久久手机免费观看| 在线观看欧美激情| 玖玖综合伊人| 欧美肥婆在线| 亚洲精品乱码久久久久久按摩观 | 亚洲欧美999| 欧美视频免费在线| 一本色道久久综合亚洲精品婷婷 | 亚洲影院免费| 午夜久久久久| 国产日韩在线播放| 欧美伊人久久久久久久久影院| 久久久久久久一区二区三区| 国内精品久久久| 久久全球大尺度高清视频| 欧美成人激情视频| 亚洲精品国产系列| 欧美日韩不卡| 亚洲视频在线免费观看| 亚洲国产美女精品久久久久∴| 欧美ab在线视频| 亚洲人永久免费| 亚洲性感美女99在线| 国产精品午夜电影| 久久爱www久久做| 欧美**人妖| 9l国产精品久久久久麻豆| 日韩视频精品| 日韩亚洲欧美精品| 国产精品国产三级国产aⅴ浪潮| 午夜激情综合网| 免播放器亚洲一区| 亚洲精品小视频在线观看| 欧美日韩综合不卡| 午夜精品久久久久久久| 麻豆av一区二区三区久久| 亚洲精品中文字| 国产精品国产a级| 久久成人综合视频| 亚洲第一在线综合网站| 亚洲午夜久久久久久久久电影院 | 久久夜色精品国产噜噜av| 好吊妞**欧美| 欧美91大片| 亚洲色图制服丝袜| 久久综合久久久久88| 亚洲三级视频| 国产精品久久久久久户外露出| 欧美一区二区视频网站| 亚洲精品1234| 久久在精品线影院精品国产| 亚洲精品乱码久久久久久黑人 | 久久免费视频网站| 亚洲欧洲在线免费| 国产精品拍天天在线| 久久久久久久综合| 99riav国产精品| 久久久青草婷婷精品综合日韩| 亚洲美女视频在线免费观看| 国产精品自拍小视频| 母乳一区在线观看| 亚洲综合不卡| 亚洲成色www8888| 性视频1819p久久| 亚洲人成啪啪网站| 久久综合五月天婷婷伊人| 在线亚洲精品福利网址导航| 久热国产精品视频| 亚洲一区在线观看视频| 在线免费高清一区二区三区| 国产精品av久久久久久麻豆网| 久久久亚洲午夜电影| 亚洲视频免费在线| 欧美激情视频一区二区三区不卡| 欧美三级小说| 久久黄色级2电影| 亚洲综合成人婷婷小说| 在线视频你懂得一区二区三区| 国产精品激情| 巨乳诱惑日韩免费av| 国产在线视频欧美| 欧美手机在线视频| 久久综合色播五月| 午夜精品久久久久99热蜜桃导演| 亚洲精品日本| 久久午夜激情| 午夜久久电影网| 一本色道久久综合亚洲精品不| 在线播放视频一区| 国产精品天天看| 欧美视频导航| 欧美国产第二页| 久久久综合网| 性欧美video另类hd性玩具| 一区二区三区成人|