ウィジェット

スクロール機能つきウィンドウ
GtkScrolledWindow
アライメントウィジェット
GtkAligment
コンテナウィジェットでウィジェット作成時に
バックするウィジェットの配置位置と、ウィジェットの拡大率を指定する
スピンボタンウィジェット
GtkSpinButton
gtk_scrolled_window_new()
スクロールウィンドウを作成
gtk_scrolled_window_set_policy()
スクロールバーの表示設定をする
スクロールバーの表示設定は以下から選択
GTK_POLICY_ALWAYS
常にスクロールバーを表示
GTK_POLICY_AUTOMATIC
子ウィジェットの大きさに応じて表示
GTK_POLICY_NEVER
表示しない
gtk_scrolled_window_set_shadow_type()
ウィンドウ内の装飾の設定をする
gtk_alignment_new()
GtkAlignmentウィジェットを作成
gtk_spin_button_new()
スピンボタンウィジェットを作成

GtkDrawingArea

gdk_pixbuf_new_from_file()
ウィンドウに表示するための画像をファイルから読み込む
gtk_widget_set_size_request()
ウィジェットの大きさを設定する
gdk_draw_pixbuf()
画像データを描画
第1引数 drawable
画像データを描画するドローアブルを指定
例:ソース5ー2ではGtkDrawingArea の windowsメンバをドローアブルに指定
第2引数 gc
指定せずNULLでもよい
第3、4引数
ドローアブルのどの座標から描画を開始するか指定
第5引数~第8引数
描画する画像の範囲(開始座標と幅、高さ)を指定
width,height に -1を指定すると、自動的に画面全体の幅、高さになる
gdk_window_set_back_pixmap()
画像データを GdkWindowの背景として設定
gdk_window_clear()
画像の再描画
gdk_pixbuf_render_pixmap_and_mask()
GdkPixbufデータから、ピックスマップと ビットマップを作成する
gdk_pixbuf_composite_color()
を使って透明部分にタイル柄を描画して
透明部分を演出
void gdk_pixbuf_comnposite_color(
const GdkPixbuf *src, //入力画像
GdkPixbuf *dest, //出力画像
int dest_x, //入力が像の描画を開始するx座標
int dest_y, //入力画像の描画を開始するy画像
int dest_width, //描画する幅
int dest_height, //描画する高さ
double offset_x, //入力が像のオフセットのx座標
double offset_y, //入力が像のオフセットのy画像
double scale_x, //入力が像のx方向の拡大率
double scale_y, //入力画像のy方向の拡大率
GdkInterpType interp_type, //画素数の内挿方法
int overall_alpha, //透明度の設定
int check_x, //チェッカーボードのオフセットのx座標
int check_y, //チェッカーボードのオフセットのy座標
int check_size, //チェッカーボードの大きさ
guint32 color1, //チェッカーボードの色1
guint32 color2); //チェッカーボードの色2

画像書き込み

gdk_pixbuf_save()
GdkPixbuf形式の画像データをファイルに保存
GdkPixbuf構造体からは
画像の大きさ プレーン数、画素値などの情報を取得できる
gdk_pixbuf_get_width
画像の幅をかえす

gdk_pixbuf_get_height

画像の高さをかえす
gdk_pixbuf_get_n_channels
画像のチャネル(プレーン)数をかえす
RGB画像=3
アルファチャネル=4
gdk_pixbuf_get_has_alpha
画像がアルファチャネルをもつかどうか調べる
アルファチャネルを持つ場合=TRUE
そうでないなら=FALSE
gdk_pixbuf_get_rowstride
画像の1行分のバイト数をかえす
gdk_pixbuf_get_pixels
画像データの先頭ポインタをかえす

再燃する円高の可能性

