/* LIBPIKA - The PIKA Library
 * Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
 *
 * pikatypes.h
 *
 * This library is free software: you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 3 of the License, or (at your option) any later version.
 *
 * This library 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
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library.  If not, see
 * <https://www.gnu.org/licenses/>.
 */

#ifndef __PIKA_TYPES_H__
#define __PIKA_TYPES_H__

#include <libpikabase/pikabasetypes.h>

G_BEGIN_DECLS

/* For information look into the html documentation */


typedef struct _PikaPDB             PikaPDB;
typedef struct _PikaPlugIn          PikaPlugIn;
typedef struct _PikaProcedure       PikaProcedure;
typedef struct _PikaProcedureConfig PikaProcedureConfig;

typedef struct _PikaImage           PikaImage;
typedef struct _PikaItem            PikaItem;
typedef struct _PikaDrawable        PikaDrawable;
typedef struct _PikaLayer           PikaLayer;
typedef struct _PikaChannel         PikaChannel;
typedef struct _PikaLayerMask       PikaLayerMask;
typedef struct _PikaSelection       PikaSelection;
typedef struct _PikaTextLayer       PikaTextLayer;
typedef struct _PikaVectors         PikaVectors;

typedef struct _PikaDisplay         PikaDisplay;

typedef struct _PikaResource        PikaResource;
typedef struct _PikaBrush           PikaBrush;
typedef struct _PikaFont            PikaFont;
typedef struct _PikaGradient        PikaGradient;
typedef struct _PikaPattern         PikaPattern;
typedef struct _PikaPalette         PikaPalette;


/* FIXME move somewhere else */

/**
 * PikaPixbufTransparency:
 * @PIKA_PIXBUF_KEEP_ALPHA:   Create a pixbuf with alpha
 * @PIKA_PIXBUF_SMALL_CHECKS: Show transparency as small checks
 * @PIKA_PIXBUF_LARGE_CHECKS: Show transparency as large checks
 *
 * How to deal with transparency when creating thubnail pixbufs from
 * images and drawables.
 **/
typedef enum
{
  PIKA_PIXBUF_KEEP_ALPHA,
  PIKA_PIXBUF_SMALL_CHECKS,
  PIKA_PIXBUF_LARGE_CHECKS
} PikaPixbufTransparency;


G_END_DECLS

#endif /* __PIKA_TYPES_H__ */
