gimpdynamics_pdb.c 2.93 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
/* LIBGIMP - The GIMP Library
 * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
 *
 * gimpdynamics_pdb.c
 *
 * 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
 * <http://www.gnu.org/licenses/>.
 */

/* NOTE: This file is auto-generated by pdbgen.pl */

#include "config.h"

#include "gimp.h"


/**
 * SECTION: gimpdynamics
 * @title: gimpdynamics
31
 * @short_description: Operations related to paint dynamics.
32
 *
33
 * Operations related to paint dynamics.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
 **/


/**
 * gimp_dynamics_refresh:
 *
 * Refresh current paint dynamics. This function always succeeds.
 *
 * This procedure retrieves all paint dynamics currently in the user's
 * paint dynamics path and updates the paint dynamics dialogs
 * accordingly.
 *
 * Returns: TRUE on success.
 *
 * Since: GIMP 2.8
 **/
gboolean
gimp_dynamics_refresh (void)
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gboolean success = TRUE;

  return_vals = gimp_run_procedure ("gimp-dynamics-refresh",
                                    &nreturn_vals,
                                    GIMP_PDB_END);

  success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;

  gimp_destroy_params (return_vals, nreturn_vals);

  return success;
}

/**
 * gimp_dynamics_get_list:
 * @filter: An optional regular expression used to filter the list.
 * @num_dynamics: The number of available paint dynamics.
 *
 * Retrieve the list of loaded paint dynamics.
 *
 * This procedure returns a list of the paint dynamics that are
 * currently available.
 *
 * Returns: The list of paint dynamics names.
 *
 * Since: GIMP 2.8
 **/
gchar **
gimp_dynamics_get_list (const gchar *filter,
                        gint        *num_dynamics)
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gchar **dynamics_list = NULL;
  gint i;

  return_vals = gimp_run_procedure ("gimp-dynamics-get-list",
                                    &nreturn_vals,
                                    GIMP_PDB_STRING, filter,
                                    GIMP_PDB_END);

  *num_dynamics = 0;

  if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
    {
      *num_dynamics = return_vals[1].data.d_int32;
101
      dynamics_list = g_new (gchar *, *num_dynamics + 1);
102 103
      for (i = 0; i < *num_dynamics; i++)
        dynamics_list[i] = g_strdup (return_vals[2].data.d_stringarray[i]);
104
      dynamics_list[i] = NULL;
105 106 107 108 109 110
    }

  gimp_destroy_params (return_vals, nreturn_vals);

  return dynamics_list;
}