void asgtk_image_view_refresh (ASGtkImageView * iv, Bool reload_file) { g_return_if_fail (ASGTK_IS_IMAGE_VIEW (iv)); if (iv->image_entry) { if (reload_file && iv->image_entry->type <= ASIT_Supported) { if (iv->image_entry->preview) { safe_asimage_destroy (iv->image_entry->preview); iv->image_entry->preview = NULL; } /* show empty screen while loading background for now : */ display_image_view (iv); LOCAL_DEBUG_OUT ("imman = %p, fullname = \"%s\"", get_screen_image_manager (NULL), iv->image_entry->fullfilename); iv->image_entry->preview = get_asimage (get_screen_image_manager (NULL), iv->image_entry->fullfilename, 0xffffffff, 100); LOCAL_DEBUG_OUT (" ASGtk image view loaded image %p", iv->image_entry->preview); } if (iv->image_entry->preview) { Bool ratio_changed = False; char *details_text; details_text = format_asimage_list_entry_details (iv->image_entry, GTK_IS_VBUTTON_BOX (iv-> details_hbox)); gtk_label_set_text (GTK_LABEL (iv->details_label), details_text); free (details_text); if (iv->aspect_x <= 0 || iv->aspect_y <= 0) ratio_changed = set_aspect_ratio_from_image (iv); LOCAL_DEBUG_OUT (" ASGtk image view refreshing image %p", iv->image_entry->preview); /* redisplay */ if (!ratio_changed) display_image_view (iv); else gtk_image_set_from_stock (GTK_IMAGE (iv->view), GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_BUTTON); } } }
} clear_flags (style->inherit_flags, F_BACKTRANSPIXMAP | F_BACKPIXMAP); LOCAL_DEBUG_OUT( "calling mystyle_free_back_icon for style %p", style ); if (type == TEXTURE_TRANSPARENT || type == TEXTURE_TRANSPARENT_TWOWAY) { /* treat second parameter as ARGB tint value : */ if (parse_argb_color (def->back_pixmap, &(style->tint)) == def->back_pixmap) style->tint = TINT_LEAVE_SAME; /* use no tinting by default */ else if (type == TEXTURE_TRANSPARENT) style->tint = (style->tint >> 1) & 0x7F7F7F7F; /* converting old style tint */ /*LOCAL_DEBUG_OUT( "tint is 0x%X (from %s)", style->tint, tmp);*/ set_flags (style->user_flags, F_BACKPIXMAP); style->texture_type = type; } else { /* treat second parameter as an image filename : */ if ( load_icon(&(style->back_icon), def->back_pixmap, get_screen_image_manager(NULL) )) { set_flags (style->user_flags, F_BACKPIXMAP); if (type >= TEXTURE_TRANSPIXMAP) set_flags (style->user_flags, F_BACKTRANSPIXMAP); style->texture_type = type; } else show_error("Parsing MyStyle \"%s\" failed to load image file \"%s\".", style->name, def->back_pixmap); } LOCAL_DEBUG_OUT ("MyStyle \"%s\": BackPixmap %d image = %p, tint = 0x%lX", style->name, style->texture_type, style->back_icon.image, style->tint); } if( get_flags (def->set_flags, MYSTYLE_DrawTextBackground) ) { if( get_flags (def->flags, MYSTYLE_DrawTextBackground) ) set_flags( style->user_flags, F_DRAWTEXTBACKGROUND );
clear_flags (style->inherit_flags, F_BACKTRANSPIXMAP | F_BACKPIXMAP); LOCAL_DEBUG_OUT ("calling mystyle_free_back_icon for style %p", style); if (type == TEXTURE_TRANSPARENT || type == TEXTURE_TRANSPARENT_TWOWAY) { /* treat second parameter as ARGB tint value : */ if (parse_argb_color (def->back_pixmap, &(style->tint)) == def->back_pixmap) style->tint = TINT_LEAVE_SAME; /* use no tinting by default */ else if (type == TEXTURE_TRANSPARENT) style->tint = (style->tint >> 1) & 0x7F7F7F7F; /* converting old style tint */ /*LOCAL_DEBUG_OUT( "tint is 0x%X (from %s)", style->tint, tmp);*/ set_flags (style->user_flags, F_BACKPIXMAP); style->texture_type = type; } else { /* treat second parameter as an image filename : */ if (load_icon (&(style->back_icon), def->back_pixmap, get_screen_image_manager (NULL))) { set_flags (style->user_flags, F_BACKPIXMAP); if (type >= TEXTURE_TRANSPIXMAP) set_flags (style->user_flags, F_BACKTRANSPIXMAP); style->texture_type = type; } else show_error ("Parsing MyStyle \"%s\" failed to load image file \"%s\".", style->name, def->back_pixmap); } LOCAL_DEBUG_OUT ("MyStyle \"%s\": BackPixmap %d image = %p, tint = 0x%lX", style->name, style->texture_type, style->back_icon.image, style->tint); } if (get_flags (def->set_flags, MYSTYLE_DrawTextBackground)) {