金曜日~土曜日の朝にかけて
シティグループとバンクオブアメリカの国有化の話がでました
その結果、ドルは売られ、94円だったドルは92円へ急落
得に、欧州通貨に対しては大きく売られることになりました
現状のドルの上昇している要因は
オバマ政権による期待感ではなく、金融機関の資産処分による
資金還流ともいわれています
そういえば、かつて日本がバブル崩壊をしたときでも
79円まで円高になりました
そう考えてみると
このときも日本企業の資産投げ売り+資金還流で円高だったのかなぁ
と思ったりします
たしか、バブル崩解が1990だったと思いますので
そう考えてみると
リーマンの破綻とかで去年あたりから本格化したアメリカの住宅バブル崩解
これによりドル安と考えるのは安易なのかもしれません
アメリカも海外の資産をたくさんもっていそうなので
一時は世界のシティバンクなんて言われていたぐらいですから
相当な資産の投げ売りもあるのかもしれません
こう考えてみると、どこのあたりに資産があるかを
推測することで、こういうときの通貨の流れを読むことができるかもしれません

ここ最近の円安要因は?

ここ最近、円安へ向かいました
これは報道にある辞任とは別に、どうやら米国債の入札もあるようです
米国債入札ともなれば、当然のごとく外貨を調達するので
円安になりますから
あとは、機関投資家のストップロス(損切り)を巻き込んだようです
ただ、当然円安になると、決算を控えた企業が円に戻すので
これが円高要因となるのです
ただ、円安になっても、いままでのように海外に輸出ができているのではないため
、円安=株高にはなりにくいようです
どちらかというと、円安に向かうことで
逆に景気悪化するような気がします
いままでは、輸出が輸入量を上回るので円安でもなんとかなります
しかし、これが逆になると、物価があがり、大変になります
日本、アメリカともに失業率が増えるのは時間の問題ですね
毎週木曜に、米国の新規失業保険申請数が発表されるので
それを見ると、どのくらい増えているかが実感できると思います
GMを生き延びさせるために、米国政府が大量の公的資金(税金)を使っています
しかし、結局はGMが生き延びるには、大量のリストラになるでしょう
どのみち、失業率の悪化は避けれません
でも、救済したばあい、幹部は生き残り、従業員は切り捨てです
日本企業でも最近はリストラがすさまじいことになっています
ただ、問題に思うのは
最終的に企業は人で動きますので、そこまでリストラしておいて、
今後まともに機能するのか? です
日本企業は、これから円高でも利益がでるように変わっていかないと
いずれ円安になったとしても、また同じことの繰り返しになりそうです

画像ファイルの読み書き

GdkPixbuf
画像ファイルの読み書きなど
画像データの扱いを担当するらいぶらり
★画像の読み書き
gdk_pixbuf_new_from_file()
画像ファイルから画像データを読み込む
GdkPixbuf* gdk_pixbuf_new_from_file(

const char *filename,
GError **error);

★GError は以下の様に定義される
関数の引数に与えるときは、値をNULLに初期化してから与えること
typedef struct{
GQuark domain;
gint code;
gchar *message;
}GError;
gdk_pixbuf_new()
画像サイズなどを指定して GdkPixbuf構造体を生成
gdk_pixbuf_new_from_data()
画像データからGdkPixbuf構造体を生成
画像データは guchar型の1次元配列として与える

GdkPixbufDestroyNogify

画像データを開放する関数を与える

gdk_pixbuf_new_from_xpm_data()

XPMデータからGdkPixbuf構造体を生成

gdk_pixbuf_new_from_inline()

インラインデータからGdkPixbuf構造体を生成
GdkPixbuf* Gdk_pixbuf_new_from_inline(
gint data_length, //データの長さ(-1にすると全データを使用
const guint *data;
gboolean copy_pixels, //TRUEならデータをローカルにコピー
GError **error);
★インラインデータは gdk-pixbuf-csource というコマンドラインツールから作成できる

ザ 節約?

