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);
		}
	}
}
Example #2
0
		}
		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 );
Example #3
0
		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)) {