作るぞ ギコ猫アプレット (437レス)
1-

348: gchar 02/04/28 14:16 ID:ijT40Drd(1) AAS
ついでに糞コードを載せておく。
GtkTransEventBoxなら

修正前
drawする度にルートウィンドウからピクスマップを生成していた。

static void
gtk_trans_event_box_paint (GtkWidget *widget,
GdkRectangle *area)
{

load_background(widget);
gdk_draw_pixmap(widget->window, GTK_WIDGET(widget)->style->fg_gc[0],

GTK_TRANS_EVENT_BOX(widget)->pixmap, 0,0,
area->x, area->y, area->width, area->height);
}

修正後
これでピクスマップを再利用できる。
static void
gtk_trans_event_box_paint (GtkWidget *widget,
GdkRectangle *area)
{
static GtkTransEventBox *trans_event;
trans_event = GTK_TRANS_EVENT_BOX(widget);

if(trans_event->background == 0) {
if(trans_event->pixmap == NULL ||
trans_event->x != area->x || trans_event->y != area->y ||
trans_event->width != area->width ||
trans_event->height != area->height) {

trans_event->x = area->x;
trans_event->y = area->y;
trans_event->width = area->width;
trans_event->height = area->height;
gdk_pixmap_unref(trans_event->pixmap);
trans_event->pixmap = NULL;

load_background(widget);
}
1-
あと 89 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.990s*