2004-01-12 05:10:40 +00:00
|
|
|
/*
|
|
|
|
* Authors: Rodney Dawes <dobey@ximian.com>
|
|
|
|
*
|
2006-01-14 20:53:58 +00:00
|
|
|
* Copyright 2003-2006 Novell, Inc. (www.novell.com)
|
2004-01-12 05:10:40 +00:00
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of version 2 of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <glib.h>
|
|
|
|
#include <gdk-pixbuf/gdk-pixbuf.h>
|
|
|
|
#include <gtk/gtktreeview.h>
|
|
|
|
#include <libgnomeui/gnome-thumbnail.h>
|
|
|
|
#include <gnome-wp-info.h>
|
|
|
|
#include <libgnomevfs/gnome-vfs.h>
|
|
|
|
|
|
|
|
#ifndef _GNOME_WP_ITEM_H_
|
|
|
|
#define _GNOME_WP_ITEM_H_
|
|
|
|
|
|
|
|
typedef struct _GnomeWPItem GnomeWPItem;
|
|
|
|
|
|
|
|
struct _GnomeWPItem {
|
|
|
|
gchar * name;
|
|
|
|
gchar * filename;
|
|
|
|
gchar * description;
|
|
|
|
gchar * imguri;
|
|
|
|
gchar * options;
|
|
|
|
gchar * shade_type;
|
|
|
|
gchar * pri_color;
|
|
|
|
gchar * sec_color;
|
|
|
|
|
|
|
|
/* Where the Item is in the List */
|
|
|
|
GtkTreeRowReference * rowref;
|
|
|
|
|
|
|
|
/* Real colors */
|
|
|
|
GdkColor * pcolor;
|
|
|
|
GdkColor * scolor;
|
|
|
|
|
|
|
|
GnomeWPInfo * fileinfo;
|
|
|
|
GnomeWPInfo * uriinfo;
|
|
|
|
|
|
|
|
/* Did the user remove us? */
|
|
|
|
gboolean deleted;
|
Regenerate the thumbnail in the list when we change scaling type now
2004-04-05 Rodney Dawes <dobey@ximian.com>
* gnome-wp-capplet.c (gnome_wp_scale_type_changed): Regenerate the
thumbnail in the list when we change scaling type now
(wallpaper_properties_init): Add GtkFileFilter support (needs love)
TreeView is buggy, so we need to not set the vertical-separator
style property for it
* gnome-wp-item.c: Include <config.h> and <gnome.h> here
(collect_save_options): Add a function to set all of the pixbuf options
for the thumbnail pixbuf properly, so we can save them back out
(gnome_wp_item_get_thumbnail): Fix up the code to
generate the thumbnails for the list a bit, so that we have sexy
thumbnails that look exactly like how the image would, on-screen
Initialize all of the width/height variables to 0
Add a new pixbuf variable for loading the original image to get the
dimensions of it, so we can do thumbnailing more properly
Use a LIST_IMAGE_WIDTH define, for the width of the images in the list
Just return the bgpixbuf if we are creating the "No Wallpaper" thumb
Save the thumbnail back out with the dimensions for the original image
If our image is smaller than the list thumbnail, then just use 1.0 as
the ratio for scaling the image for tiling/etc...
Use the new API to do scaling inside the center/tile functions
Reload the thumbnail pixbuf after generating it with the thumbnail
system, so that we get all of the pixbuf options set correctly
* gnome-wp-item.h (GnomeWPItem): store the original image's width
and height in the item, so we can avoid reopening the original image
every time we generate the thumbnail, on systems where the thumbnail
doesn't contain the appropriate information
* gnome-wp-utils.c (gnome_wp_pixbuf_tile):
(gnome_wp_pixbuf_center): Add API to do the scaling inside these calls
Fixes #136691
2004-04-05 21:32:02 +00:00
|
|
|
|
|
|
|
/* Width and Height of the original image */
|
|
|
|
gint width;
|
|
|
|
gint height;
|
2004-01-12 05:10:40 +00:00
|
|
|
};
|
|
|
|
|
2004-06-28 18:51:21 +00:00
|
|
|
GnomeWPItem * gnome_wp_item_new (const gchar * filename,
|
|
|
|
GHashTable * wallpapers,
|
|
|
|
GnomeThumbnailFactory * thumbnails);
|
2004-01-12 05:10:40 +00:00
|
|
|
void gnome_wp_item_free (GnomeWPItem * item);
|
2006-01-27 03:01:58 +00:00
|
|
|
GnomeWPItem * gnome_wp_item_dup (GnomeWPItem * item);
|
2004-01-12 05:10:40 +00:00
|
|
|
GdkPixbuf * gnome_wp_item_get_thumbnail (GnomeWPItem * item,
|
|
|
|
GnomeThumbnailFactory * thumbs);
|
Switch the binary name to gnome-background-properties, Based on patch from
2004-02-01 Rodney Dawes <dobey@ximian.com>
* Makefile.am: Switch the binary name to gnome-background-properties,
Based on patch from Seth Nickell
* background.desktop.in: Use gnome-background-properties here also,
based on patch from Seth Nickell
* gnome-wp-capplet.c: Fix a bug where you can't re-add a wallpaper
after you remove it
Use the new gnome_wp_item_update_description () call
Use a GConfChangeSet to change the gconf keys, based on a patch
from Seth Nickell
Select the first item in the list ("No Wallpaper") when the wallpaper
is removed, based on a patch from Seth Nickell
Do the rc string parsing before creating the window, and change some
defaults so we can fix the spacing between widgets and the border
Fix spacing between widgets and window border
* gnome-wp-item.[ch]: Add update_description function to clean up
code, based on patch from Seth Nickell
Fix a crash when trying to thumbnail very wide images that are very
short, while trying to maintain aspect ratio
* gnome-wp-xml.c: Use backgrounds.xml instead of wp-list.xml, and
migrate the old wp-list.xml over if backgrounds.xml doesn't exist
yet, based on patch from Seth Nickell
2004-02-01 20:57:47 +00:00
|
|
|
void gnome_wp_item_update_description (GnomeWPItem * item);
|
2004-01-12 05:10:40 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|