GTK プログラミング! ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
152:login:Penguin 03/03/18 10:45 FeF5+SYV (続き) // drawing areaの中味を描画する gboolean expose_event_handler(GtkWidget* widget, GdkEventExpose* event, gpointer arg) { GdkWindow* window; GdkGC* gc = gdk_gc_new(window = event->window); // グラフィックコンテクストを取得する // 描画コード gdk_gc_unref(gc); return FALSE; } // ボタンがクリックされた時の処理 void click_event_handler(GtkWidget* widget, gpointer arg) { gboolean return_val; // areaの再描画を要求 困ったのはここから。click_event_handlerの中でareaに対してexpose_eventを発行すれば再描画されると踏んだが、関数 gtk_signal_emit_by_name()の呼び出しで第3引数以下にどんなパラメー タを渡せば良いのやら(続く)。 153:login:Penguin 03/03/18 10:48 FeF5+SYV (続き) 以下は今までに洩れが試したこと 1.expose_event_handlerにargだけを渡す gtk_signal_emit_by_name( GTK_OBJECT(area), // areaに対して "expose_event", // expose_eventを発行する NULL, // expose_event_handlerの第3引数argに渡す値 &return_val); // expose_event_handlerの戻り値を格納する変数へのポインタ コールバック関数expose_event_handlerは第2引数にGdkEventExpose*を 取るが、ここでexpose_eventを発行すると指定している以上、 GdkEventExpose*は自動的に渡されると予想して第2引数eventに渡す値は 指定しなかった。結果はこのコードを実行するとsegmentation faultが 発生して失敗。 2.GdkEventExposeオブジェクトを生成する GdkEvent* event = gdk_event_new(GDK_EXPOSE); // GdkEventExposeオブジェクトを生成する gtk_signal_emit_by_name( GTK_OBJECT(area), // areaに対して "expose_event", // expose_eventを発行する event, // expose_event_handlerの第2引数eventに渡す値 NULL, // expose_event_handlerの第3引数argに渡す値 &return_val); // expose_event_handlerの戻り値を格納する変数へのポインタ gdk_event_free(event); // eventに割り当てられていたリソースを解放する 結果はgdk_event_newがundefined referenceとなってコンパイル不能。 誰か手がかりをキボンヌ。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4058日前に更新/255 KB
担当:undef