Blame gegl/property-types/gegl-paramspecs.h

Packit Service 2781ba
/* This file is part of GEGL
Packit Service 2781ba
 *
Packit Service 2781ba
 * GEGL is free software; you can redistribute it and/or
Packit Service 2781ba
 * modify it under the terms of the GNU Lesser General Public
Packit Service 2781ba
 * License as published by the Free Software Foundation; either
Packit Service 2781ba
 * version 3 of the License, or (at your option) any later version.
Packit Service 2781ba
 *
Packit Service 2781ba
 * GEGL is distributed in the hope that it will be useful,
Packit Service 2781ba
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 2781ba
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 2781ba
 * Lesser General Public License for more details.
Packit Service 2781ba
 *
Packit Service 2781ba
 * You should have received a copy of the GNU Lesser General Public
Packit Service 2781ba
 * License along with GEGL; if not, see <http://www.gnu.org/licenses/>.
Packit Service 2781ba
 *
Packit Service 2781ba
 * Copyright 2003 Calvin Williamson
Packit Service 2781ba
 *           2006 Øyvind Kolås
Packit Service 2781ba
 *
Packit Service 2781ba
 * Original contents copied from gimp/app/core/gimpparamspecs.h
Packit Service 2781ba
 * (c) 1995-2006 Spencer Kimball, Peter Mattis and others.
Packit Service 2781ba
 */
Packit Service 2781ba
Packit Service 2781ba
#include <glib-object.h>
Packit Service 2781ba
Packit Service 2781ba
#ifndef __GEGL_PARAM_SPECS_H__
Packit Service 2781ba
#define __GEGL_PARAM_SPECS_H__
Packit Service 2781ba
Packit Service 2781ba
G_BEGIN_DECLS
Packit Service 2781ba
Packit Service 2781ba
/*
Packit Service 2781ba
 * Keep in sync with libgeglconfig/geglconfig-params.h
Packit Service 2781ba
 */
Packit Service 2781ba
#define GEGL_PARAM_NO_VALIDATE (1 << (6 + G_PARAM_USER_SHIFT))
Packit Service 2781ba
Packit Service 2781ba
typedef struct _GeglParamSpecString GeglParamSpecString;
Packit Service 2781ba
typedef struct _GeglParamSpecDouble GeglParamSpecDouble;
Packit Service 2781ba
typedef struct _GeglParamSpecInt    GeglParamSpecInt;
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
/*
Packit Service 2781ba
 * GEGL_TYPE_PARAM_DOUBLE
Packit Service 2781ba
 */
Packit Service 2781ba
Packit Service 2781ba
#define GEGL_TYPE_PARAM_DOUBLE             (gegl_param_double_get_type ())
Packit Service 2781ba
#define GEGL_PARAM_SPEC_DOUBLE(pspec)      (G_TYPE_CHECK_INSTANCE_CAST ((pspec), GEGL_TYPE_PARAM_DOUBLE, GeglParamSpecDouble))
Packit Service 2781ba
#define GEGL_IS_PARAM_SPEC_DOUBLE(pspec)   (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GEGL_TYPE_PARAM_DOUBLE))
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
struct _GeglParamSpecDouble
Packit Service 2781ba
{
Packit Service 2781ba
  GParamSpecDouble parent_instance;
Packit Service 2781ba
  gdouble          ui_minimum; /* reasonable range to present to user */
Packit Service 2781ba
  gdouble          ui_maximum;
Packit Service 2781ba
  gdouble          ui_gamma;   /* a desired non-linear mapping or 1.0, useful
Packit Service 2781ba
                                  when the control the user needs is not a
Packit Service 2781ba
                                  linear mapping, like controlling brush-size
Packit Service 2781ba
                                  or gaussian blur radius - where more
Packit Service 2781ba
                                  detailed control of small values is needed
Packit Service 2781ba
                                  */
Packit Service 2781ba
};
Packit Service 2781ba
Packit Service 2781ba
GType        gegl_param_double_get_type (void) G_GNUC_CONST;
Packit Service 2781ba
Packit Service 2781ba
GParamSpec * gegl_param_spec_double (const gchar *name,
Packit Service 2781ba
                                     const gchar *nick,
Packit Service 2781ba
                                     const gchar *blurb,
Packit Service 2781ba
                                     gdouble      minimum,
Packit Service 2781ba
                                     gdouble      maximum,
Packit Service 2781ba
                                     gdouble      default_value,
Packit Service 2781ba
                                     gdouble      ui_minimum,
Packit Service 2781ba
                                     gdouble      ui_maximum,
Packit Service 2781ba
                                     gdouble      ui_gamma,
Packit Service 2781ba
                                     GParamFlags  flags);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
