/*
 * Java-Gnome Bindings Library
 *
 * Copyright 1998-2002 the Java-Gnome Team, all rights reserved.
 *
 * The Java-Gnome Team Members:
 *   Jean Van Wyk <jeanvanwyk@iname.com>
 *   Jeffrey S. Morgan <jeffrey.morgan@bristolwest.com>
 *   Dan Bornstein <danfuzz@milk.com>
 *
 * The Java-Gnome bindings library is free software distributed under
 * the terms of the GNU Library General Public License version 2.
 *
 * This file was orriginally generated by the Java-GNOME Code Generator
 * Please do not modify the code that is identified as generated.  Also,
 * please insert your code above the generated code.
 *
 * Generation date: 2002-08-02 09:42:28 EDT
 */

#include <jni.h>
#include <sys/types.h>
#include <gtk/gtk.h>
#ifdef __cplusplus
extern "C" 
{
#endif
    /****************************************
     * BEGINNING OF GENERATED CODE
     ****************************************/
    /*
     * Class:     org.gnu.gtk.IconSet
     * Method:    gtk_icon_set_new
     * Signature: ()I
     */
    JNIEXPORT jint JNICALL Java_org_gnu_gtk_IconSet_gtk_1icon_1set_1new (JNIEnv *env, jclass cls) 
    {
        {
            return (jint)gtk_icon_set_new ();
        }
    }

    /*
     * Class:     org.gnu.gtk.IconSet
     * Method:    gtk_icon_set_new_from_pixbuf
     * Signature: (I)I
     */
    JNIEXPORT jint JNICALL Java_org_gnu_gtk_IconSet_gtk_1icon_1set_1new_1from_1pixbuf (JNIEnv *env, 
        jclass cls, jint pixbuf) 
    {
        GdkPixbuf *pixbuf_g = (GdkPixbuf *)pixbuf;
        {
            return (jint)gtk_icon_set_new_from_pixbuf (pixbuf_g);
        }
    }

    /*
     * Class:     org.gnu.gtk.IconSet
     * Method:    gtk_icon_set_ref
     * Signature: (I)I
     */
    JNIEXPORT jint JNICALL Java_org_gnu_gtk_IconSet_gtk_1icon_1set_1ref (JNIEnv *env, jclass cls, 
        jint iconSet) 
    {
        GtkIconSet *iconSet_g = (GtkIconSet *)iconSet;
        {
            return (jint)gtk_icon_set_ref (iconSet_g);
        }
    }

    /*
     * Class:     org.gnu.gtk.IconSet
     * Method:    gtk_icon_set_unref
     * Signature: (I)V
     */
    JNIEXPORT void JNICALL Java_org_gnu_gtk_IconSet_gtk_1icon_1set_1unref (JNIEnv *env, jclass cls, 
        jint iconSet) 
    {
        GtkIconSet *iconSet_g = (GtkIconSet *)iconSet;
        {
            gtk_icon_set_unref (iconSet_g);
        }
    }

    /*
     * Class:     org.gnu.gtk.IconSet
     * Method:    gtk_icon_set_copy
     * Signature: (I)I
     */
    JNIEXPORT jint JNICALL Java_org_gnu_gtk_IconSet_gtk_1icon_1set_1copy (JNIEnv *env, jclass cls, 
        jint iconSet) 
    {
        GtkIconSet *iconSet_g = (GtkIconSet *)iconSet;
        {
            return (jint)gtk_icon_set_copy (iconSet_g);
        }
    }

    /*
     * Class:     org.gnu.gtk.IconSet
     * Method:    gtk_icon_set_render_icon
     * Signature: (IIIIIIjava.lang.String;)I
     */
    JNIEXPORT jint JNICALL Java_org_gnu_gtk_IconSet_gtk_1icon_1set_1render_1icon (JNIEnv *env, 
        jclass cls, jint iconSet, jint style, jint direction, jint state, jint size, jint widget, 
        jstring detail) 
    {
        GtkTextDirection direction_g = (GtkTextDirection) direction;
        GtkStateType state_g = (GtkStateType) state;
        gchar* detail_g = (gchar*)(*env)->GetStringUTFChars(env, detail, 0);
        jint result = (jint)gtk_icon_set_render_icon ((GtkIconSet*)iconSet, (GtkStyle*)style, direction_g, state_g, 
                (GtkIconSize)size, (GtkWidget*)widget, detail_g);
        (*env)->ReleaseStringUTFChars(env, detail, detail_g);
        return result;
    }

    /*
     * Class:     org.gnu.gtk.IconSet
     * Method:    gtk_icon_set_add_source
     * Signature: (II)V
     */
    JNIEXPORT void JNICALL Java_org_gnu_gtk_IconSet_gtk_1icon_1set_1add_1source (JNIEnv *env, 
        jclass cls, jint iconSet, jint source) 
    {
        GtkIconSet *iconSet_g = (GtkIconSet *)iconSet;
        GtkIconSource *source_g = (GtkIconSource *)source;
        {
            gtk_icon_set_add_source (iconSet_g, source_g);
        }
    }

    /*
     * Class:     org.gnu.gtk.IconSet
     * Method:    gtk_icon_set_get_sizes
     * Signature: (I[Lint ;[Lint ;)V
     */
    JNIEXPORT void JNICALL Java_org_gnu_gtk_IconSet_gtk_1icon_1set_1get_1sizes (JNIEnv *env, jclass 
        cls, jint iconSet, jintArray sizes, jintArray numSizes) 
    {
        GtkIconSet *iconSet_g = (GtkIconSet *)iconSet;
        gint *sizes_g_g = (gint *) (*env)->GetIntArrayElements (env, sizes, NULL);
        GtkIconSize **sizes_g = (GtkIconSize **)sizes_g_g;
        gint *numSizes_g = (gint *) (*env)->GetIntArrayElements (env, numSizes, NULL);
        {
            gtk_icon_set_get_sizes (iconSet_g, sizes_g, numSizes_g);
            (*env)->ReleaseIntArrayElements (env, sizes, sizes_g_g, 0);
            (*env)->ReleaseIntArrayElements (env, numSizes, (jint *) numSizes_g, 0);
        }
    }

    /****************************************
     * END OF GENERATED CODE
     ****************************************/
#ifdef __cplusplus
}

#endif
