锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲综合精品自拍,国产精品青草综合久久久久99,亚洲大胆视频http://m.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://m.shnenglu.com/dfghj44444/archive/2010/10/18/130270.html鍙垜鑰佺帇鍚?/dc:creator>鍙垜鑰佺帇鍚?/author>Mon, 18 Oct 2010 07:20:00 GMThttp://m.shnenglu.com/dfghj44444/archive/2010/10/18/130270.htmlhttp://m.shnenglu.com/dfghj44444/comments/130270.htmlhttp://m.shnenglu.com/dfghj44444/archive/2010/10/18/130270.html#Feedback0http://m.shnenglu.com/dfghj44444/comments/commentRss/130270.htmlhttp://m.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://m.shnenglu.com/dfghj44444/archive/2010/06/25/118699.html鍙垜鑰佺帇鍚?/dc:creator>鍙垜鑰佺帇鍚?/author>Fri, 25 Jun 2010 03:57:00 GMThttp://m.shnenglu.com/dfghj44444/archive/2010/06/25/118699.htmlhttp://m.shnenglu.com/dfghj44444/comments/118699.htmlhttp://m.shnenglu.com/dfghj44444/archive/2010/06/25/118699.html#Feedback0http://m.shnenglu.com/dfghj44444/comments/commentRss/118699.htmlhttp://m.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://m.shnenglu.com/dfghj44444/archive/2010/04/08/111958.html鍙垜鑰佺帇鍚?/dc:creator>鍙垜鑰佺帇鍚?/author>Thu, 08 Apr 2010 06:15:00 GMThttp://m.shnenglu.com/dfghj44444/archive/2010/04/08/111958.htmlhttp://m.shnenglu.com/dfghj44444/comments/111958.htmlhttp://m.shnenglu.com/dfghj44444/archive/2010/04/08/111958.html#Feedback0http://m.shnenglu.com/dfghj44444/comments/commentRss/111958.htmlhttp://m.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>
            欧美激情中文字幕一区二区| 国产精品久久久久aaaa樱花| 99成人免费视频| 久久精品国产久精国产爱 | 亚洲大胆视频| 精品999久久久| 日韩视频在线免费观看| 亚洲一区在线免费| 久久黄色级2电影| 欧美激情网友自拍| 这里只有精品视频| 久久精品国产成人| 欧美日韩不卡| 国内成人精品2018免费看| 亚洲人成77777在线观看网| 亚洲午夜伦理| 欧美gay视频| 亚洲视频国产视频| 乱人伦精品视频在线观看| 欧美日韩大片一区二区三区| 国产亚洲视频在线观看| av成人黄色| 久热精品视频在线免费观看| aa级大片欧美三级| 免费亚洲一区| 韩国一区二区三区美女美女秀| 亚洲乱码国产乱码精品精天堂| 午夜精品在线视频| 亚洲电影免费观看高清完整版| 中文日韩在线视频| 蜜桃久久av| 狠久久av成人天堂| 亚洲欧美视频在线观看视频| 女仆av观看一区| 亚洲欧美日本日韩| 欧美日韩人人澡狠狠躁视频| 在线欧美日韩精品| 欧美一区视频| 在线午夜精品自拍| 欧美精品久久久久久| 黑人一区二区三区四区五区| 亚洲欧美日本日韩| 日韩视频在线免费观看| 欧美电影打屁股sp| 亚洲国产日韩欧美| 米奇777超碰欧美日韩亚洲| 亚洲小说春色综合另类电影| 欧美日韩国产91| 亚洲伦伦在线| 亚洲精品国久久99热| 欧美成年人视频网站欧美| 在线观看一区二区精品视频| 久久久久久久激情视频| 欧美一区二区| 黄色成人免费观看| 美女日韩欧美| 久久久91精品国产| 在线观看国产成人av片| 另类综合日韩欧美亚洲| 欧美女同视频| 亚洲成人影音| 欧美国产日韩二区| 欧美ab在线视频| 亚洲毛片播放| 亚洲精品久久7777| 欧美日韩视频在线第一区| 亚洲视频免费| 亚洲香蕉成视频在线观看 | 欧美不卡在线| 日韩午夜免费| 这里只有精品视频在线| 国产精品亚洲网站| 久久青草久久| 欧美国产日韩一区二区| 亚洲一级电影| 欧美在线精品免播放器视频| 在线播放视频一区| 最新亚洲视频| 国产精品夜色7777狼人| 久久综合九色99| 欧美激情精品久久久久久蜜臀| 这里只有精品视频在线| 亚洲欧美日韩专区| 亚洲电影av在线| 99成人精品| 激情文学一区| 一区二区三区蜜桃网| 狠狠色香婷婷久久亚洲精品| 亚洲国产精品嫩草影院| 国产精品区二区三区日本| 久久综合九色综合久99| 欧美精品久久久久久久久久| 欧美在线网站| 欧美精品一区二区三区视频| 欧美在线亚洲| 欧美日韩免费视频| 老色鬼精品视频在线观看播放| 欧美精品在线极品| 久久亚洲视频| 国产精品久久久久久久久动漫| 免费成人av在线看| 国产精品一卡二| 亚洲精品日韩欧美| 在线不卡中文字幕| 亚洲欧美日本国产有色| 99精品热视频| 美女脱光内衣内裤视频久久影院 | 女同一区二区| 国产精品毛片va一区二区三区| 女女同性女同一区二区三区91| 欧美四级电影网站| 亚洲国产精品va在线观看黑人| 国产午夜精品一区理论片飘花 | 中文一区在线| 国产精品久久久久一区| 亚洲国产精品一区二区第一页| 亚洲一区二区三区四区在线观看| 91久久精品国产91久久| 欧美专区在线观看| 久久精品国产2020观看福利| 欧美婷婷久久| 亚洲精品欧美日韩专区| 亚洲黄色成人| 免费av成人在线| 免费欧美在线| 一区二区在线观看视频在线观看| 亚洲一级免费视频| 亚洲欧美日产图| 国产精品久久激情| 一区二区三区日韩欧美精品| 夜夜精品视频一区二区| 蜜桃精品一区二区三区| 欧美大片在线观看一区二区| 亚洲成色www久久网站| 久久久久九九九| 麻豆成人综合网| 在线成人av.com| 男人天堂欧美日韩| 91久久在线播放| 一本色道久久综合亚洲精品不| 欧美精品v国产精品v日韩精品| 亚洲国产精品第一区二区三区| 亚洲日本在线视频观看| 欧美日韩高清在线观看| 一区二区三区色| 欧美在线资源| 一区二区视频在线观看| 欧美国产日韩一区二区在线观看| 亚洲激情午夜| 亚洲制服少妇| 国产综合视频| 免费不卡亚洲欧美| 日韩视频在线一区二区三区| 亚洲欧美一区二区视频| 国产一区二区三区免费在线观看| 久久久中精品2020中文| 亚洲欧洲一区二区三区| 午夜激情亚洲| 在线精品视频在线观看高清| 欧美激情一区在线观看| 亚洲字幕一区二区| 欧美成人性网| 欧美一区二区三区男人的天堂| 在线成人激情| 国产精品久久久久久久免费软件| 久久精品国产第一区二区三区| 亚洲激情网站| 久久久之久亚州精品露出| 日韩一级黄色片| 国产一区久久久| 欧美日韩日日夜夜| 久久久噜噜噜久久| 在线视频中文亚洲| 欧美成年人视频| 欧美一区日本一区韩国一区| 亚洲日本成人网| 国产一区二区主播在线| 欧美视频网站| 免费观看在线综合色| 欧美一二三区精品| 一区二区三区导航| 欧美激情视频网站| 久久精品女人的天堂av| 在线视频一区二区| 亚洲欧洲精品一区| 老司机67194精品线观看| 亚洲欧美在线一区二区| 亚洲人成人一区二区在线观看| 国产精品入口福利| 欧美精品1区2区| 久久伊人精品天天| 欧美影院午夜播放| 亚洲视频在线免费观看| 亚洲精品国产精品乱码不99按摩| 老牛国产精品一区的观看方式| 欧美一区1区三区3区公司| 一本不卡影院| 9l国产精品久久久久麻豆| 亚洲激情偷拍| 亚洲精品1234|