[過去ログ] GTK+プログラミング (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
823(1): 2017/11/01(水)06:38 ID:6RRJjvM+(4/10) AAS
続き
static gpointer thread_func( gpointer data){
cairo_t *ic;
int i;
ic = cairo_create (glob.image);
{
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
cairo_stroke_preserve(ic);
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
省17
824(1): 2017/11/01(水)06:39 ID:6RRJjvM+(5/10) AAS
続き
static void on_button01_clicked(GtkWidget *button, gpointer user_data){
GError *error;
if (execflag01 == 0) {
execflag01 = 1;
count = BITMAP_HEIGHT;
time_count = 1000;
thread = g_thread_create( thread_func, (gpointer)darea, FALSE, &error);
}
}
825(1): 2017/11/01(水)06:39 ID:6RRJjvM+(6/10) AAS
最後
int main (int argc, char *argv[])
{
load_image ();
execflag01 = 0;
gtk_init (&argc, &argv);
gdk_threads_init();
gdk_threads_enter();
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width(GTK_CONTAINER(window), 5);
省20
826(2): 2017/11/01(水)12:30 ID:MSa06+/w(1/3) AAS
gtkmm っていう C++ のバインディングがあるんだけど,2011 年で 3.0 が出たきり更新の音沙汰がない。
C++ 向けの GTK+ バインディングでおすすめある?
827(1): 2017/11/01(水)13:02 ID:A1HFLP/N(1/4) AAS
事実上それしかないのでは
828(1): 2017/11/01(水)13:24 ID:JjdAGBri(1) AAS
>>826
音沙汰ないのは gtkmm.org だけみたいだよ
外部リンク:github.com
外部リンク:developer.gnome.org
829: 2017/11/01(水)16:12 ID:1oQnySzL(1/4) AAS
gtkmmはgtk4に向けてc++14対応もしてるっぽいし結構期待してる
830: 2017/11/01(水)16:16 ID:A1HFLP/N(2/4) AAS
ぼくも(^o^)
831(2): 826 2017/11/01(水)17:32 ID:MSa06+/w(2/3) AAS
>>827
>>828
ありがとうございます。GNOME のリポジトリはついぞ覗いていませんでした。これで安心して使えます。
しかしパッケージマネージャで入手できる gtkmm が 2.4 と 3.0 というのはちょっと心許ないですね……。
誰か PR 投げてくれないかなぁ〜 (他力本願)
832: 2017/11/01(水)18:17 ID:eYINtNrh(1) AAS
>>831
2.4とか3.0とかはgtkmmの互換性での番号だと思うけどどうして心許ないの?
833: 2017/11/01(水)18:19 ID:A1HFLP/N(3/4) AAS
>>831
ためしに手元のUbunut 17.04 でバージョン見たら
Version: 3.22.0-1
ってなっとるでな
834: 2017/11/01(水)18:55 ID:1oQnySzL(2/4) AAS
gtk4が出るまでqt勉強する
835: 2017/11/01(水)18:56 ID:1oQnySzL(3/4) AAS
gtk4が出たらJD書き直そうや
いつまでもgtk2じゃ駄目でしょ
最近のgtkはカラー絵文字にも対応してるようだし
836: 2017/11/01(水)19:11 ID:6RRJjvM+(7/10) AAS
>>820はGTK+3でBITMAPを表示する方法がわからなかったので
ネットで調べてとりあえず作ってみたものです
それとgtk_widget_queue_draw()をスレッド側で使う場合
下記のようにしないとダメなようです
gdk_threads_enter();
gtk_widget_queue_draw(darea);
gdk_threads_leave();
837(1): 2017/11/01(水)19:12 ID:6RRJjvM+(8/10) AAS
デモとして違うのも作ってみました
>>820-825のプログラムのthread_func()関数を下のものに差し替えてみてください
static gpointer thread_func( gpointer data){
int i, j, col, i1, depth;
double xgap, ygap, xx, yy, a1, b1, x1, y1, tmp1, x2, y2;
double xcorner, ycorner, length;
cairo_t *ic;
int count01;
struct {
double xcorner;
省15
838(1): 2017/11/01(水)19:13 ID:6RRJjvM+(9/10) AAS
続き
param[6].xcorner = -2.238124999999996e-001; param[6].ycorner = -6.581041666666665e-001;
param[6].length = 1.250000000000000e-002;
param[7].xcorner = -2.137343749999995e-001; param[7].ycorner = -6.554270833333333e-001;
param[7].length = 3.906250000000000e-004;
ic = cairo_create (glob.image);
for (count01 = 0; count01 < 8; count01++) {
cairo_set_source_rgb(ic, 0.0, 0.0, 1.0);
cairo_rectangle(ic, 0.0, 0.0, BITMAP_WIDTH, BITMAP_HEIGHT);
cairo_stroke_preserve(ic);
省17
839(1): 2017/11/01(水)19:13 ID:6RRJjvM+(10/10) AAS
終わり
while ((i1 < depth) && (x2+y2 <=4)) {
tmp1 = x2 - y2 + a1;
y1 = 2 * x1 * y1 + b1; x1 = tmp1;
x2 = x1 * x1; y2 = y1 * y1; i1++;
}
if (i1 == depth) i1 = 0;
else i1++;
col = i1;
gdk_threads_enter();
省22
840: 2017/11/01(水)20:23 ID:1oQnySzL(4/4) AAS
コードは別のところに貼ってくれ
841: 2017/11/01(水)20:39 ID:A1HFLP/N(4/4) AAS
一般的なペーストビン使えば?
842: 2017/11/01(水)20:49 ID:MSa06+/w(3/3) AAS
GTK4 で JD 書き直すの?
上下前次1-新書関写板覧索設栞歴
あと 160 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s