home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2002 April / pcpro0402.iso / essentials / graphics / Gimp / gimp-src-20001226.exe / src / gimp / unofficial-plug-ins / mathmap / builtins.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-04-21  |  1.6 KB  |  58 lines

  1. /* -*- c -*- */
  2.  
  3. /*
  4.  * builtins.h
  5.  *
  6.  * MathMap
  7.  *
  8.  * Copyright (C) 1997-2000 Mark Probst
  9.  *
  10.  * This program is free software; you can redistribute it and/or
  11.  * modify it under the terms of the GNU General Public License
  12.  * as published by the Free Software Foundation; either version 2
  13.  * of the License, or (at your option) any later version.
  14.  *
  15.  * This program is distributed in the hope that it will be useful,
  16.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18.  * GNU General Public License for more details.
  19.  *
  20.  * You should have received a copy of the GNU General Public License
  21.  * along with this program; if not, write to the Free Software
  22.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  23.  */
  24.  
  25. #ifndef __BUILTINS_H__
  26. #define __BUILTINS_H__
  27.  
  28. #include <stdio.h>
  29.  
  30. #include "tuples.h"
  31. #include "postfix.h"
  32.  
  33. #define MAX_BUILTIN_LENGTH     63
  34.  
  35. typedef void (*builtin_function_t) (postfix_arg*);
  36. typedef void (*generator_function_t) (FILE*, int*, int*, int);
  37.  
  38. typedef struct _builtin
  39. {
  40.     char name[MAX_BUILTIN_LENGTH + 1];
  41.     builtin_function_t function;
  42.     generator_function_t generator;
  43.     int numParams;
  44.     tuple_info_t tuple_info;
  45.     struct _builtin *next;
  46. } builtin;
  47.  
  48. double color_to_double (unsigned int red, unsigned int green,
  49.             unsigned int blue, unsigned int alpha);
  50. void double_to_color (double val, unsigned int *red, unsigned int *green,
  51.               unsigned int *blue, unsigned int *alpha);
  52.  
  53. builtin_function_t builtin_with_name (const char *name);
  54.  
  55. void init_builtins (void);
  56.  
  57. #endif
  58.