/* $Id: xpmglyphs.h,v 1.3 2007/08/24 05:58:05 mgdepalma Exp $
 *
 * Copyright (C) 2007 Softcraft Impresa, LLC <info@softcraft.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; You may only use version 2 of the License,
 * you have no option to use any other version.
 *
 * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#ifndef XPMGLYPHS_H
#define XPMGLYPHS_H

#include <stdlib.h>
#include <gtk/gtk.h>
#include <gdk/gdkx.h>

G_BEGIN_DECLS

/* Definition of icons available */
typedef enum
{
  ICON_APPLY,
  ICON_AUDIO,
  ICON_BACK,
  ICON_BLANK,
  ICON_BROKEN,
  ICON_BULB,
  ICON_CAMERA,
  ICON_CANCEL,
  ICON_CANCEL_PRINT,
  ICON_CANCEL_SAVE,
  ICON_CHOOSER,
  ICON_CLOSE,
  ICON_DIRS,
  ICON_DONE,
  ICON_DOWN,
  ICON_ERROR,
  ICON_EXEC,
  ICON_FILE,
  ICON_FOLDER,
  ICON_FORWARD,
  ICON_HELP,
  ICON_HIDDEN,
  ICON_HOME,
  ICON_ICONS,
  ICON_IMAGE,
  ICON_INFO,
  ICON_JAVA,
  ICON_LOGO,
  ICON_OPEN,
  ICON_PACKAGE,
  ICON_PAINT,
  ICON_PAPER,
  ICON_PDF,
  ICON_POSTSCRIPT,
  ICON_PRINT,
  ICON_PRINTER,
  ICON_QUESTION,
  ICON_QUIT,
  ICON_RECORD,
  ICON_RESIZE,
  ICON_SAVE,
  ICON_SAVE_AS,
  ICON_SETTING,
  ICON_SMILE,
  ICON_SNAPSHOT,
  ICON_SYMLINK,
  ICON_THUMBNAIL,
  ICON_TITLE,
  ICON_UP,
  ICON_VIDEO,
  ICON_VISIBLE,
  ICON_WARNING
} IconIndex;

typedef struct {
  IconIndex   index;
  char      **data;
  GdkPixmap  *pixmap;
} IconCatalog;


/* Methods exported by the implementation */
GtkWidget *xpm_button(IconIndex index, const gchar *text);
GtkWidget *xpm_label(IconIndex index, const gchar *text);
GtkWidget *xpm_image(IconIndex index);

GdkPixmap *xpm_icon(IconIndex index, GdkBitmap **mask, GdkColor *bg);

GdkPixbuf *xpm_pixbuf(IconIndex index, GdkColor *bg);
GdkPixbuf *xpm_pixbuf_scale(IconIndex index,
                            gint width, gint height,
                            GdkColor *bg);
G_END_DECLS

#endif /* </XPMGLYPHS_H> */
