2015年01月18日
gtk+3 使ってみた
ようやく本腰を入れて gtk+3 への乗り換えを進めてみました。
ウィジェットへの描画方法が一新されてしまったので最初は手探り状態でしたが、ようやくある程度理解して動作するところまで完成しました。描画のところだけ変更すればあとはそのまま動作するようになったので一安心です。
一番苦しんだのが、GdkPixbuf を使って Drawable へ描画するところ。昔参考にしていた本にあった方法で、GdkPixmap 経由で描画する形にプログラムを作成していたので、GdkPixbuf を GdkPixmap へ描画するときの原点と、GdkPixmap を Drawable に描画するときの原点の二つを管理していたのですが、gtk+3 からは Cairo を使った描画スタイルになったので原点は一つだけ管理すればよくなりました。さらにイベントも expose_event が廃止されて draw イベントとなり、イベントハンドラの内容も変える必要がありました。このあたりが整理できたらあとはそれほど苦労したところはありません。しかし、まだ完全に理解したわけではなく、ドキュメントを参考にいろいろと試行錯誤しています。
Cairo が gtk+ 専用というわけではなく、gtk+ が Cairo を利用するようになったということのようなので、Cairo そのものも、もっとドキュメントを確認する必要があるようですが、パッと見たところいろんなことができそうです。もう少し内容を理解していきたいですね。いずれにしても、gtk+ を使ったサンプル・プログラムなんかももう少しすれば完成しそうなので、またいずれ公開しようかと思っています。
ウィジェットへの描画方法が一新されてしまったので最初は手探り状態でしたが、ようやくある程度理解して動作するところまで完成しました。描画のところだけ変更すればあとはそのまま動作するようになったので一安心です。
一番苦しんだのが、GdkPixbuf を使って Drawable へ描画するところ。昔参考にしていた本にあった方法で、GdkPixmap 経由で描画する形にプログラムを作成していたので、GdkPixbuf を GdkPixmap へ描画するときの原点と、GdkPixmap を Drawable に描画するときの原点の二つを管理していたのですが、gtk+3 からは Cairo を使った描画スタイルになったので原点は一つだけ管理すればよくなりました。さらにイベントも expose_event が廃止されて draw イベントとなり、イベントハンドラの内容も変える必要がありました。このあたりが整理できたらあとはそれほど苦労したところはありません。しかし、まだ完全に理解したわけではなく、ドキュメントを参考にいろいろと試行錯誤しています。
Cairo が gtk+ 専用というわけではなく、gtk+ が Cairo を利用するようになったということのようなので、Cairo そのものも、もっとドキュメントを確認する必要があるようですが、パッと見たところいろんなことができそうです。もう少し内容を理解していきたいですね。いずれにしても、gtk+ を使ったサンプル・プログラムなんかももう少しすれば完成しそうなので、またいずれ公開しようかと思っています。
2015年01月18日
あれから 20 年
阪神・淡路大震災の日、ちょうど転勤になって間もない頃でした。
朝、目が覚めてすぐに地震が起こりましたが、そのまま会社へ。昼休み中のニュースで初めてかなり大きな災害だったことに気づきました。しかし、あの頃は慣れない環境の中でバタバタしていたので、震災も含めて何があったかあまり記憶が残っていないです。
当時の写真を掲載したサイトがありました。これを見ると改めて地震の怖さを感じます。
想像を絶するすさまじい地震・火災・避難の実態を記録した知られざる阪神・淡路大震災の写真まとめ「1.17の記録」
いつもこういう時だけ防災のことを考えるんですけど、これもよくないですね。今年こそは、家具の転倒防止に防災グッズ、災害時のシミュレーションなどなど、日頃から少しずつ用意しておくようにしていきたいです。
朝、目が覚めてすぐに地震が起こりましたが、そのまま会社へ。昼休み中のニュースで初めてかなり大きな災害だったことに気づきました。しかし、あの頃は慣れない環境の中でバタバタしていたので、震災も含めて何があったかあまり記憶が残っていないです。
当時の写真を掲載したサイトがありました。これを見ると改めて地震の怖さを感じます。
想像を絶するすさまじい地震・火災・避難の実態を記録した知られざる阪神・淡路大震災の写真まとめ「1.17の記録」
いつもこういう時だけ防災のことを考えるんですけど、これもよくないですね。今年こそは、家具の転倒防止に防災グッズ、災害時のシミュレーションなどなど、日頃から少しずつ用意しておくようにしていきたいです。