/*
Packit Service 2781ba
 * GEGL_TYPE_PARAM_INT
Packit Service 2781ba
 */
Packit Service 2781ba
Packit Service 2781ba
#define GEGL_TYPE_PARAM_INT           (gegl_param_int_get_type ())
Packit Service 2781ba
#define GEGL_PARAM_SPEC_INT(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), GEGL_TYPE_PARAM_INT, GeglParamSpecInt))
Packit Service 2781ba
#define GEGL_IS_PARAM_SPEC_INT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GEGL_TYPE_PARAM_INT))
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
struct _GeglParamSpecInt
Packit Service 2781ba
{
Packit Service 2781ba
  GParamSpecInt parent_instance;
Packit Service 2781ba
  gint          ui_minimum; /* reasonable range to present to user */
Packit Service 2781ba
  gint          ui_maximum;
Packit Service 2781ba
  gdouble       ui_gamma;
Packit Service 2781ba
};
Packit Service 2781ba
Packit Service 2781ba
GType        gegl_param_int_get_type (void) G_GNUC_CONST;
Packit Service 2781ba
Packit Service 2781ba
GParamSpec * gegl_param_spec_int (const gchar *name,
Packit Service 2781ba
                                  const gchar *nick,
Packit Service 2781ba
                                  const gchar *blurb,
Packit Service 2781ba
                                  gint         minimum,
Packit Service 2781ba
                                  gint         maximum,
Packit Service 2781ba
                                  gint         default_value,
Packit Service 2781ba
                                  gint         ui_minimum,
Packit Service 2781ba
                                  gint         ui_maximum,
Packit Service 2781ba
                                  gdouble      ui_gamma,
Packit Service 2781ba
                                  GParamFlags  flags);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
/*
Packit Service 2781ba
 * GEGL_TYPE_PARAM_STRING
Packit Service 2781ba
 */
Packit Service 2781ba
Packit Service 2781ba
#define GEGL_TYPE_PARAM_STRING           (gegl_param_string_get_type ())
Packit Service 2781ba
#define GEGL_PARAM_SPEC_STRING(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), GEGL_TYPE_PARAM_STRING, GeglParamSpecString))
Packit Service 2781ba
#define GEGL_IS_PARAM_SPEC_STRING(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GEGL_TYPE_PARAM_STRING))
Packit Service 2781ba
Packit Service 2781ba
struct _GeglParamSpecString
Packit Service 2781ba
{
Packit Service 2781ba
  GParamSpecString parent_instance;
Packit Service 2781ba
Packit Service 2781ba
  guint            no_validate : 1;
Packit Service 2781ba
  guint            null_ok     : 1;
Packit Service 2781ba
};
Packit Service 2781ba
Packit Service 2781ba
GType        gegl_param_string_get_type (void) G_GNUC_CONST;
Packit Service 2781ba
Packit Service 2781ba
GParamSpec * gegl_param_spec_string     (const gchar *name,
Packit Service 2781ba
                                         const gchar *nick,
Packit Service 2781ba
                                         const gchar *blurb,
Packit Service 2781ba
                                         gboolean     no_validate,
Packit Service 2781ba
                                         gboolean     null_ok,
Packit Service 2781ba
                                         const gchar *default_value,
Packit Service 2781ba
                                         GParamFlags  flags);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
/*
Packit Service 2781ba
 * GEGL_TYPE_PARAM_FILEPATH
Packit Service 2781ba
 */
