GTK+プログラミング (983レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
90(6): 2008/10/19(日)18:09 ID:ZgmXTrMt(1) AAS
今、ruby-gtk2を使って簡単な画像ビューワを作っています。
デスクトップにフィットさせて表示(大きい場合は縮小表示)させたいのですが、
パネルとかウインドウマネージャの装飾を考慮して、画像を表示できる最大の
サイズを知りたい場合、どうしたら良さそうですか?
探してはいるものの、なかなか良さそうな手が見つからないです。
92(1): 2008/10/19(日)20:28 ID:Su20jt3Y(1) AAS
>>90
ウィンドウを maximize した時にでるシグナルの中でウィンドウ
サイズを取得して、画像のサイズを拡大縮小とか。
これだと、ウィンドウが出てから画像が出るまで、間が空くか?
93(1): 90 2008/10/20(月)00:25 ID:s5JT3EOQ(1/2) AAS
>>92
レスありがとうございます。
やっぱり、そういうちょっと強引な方法しかないんですかね。
せっかく教えてもらったんですが、ちらつきそうなので、できれば避けたいです。
今は、スクリーンサイズを取ってきて適当なサイズで妥協しています。
何かあっても良さそうなのになぁ。。。
95(1): 2008/10/20(月)02:08 ID:RwkYMDWR(1) AAS
>>90
昔SunのJDKのソースを読んでいたことがあるんだが、当時のJDKの実装では、
1) 使われているwindow managerを特定
2) 有名(あるいは標準的と言うべき)なwindow managerであれば、
それぞれのwm固有の枠部分の装飾手段(Windowの重なり具合など)
の知識を基に、今有るウィンドウの親を手繰ってwm由来部分を調査し
wm由来部分のサイズを決定
3) 知らないwmは非サポートってことで適当に……
なんてことをしていた
ここ数年で提案されてない限り、良い方法はないと思われ
98(2): 90 2008/10/20(月)21:27 ID:s5JT3EOQ(2/2) AAS
レスありがとうございます。
>>94
ごめんなさい、"expose-event"シグナルはrubyでもあるのですが、94さんの意図が
よく理解できませんでした。
>>95
詳しい情報ありがとうございます。
Sunの人でさえ、そういう実装をされているくらいだから、簡単な方法は無さそうですね。
>>96,97
そんなことを簡単に知ろうという方が間違いですかね。
ちなみに、ちらつくと書いたのは、実際maximizeしてからサイズを取ってくるとすると
画面に表示することは避けられず、一瞬maximizeしたウインドウが見えてしまうという
意味で書きました。
まだGTKのシグナルがどんなタイミングで発行されるのか、よく理解できていないので
誤解しているかも知れませんが。
99(1): 94 2008/10/20(月)23:02 ID:upSqhUNX(2/2) AAS
>>98
すみません、>>90さんの要求を正しく理解していませんでした。
最大化できるサイズを求めるというのではなくて、あくまでアプリ側で必要な
サイズ(GtkRequisition)と、実際に獲得できたサイズ(GtkAllocation)
で実装するのはいかかでしょうか?
101: 90 2008/10/21(火)23:21 ID:rjo5j4+k(1) AAS
>>99
色々、考えて下さり、ありがとうございます。
>>100
まあ、そう言わんで下さい。
皆さんに教えて頂いたことをヒントに、時間が取れるときに
もっと勉強しようと思います。
レスをしてくれた方々、ありがとうございました。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.047s