最近は すさまじく不況です
とはいっても、得に製造業関連がひどく
小売関連はそれほどでもないみたいですけど
まぁそれはおいといて、とにかく節約するのにこしたことはありません
でも、私は節約するとは言っても、苦痛になるような節約はしません
ともかく、抑えられそうな出費は、
銀行の手数料
クレジットカードなどの年会費
ぐらいですね
固定費をやすくするなら、P-oneカードで1%引きにすることで
いままでの生活そのままで固定費を節約できます
このカード、引き落とし時に1%引きになります
つまり、
1万円の買い物をしても、9900円になるわけです
まぁ残念ながら、月に15万円までしか適用されませんけど・・・
(ゴールドカードの場合、制限は限度額まで)
あとは、バカにならないガソリン代
セルフスタンドで入れて、さらにガソリン系のカードで給油してカード払いなら
安くなります
あと、車を買い換えるなら軽自動車にするのも出費を抑えることができます
一番のメリットは、車の税金が安くなること
普通車なら3万円くらいの税金が、軽自動車だと8000円くらいですから
クレジットカードを持つのに抵抗がある理由に、
使いすぎてしまったらどうしよう?
というのを聞きます
これに対しては、いっそのこと銀行口座をクレジットの支払い専用で作ってみては
どうでしょうか?
そして、使った額だけその口座に入れて出さなければいいのですから
カードの総額がいくら使ったのかわからなくなったときは
限度額から使える残高を引けばみることができます
さて、最初に言いました銀行の手数料を節約するのは
ネットバンクを使うことで解決できます
ソニー銀行、住信SBIネット銀行は、
セブンイレブンの手数料無料なので役立ちます
このように、削れる点はいくつかあると思いますので
無理しない程度の節約をこころがけましょう

ピックスマップへの描画

gdk_window_set_back_pixmap()
ピックスマップの貼り付けをする
ピックスマップをウィンドウの背景として設定する関数
void gdk_window_set_back_pixmap(
GdkWindow *window, //貼り付けるウィンドウ
GdkPixmap *pixmap, //貼り付ける描画
gboolean parent_relative);

gdk_window_clear()

設定した背景でウィンドウを描画する
void gdk_window_clear(GdkWindow *window);
ピックスマップの描画は
gdk_draw_drawable()でもできる
void gdk_draw_drawable(
GdkDrawable *drawable,
GdkGC *gc,
gint xsrc,
gint ysrc,
gint xdest,
gint ydest,
gint width, //幅
gint height); //高さ

図形の描画

gdk_draw_rectangle()
短型の描画を行う
void gdk_draw_rectangle(

GdkDrawable *drawable,
GdkGC *gc,
gboolean filled, //filled=塗りつぶさない TRUE=前景色で塗りつぶす
gint x, //左上のx座標
gint y, //左上のy座標
gint width, //幅
gint height //高さ

描画の基準は、指定した座標を左上とした基準の形で四角を描く
引数 filled をTRUEにすると、枠の中を前景色で塗りつぶす
gdk_draw_arc()
円弧の描画を行う
void gdk_draw_arc(GdkDrawable *drawable,
GdkGC gc,
gboolean filled, //TRUEなら塗りつぶし
gint x, //左上のx座標
gint y, //左上のy座標
gint width, //幅
gint height, //高さ
gint angle1, //円弧の開始角度
gint angle2 //相対的な角度
);
引数x,yは円弧を含む左上の座標を表す
width=幅 height=高さを表す
angle1 円弧の開始角を表す
(3時の方向を0°として、1/64単位で与える)
angle2 angle1からの相対的な角度
filledをTRUEにすると、円弧内を前景色で塗りつぶす
gdk_draw_polygon()
多角形の描画を行う
void gdk_draw_polygon(GdkDrawable *drawable,
GdkGC *gc,
gboolean filled, //TRUEなら前景色で塗りつぶし
GdkPoint *points, //GdkPoint構造体の配列で指定
gint hpoints //ポイント(多角形の頂点の点)の数
);
多角形の頂点を、Gpoint構造体の配列 *pointsで指定する
filledをTRUEにすると、多角型内を前景色で塗りつぶす
★ピックスマップへの描画
GdkPixmapもドローアプルのひとつ
図形などをウィンドウに描画する時にはGdkWindowを使う
GdkPixmapは
ウィンドウにたくさんの図形を描画するときに使う
なぜなら、直接 GdkWindow に 描画すると画面がちらつくから
なので、図形を先に GdkPixmapに描画して、それを GdkWndow に貼り付ける
これで描画のチラつきが回避可能らしい

Gdkの関数

gdk_gc_set_line_attributes()
線の描画をするためにいろいろな属性をセットする
引数は(gc 、線の幅、線のスタイル、線の終端、線の結合部分のスタイル)
g_object_unref()
リファレンスカウンタの値が1つ減る
カウンタが0になるとオブジェクトは開放される