[Gimp-developer] Re:Planned breakage in plug-in API and PDB for 1.3.x or 2.x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

> From: Raphael Quinet 
> Subject: [Gimp-developer] Planned breakage in plug-in API and PDB for 1.3.x or 2.x 
> Date: Mon, 18 Feb 2002 08:06:59 -0800
..

> As you can see from this list, it is likely that some or all plug-ins
> will have to be modified at some point in time, and maybe more than
> once.  We should discuss this and decide when this should happen (or
> if it should happen at all).


For the next version of the plug-in/gap it would be useful
if many of the plug-ins do register the structure of the LAST_VALUES buffer
in a lastvalues description file.

I have written gimp_iter_desc.h / .c  for the registration
(that should become part of libgimp if possible)
and a common Iterator Procedure for the gap (Filters->Filter All Layers)
that uses the description file and can replace the plug-ins/gap/iter_ALT stuff.

.. I am currently porting the plug-in/gap code to gimp-1.3.3 and gtk+ 1.3.13
   (offline, have no net access on my linuxbox)


Yours Wolfgang Hofer  hof@xxxxxxxx 


Codesample how to register lastvalues description:
--------------------------------------------------

#define PLUG_IN_NAME    "plug_in_whirl_pinch"

typedef struct
{
  gdouble whirl;
  gdouble pinch;
  gdouble radius;
} whirl_pinch_vals_t;

static whirl_pinch_vals_t wpvals =
{
  90.0, /* whirl */
  0.0,  /* pinch */
  1.0   /* radius */
};


static void
query (void)
{

  ...
  
  gimp_set_data_iter_description(PLUG_IN_NAME,
                                 &wpvals, sizeof(wpvals),
                                 GIMP_ITER_GDOUBLE, &wpvals.whirl,
                                 GIMP_ITER_GDOUBLE, &wpvals.pinch,
                                 GIMP_ITER_GDOUBLE, &wpvals.radius,
                                 GIMP_ITER_END);
}




Here is an example of a lastvalues description file:
----------------------------------------------------

# Descriptionfile LAST_VALUES buffer structure (type;offset;size)
#
# this file is rewritten each time when a procedure registers
# the LAST_VALUES structure. (typical at 1.st gimp startup
# or after installation of new plug-ins)
#
"plug_in_whirl_pinch" #- added or changed by GIMP on 2002-02-23 16:38:27
STRUCT_BEGIN;0;24
 GDOUBLE;0;8
 GDOUBLE;8;8
 GDOUBLE;16;8
STRUCT_END;0;24
END;


And here is an example of the registration Code:
------------------------------------------------
   http://registry.gimp.org/plugin?id=1962





[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux