锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲综合精品自拍,国产精品青草综合久久久久99,亚洲大胆视频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ソ鏈夎繖涓渶姹傦紝欏烘墜鎼滀簡涓涓嬶紝鍙堜笉鏄偅涔堢鍚堟垜鐨勯渶瑕侊紝浜庢槸鑷繁闅忔墜鍐欎簡涓柊鐨勶紝鎶婁唬鐮佹渶灝忓寲浜?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);//緇戝畾鐐瑰嚮浜嬩歡錛堝惁鍒欑偣浜嗘病鏈夊嬀錛?/span>
 9  gtk_tree_view_insert_column(GTK_TREE_VIEW (tree_view),
10                          -1"record",
11                          cell);//鍦ㄦ渶宸﹁竟鎻掑叆涓鍒桟HECKBOX
鑷充簬鍏蜂綋鐨勭偣鍑諱簨浠訛紝鎴戝氨涓嶈創(chuàng)浜嗭紝姣旇緝綆鍗?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)); 鍞夛紝緗戜笂鎵句簡鍗婂ぉ錛屾病鎵懼埌鎬濊礬錛屽彧鏈夎嚜宸辨參鎱㈠晝浜嗭紝鍐欏畬鍙戜竴涓嬶紝緇欓渶瑕佺殑鏈嬪弸涓浜涘熼壌



]]>
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ù)紼嬪簭涓嬌鐢ㄤ簡鍦嗗懆鐜囧父閲?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鐨勭幆澧冧腑娓呴櫎浜嗐?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錛岃櫄綰挎ā寮忓氨鏄紱佹浜嗭紝閭f墍緇樺埗鐨勭嚎鏄疄綰褲傚鏋滄暟緇勯暱搴︿負(fù) 1錛屽垯瀵瑰簲鐫铏氬疄鍧囧寑鍒嗗竷鐨勮櫄綰挎ā寮忋傚亸縐婚噺鏄敤鏉ヨ緗湪铏氱嚎鐨勫绔湪涓涓櫄綰垮懆鏈燂紙鍖呭惈涓涓疄閮ㄥ崟鍏冨拰涓涓櫄閮ㄥ崟鍏冿級鍐呯殑璧峰浣嶇疆銆?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;
}
璇ョず渚嬫紨紺轟簡涓夌铏氱嚎妯″紡鐨勮緗強(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尯鍩熶簡銆?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;
}
璇ョず渚嬬粯鍒朵笁鏉″叿鏈変笉鍚岀嚎甯界殑鐩寸嚎孌碉紝鍚屾椂涔熷睍紺轟簡涓嶅悓綰垮附瀵圭嚎鐨勯暱搴︾殑褰卞搷銆?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);
鐢諱簡涓鏉$嚎甯戒負(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;
}

璇ョず渚嬮噰鐢ㄤ笉鍚岀殑浜ゅ悎綾誨瀷緇樺埗浜嗕笁涓煩褰€?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);
緇樺埗浜嗕竴涓嚎瀹戒負(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>
            久久精视频免费在线久久完整在线看| 99视频在线观看一区三区| 亚洲精品欧美在线| 国产精品日韩久久久| 久久精品夜色噜噜亚洲a∨| 久久精品国产第一区二区三区最新章节| 国产日韩精品在线观看| 亚洲激情国产| 国产日韩精品电影| 亚洲精品一区中文| 国产日韩精品综合网站| 欧美激情视频给我| 国产在线观看一区| 夜久久久久久| 99精品免费| 免费观看日韩av| 麻豆freexxxx性91精品| 国产精品入口福利| 一区二区三区**美女毛片| 亚洲精选91| 久久夜色精品国产亚洲aⅴ| 亚洲欧美激情视频| 欧美精品一区二区三区在线播放| 美女成人午夜| 一区久久精品| 乱人伦精品视频在线观看| 久久天堂精品| 韩国在线一区| 欧美成人网在线| 亚洲免费观看| 午夜精品久久久久久久99樱桃| 欧美区一区二| 亚洲一区二区三区三| 欧美专区在线观看| 国产伦精品一区二区| 欧美一区日本一区韩国一区| 欧美一区二区网站| 狠狠88综合久久久久综合网| 久久天天躁狠狠躁夜夜av| 国产精品视频福利| 久久九九精品99国产精品| 欧美激情一区二区三级高清视频| 亚洲欧洲视频在线| 国产欧美视频在线观看| 蜜臀久久久99精品久久久久久 | 黄色在线一区| 欧美韩国日本一区| 亚洲一级黄色| 亚洲国产综合在线| 久久国产精品久久w女人spa| 亚洲毛片av在线| 国产一区二区毛片| 国产精品久久网| 欧美日本一区二区三区| 久久久久.com| 欧美综合第一页| 中文av一区二区| 夜夜嗨av一区二区三区网页| 奶水喷射视频一区| 美女日韩在线中文字幕| 久久精品一区蜜桃臀影院| 亚洲一区黄色| 亚洲视频你懂的| 国产精品99久久久久久www| 亚洲黄色免费| 亚洲精品之草原avav久久| 最新国产成人av网站网址麻豆 | 国产精品亚洲综合| 欧美色视频一区| 国产精品国产精品| 国产精品久久久久免费a∨| 国产精品视频九色porn| 国产精品久久久久久久久久直播 | 久久影院午夜片一区| 美国成人直播| 亚洲欧美激情精品一区二区| 欧美精品国产| 91久久精品国产| 久久视频这里只有精品| 亚洲欧美日韩天堂| 国产精品三级视频| 欧美一二区视频| 亚洲欧美亚洲| 国产精品日本欧美一区二区三区| 99re热这里只有精品视频| 欧美黄污视频| 欧美另类亚洲| 午夜精品福利在线观看| 亚洲小视频在线观看| 国产欧美一区二区三区在线老狼| 午夜视频久久久| 欧美专区中文字幕| 亚洲激情在线播放| 夜夜嗨av一区二区三区网站四季av | 亚洲精品孕妇| 亚洲私人影院| 在线不卡亚洲| 日韩午夜在线视频| 国产深夜精品| 欧美黄色aaaa| 国产精品一区一区三区| 久久国产一区二区三区| 免费成人高清在线视频| 欧美一级夜夜爽| 欧美高清一区二区| 久久久99国产精品免费| 欧美激情一区二区三区 | 精品av久久707| 久久久国产精品一区二区三区| 久久先锋资源| 午夜国产精品视频| 亚洲在线视频网站| 久久成人综合网| 夜夜嗨av一区二区三区网站四季av | 欧美成人高清视频| 国产精品女人毛片| 亚洲激情欧美激情| 国产无一区二区| 亚洲日本aⅴ片在线观看香蕉| 国产精品爽黄69| 91久久极品少妇xxxxⅹ软件| 国产老女人精品毛片久久| 欧美大秀在线观看| 国产精品久久777777毛茸茸| 日韩亚洲欧美综合| 一本色道久久综合亚洲精品小说| 久久免费高清视频| 久久久久久久999| 国产精品久久久久9999高清| 亚洲国产成人精品女人久久久| 黑人巨大精品欧美黑白配亚洲| 亚洲欧美电影院| 性欧美1819性猛交| 国产欧美日韩视频| 亚洲小视频在线观看| 欧美一级成年大片在线观看| 欧美午夜片欧美片在线观看| 亚洲精品久久在线| 一本久道综合久久精品| 欧美日韩国产一区二区三区地区| 亚洲人成绝费网站色www| 中文在线资源观看网站视频免费不卡 | 亚洲电影激情视频网站| 久久精品亚洲一区二区三区浴池| 久久xxxx精品视频| 经典三级久久| 欧美日韩在线免费| 亚洲视频久久| 欧美~级网站不卡| 亚洲在线观看视频网站| 亚洲午夜成aⅴ人片| 久久久久国色av免费看影院| 日韩午夜电影在线观看| 在线观看av一区| 亚洲国产精品电影| 一区二区在线视频播放| 国产亚洲人成网站在线观看| 国产嫩草一区二区三区在线观看| 蜜桃久久精品乱码一区二区| 欧美国产一区二区| 欧美在线视屏| 亚洲欧美国产高清va在线播| 在线日韩成人| 国内成人在线| 一区二区亚洲精品国产| 国产一区二区精品久久91| 国产精品久久久久久久9999| 国产精品大片wwwwww| 免费久久精品视频| 久久久一二三| 久久综合国产精品台湾中文娱乐网 | 欧美性大战久久久久久久| 久久夜色撩人精品| 久久久久久久国产| 欧美制服第一页| 久久久99爱| 久久免费精品视频| 国产麻豆精品视频| 国产精品一区二区在线观看| 狠狠久久五月精品中文字幕| 一本色道久久88亚洲综合88| 日韩亚洲欧美在线观看| 国产精品久久久久久久久久三级| 国产精品私拍pans大尺度在线| 狠狠狠色丁香婷婷综合久久五月 | 亚洲人成在线影院| 亚洲四色影视在线观看| 欧美第一黄网免费网站| 国产亚洲一区精品| 亚洲深夜福利在线| 欧美激情在线有限公司| 亚洲综合日韩在线| 欧美日韩国产精品专区| 亚洲国产精品成人综合色在线婷婷| 国产日韩av一区二区| 国产婷婷一区二区| 欧美色欧美亚洲高清在线视频| 久久婷婷久久一区二区三区| 一本色道久久加勒比88综合| 国产区二精品视|