gimppattern_pdb.c 3.91 KB
Newer Older
1 2 3 4 5
/* LIBGIMP - The GIMP Library
 * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball
 *
 * gimppattern_pdb.c
 *
6
 * This library is free software: you can redistribute it and/or
7 8
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
9
 * version 3 of the License, or (at your option) any later version.
10 11 12 13 14 15 16
 *
 * 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
17 18
 * License along with this library.  If not, see
 * <http://www.gnu.org/licenses/>.
19 20
 */

21
/* NOTE: This file is auto-generated by pdbgen.pl */
22 23 24

#include "config.h"

25 26
#include <string.h>

27 28
#include "gimp.h"

29 30 31 32 33 34 35 36 37 38

/**
 * SECTION: gimppattern
 * @title: gimppattern
 * @short_description: Functions operating on a single pattern.
 *
 * Functions operating on a single pattern.
 **/


39 40
/**
 * gimp_pattern_get_info:
41
 * @name: The pattern name.
42 43 44 45 46 47 48 49 50 51 52
 * @width: The pattern width.
 * @height: The pattern height.
 * @bpp: The pattern bpp.
 *
 * Retrieve information about the specified pattern.
 *
 * This procedure retrieves information about the specified pattern.
 * This includes the pattern extents (width and height).
 *
 * Returns: TRUE on success.
 *
53
 * Since: 2.2
54
 **/
55 56
gboolean
gimp_pattern_get_info (const gchar *name,
57 58 59
                       gint        *width,
                       gint        *height,
                       gint        *bpp)
60 61 62 63 64
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gboolean success = TRUE;

65
  return_vals = gimp_run_procedure ("gimp-pattern-get-info",
66 67 68
                                    &nreturn_vals,
                                    GIMP_PDB_STRING, name,
                                    GIMP_PDB_END);
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

  *width = 0;
  *height = 0;
  *bpp = 0;

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

  if (success)
    {
      *width = return_vals[1].data.d_int32;
      *height = return_vals[2].data.d_int32;
      *bpp = return_vals[3].data.d_int32;
    }

  gimp_destroy_params (return_vals, nreturn_vals);

  return success;
}
87 88 89 90 91 92 93

/**
 * gimp_pattern_get_pixels:
 * @name: The pattern name.
 * @width: The pattern width.
 * @height: The pattern height.
 * @bpp: The pattern bpp.
94 95
 * @num_color_bytes: Number of pattern bytes.
 * @color_bytes: The pattern data.
96 97 98 99 100 101 102 103 104
 *
 * Retrieve information about the specified pattern (including pixels).
 *
 * This procedure retrieves information about the specified. This
 * includes the pattern extents (width and height), its bpp and its
 * pixel data.
 *
 * Returns: TRUE on success.
 *
105
 * Since: 2.2
106
 **/
107 108
gboolean
gimp_pattern_get_pixels (const gchar  *name,
109 110 111 112 113
                         gint         *width,
                         gint         *height,
                         gint         *bpp,
                         gint         *num_color_bytes,
                         guint8      **color_bytes)
114 115 116 117 118
{
  GimpParam *return_vals;
  gint nreturn_vals;
  gboolean success = TRUE;

119
  return_vals = gimp_run_procedure ("gimp-pattern-get-pixels",
120 121 122
                                    &nreturn_vals,
                                    GIMP_PDB_STRING, name,
                                    GIMP_PDB_END);
123 124 125 126

  *width = 0;
  *height = 0;
  *bpp = 0;
127 128
  *num_color_bytes = 0;
  *color_bytes = NULL;
129 130 131 132 133 134 135 136

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

  if (success)
    {
      *width = return_vals[1].data.d_int32;
      *height = return_vals[2].data.d_int32;
      *bpp = return_vals[3].data.d_int32;
137 138
      *num_color_bytes = return_vals[4].data.d_int32;
      *color_bytes = g_new (guint8, *num_color_bytes);
139 140 141
      memcpy (*color_bytes,
              return_vals[5].data.d_int8array,
              *num_color_bytes * sizeof (guint8));
142 143 144 145 146 147
    }

  gimp_destroy_params (return_vals, nreturn_vals);

  return success;
}