#include static void query (void); static void run (const gchar *name, gint nparams, const GimpParam *param, gint *nreturn_vals, GimpParam **return_vals); GimpPlugInInfo PLUG_IN_INFO = { NULL, NULL, query, run }; MAIN() static void query (void) { static GimpParamDef args[] = { { GIMP_PDB_INT32, "run-mode", "Run mode" }, { GIMP_PDB_IMAGE, "image", "Input image" }, { GIMP_PDB_DRAWABLE, "drawable", "Input drawable" } }; gimp_install_procedure ( "test-runmode", "Test Runmode", "Displays the runmode", "Matthew Shooshtari", "Matthew Shooshtari", "2007", "_Display Runmode...", "RGB*, GRAY*", GIMP_PLUGIN, G_N_ELEMENTS (args), 0, args, NULL); gimp_plugin_menu_register ("plug-in-testmode", "/Xtns/TestMode"); } static void run (const gchar *name, gint nparams, const GimpParam *param, gint *nreturn_vals, GimpParam **return_vals) { static GimpParam values[1]; GimpPDBStatusType status = GIMP_PDB_SUCCESS; GimpRunMode run_mode; /* Setting mandatory output values */ *nreturn_vals = 1; *return_vals = values; values[0].type = GIMP_PDB_STATUS; values[0].data.d_status = status; /*Display a message indicating which run mode we are in */ run_mode = param[0].data.d_int32; switch (run_mode) { case GIMP_RUN_INTERACTIVE: g_message("interactive"); return; case GIMP_RUN_NONINTERACTIVE: g_message("non-interactive"); return; case GIMP_RUN_WITH_LAST_VALS: g_message("last vals"); return; default: g_message("default"); return; }