Packit Service 2781ba
Packit Service 2781ba
#define GEGL_TYPE_PARAM_FILE_PATH           (gegl_param_file_path_get_type ())
Packit Service 2781ba
#define GEGL_PARAM_SPEC_FILE_PATH(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), GEGL_TYPE_PARAM_FILE_PATH, GeglParamSpecFilePath))
Packit Service 2781ba
#define GEGL_IS_PARAM_SPEC_FILE_PATH(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GEGL_TYPE_PARAM_FILE_PATH))
Packit Service 2781ba
Packit Service 2781ba
typedef struct _GeglParamSpecFilePath GeglParamSpecFilePath;
Packit Service 2781ba
Packit Service 2781ba
struct _GeglParamSpecFilePath
Packit Service 2781ba
{
Packit Service 2781ba
  GParamSpecString parent_instance;
Packit Service 2781ba
Packit Service 2781ba
  guint            no_validate : 1;
Packit Service 2781ba
  guint            null_ok     : 1;
Packit Service 2781ba
};
Packit Service 2781ba
Packit Service 2781ba
GType        gegl_param_file_path_get_type (void) G_GNUC_CONST;
Packit Service 2781ba
Packit Service 2781ba
GParamSpec * gegl_param_spec_file_path (const gchar *name,
Packit Service 2781ba
                                        const gchar *nick,
Packit Service 2781ba
                                        const gchar *blurb,
Packit Service 2781ba
                                        gboolean     no_validate,
Packit Service 2781ba
                                        gboolean     null_ok,
Packit Service 2781ba
                                        const gchar *default_value,
Packit Service 2781ba
                                        GParamFlags  flags);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
/*
Packit Service 2781ba
 * GEGL_TYPE_PARAM_MULTILINE
Packit Service 2781ba
 */
Packit Service 2781ba
Packit Service 2781ba
#define GEGL_TYPE_PARAM_MULTILINE           (gegl_param_multiline_get_type ())
Packit Service 2781ba
#define GEGL_PARAM_SPEC_MULTILINE(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), GEGL_TYPE_PARAM_MULTILINE, GeglParamSpecMultiline))
Packit Service 2781ba
#define GEGL_IS_PARAM_SPEC_MULTILINE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GEGL_TYPE_PARAM_MULTILINE))
Packit Service 2781ba
Packit Service 2781ba
typedef struct _GeglParamSpecMultiline GeglParamSpecMultiline;
Packit Service 2781ba
Packit Service 2781ba
struct _GeglParamSpecMultiline
Packit Service 2781ba
{
Packit Service 2781ba
  GParamSpecString parent_instance;
Packit Service 2781ba
Packit Service 2781ba
  guint            no_validate : 1;
Packit Service 2781ba
  guint            null_ok     : 1;
Packit Service 2781ba
};
Packit Service 2781ba
Packit Service 2781ba
GType        gegl_param_multiline_get_type (void) G_GNUC_CONST;
Packit Service 2781ba
Packit Service 2781ba
GParamSpec * gegl_param_spec_multiline (const gchar *name,
Packit Service 2781ba
                                   const gchar *nick,
Packit Service 2781ba
                                   const gchar *blurb,
Packit Service 2781ba
                                   const gchar *default_value,
Packit Service 2781ba
                                   GParamFlags  flags);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
/*
Packit Service 2781ba
 * GEGL_TYPE_PARAM_ENUM
Packit Service 2781ba
 */
Packit Service 2781ba
Packit Service 2781ba
#define GEGL_TYPE_PARAM_ENUM           (gegl_param_enum_get_type ())
Packit Service 2781ba
#define GEGL_PARAM_SPEC_ENUM(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), GEGL_TYPE_PARAM_ENUM, GeglParamSpecEnum))
Packit Service 2781ba
Packit Service 2781ba
#define GEGL_IS_PARAM_SPEC_ENUM(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GEGL_TYPE_PARAM_ENUM))
Packit Service 2781ba
Packit Service 2781ba
typedef struct _GeglParamSpecEnum GeglParamSpecEnum;
Packit Service 2781ba
Packit Service 2781ba
struct _GeglParamSpecEnum
Packit Service 2781ba
{
Packit Service 2781ba
  GParamSpecEnum  parent_instance;
Packit Service 2781ba
Packit Service 2781ba
  GSList         *excluded_values;
Packit Service 2781ba
};
Packit Service 2781ba
Packit Service 2781ba
GType        gegl_param_enum_get_type     (void) G_GNUC_CONST;
Packit Service 2781ba
Packit Service 2781ba
GParamSpec * gegl_param_spec_enum         (const gchar       *name,
Packit Service 2781ba
                                           const gchar       *nick,
Packit Service 2781ba
                                           const gchar       *blurb,
Packit Service 2781ba
                                           GType              enum_type,
Packit Service 2781ba
                                           gint               default_value,
Packit Service 2781ba
                                           GParamFlags        flags);
Packit Service 2781ba
Packit Service 2781ba
void   gegl_param_spec_enum_exclude_value (GeglParamSpecEnum *espec,
Packit Service 2781ba
                                           gint               value);
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
Packit Service 2781ba
G_END_DECLS
Packit Service 2781ba
#endif  /*  __GEGL_PARAM_SPECS_H__  */