!!! ドローアブル * ウィンドウ、ピクスマップ、ビットマップ * ウィンドウ上に絵を書くときは直接ウィンドウへ描画せず、ドローイングエリアウィジェットを介して行う !! ドローイングエリア 8< GtkWidget* gtk_drawing_area_new (void); >8 * [gtk_drawing_area_new|http://developer.gnome.org/gtk/2.24/GtkDrawingArea.html#gtk-drawing-area-new] 8< void gtk_widget_set_size_request (GtkWidget *widget, gint width, gint height); >8 * [gtk_widget_set_size_request|http://developer.gnome.org/gtk/2.24/GtkWidget.html#gtk-widget-set-size-request] ** 入門GTK+ 3版pdf:10(22)ページ ! 800x600のドローイングエリアを作成 8< GtkWidget *drawing_area; drawing_area = gtk_drawing_area_new(); gtk_widget_set_size_request(drawing_area, 800, 600); >8 !! ピクスマップ 8< GdkPixmap* gdk_pixmap_new (GdkWindow *window, gint width, gint height, gint depth); >8 * [gdk_pixmap_new|http://developer.gnome.org/gdk/2.24/gdk-Bitmaps-and-Pixmaps.html#gdk-pixmap-new] ! 800x600のピクスマップを作成 8< GtkWidget *widget; GdkPixmap *g_pixmap; widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_show(widget); g_pixmap = gdk_pixmap_new(widget->window, 800, 600, -1); >8 * depthを指定しない(-1)場合windowの色数と同じピクスマップができるが、その場合のwindowはgtk_widget_showを行ったwidgetからしか取り出せない