3502 lines
		
	
	
		
			79 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			3502 lines
		
	
	
		
			79 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								# PIKA - Photo and Image Kooker Application
							 | 
						||
| 
								 | 
							
								# Copyright (C) 1995 Spencer Kimball and Peter Mattis
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# This program is free software: you can redistribute it and/or modify
							 | 
						||
| 
								 | 
							
								# it under the terms of the GNU General Public License as published by
							 | 
						||
| 
								 | 
							
								# the Free Software Foundation; either version 3 of the License, or
							 | 
						||
| 
								 | 
							
								# (at your option) any later version.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# This program 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 General Public License for more details.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# You should have received a copy of the GNU General Public License
							 | 
						||
| 
								 | 
							
								# along with this program.  If not, see <https://www.gnu.org/licenses/>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# "Perlized" from C source by Manish Singh <yosh@gimp.org>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub pdb_misc {
							 | 
						||
| 
								 | 
							
								   $author = 'Michael Natterer <mitch@gimp.org> & Sven Neumann <sven@gimp.org>';
							 | 
						||
| 
								 | 
							
								   $copyright = 'Michael Natterer & Sven Neumann';
							 | 
						||
| 
								 | 
							
								   $date = '2004';
							 | 
						||
| 
								 | 
							
								   $since = '2.2';
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_push {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Pushes a context onto the top of the plug-in\'s context stack.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Creates a new context by copying the current context.
							 | 
						||
| 
								 | 
							
								The copy becomes the new current context for the calling plug-in until it is
							 | 
						||
| 
								 | 
							
								popped again using pika_context_pop().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPlugIn *plug_in = pika->plug_in_manager->current_plug_in;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (plug_in && plug_in->open)
							 | 
						||
| 
								 | 
							
								    success = pika_plug_in_context_push (plug_in);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_pop {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Pops the topmost context from the plug-in\'s context stack.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Removes the topmost context from the plug-in's context stack.
							 | 
						||
| 
								 | 
							
								The next context on the stack becomes the new current context of the plug-in,
							 | 
						||
| 
								 | 
							
								that is, the context that was active before the corresponding call to pika_context_push()
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPlugIn *plug_in = pika->plug_in_manager->current_plug_in;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (plug_in && plug_in->open)
							 | 
						||
| 
								 | 
							
								    success = pika_plug_in_context_pop (plug_in);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_defaults {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Reset context settings to their default values.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Resets context settings used by various procedures to their
							 | 
						||
| 
								 | 
							
								default value. You should usually call this after a context push
							 | 
						||
| 
								 | 
							
								so that a script which calls procedures affected by context settings will
							 | 
						||
| 
								 | 
							
								not be affected by changes in the global context.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $author = 'Kevin Cozens <kcozens@svn.gnome.org>';
							 | 
						||
| 
								 | 
							
								    $copyright = 'Kevin Cozens';
							 | 
						||
| 
								 | 
							
								    $date = '2011';
							 | 
						||
| 
								 | 
							
								    $since = '2.8';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    pika_config_reset (PIKA_CONFIG (context));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_list_paint_methods {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Lists the available paint methods.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Lists the names of the available paint methods.
							 | 
						||
| 
								 | 
							
								Any of the names can be used for pika_context_set_paint_method().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &simon_pdb_misc('2007', '2.4');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'paint_methods', type => 'strv', void_ret => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The names of the available paint methods' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  paint_methods = pika_container_get_name_array (pika->paint_info_list);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_paint_method {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active paint method.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the name of the currently active paint method.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2005', '2.4');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'name', type  => 'string',
							 | 
						||
| 
								 | 
							
									  desc  => 'The name of the active paint method' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintInfo *paint_info = pika_context_get_paint_info (context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (paint_info)
							 | 
						||
| 
								 | 
							
								    name = g_strdup (pika_object_get_name (paint_info));
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_paint_method {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the active paint method.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the active paint method to the named paint method.
							 | 
						||
| 
								 | 
							
								The paint method will be used in all subsequent paint operations.
							 | 
						||
| 
								 | 
							
								The name should be a name of an available paint method.
							 | 
						||
| 
								 | 
							
								Returns an error if no matching paint method is found.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2005', '2.4');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'name', type => 'string', non_empty => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The name of the paint method' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintInfo *paint_info = pika_pdb_get_paint_info (pika, name, error);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (paint_info)
							 | 
						||
| 
								 | 
							
								    pika_context_set_paint_info (context, paint_info);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_stroke_method {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active stroke method.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the currently active stroke method.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'stroke_method', type  => 'enum PikaStrokeMethod',
							 | 
						||
| 
								 | 
							
									  desc  => 'The active stroke method' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_get (options,
							 | 
						||
| 
								 | 
							
								                "method", &stroke_method,
							 | 
						||
| 
								 | 
							
										NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_stroke_method {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the active stroke method.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the active stroke method.
							 | 
						||
| 
								 | 
							
								The method will be used in all subsequent stroke operations.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'stroke_method', type => 'enum PikaStrokeMethod',
							 | 
						||
| 
								 | 
							
								          desc => 'The new stroke method' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_set (options,
							 | 
						||
| 
								 | 
							
								                "method", stroke_method,
							 | 
						||
| 
								 | 
							
										NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_foreground {
							 | 
						||
| 
								 | 
							
								    $blurb = "Get the current PIKA foreground color.";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the current PIKA foreground color. The foreground
							 | 
						||
| 
								 | 
							
								color is used in a variety of tools such as paint tools, blending, and bucket
							 | 
						||
| 
								 | 
							
								fill.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'foreground', type => 'color', void_ret => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The foreground color' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_get_foreground (context, &foreground);
							 | 
						||
| 
								 | 
							
								  pika_rgb_set_alpha (&foreground, 1.0);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_foreground {
							 | 
						||
| 
								 | 
							
								    $blurb = "Set the current PIKA foreground color.";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the current PIKA foreground color. After this is set,
							 | 
						||
| 
								 | 
							
								operations which use foreground such as paint tools, blending, and bucket fill
							 | 
						||
| 
								 | 
							
								will use the new value.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'foreground', type => 'color', void_ret => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The foreground color' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_rgb_set_alpha (&foreground, 1.0);
							 | 
						||
| 
								 | 
							
								  pika_context_set_foreground (context, &foreground);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_background {
							 | 
						||
| 
								 | 
							
								    $blurb = "Get the current PIKA background color.";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the current PIKA background color. The background
							 | 
						||
| 
								 | 
							
								color is used in a variety of tools such as blending, erasing (with non-alpha
							 | 
						||
| 
								 | 
							
								images), and image filling.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'background', type => 'color', void_ret => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The background color' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_get_background (context, &background);
							 | 
						||
| 
								 | 
							
								  pika_rgb_set_alpha (&background, 1.0);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_background {
							 | 
						||
| 
								 | 
							
								    $blurb = "Set the current PIKA background color.";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the current PIKA background color. After this is set,
							 | 
						||
| 
								 | 
							
								operations which use background such as blending, filling images, clearing,
							 | 
						||
| 
								 | 
							
								and erasing (in non-alpha images) will use the new value.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'background', type => 'color', void_ret => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The background color' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_rgb_set_alpha (&background, 1.0);
							 | 
						||
| 
								 | 
							
								  pika_context_set_background (context, &background);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_default_colors {
							 | 
						||
| 
								 | 
							
								    $blurb = <<'BLURB';
							 | 
						||
| 
								 | 
							
								Set the current PIKA foreground and background colors to black and white.
							 | 
						||
| 
								 | 
							
								BLURB
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the current PIKA foreground and background colors to their
							 | 
						||
| 
								 | 
							
								initial default values, black and white.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_default_colors (context);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_swap_colors {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Swap the current PIKA foreground and background colors.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Swaps the current PIKA foreground and background colors, so that
							 | 
						||
| 
								 | 
							
								the new foreground color becomes the old background color and vice versa.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_swap_colors (context);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_opacity {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the opacity.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the opacity setting. The return
							 | 
						||
| 
								 | 
							
								value is a floating point number between 0 and 100.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'opacity', type => '0 <= float <= 100',
							 | 
						||
| 
								 | 
							
								          desc => 'The opacity' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  opacity = pika_context_get_opacity (context) * 100.0;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_opacity {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the opacity.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the opacity setting. The value
							 | 
						||
| 
								 | 
							
								should be a floating point number between 0 and 100.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'opacity', type => '0 <= float <= 100',
							 | 
						||
| 
								 | 
							
								          desc => 'The opacity' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_opacity (context, opacity / 100.0);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_paint_mode {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the paint mode.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the paint-mode setting. The return value
							 | 
						||
| 
								 | 
							
								is an integer which corresponds to the values listed in the argument
							 | 
						||
| 
								 | 
							
								description.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'paint_mode', type => 'enum PikaLayerMode',
							 | 
						||
| 
								 | 
							
								          default => 'PIKA_LAYER_MODE_NORMAL',
							 | 
						||
| 
								 | 
							
								          desc => 'The paint mode' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  paint_mode = pika_context_get_paint_mode (context);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_paint_mode {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the paint mode.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the paint_mode setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'paint_mode', type => 'enum PikaLayerMode',
							 | 
						||
| 
								 | 
							
								          default => 'PIKA_LAYER_MODE_NORMAL',
							 | 
						||
| 
								 | 
							
								          desc => 'The paint mode' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  if (paint_mode == PIKA_LAYER_MODE_OVERLAY_LEGACY)
							 | 
						||
| 
								 | 
							
								    paint_mode = PIKA_LAYER_MODE_SOFTLIGHT_LEGACY;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  pika_context_set_paint_mode (context, paint_mode);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_line_width {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the line width setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the line width setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'line_width', type => '0.0 <= float <= 2000.0',
							 | 
						||
| 
								 | 
							
								          desc => 'The line width setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_get (options,
							 | 
						||
| 
								 | 
							
								                "width", &line_width,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_line_width {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the line width setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the line width setting for stroking lines.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_stroke_selection(), pika_drawable_edit_stroke_item().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'line_width', type => '0.0 <= float <= 2000.0',
							 | 
						||
| 
								 | 
							
								          desc => 'The line width setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_set (options,
							 | 
						||
| 
								 | 
							
								                "width", line_width,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_line_width_unit {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the line width unit setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the line width unit setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'line_width_unit', type => 'unit',
							 | 
						||
| 
								 | 
							
								          desc => 'The line width unit setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_get (options,
							 | 
						||
| 
								 | 
							
								                "unit", &line_width_unit,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_line_width_unit {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the line width unit setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the line width unit setting for stroking lines.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_stroke_selection(), pika_drawable_edit_stroke_item().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'line_width_unit', type => 'unit',
							 | 
						||
| 
								 | 
							
								          desc => 'The line width setting unit' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_set (options,
							 | 
						||
| 
								 | 
							
								                "unit", line_width_unit,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_line_cap_style {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the line cap style setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the line cap style setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'cap_style', type => 'enum PikaCapStyle',
							 | 
						||
| 
								 | 
							
								          desc => 'The line cap style setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_get (options,
							 | 
						||
| 
								 | 
							
								                "cap-style", &cap_style,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_line_cap_style {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the line cap style setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the line cap style setting for stroking lines.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_stroke_selection(), pika_drawable_edit_stroke_item().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'cap_style', type => 'enum PikaCapStyle',
							 | 
						||
| 
								 | 
							
								          desc => 'The line cap style setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_set (options,
							 | 
						||
| 
								 | 
							
								                "cap-style", cap_style,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_line_join_style {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the line join style setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the line join style setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'join_style', type => 'enum PikaJoinStyle',
							 | 
						||
| 
								 | 
							
								          desc => 'The line join style setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_get (options,
							 | 
						||
| 
								 | 
							
								                "join-style", &join_style,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_line_join_style {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the line join style setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the line join style setting for stroking lines.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_stroke_selection(), pika_drawable_edit_stroke_item().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'join_style', type => 'enum PikaJoinStyle',
							 | 
						||
| 
								 | 
							
								          desc => 'The line join style setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_set (options,
							 | 
						||
| 
								 | 
							
								                "join-style", join_style,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_line_miter_limit {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the line miter limit setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the line miter limit setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'miter_limit', type => '0.0 <= float <= 100.0',
							 | 
						||
| 
								 | 
							
								          desc => 'The line miter limit setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_get (options,
							 | 
						||
| 
								 | 
							
								                "miter-limit", &miter_limit,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_line_miter_limit {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the line miter limit setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the line miter limit setting for stroking lines.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								A mitered join is converted to a bevelled join if the miter would
							 | 
						||
| 
								 | 
							
								extend to a distance of more than (miter-limit * line-width) from the
							 | 
						||
| 
								 | 
							
								actual join point.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_stroke_selection(), pika_drawable_edit_stroke_item().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'miter_limit', type => '0.0 <= float <= 100.0',
							 | 
						||
| 
								 | 
							
								          desc => 'The line miter limit setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_set (options,
							 | 
						||
| 
								 | 
							
								                "miter-limit", miter_limit,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_line_dash_offset {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the line dash offset setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the line dash offset setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'dash_offset', type => '0.0 <= float <= 2000.0',
							 | 
						||
| 
								 | 
							
								          desc => 'The line dash offset setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_get (options,
							 | 
						||
| 
								 | 
							
								                "dash-offset", &dash_offset,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_line_dash_offset {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the line dash offset setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the line dash offset setting for stroking lines.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_stroke_selection(), pika_drawable_edit_stroke_item().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'dash_offset', type => '0.0 <= float <= 100.0',
							 | 
						||
| 
								 | 
							
								          desc => 'The line dash offset setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_set (options,
							 | 
						||
| 
								 | 
							
								                "dash-offset", dash_offset,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_line_dash_pattern {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the line dash pattern setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the line dash pattern setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'dashes', type => 'floatarray', void_ret => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The line dash pattern setting',
							 | 
						||
| 
								 | 
							
								          array => { desc => 'The number of dashes in the dash_pattern array' } }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  GArray *pattern = pika_stroke_options_get_dash_info (options);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  dashes = pika_dash_pattern_to_double_array (pattern, &num_dashes);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_line_dash_pattern {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the line dash pattern setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the line dash pattern setting for stroking lines.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The unit of the dash pattern segments is the actual line width used
							 | 
						||
| 
								 | 
							
								for the stroke operation, in other words a segment length of 1.0
							 | 
						||
| 
								 | 
							
								results in a square segment shape (or gap shape).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_stroke_selection(), pika_drawable_edit_stroke_item().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2015', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'dashes', type => 'floatarray',
							 | 
						||
| 
								 | 
							
								          desc => 'The line dash pattern setting',
							 | 
						||
| 
								 | 
							
								          array => { desc => 'The number of dashes in the dash_pattern array' } }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaStrokeOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_stroke_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  GArray *pattern = NULL;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (num_dashes > 0)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      pattern = pika_dash_pattern_from_double_array (num_dashes, dashes);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      if (! pattern)
							 | 
						||
| 
								 | 
							
								        success = FALSE;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (success)
							 | 
						||
| 
								 | 
							
								    pika_stroke_options_take_dash_pattern (options, PIKA_DASH_CUSTOM, pattern);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_brush {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active brush.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the currently active brush.
							 | 
						||
| 
								 | 
							
								All paint and stroke operations use this brush.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'brush',
							 | 
						||
| 
								 | 
							
								    type  => 'brush',
							 | 
						||
| 
								 | 
							
									  desc  => 'The active brush' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  brush = pika_context_get_brush (context);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the active brush.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the active brush in the current context.
							 | 
						||
| 
								 | 
							
								The brush will be used in subsequent paint and stroke operations.
							 | 
						||
| 
								 | 
							
								Returns an error when the brush data was uninstalled since the brush object was created.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'brush',
							 | 
						||
| 
								 | 
							
								          type => 'brush',
							 | 
						||
| 
								 | 
							
								          non_empty => 1, no_validate => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The brush' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_brush (context, brush);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_brush_size {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get brush size in pixels.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the brush size in pixels for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "size", type => "0 < float",
							 | 
						||
| 
								 | 
							
								          desc => "Brush size in pixels" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  /* all options should have the same value, so pick a random one */
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "brush-size", &size,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush_size {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set brush size in pixels.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the brush size in pixels for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "size", type => "1 <= float <= 10000",
							 | 
						||
| 
								 | 
							
								          desc => "Brush size in pixels" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  GList *options;
							 | 
						||
| 
								 | 
							
								  GList *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  options = pika_pdb_context_get_brush_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (list = options; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								    g_object_set (list->data,
							 | 
						||
| 
								 | 
							
								                  "brush-size", (gdouble) size,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_list_free (options);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush_default_size {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set brush size to its default.';
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Set the brush size to the default (max of width and height) for
							 | 
						||
| 
								 | 
							
								paintbrush, airbrush, or pencil tools.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaBrush *brush = pika_context_get_brush (context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (brush)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      GList *options;
							 | 
						||
| 
								 | 
							
								      GList *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      options = pika_pdb_context_get_brush_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      for (list = options; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								        pika_paint_options_set_default_brush_size (list->data, brush);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      g_list_free (options);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      success = FALSE;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush_aspect_ratio {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set brush aspect ratio.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the aspect ratio for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "aspect", type => "-20 <= float <= 20",
							 | 
						||
| 
								 | 
							
								          desc => "Aspect ratio" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  GList *options;
							 | 
						||
| 
								 | 
							
								  GList *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  options = pika_pdb_context_get_brush_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (list = options; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								    g_object_set (list->data,
							 | 
						||
| 
								 | 
							
								                  "brush-aspect-ratio", (gdouble) aspect,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_list_free (options);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_brush_aspect_ratio {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get brush aspect ratio.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the aspect ratio for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "aspect", type => "-20 <= float <= 20",
							 | 
						||
| 
								 | 
							
								          desc => "Aspect ratio" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  /* all options should have the same value, so pick a random one */
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "brush-aspect-ratio", &aspect,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush_angle {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set brush angle in degrees.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the angle in degrees for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
									{ name => "angle", type => "-180 <= float <= 180",
							 | 
						||
| 
								 | 
							
									  desc => "Angle in degrees" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  GList *options;
							 | 
						||
| 
								 | 
							
								  GList *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  options = pika_pdb_context_get_brush_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (list = options; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								    g_object_set (list->data,
							 | 
						||
| 
								 | 
							
								                  "brush-angle", (gdouble) angle,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_list_free (options);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_brush_angle {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get brush angle in degrees.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the angle in degrees for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name => "angle", type => "-180 <= float <= 180",
							 | 
						||
| 
								 | 
							
									  desc => "Angle in degrees" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  /* all options should have the same value, so pick a random one */
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "brush-angle", &angle,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_brush_spacing {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get brush spacing as percent of size.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the brush spacing as percent of size for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &adeath_pdb_misc('2014', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "spacing", type => "0.01 <= float <= 50.0",
							 | 
						||
| 
								 | 
							
								          desc => "Brush spacing as fraction of size" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  /* all options should have the same value, so pick a random one */
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "brush-spacing", &spacing,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush_spacing {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set brush spacing as percent of size.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the brush spacing as percent of size for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &adeath_pdb_misc('2014', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "spacing", type => "0.01 <= float <= 50.0",
							 | 
						||
| 
								 | 
							
								          desc => "Brush spacing as fraction of size" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  GList *options;
							 | 
						||
| 
								 | 
							
								  GList *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  options = pika_pdb_context_get_brush_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (list = options; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								    g_object_set (list->data,
							 | 
						||
| 
								 | 
							
								                  "brush-spacing", (gdouble) spacing,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_list_free (options);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush_default_spacing {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set brush spacing to its default.';
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Set the brush spacing to the default  for
							 | 
						||
| 
								 | 
							
								paintbrush, airbrush, or pencil tools.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &adeath_pdb_misc('2014', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaBrush *brush = pika_context_get_brush (context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (brush)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      GList *options;
							 | 
						||
| 
								 | 
							
								      GList *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      options = pika_pdb_context_get_brush_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      for (list = options; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								        pika_paint_options_set_default_brush_spacing (list->data, brush);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      g_list_free (options);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      success = FALSE;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_brush_hardness {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get brush hardness in paint options.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the brush hardness for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &adeath_pdb_misc('2014', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "hardness", type => "0.0 <= float <= 1.0",
							 | 
						||
| 
								 | 
							
								          desc => "Brush hardness" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  /* all options should have the same value, so pick a random one */
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "brush-hardness", &hardness,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush_hardness {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set brush hardness.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the brush hardness for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &adeath_pdb_misc('2014', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "hardness", type => "0.0 <= float <= 1.0",
							 | 
						||
| 
								 | 
							
								          desc => "Brush hardness" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  GList *options;
							 | 
						||
| 
								 | 
							
								  GList *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  options = pika_pdb_context_get_brush_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (list = options; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								    g_object_set (list->data,
							 | 
						||
| 
								 | 
							
								                  "brush-hardness", (gdouble) hardness,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_list_free (options);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush_default_hardness {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set brush spacing to its default.';
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Set the brush spacing to the default  for
							 | 
						||
| 
								 | 
							
								paintbrush, airbrush, or pencil tools.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &adeath_pdb_misc('2014', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaBrush *brush = pika_context_get_brush (context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (brush)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      GList *options;
							 | 
						||
| 
								 | 
							
								      GList *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      options = pika_pdb_context_get_brush_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      for (list = options; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								        pika_paint_options_set_default_brush_hardness (list->data, brush);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      g_list_free (options);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      success = FALSE;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_brush_force {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get brush force in paint options.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the brush application force for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &adeath_pdb_misc('2014', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "force", type => "0.0 <= float <= 1.0",
							 | 
						||
| 
								 | 
							
								          desc => "Brush application force" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  /* all options should have the same value, so pick a random one */
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "brush-force", &force,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_brush_force {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set brush application force.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the brush application force for brush based paint tools.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &adeath_pdb_misc('2014', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "force", type => "0.0 <= float <= 1.0",
							 | 
						||
| 
								 | 
							
								          desc => "Brush application force" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  GList *options;
							 | 
						||
| 
								 | 
							
								  GList *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  options = pika_pdb_context_get_brush_options (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (list = options; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								    g_object_set (list->data,
							 | 
						||
| 
								 | 
							
								                  "brush-force", (gdouble) force,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_list_free (options);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_dynamics {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active paint dynamics.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the name of the currently active paint dynamics.
							 | 
						||
| 
								 | 
							
								If enabled, all paint operations and stroke operations use
							 | 
						||
| 
								 | 
							
								this paint dynamics to control the application of paint to the image.
							 | 
						||
| 
								 | 
							
								If disabled, the dynamics will be ignored during paint actions.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								See pika_context_are_dynamics_enabled() to enquire whether dynamics are
							 | 
						||
| 
								 | 
							
								used or ignored.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'name', type  => 'string',
							 | 
						||
| 
								 | 
							
									  desc  => 'The name of the active paint dynamics' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaDynamics *dynamics = pika_context_get_dynamics (context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (dynamics)
							 | 
						||
| 
								 | 
							
								    name = g_strdup (pika_object_get_name (dynamics));
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_dynamics {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the active paint dynamics.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the active paint dynamics.
							 | 
						||
| 
								 | 
							
								The paint dynamics will be used in all subsequent paint operations
							 | 
						||
| 
								 | 
							
								when dynamics are enabled.
							 | 
						||
| 
								 | 
							
								The name should be a name of an installed paint dynamics.
							 | 
						||
| 
								 | 
							
								Returns an  error if no matching paint dynamics is found.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'name', type => 'string', non_empty => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'A name of a paint dynamics' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaDynamics *dynamics = PIKA_DYNAMICS (pika_pdb_get_resource (pika, PIKA_TYPE_DYNAMICS, name, PIKA_PDB_DATA_ACCESS_READ, error));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (dynamics)
							 | 
						||
| 
								 | 
							
								    pika_context_set_dynamics (context, dynamics);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_are_dynamics_enabled {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Whether the currently active paint dynamics will be applied to painting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns whether the currently active paint dynamics (as
							 | 
						||
| 
								 | 
							
								returned by pika_context_get_dynamics()) is enabled.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &jehan_pdb_misc('2022', '3.0');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name => "enabled", type => 'boolean',
							 | 
						||
| 
								 | 
							
									  desc => "Whether dynamics enabled or disabled" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    enabled = pika_paint_options_are_dynamics_enabled (options);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_enable_dynamics {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Enables paint dynamics using the active paint dynamics.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Enables the active paint dynamics to be used in all subsequent paint operations.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &jehan_pdb_misc('2022', '3.0');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
									{ name => "enable", type => 'boolean',
							 | 
						||
| 
								 | 
							
									  desc => "Whether to enable or disable dynamics" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    pika_paint_options_enable_dynamics (options, enable);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_mypaint_brush {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active MyPaint brush.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the name of the currently active MyPaint brush.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2016', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'name', type  => 'string',
							 | 
						||
| 
								 | 
							
									  desc  => 'The name of the active MyPaint brush' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaMybrush *brush = pika_context_get_mybrush (context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (brush)
							 | 
						||
| 
								 | 
							
								    name = g_strdup (pika_object_get_name (brush));
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_mypaint_brush {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set a MyPaint brush as the active MyPaint brush.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the active MyPaint brush to the named MyPaint brush.
							 | 
						||
| 
								 | 
							
								The brush will be used in all subsequent MyPaint paint operations.
							 | 
						||
| 
								 | 
							
								The name should be a name of an installed MyPaint brush.
							 | 
						||
| 
								 | 
							
								Returns an error if no matching MyPaint brush is found.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2016', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'name', type => 'string', non_empty => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'A name of a MyPaint brush' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaMybrush *brush = PIKA_MYBRUSH (pika_pdb_get_resource (pika, PIKA_TYPE_MYBRUSH, name,
							 | 
						||
| 
								 | 
							
								                                                            PIKA_PDB_DATA_ACCESS_READ, error));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (brush)
							 | 
						||
| 
								 | 
							
								    pika_context_set_mybrush (context, brush);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_pattern {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active pattern.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the active pattern in the current context.
							 | 
						||
| 
								 | 
							
								All clone and bucket-fill operations with patterns will use this
							 | 
						||
| 
								 | 
							
								pattern to control the application of paint to the image.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'pattern',
							 | 
						||
| 
								 | 
							
								    type  => 'pattern',
							 | 
						||
| 
								 | 
							
									  desc  => 'The active pattern' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pattern = pika_context_get_pattern (context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (!pattern)
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_pattern {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the active pattern.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the active pattern in the current context.
							 | 
						||
| 
								 | 
							
								The pattern will be used in subsequent fill operations using a pattern.
							 | 
						||
| 
								 | 
							
								Returns an error when the pattern data was uninstalled since the pattern object was created.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'pattern',
							 | 
						||
| 
								 | 
							
								          type => 'pattern',
							 | 
						||
| 
								 | 
							
								          non_empty => 1, no_validate => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The pattern' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_pattern (context, pattern);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_gradient {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active gradient.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the currently active gradient.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'gradient',
							 | 
						||
| 
								 | 
							
								    type  => 'gradient',
							 | 
						||
| 
								 | 
							
									  desc  => 'The active gradient' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  gradient = pika_context_get_gradient (context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (!gradient)
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_gradient {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Sets the active gradient.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the active gradient in the current context.
							 | 
						||
| 
								 | 
							
								The gradient will be used in subsequent gradient operations.
							 | 
						||
| 
								 | 
							
								Returns an error when the gradient data was uninstalled since the gradient object was created.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								    	{ name => 'gradient',
							 | 
						||
| 
								 | 
							
								        type => 'gradient',
							 | 
						||
| 
								 | 
							
								        non_empty => 1, no_validate => 1,
							 | 
						||
| 
								 | 
							
								    	  desc => 'The gradient' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_gradient (context, gradient);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_gradient_fg_bg_rgb {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Sets the built-in FG-BG RGB gradient as the active gradient.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the built-in FG-BG RGB gradient as the active
							 | 
						||
| 
								 | 
							
								gradient. The gradient will be used for subsequent gradient operations.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_gradient (context,
							 | 
						||
| 
								 | 
							
								                             pika_gradients_get_fg_bg_rgb (pika));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_gradient_fg_bg_hsv_cw {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Sets the built-in FG-BG HSV (cw) gradient as the active gradient.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the built-in FG-BG HSV (cw) gradient as the active
							 | 
						||
| 
								 | 
							
								gradient. The gradient will be used for subsequent gradient operations.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_gradient (context,
							 | 
						||
| 
								 | 
							
								                             pika_gradients_get_fg_bg_hsv_cw (pika));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_gradient_fg_bg_hsv_ccw {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Sets the built-in FG-BG HSV (ccw) gradient as the active gradient.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the built-in FG-BG HSV (ccw) gradient as the active
							 | 
						||
| 
								 | 
							
								gradient. The gradient will be used for subsequent gradient operations.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_gradient (context,
							 | 
						||
| 
								 | 
							
								                             pika_gradients_get_fg_bg_hsv_ccw (pika));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_gradient_fg_transparent {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Sets the built-in FG-Transparent gradient as the active gradient.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the built-in FG-Transparent gradient as the active gradient.
							 | 
						||
| 
								 | 
							
								The gradient will be used for subsequent gradient operations.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_gradient (context,
							 | 
						||
| 
								 | 
							
								                             pika_gradients_get_fg_transparent (pika));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_gradient_blend_color_space {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the gradient blend color space.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the gradient blend color space for paint tools and the gradient tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
									{ name => "blend_color_space", type => 'enum PikaGradientBlendColorSpace',
							 | 
						||
| 
								 | 
							
									  desc => "Blend color space" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaContainer *options;
							 | 
						||
| 
								 | 
							
								  GList         *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  options = pika_pdb_context_get_paint_options_list (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (list = PIKA_LIST (options)->queue->head; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								    g_object_set (list->data,
							 | 
						||
| 
								 | 
							
								                  "gradient-blend-color-space", blend_color_space,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_gradient_blend_color_space {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the gradient blend color space.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the gradient blend color space for paint tools and the gradient tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name => "blend_color_space", type => 'enum PikaGradientBlendColorSpace',
							 | 
						||
| 
								 | 
							
									  desc => "Color blend space" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  /* all options should have the same value, so pick a random one */
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "gradient-blend-color-space", &blend_color_space,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_gradient_repeat_mode {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the gradient repeat mode.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the gradient repeat mode for paint tools and the gradient tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
									{ name => "repeat_mode", type => 'enum PikaRepeatMode',
							 | 
						||
| 
								 | 
							
									  desc => "Repeat mode" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaContainer *options;
							 | 
						||
| 
								 | 
							
								  GList         *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  options = pika_pdb_context_get_paint_options_list (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (list = PIKA_LIST (options)->queue->head; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								    g_object_set (list->data,
							 | 
						||
| 
								 | 
							
								                  "gradient-repeat", repeat_mode,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_gradient_repeat_mode {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the gradient repeat mode.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the gradient repeat mode for paint tools and the gradient tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name => "repeat_mode", type => 'enum PikaRepeatMode',
							 | 
						||
| 
								 | 
							
									  desc => "Repeat mode" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  /* all options should have the same value, so pick a random one */
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "gradient-repeat", &repeat_mode,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_gradient_reverse {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the gradient reverse setting.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the gradient reverse setting for paint tools and the gradient tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
									{ name => "reverse", type => 'boolean',
							 | 
						||
| 
								 | 
							
									  desc => "Reverse" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaContainer *options;
							 | 
						||
| 
								 | 
							
								  GList         *list;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  options = pika_pdb_context_get_paint_options_list (PIKA_PDB_CONTEXT (context));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  for (list = PIKA_LIST (options)->queue->head; list; list = g_list_next (list))
							 | 
						||
| 
								 | 
							
								    g_object_set (list->data,
							 | 
						||
| 
								 | 
							
								                  "gradient-reverse", reverse,
							 | 
						||
| 
								 | 
							
								                   NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_gradient_reverse {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the gradient reverse setting.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the gradient reverse setting for paint tools and the gradient tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name => "reverse", type => 'boolean',
							 | 
						||
| 
								 | 
							
									  desc => "Reverse" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  /* all options should have the same value, so pick a random one */
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-paintbrush");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "gradient-reverse", &reverse,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_palette {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active palette.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the currently active palette.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'palette',
							 | 
						||
| 
								 | 
							
								    type  => 'palette',
							 | 
						||
| 
								 | 
							
									  desc  => 'The active palette' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  palette = pika_context_get_palette (context);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (!palette)
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_palette {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the active palette.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the active palette in the current context.
							 | 
						||
| 
								 | 
							
								The palette will be used in subsequent paint operations.
							 | 
						||
| 
								 | 
							
								Returns an error when the palette data was uninstalled since the palette object was created.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								    	{ name => 'palette',
							 | 
						||
| 
								 | 
							
								        type => 'palette',
							 | 
						||
| 
								 | 
							
								        non_empty => 1, no_validate => 1,
							 | 
						||
| 
								 | 
							
								    	  desc => 'The palette' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_palette (context, palette);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_font {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active font.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the currently active font.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'font',
							 | 
						||
| 
								 | 
							
								    type  => 'font',
							 | 
						||
| 
								 | 
							
									  desc  => 'The active font' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  font = pika_context_get_font (context);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_font {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the active font.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Sets the active font in the current context.
							 | 
						||
| 
								 | 
							
								The font will be used in subsequent text operations.
							 | 
						||
| 
								 | 
							
								Returns an error when the font data was uninstalled since the font object was created.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &pdb_misc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								    	{ name => 'font',
							 | 
						||
| 
								 | 
							
								        type => 'font',
							 | 
						||
| 
								 | 
							
								        non_empty => 1, no_validate => 1,
							 | 
						||
| 
								 | 
							
								    	  desc => 'The font' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  pika_context_set_font (context, font);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_antialias {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the antialias setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the antialias setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'antialias', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The antialias setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "antialias", &antialias,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_antialias {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the antialias setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the antialias setting. If antialiasing is
							 | 
						||
| 
								 | 
							
								turned on, the edges of selected region will contain intermediate
							 | 
						||
| 
								 | 
							
								values which give the appearance of a sharper, less pixelized edge.
							 | 
						||
| 
								 | 
							
								This should be set as TRUE most of the time unless a binary-only
							 | 
						||
| 
								 | 
							
								selection is wanted.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_image_select_color(), pika_image_select_contiguous_color(),
							 | 
						||
| 
								 | 
							
								pika_image_select_round_rectangle(), pika_image_select_ellipse(),
							 | 
						||
| 
								 | 
							
								pika_image_select_polygon(), pika_image_select_item(),
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_bucket_fill(), pika_drawable_edit_stroke_item(),
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_stroke_selection().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'antialias', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The antialias setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "antialias", antialias,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_feather {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the feather setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the feather setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'feather', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The feather setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "feather", &feather,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_feather {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the feather setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the feather setting. If the feather option is
							 | 
						||
| 
								 | 
							
								enabled, selections will be blurred before combining. The blur is a
							 | 
						||
| 
								 | 
							
								gaussian blur; its radii can be controlled using
							 | 
						||
| 
								 | 
							
								pika_context_set_feather_radius().
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_image_select_color(), pika_image_select_contiguous_color(),
							 | 
						||
| 
								 | 
							
								pika_image_select_rectangle(), pika_image_select_round_rectangle(),
							 | 
						||
| 
								 | 
							
								pika_image_select_ellipse(), pika_image_select_polygon(),
							 | 
						||
| 
								 | 
							
								pika_image_select_item().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'feather', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The feather setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "feather", feather,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_feather_radius {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the feather radius setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the feather radius setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'feather_radius_x', type => '0 <= float <= 1000', void_ret => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The horizontal feather radius' },
							 | 
						||
| 
								 | 
							
								        { name => 'feather_radius_y', type => '0 <= float <= 1000',
							 | 
						||
| 
								 | 
							
								          desc => 'The vertical feather radius' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "feather-radius-x", &feather_radius_x,
							 | 
						||
| 
								 | 
							
								                "feather-radius-y", &feather_radius_y,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_feather_radius {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the feather radius setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the feather radius setting.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects all procedures that are affected
							 | 
						||
| 
								 | 
							
								by pika_context_set_feather().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'feather_radius_x', type => '0 <= float <= 1000',
							 | 
						||
| 
								 | 
							
								          desc => 'The horizontal feather radius' },
							 | 
						||
| 
								 | 
							
								        { name => 'feather_radius_y', type => '0 <= float <= 1000',
							 | 
						||
| 
								 | 
							
								          desc => 'The vertical feather radius' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "feather-radius-x", feather_radius_x,
							 | 
						||
| 
								 | 
							
								                "feather-radius-y", feather_radius_y,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_sample_merged {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the sample merged setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the sample merged setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_merged', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample merged setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "sample-merged", &sample_merged,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_sample_merged {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the sample merged setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the sample merged setting. If an operation
							 | 
						||
| 
								 | 
							
								depends on the colors of the pixels present in a drawable, like when
							 | 
						||
| 
								 | 
							
								doing a seed fill, this setting controls whether the pixel data from
							 | 
						||
| 
								 | 
							
								the given drawable is used ('sample-merged' is FALSE), or the
							 | 
						||
| 
								 | 
							
								pixel data from the composite image ('sample-merged' is TRUE. This is
							 | 
						||
| 
								 | 
							
								equivalent to sampling for colors after merging all visible layers).
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_image_select_color(), pika_image_select_contiguous_color(),
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_bucket_fill().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_merged', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample merged setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "sample-merged", sample_merged,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_sample_criterion {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the sample criterion setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the sample criterion setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_criterion', type => 'enum PikaSelectCriterion',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample criterion setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "sample-criterion", &sample_criterion,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_sample_criterion {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the sample criterion setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the sample criterion setting. If an operation
							 | 
						||
| 
								 | 
							
								depends on the colors of the pixels present in a drawable, like when
							 | 
						||
| 
								 | 
							
								doing a seed fill, this setting controls how color similarity is
							 | 
						||
| 
								 | 
							
								determined. SELECT_CRITERION_COMPOSITE is the default value.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_image_select_color(), pika_image_select_contiguous_color(),
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_bucket_fill().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_criterion', type => 'enum PikaSelectCriterion',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample criterion setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "sample-criterion", sample_criterion,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_sample_threshold {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the sample threshold setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the sample threshold setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_threshold', type => '0.0 <= float <= 1.0',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample threshold setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "sample-threshold", &sample_threshold,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_sample_threshold {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the sample threshold setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the sample threshold setting. If an operation
							 | 
						||
| 
								 | 
							
								depends on the colors of the pixels present in a drawable, like when
							 | 
						||
| 
								 | 
							
								doing a seed fill, this setting controls what is "sufficiently close"
							 | 
						||
| 
								 | 
							
								to be considered a similar color. If the sample threshold has not been
							 | 
						||
| 
								 | 
							
								set explicitly, the default threshold set in pikarc will be used.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_image_select_color(), pika_image_select_contiguous_color(),
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_bucket_fill().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_threshold', type => '0.0 <= float <= 1.0',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample threshold setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "sample-threshold", sample_threshold,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_sample_threshold_int {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the sample threshold setting as an integer value.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the sample threshold setting as an integer
							 | 
						||
| 
								 | 
							
								value. See pika_context_get_sample_threshold().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_threshold', type => '0 <= int32 <= 255',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample threshold setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  gdouble threshold;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "sample-threshold", &threshold,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  sample_threshold = (gint) (threshold * 255.99);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_sample_threshold_int {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the sample threshold setting as an integer value.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the sample threshold setting as an integer
							 | 
						||
| 
								 | 
							
								value. See pika_context_set_sample_threshold().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_threshold', type => '0 <= int32 <= 255',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample threshold setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "sample-threshold", (gdouble) sample_threshold / 255.0,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_sample_transparent {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the sample transparent setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the sample transparent setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_transparent', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample transparent setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "sample-transparent", &sample_transparent,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_sample_transparent {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the sample transparent setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the sample transparent setting. If an
							 | 
						||
| 
								 | 
							
								operation depends on the colors of the pixels present in a drawable,
							 | 
						||
| 
								 | 
							
								like when doing a seed fill, this setting controls whether
							 | 
						||
| 
								 | 
							
								transparency is considered to be a unique selectable color. When this
							 | 
						||
| 
								 | 
							
								setting is TRUE, transparent areas can be selected or filled.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_image_select_color(), pika_image_select_contiguous_color(),
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_bucket_fill().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2011', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'sample_transparent', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The sample transparent setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "sample-transparent", sample_transparent,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_diagonal_neighbors {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the diagonal neighbors setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the diagonal neighbors setting.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $author = 'Ell';
							 | 
						||
| 
								 | 
							
								    $copyright = 'Ell';
							 | 
						||
| 
								 | 
							
								    $date = '2016';
							 | 
						||
| 
								 | 
							
								    $since = '2.10';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'diagonal_neighbors', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The diagonal neighbors setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "diagonal-neighbors", &diagonal_neighbors,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_diagonal_neighbors {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the diagonal neighbors setting.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the diagonal neighbors setting. If the affected
							 | 
						||
| 
								 | 
							
								region of an operation is based on a seed point, like when doing a seed
							 | 
						||
| 
								 | 
							
								fill, then, when this setting is TRUE, all eight neighbors of each pixel
							 | 
						||
| 
								 | 
							
								are considered when calculating the affected region; in contrast, when
							 | 
						||
| 
								 | 
							
								this setting is FALSE, only the four orthogonal neighbors of each pixel
							 | 
						||
| 
								 | 
							
								are considered.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_image_select_contiguous_color(), pika_drawable_edit_bucket_fill().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $author = 'Ell';
							 | 
						||
| 
								 | 
							
								    $copyright = 'Ell';
							 | 
						||
| 
								 | 
							
								    $date = '2016';
							 | 
						||
| 
								 | 
							
								    $since = '2.10';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'diagonal_neighbors', type => 'boolean',
							 | 
						||
| 
								 | 
							
								          desc => 'The diagonal neighbors setting' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "diagonal-neighbors", diagonal_neighbors,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_distance_metric {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the distance metric used in some computations.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the distance metric in the current context.
							 | 
						||
| 
								 | 
							
								See pika_context_set_distance_metric() to know more about its usage.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &jehan_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'metric', type => 'enum GeglDistanceMetric',
							 | 
						||
| 
								 | 
							
								          desc => 'The distance metric' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "distance-metric", &metric,
							 | 
						||
| 
								 | 
							
										NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_distance_metric {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the distance metric used in some computations.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the distance metric used in some computations,
							 | 
						||
| 
								 | 
							
								such as pika_drawable_edit_gradient_fill(). In particular, it does not
							 | 
						||
| 
								 | 
							
								change the metric used in generic distance computation on canvas, as
							 | 
						||
| 
								 | 
							
								in the Measure tool.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_drawable_edit_gradient_fill().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &jehan_pdb_misc('2018', '2.10');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'metric', type => 'enum GeglDistanceMetric',
							 | 
						||
| 
								 | 
							
								          desc => 'The distance metric' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "distance-metric", metric,
							 | 
						||
| 
								 | 
							
										NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_interpolation {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the interpolation type.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the interpolation setting. The return value
							 | 
						||
| 
								 | 
							
								is an integer which corresponds to the values listed in the argument
							 | 
						||
| 
								 | 
							
								description. If the interpolation has not been set explicitly by
							 | 
						||
| 
								 | 
							
								pika_context_set_interpolation(), the default interpolation set in
							 | 
						||
| 
								 | 
							
								pikarc will be used.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'interpolation', type => 'enum PikaInterpolationType',
							 | 
						||
| 
								 | 
							
								          desc => 'The interpolation type' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "interpolation", &interpolation,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_interpolation {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the interpolation type.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the interpolation setting.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_item_transform_flip(), pika_item_transform_perspective(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_rotate(), pika_item_transform_scale(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_shear(), pika_item_transform_2d(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_matrix(), pika_image_scale(), pika_layer_scale().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'interpolation', type => 'enum PikaInterpolationType',
							 | 
						||
| 
								 | 
							
								          desc => 'The interpolation type' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "interpolation", interpolation,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_transform_direction {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the transform direction.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the transform direction. The return value
							 | 
						||
| 
								 | 
							
								is an integer which corresponds to the values listed in the argument
							 | 
						||
| 
								 | 
							
								description.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'transform_direction', type => 'enum PikaTransformDirection',
							 | 
						||
| 
								 | 
							
								          desc => 'The transform direction' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "transform-direction", &transform_direction,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_transform_direction {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the transform direction.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the transform direction setting.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_item_transform_flip(), pika_item_transform_perspective(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_rotate(), pika_item_transform_scale(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_shear(), pika_item_transform_2d(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_matrix().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'transform_direction', type => 'enum PikaTransformDirection',
							 | 
						||
| 
								 | 
							
								          desc => 'The transform direction' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "transform-direction", transform_direction,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_transform_resize {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the transform resize type.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the transform resize setting. The return value
							 | 
						||
| 
								 | 
							
								is an integer which corresponds to the values listed in the argument
							 | 
						||
| 
								 | 
							
								description.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'transform_resize', type => 'enum PikaTransformResize',
							 | 
						||
| 
								 | 
							
								          desc => 'The transform resize type' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_get (context,
							 | 
						||
| 
								 | 
							
								                "transform-resize", &transform_resize,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_transform_resize {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set the transform resize type.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Modifies the transform resize setting. When transforming
							 | 
						||
| 
								 | 
							
								pixels, if the result of a transform operation  has a different size
							 | 
						||
| 
								 | 
							
								than the original area, this setting determines how the resulting area
							 | 
						||
| 
								 | 
							
								is sized.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This setting affects affects the following procedures:
							 | 
						||
| 
								 | 
							
								pika_item_transform_flip(), pika_item_transform_flip_simple(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_perspective(), pika_item_transform_rotate(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_rotate_simple(), pika_item_transform_scale(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_shear(), pika_item_transform_2d(),
							 | 
						||
| 
								 | 
							
								pika_item_transform_matrix().
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &mitch_pdb_misc('2010', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'transform_resize', type => 'enum PikaTransformResize',
							 | 
						||
| 
								 | 
							
								          desc => 'The transform resize type' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
									code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  g_object_set (context,
							 | 
						||
| 
								 | 
							
								                "transform-resize", transform_resize,
							 | 
						||
| 
								 | 
							
								                NULL);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_ink_size {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get ink blob size in pixels.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the ink blob size in pixels for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "size", type => "0 <= float <= 200",
							 | 
						||
| 
								 | 
							
								          desc => "ink blob size in pixels" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "size", &size,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_ink_size {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set ink blob size in pixels.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the ink blob size in pixels for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "size", type => "0 <= float <= 200",
							 | 
						||
| 
								 | 
							
								          desc => "ink blob size in pixels" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_set (options,
							 | 
						||
| 
								 | 
							
								                  "size", size,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_ink_angle {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get ink angle in degrees.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the ink angle in degrees for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "angle", type => "-90 <= float <= 90",
							 | 
						||
| 
								 | 
							
								          desc => "ink angle in degrees" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "tilt-angle", &angle,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_ink_angle {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set ink angle in degrees.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the ink angle in degrees for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "angle", type => "-90 <= float <= 90",
							 | 
						||
| 
								 | 
							
								          desc => "ink angle in degrees" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_set (options,
							 | 
						||
| 
								 | 
							
								                  "tilt-angle", angle,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_ink_size_sensitivity {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get ink size sensitivity.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the ink size sensitivity for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "size", type => "0 <= float <= 1",
							 | 
						||
| 
								 | 
							
								          desc => "ink size sensitivity" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "size-sensitivity", &size,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_ink_size_sensitivity {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set ink size sensitivity.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the ink size sensitivity for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "size", type => "0 <= float <= 1",
							 | 
						||
| 
								 | 
							
								          desc => "ink size sensitivity" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_set (options,
							 | 
						||
| 
								 | 
							
								                  "size-sensitivity", size,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_ink_tilt_sensitivity {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get ink tilt sensitivity.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the ink tilt sensitivity for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "tilt", type => "0 <= float <= 1",
							 | 
						||
| 
								 | 
							
								          desc => "ink tilt sensitivity" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "tilt-sensitivity", &tilt,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_ink_tilt_sensitivity {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set ink tilt sensitivity.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the ink tilt sensitivity for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "tilt", type => "0 <= float <= 1",
							 | 
						||
| 
								 | 
							
								          desc => "ink tilt sensitivity" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_set (options,
							 | 
						||
| 
								 | 
							
								                  "tilt-sensitivity", tilt,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_ink_speed_sensitivity {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get ink speed sensitivity.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the ink speed sensitivity for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "speed", type => "0 <= float <= 1",
							 | 
						||
| 
								 | 
							
								          desc => "ink speed sensitivity" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "vel-sensitivity", &speed,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_ink_speed_sensitivity {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set ink speed sensitivity.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the ink speed sensitivity for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "speed", type => "0 <= float <= 1",
							 | 
						||
| 
								 | 
							
								          desc => "ink speed sensitivity" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_set (options,
							 | 
						||
| 
								 | 
							
								                  "vel-sensitivity", speed,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_ink_blob_type {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get ink blob type.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the ink blob type for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "type", type => "enum PikaInkBlobType",
							 | 
						||
| 
								 | 
							
								          desc => "Ink blob type" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "blob-type", &type,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_ink_blob_type {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set ink blob type.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the ink blob type for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "type", type => "enum PikaInkBlobType",
							 | 
						||
| 
								 | 
							
								          desc => "Ink blob type" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_set (options,
							 | 
						||
| 
								 | 
							
								                  "blob-type", type,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_ink_blob_aspect_ratio {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get ink blob aspect ratio.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the ink blob aspect ratio for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "aspect", type => "1 <= float <= 10",
							 | 
						||
| 
								 | 
							
								          desc => "ink blob aspect ratio" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_get (options,
							 | 
						||
| 
								 | 
							
								                  "blob-aspect", &aspect,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_ink_blob_aspect_ratio {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set ink blob aspect ratio.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the ink blob aspect ratio for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "aspect", type => "1 <= float <= 10",
							 | 
						||
| 
								 | 
							
								          desc => "ink blob aspect ratio" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_set (options,
							 | 
						||
| 
								 | 
							
								                  "blob-aspect", aspect,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_ink_blob_angle {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get ink blob angle in degrees.';
							 | 
						||
| 
								 | 
							
								    $help = 'Get the ink blob angle in degrees for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
								        { name => "angle", type => "-180 <= float <= 180",
							 | 
						||
| 
								 | 
							
								          desc => "ink blob angle in degrees" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      g_object_get (options,
							 | 
						||
| 
								 | 
							
										    "blob-angle", &angle,
							 | 
						||
| 
								 | 
							
										    NULL);
							 | 
						||
| 
								 | 
							
								      angle *= (180-0 / G_PI);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_set_ink_blob_angle {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Set ink blob angle in degrees.';
							 | 
						||
| 
								 | 
							
								    $help = 'Set the ink blob angle in degrees for ink tool.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &ejs_pdb_misc('2012', '2.8');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => "angle", type => "-180 <= float <= 180",
							 | 
						||
| 
								 | 
							
								          desc => "ink blob angle in degrees" }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								    code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  PikaPaintOptions *options =
							 | 
						||
| 
								 | 
							
								    pika_pdb_context_get_paint_options (PIKA_PDB_CONTEXT (context),
							 | 
						||
| 
								 | 
							
								                                        "pika-ink");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (options)
							 | 
						||
| 
								 | 
							
								    g_object_set (options,
							 | 
						||
| 
								 | 
							
								                  "blob-angle", (gdouble) angle * G_PI / 180.0,
							 | 
						||
| 
								 | 
							
								                  NULL);
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    success = FALSE;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								sub context_get_resource {
							 | 
						||
| 
								 | 
							
								    $blurb = 'Get the currently active resource for a type.';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $help = <<'HELP';
							 | 
						||
| 
								 | 
							
								Returns the currently active resource for the given type name.
							 | 
						||
| 
								 | 
							
								HELP
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    $lib_private = 1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    &jehan_pdb_misc('2023', '3.0');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @inargs = (
							 | 
						||
| 
								 | 
							
								        { name => 'type_name', type => 'string', non_empty => 1,
							 | 
						||
| 
								 | 
							
								          desc => 'The name of the resource type' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								    @outargs = (
							 | 
						||
| 
								 | 
							
									{ name  => 'resource',
							 | 
						||
| 
								 | 
							
								          type  => 'resource',
							 | 
						||
| 
								 | 
							
									  desc  => 'The active resource' }
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    %invoke = (
							 | 
						||
| 
								 | 
							
								        code => <<'CODE'
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								  GType type = g_type_from_name (type_name);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  if (g_type_is_a (type, PIKA_TYPE_RESOURCE))
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      if (type == PIKA_TYPE_BRUSH)
							 | 
						||
| 
								 | 
							
								        resource = PIKA_RESOURCE (pika_context_get_brush (context));
							 | 
						||
| 
								 | 
							
								      else if (type == PIKA_TYPE_FONT)
							 | 
						||
| 
								 | 
							
								        resource = PIKA_RESOURCE (pika_context_get_font (context));
							 | 
						||
| 
								 | 
							
								      else if (type == PIKA_TYPE_GRADIENT)
							 | 
						||
| 
								 | 
							
								        resource = PIKA_RESOURCE (pika_context_get_gradient (context));
							 | 
						||
| 
								 | 
							
								      else if (type == PIKA_TYPE_PATTERN)
							 | 
						||
| 
								 | 
							
								        resource = PIKA_RESOURCE (pika_context_get_pattern (context));
							 | 
						||
| 
								 | 
							
								      else if (type == PIKA_TYPE_PALETTE)
							 | 
						||
| 
								 | 
							
								        resource = PIKA_RESOURCE (pika_context_get_palette (context));
							 | 
						||
| 
								 | 
							
								      else
							 | 
						||
| 
								 | 
							
								        /* Should not be reached. */
							 | 
						||
| 
								 | 
							
								        success = FALSE;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  else
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								      success = FALSE;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								CODE
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@headers = qw("core/pika.h"
							 | 
						||
| 
								 | 
							
								              "core/pika-gradients.h"
							 | 
						||
| 
								 | 
							
								              "core/pikacontainer.h"
							 | 
						||
| 
								 | 
							
								              "core/pikadashpattern.h"
							 | 
						||
| 
								 | 
							
								              "core/pikadatafactory.h"
							 | 
						||
| 
								 | 
							
								              "core/pikadynamics.h"
							 | 
						||
| 
								 | 
							
								              "core/pikalist.h"
							 | 
						||
| 
								 | 
							
								              "core/pikamybrush.h"
							 | 
						||
| 
								 | 
							
								              "core/pikastrokeoptions.h"
							 | 
						||
| 
								 | 
							
								              "paint/pikapaintoptions.h"
							 | 
						||
| 
								 | 
							
								              "libpikaconfig/pikaconfig.h"
							 | 
						||
| 
								 | 
							
								              "plug-in/pikaplugin.h"
							 | 
						||
| 
								 | 
							
								              "plug-in/pikaplugin-context.h"
							 | 
						||
| 
								 | 
							
								              "plug-in/pikapluginmanager.h"
							 | 
						||
| 
								 | 
							
								              "pikapdb-utils.h"
							 | 
						||
| 
								 | 
							
								              "pikapdbcontext.h");
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@procs = qw(context_push context_pop context_set_defaults
							 | 
						||
| 
								 | 
							
								            context_list_paint_methods
							 | 
						||
| 
								 | 
							
								            context_get_paint_method context_set_paint_method
							 | 
						||
| 
								 | 
							
								            context_get_stroke_method context_set_stroke_method
							 | 
						||
| 
								 | 
							
								            context_get_foreground context_set_foreground
							 | 
						||
| 
								 | 
							
								            context_get_background context_set_background
							 | 
						||
| 
								 | 
							
								            context_set_default_colors
							 | 
						||
| 
								 | 
							
								            context_swap_colors
							 | 
						||
| 
								 | 
							
								            context_get_opacity context_set_opacity
							 | 
						||
| 
								 | 
							
								            context_get_paint_mode context_set_paint_mode
							 | 
						||
| 
								 | 
							
								            context_get_line_width context_set_line_width
							 | 
						||
| 
								 | 
							
								            context_get_line_width_unit context_set_line_width_unit
							 | 
						||
| 
								 | 
							
								            context_get_line_cap_style context_set_line_cap_style
							 | 
						||
| 
								 | 
							
								            context_get_line_join_style context_set_line_join_style
							 | 
						||
| 
								 | 
							
								            context_get_line_miter_limit context_set_line_miter_limit
							 | 
						||
| 
								 | 
							
								            context_get_line_dash_offset context_set_line_dash_offset
							 | 
						||
| 
								 | 
							
								            context_get_line_dash_pattern context_set_line_dash_pattern
							 | 
						||
| 
								 | 
							
								            context_get_brush context_set_brush
							 | 
						||
| 
								 | 
							
								            context_get_brush_size
							 | 
						||
| 
								 | 
							
								            context_set_brush_size context_set_brush_default_size
							 | 
						||
| 
								 | 
							
								            context_get_brush_aspect_ratio context_set_brush_aspect_ratio
							 | 
						||
| 
								 | 
							
								            context_get_brush_angle context_set_brush_angle
							 | 
						||
| 
								 | 
							
								            context_get_brush_spacing
							 | 
						||
| 
								 | 
							
								            context_set_brush_spacing context_set_brush_default_spacing
							 | 
						||
| 
								 | 
							
								            context_get_brush_hardness
							 | 
						||
| 
								 | 
							
								            context_set_brush_hardness context_set_brush_default_hardness
							 | 
						||
| 
								 | 
							
								            context_get_brush_force
							 | 
						||
| 
								 | 
							
								            context_set_brush_force
							 | 
						||
| 
								 | 
							
								            context_get_dynamics context_set_dynamics
							 | 
						||
| 
								 | 
							
								            context_are_dynamics_enabled context_enable_dynamics
							 | 
						||
| 
								 | 
							
								            context_get_mypaint_brush context_set_mypaint_brush
							 | 
						||
| 
								 | 
							
								            context_get_pattern context_set_pattern
							 | 
						||
| 
								 | 
							
								            context_get_gradient context_set_gradient
							 | 
						||
| 
								 | 
							
									    context_set_gradient_fg_bg_rgb
							 | 
						||
| 
								 | 
							
									    context_set_gradient_fg_bg_hsv_cw
							 | 
						||
| 
								 | 
							
									    context_set_gradient_fg_bg_hsv_ccw
							 | 
						||
| 
								 | 
							
									    context_set_gradient_fg_transparent
							 | 
						||
| 
								 | 
							
								            context_get_gradient_blend_color_space context_set_gradient_blend_color_space
							 | 
						||
| 
								 | 
							
								            context_get_gradient_repeat_mode context_set_gradient_repeat_mode
							 | 
						||
| 
								 | 
							
								            context_get_gradient_reverse context_set_gradient_reverse
							 | 
						||
| 
								 | 
							
								            context_get_palette context_set_palette
							 | 
						||
| 
								 | 
							
								            context_get_font context_set_font
							 | 
						||
| 
								 | 
							
								            context_get_antialias context_set_antialias
							 | 
						||
| 
								 | 
							
								            context_get_feather context_set_feather
							 | 
						||
| 
								 | 
							
								            context_get_feather_radius context_set_feather_radius
							 | 
						||
| 
								 | 
							
								            context_get_sample_merged context_set_sample_merged
							 | 
						||
| 
								 | 
							
								            context_get_sample_criterion context_set_sample_criterion
							 | 
						||
| 
								 | 
							
								            context_get_sample_threshold context_set_sample_threshold
							 | 
						||
| 
								 | 
							
								            context_get_sample_threshold_int context_set_sample_threshold_int
							 | 
						||
| 
								 | 
							
								            context_get_sample_transparent context_set_sample_transparent
							 | 
						||
| 
								 | 
							
								            context_get_diagonal_neighbors context_set_diagonal_neighbors
							 | 
						||
| 
								 | 
							
								            context_get_distance_metric context_set_distance_metric
							 | 
						||
| 
								 | 
							
								            context_get_interpolation context_set_interpolation
							 | 
						||
| 
								 | 
							
								            context_get_transform_direction context_set_transform_direction
							 | 
						||
| 
								 | 
							
								            context_get_transform_resize context_set_transform_resize
							 | 
						||
| 
								 | 
							
								            context_get_ink_size context_set_ink_size
							 | 
						||
| 
								 | 
							
								            context_get_ink_angle context_set_ink_angle
							 | 
						||
| 
								 | 
							
								            context_get_ink_size_sensitivity context_set_ink_size_sensitivity
							 | 
						||
| 
								 | 
							
								            context_get_ink_tilt_sensitivity context_set_ink_tilt_sensitivity
							 | 
						||
| 
								 | 
							
								            context_get_ink_speed_sensitivity context_set_ink_speed_sensitivity
							 | 
						||
| 
								 | 
							
								            context_get_ink_blob_type context_set_ink_blob_type
							 | 
						||
| 
								 | 
							
								            context_get_ink_blob_aspect_ratio context_set_ink_blob_aspect_ratio
							 | 
						||
| 
								 | 
							
								            context_get_ink_blob_angle context_set_ink_blob_angle
							 | 
						||
| 
								 | 
							
								            context_get_resource);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								%exports = (app => [@procs], lib => [@procs]);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								$desc = 'Context';
							 | 
						||
| 
								 | 
							
								$doc_title = 'pikacontext';
							 | 
						||
| 
								 | 
							
								$doc_short_desc = "Functions to manipulate a plug-in's context.";
							 | 
						||
| 
								 | 
							
								$doc_long_desc = "Functions to manipulate a plug-in's context.";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								1;
							 |