Updated with upstream update
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
# Moreover it is generated in 2 steps, first with common mkenums
|
||||
# arguments, then concatenating with a "tail" file.
|
||||
pikaenums_notail = custom_target('pikaenums.c.notail',
|
||||
input : [ 'pikaenums.h', ],
|
||||
input : [ 'pikaenums.h', stamp_enumcode],
|
||||
output: [ 'pikaenums.c.notail', ],
|
||||
command: [
|
||||
pika_mkenums,
|
||||
@ -14,6 +14,7 @@ pikaenums_notail = custom_target('pikaenums.c.notail',
|
||||
+ '#include "libpikabase/pikabase.h"\n'
|
||||
+ '#include "libpikabase/pikabase-private.h"\n'
|
||||
+ '#include "libpikaconfig/pikaconfigenums.h"\n'
|
||||
+ '#include "pdb/stamp-enumcode.h"\n'
|
||||
+ '#include "pikaenums.h"\n',
|
||||
'--fprod',
|
||||
'/* enumerations from "@basename@" */',
|
||||
@ -40,7 +41,7 @@ pikaenums_notail = custom_target('pikaenums.c.notail',
|
||||
'@endif@',
|
||||
'--dtail',
|
||||
libpika_mkenums_dtails,
|
||||
'@INPUT@',
|
||||
'@INPUT0@',
|
||||
],
|
||||
capture: true,
|
||||
)
|
||||
@ -71,6 +72,7 @@ pdb_wrappers_sources = [
|
||||
'pikadrawable_pdb.c',
|
||||
'pikadrawablecolor_pdb.c',
|
||||
'pikadrawableedit_pdb.c',
|
||||
'pikadrawableselect_pdb.c',
|
||||
'pikadynamics_pdb.c',
|
||||
'pikaedit_pdb.c',
|
||||
'pikafile_pdb.c',
|
||||
@ -125,6 +127,7 @@ pdb_wrappers_headers = [
|
||||
'pikadrawable_pdb.h',
|
||||
'pikadrawablecolor_pdb.h',
|
||||
'pikadrawableedit_pdb.h',
|
||||
'pikadrawableselect_pdb.h',
|
||||
'pikadynamics_pdb.h',
|
||||
'pikaedit_pdb.h',
|
||||
'pikafile_pdb.h',
|
||||
@ -168,11 +171,14 @@ pdb_wrappers_headers = [
|
||||
libpika_sources_introspectable = [
|
||||
'pika.c',
|
||||
'pikabatchprocedure.c',
|
||||
'pikabrush.c',
|
||||
'pikachannel.c',
|
||||
'pikadisplay.c',
|
||||
'pikadrawable.c',
|
||||
'pikafileprocedure.c',
|
||||
'pikafont.c',
|
||||
'pikapikarc.c',
|
||||
'pikagradient.c',
|
||||
'pikaimage.c',
|
||||
'pikaimagecolorprofile.c',
|
||||
'pikaimagemetadata.c',
|
||||
@ -182,7 +188,9 @@ libpika_sources_introspectable = [
|
||||
'pikalayer.c',
|
||||
'pikalayermask.c',
|
||||
'pikaloadprocedure.c',
|
||||
'pikapalette.c',
|
||||
'pikaparamspecs.c',
|
||||
'pikapattern.c',
|
||||
'pikapdb.c',
|
||||
'pikaplugin.c',
|
||||
'pikaprocedure.c',
|
||||
@ -222,11 +230,14 @@ libpika_headers_introspectable = [
|
||||
|
||||
# Other headers
|
||||
'pikabatchprocedure.h',
|
||||
'pikabrush.h',
|
||||
'pikachannel.h',
|
||||
'pikadisplay.h',
|
||||
'pikadrawable.h',
|
||||
'pikafileprocedure.h',
|
||||
'pikafont.h',
|
||||
'pikapikarc.h',
|
||||
'pikagradient.h',
|
||||
'pikaimage.h',
|
||||
'pikaimagecolorprofile.h',
|
||||
'pikaimagemetadata.h',
|
||||
@ -235,7 +246,9 @@ libpika_headers_introspectable = [
|
||||
'pikalayer.h',
|
||||
'pikalayermask.h',
|
||||
'pikaloadprocedure.h',
|
||||
'pikapalette.h',
|
||||
'pikaparamspecs.h',
|
||||
'pikapattern.h',
|
||||
'pikapdb.h',
|
||||
'pikaplugin.h',
|
||||
'pikaprocedure.h',
|
||||
@ -258,21 +271,22 @@ libpika_headers = [
|
||||
|
||||
libpikaui_sources_introspectable = [
|
||||
'pikaaspectpreview.c',
|
||||
'pikabrushselectbutton.c',
|
||||
'pikabrushchooser.c',
|
||||
'pikadrawablechooser.c',
|
||||
'pikadrawablepreview.c',
|
||||
'pikaexport.c',
|
||||
'pikafontselectbutton.c',
|
||||
'pikagradientselectbutton.c',
|
||||
'pikafontchooser.c',
|
||||
'pikagradientchooser.c',
|
||||
'pikaimagecombobox.c',
|
||||
'pikaitemcombobox.c',
|
||||
'pikapaletteselectbutton.c',
|
||||
'pikapatternselectbutton.c',
|
||||
'pikapalettechooser.c',
|
||||
'pikapatternchooser.c',
|
||||
'pikaprocbrowserdialog.c',
|
||||
'pikaproceduredialog.c',
|
||||
'pikaprocview.c',
|
||||
'pikaprogressbar.c',
|
||||
'pikapropchooserfactory.c',
|
||||
'pikaresourceselectbutton.c',
|
||||
'pikapropwidgets.c',
|
||||
'pikaresourcechooser.c',
|
||||
'pikasaveproceduredialog.c',
|
||||
'pikaui.c',
|
||||
'pikazoompreview.c',
|
||||
@ -281,7 +295,6 @@ libpikaui_sources_introspectable = [
|
||||
libpikaui_sources = [
|
||||
libpikaui_sources_introspectable,
|
||||
pikauimarshal,
|
||||
'pikapropchooser-private.c',
|
||||
]
|
||||
|
||||
libpikaui_headers_introspectable = [
|
||||
@ -291,21 +304,22 @@ libpikaui_headers_introspectable = [
|
||||
|
||||
# Other headers
|
||||
'pikaaspectpreview.h',
|
||||
'pikabrushselectbutton.h',
|
||||
'pikabrushchooser.h',
|
||||
'pikadrawablechooser.h',
|
||||
'pikadrawablepreview.h',
|
||||
'pikaexport.h',
|
||||
'pikafontselectbutton.h',
|
||||
'pikagradientselectbutton.h',
|
||||
'pikafontchooser.h',
|
||||
'pikagradientchooser.h',
|
||||
'pikaimagecombobox.h',
|
||||
'pikaitemcombobox.h',
|
||||
'pikapaletteselectbutton.h',
|
||||
'pikapatternselectbutton.h',
|
||||
'pikapalettechooser.h',
|
||||
'pikapatternchooser.h',
|
||||
'pikaprocbrowserdialog.h',
|
||||
'pikaproceduredialog.h',
|
||||
'pikaprocview.h',
|
||||
'pikaprogressbar.h',
|
||||
'pikapropchooserfactory.h',
|
||||
'pikaresourceselectbutton.h',
|
||||
'pikapropwidgets.h',
|
||||
'pikaresourcechooser.h',
|
||||
'pikasaveproceduredialog.h',
|
||||
'pikazoompreview.h',
|
||||
]
|
||||
@ -330,6 +344,8 @@ libpika = library('pika-'+ pika_api_version,
|
||||
gegl,
|
||||
gexiv2,
|
||||
drmingw,
|
||||
pango,
|
||||
pangoft2,
|
||||
],
|
||||
sources: [
|
||||
pdbgen
|
||||
@ -451,6 +467,7 @@ else
|
||||
'Gio-2.0',
|
||||
'GLib-2.0',
|
||||
'GObject-2.0',
|
||||
'Pango-1.0',
|
||||
]
|
||||
|
||||
gir_args = [
|
||||
|
@ -497,6 +497,7 @@ pika_main (GType plug_in_type,
|
||||
_pika_debug_configure (stack_trace_mode);
|
||||
|
||||
PLUG_IN = g_object_new (plug_in_type,
|
||||
"program-name", progname,
|
||||
"read-channel", read_channel,
|
||||
"write-channel", write_channel,
|
||||
NULL);
|
||||
|
@ -9,10 +9,11 @@ EXPORTS
|
||||
pika_brush_application_mode_get_type
|
||||
pika_brush_get_angle
|
||||
pika_brush_get_aspect_ratio
|
||||
pika_brush_get_buffer
|
||||
pika_brush_get_by_name
|
||||
pika_brush_get_hardness
|
||||
pika_brush_get_info
|
||||
pika_brush_get_pixels
|
||||
pika_brush_get_mask
|
||||
pika_brush_get_radius
|
||||
pika_brush_get_shape
|
||||
pika_brush_get_spacing
|
||||
@ -243,6 +244,9 @@ EXPORTS
|
||||
pika_drawable_type
|
||||
pika_drawable_type_with_alpha
|
||||
pika_drawable_update
|
||||
pika_drawables_close_popup
|
||||
pika_drawables_popup
|
||||
pika_drawables_set_popup
|
||||
pika_dynamics_get_list
|
||||
pika_dynamics_refresh
|
||||
pika_edit_copy
|
||||
@ -290,8 +294,10 @@ EXPORTS
|
||||
pika_floating_sel_remove
|
||||
pika_floating_sel_to_layer
|
||||
pika_font_get_by_name
|
||||
pika_font_get_pango_font_description
|
||||
pika_font_get_type
|
||||
pika_fonts_close_popup
|
||||
pika_fonts_get_by_name
|
||||
pika_fonts_get_list
|
||||
pika_fonts_popup
|
||||
pika_fonts_refresh
|
||||
@ -399,6 +405,7 @@ EXPORTS
|
||||
pika_image_get_layers
|
||||
pika_image_get_metadata
|
||||
pika_image_get_name
|
||||
pika_image_get_palette
|
||||
pika_image_get_parasite
|
||||
pika_image_get_parasite_list
|
||||
pika_image_get_precision
|
||||
@ -676,9 +683,9 @@ EXPORTS
|
||||
pika_param_spec_vectors
|
||||
pika_param_text_layer_get_type
|
||||
pika_param_vectors_get_type
|
||||
pika_pattern_get_buffer
|
||||
pika_pattern_get_by_name
|
||||
pika_pattern_get_info
|
||||
pika_pattern_get_pixels
|
||||
pika_pattern_get_type
|
||||
pika_patterns_close_popup
|
||||
pika_patterns_get_list
|
||||
@ -687,18 +694,12 @@ EXPORTS
|
||||
pika_patterns_set_popup
|
||||
pika_pdb_dump_to_file
|
||||
pika_pdb_get_data
|
||||
pika_pdb_get_data_size
|
||||
pika_pdb_get_last_error
|
||||
pika_pdb_get_last_status
|
||||
pika_pdb_get_type
|
||||
pika_pdb_lookup_procedure
|
||||
pika_pdb_procedure_exists
|
||||
pika_pdb_query_procedures
|
||||
pika_pdb_run_procedure
|
||||
pika_pdb_run_procedure_argv
|
||||
pika_pdb_run_procedure_array
|
||||
pika_pdb_run_procedure_config
|
||||
pika_pdb_run_procedure_valist
|
||||
pika_pdb_set_data
|
||||
pika_pdb_temp_procedure_name
|
||||
pika_pencil
|
||||
@ -723,22 +724,13 @@ EXPORTS
|
||||
pika_procedure_add_menu_path
|
||||
pika_procedure_add_return_value
|
||||
pika_procedure_add_return_value_from_property
|
||||
pika_procedure_config_begin_export
|
||||
pika_procedure_config_begin_run
|
||||
pika_procedure_config_end_export
|
||||
pika_procedure_config_end_run
|
||||
pika_procedure_config_get_choice_id
|
||||
pika_procedure_config_get_procedure
|
||||
pika_procedure_config_get_type
|
||||
pika_procedure_config_get_values
|
||||
pika_procedure_config_has_default
|
||||
pika_procedure_config_load_default
|
||||
pika_procedure_config_load_last
|
||||
pika_procedure_config_load_parasite
|
||||
pika_procedure_config_save_default
|
||||
pika_procedure_config_save_last
|
||||
pika_procedure_config_save_metadata
|
||||
pika_procedure_config_save_parasite
|
||||
pika_procedure_config_set_values
|
||||
pika_procedure_create_config
|
||||
pika_procedure_extension_ready
|
||||
pika_procedure_find_argument
|
||||
@ -767,9 +759,10 @@ EXPORTS
|
||||
pika_procedure_get_sensitivity_mask
|
||||
pika_procedure_get_type
|
||||
pika_procedure_new
|
||||
pika_procedure_new_arguments
|
||||
pika_procedure_new_return_values
|
||||
pika_procedure_run
|
||||
pika_procedure_run_config
|
||||
pika_procedure_run_valist
|
||||
pika_procedure_set_argument_sync
|
||||
pika_procedure_set_attribution
|
||||
pika_procedure_set_documentation
|
||||
@ -812,7 +805,6 @@ EXPORTS
|
||||
pika_resource_is_pattern
|
||||
pika_resource_is_valid
|
||||
pika_resource_rename
|
||||
pika_resource_select_destroy
|
||||
pika_resource_select_new
|
||||
pika_resource_select_set
|
||||
pika_save_procedure_get_support_comment
|
||||
@ -850,8 +842,8 @@ EXPORTS
|
||||
pika_smudge
|
||||
pika_smudge_default
|
||||
pika_temp_file
|
||||
pika_text_fontname
|
||||
pika_text_get_extents_fontname
|
||||
pika_text_font
|
||||
pika_text_get_extents_font
|
||||
pika_text_layer_get_antialias
|
||||
pika_text_layer_get_base_direction
|
||||
pika_text_layer_get_by_id
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <glib-object.h>
|
||||
#include <gegl.h>
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
#include <pango/pango.h>
|
||||
|
||||
#include <libpikabase/pikabase.h>
|
||||
#include <libpikacolor/pikacolor.h>
|
||||
@ -37,10 +38,13 @@
|
||||
#include <libpika/pikatypes.h>
|
||||
|
||||
#include <libpika/pikabatchprocedure.h>
|
||||
#include <libpika/pikabrush.h>
|
||||
#include <libpika/pikachannel.h>
|
||||
#include <libpika/pikadisplay.h>
|
||||
#include <libpika/pikadrawable.h>
|
||||
#include <libpika/pikafont.h>
|
||||
#include <libpika/pikapikarc.h>
|
||||
#include <libpika/pikagradient.h>
|
||||
#include <libpika/pikaimage.h>
|
||||
#include <libpika/pikaimagecolorprofile.h>
|
||||
#include <libpika/pikaimagemetadata.h>
|
||||
@ -49,7 +53,9 @@
|
||||
#include <libpika/pikalayer.h>
|
||||
#include <libpika/pikalayermask.h>
|
||||
#include <libpika/pikaloadprocedure.h>
|
||||
#include <libpika/pikapalette.h>
|
||||
#include <libpika/pikaparamspecs.h>
|
||||
#include <libpika/pikapattern.h>
|
||||
#include <libpika/pikapdb.h>
|
||||
#include <libpika/pikaplugin.h>
|
||||
#include <libpika/pikaprocedureconfig.h>
|
||||
@ -76,11 +82,6 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
||||
#define pika_get_data pika_pdb_get_data
|
||||
#define pika_get_data_size pika_pdb_get_data_size
|
||||
#define pika_set_data pika_pdb_set_data
|
||||
|
||||
|
||||
/**
|
||||
* PIKA_MAIN:
|
||||
* @plug_in_type: The #GType of the plug-in's #PikaPlugIn subclass
|
||||
|
@ -61,9 +61,9 @@ pika_version (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-version",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-version",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -95,9 +95,9 @@ pika_getpid (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-getpid",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-getpid",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -131,9 +131,9 @@ pika_attach_parasite (const PikaParasite *parasite)
|
||||
PIKA_TYPE_PARASITE, parasite,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-attach-parasite",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-attach-parasite",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -167,9 +167,9 @@ pika_detach_parasite (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-detach-parasite",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-detach-parasite",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -202,9 +202,9 @@ pika_get_parasite (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-parasite",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-parasite",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -238,9 +238,9 @@ pika_get_parasite_list (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-parasite-list",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-parasite-list",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -273,9 +273,9 @@ pika_temp_file (const gchar *extension)
|
||||
G_TYPE_STRING, extension,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-temp-file",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-temp-file",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include <libpika/pikadrawable_pdb.h>
|
||||
#include <libpika/pikadrawablecolor_pdb.h>
|
||||
#include <libpika/pikadrawableedit_pdb.h>
|
||||
#include <libpika/pikadrawableselect_pdb.h>
|
||||
#include <libpika/pikadynamics_pdb.h>
|
||||
#include <libpika/pikaedit_pdb.h>
|
||||
#include <libpika/pikafile_pdb.h>
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "pikauitypes.h"
|
||||
|
||||
#include "pika.h"
|
||||
#include "pikapdb-private.h"
|
||||
|
||||
#include "libpika-intl.h"
|
||||
|
||||
@ -154,6 +155,7 @@ pika_aspect_preview_constructed (GObject *object)
|
||||
{
|
||||
gchar *data_name;
|
||||
PreviewSettings settings;
|
||||
GBytes *settings_bytes = NULL;
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->constructed (object);
|
||||
|
||||
@ -161,10 +163,13 @@ pika_aspect_preview_constructed (GObject *object)
|
||||
g_get_prgname (),
|
||||
pika_aspect_preview_counter++);
|
||||
|
||||
if (pika_get_data (data_name, &settings))
|
||||
if (pika_pdb_get_data (data_name, &settings_bytes) &&
|
||||
g_bytes_get_size (settings_bytes) == sizeof (PreviewSettings))
|
||||
{
|
||||
settings = *((PreviewSettings *) g_bytes_get_data (settings_bytes, NULL));
|
||||
pika_preview_set_update (PIKA_PREVIEW (object), settings.update);
|
||||
}
|
||||
g_bytes_unref (settings_bytes);
|
||||
|
||||
g_object_set_data_full (object, "pika-aspect-preview-data-name",
|
||||
data_name, (GDestroyNotify) g_free);
|
||||
@ -181,11 +186,14 @@ pika_aspect_preview_dispose (GObject *object)
|
||||
if (data_name)
|
||||
{
|
||||
PikaPreview *preview = PIKA_PREVIEW (object);
|
||||
GBytes *bytes;
|
||||
PreviewSettings settings;
|
||||
|
||||
settings.update = pika_preview_get_update (preview);
|
||||
|
||||
pika_set_data (data_name, &settings, sizeof (PreviewSettings));
|
||||
bytes = g_bytes_new_static (&settings, sizeof (PreviewSettings));
|
||||
pika_pdb_set_data (data_name, bytes);
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
|
||||
g_clear_object (&priv->drawable);
|
||||
|
@ -26,6 +26,7 @@
|
||||
|
||||
#include "pika.h"
|
||||
#include "pikabatchprocedure.h"
|
||||
#include "pikaprocedureconfig-private.h"
|
||||
#include "pikapdb_pdb.h"
|
||||
|
||||
|
||||
@ -128,12 +129,14 @@ static PikaValueArray *
|
||||
pika_batch_procedure_run (PikaProcedure *procedure,
|
||||
const PikaValueArray *args)
|
||||
{
|
||||
PikaBatchProcedure *batch_proc = PIKA_BATCH_PROCEDURE (procedure);
|
||||
PikaValueArray *remaining;
|
||||
PikaValueArray *return_values;
|
||||
PikaRunMode run_mode;
|
||||
const gchar *cmd;
|
||||
gint i;
|
||||
PikaBatchProcedure *batch_proc = PIKA_BATCH_PROCEDURE (procedure);
|
||||
PikaValueArray *remaining;
|
||||
PikaValueArray *return_values;
|
||||
PikaRunMode run_mode;
|
||||
const gchar *cmd;
|
||||
PikaProcedureConfig *config;
|
||||
PikaPDBStatusType status = PIKA_PDB_EXECUTION_ERROR;
|
||||
gint i;
|
||||
|
||||
run_mode = PIKA_VALUES_GET_ENUM (args, 0);
|
||||
cmd = PIKA_VALUES_GET_STRING (args, 1);
|
||||
@ -147,12 +150,22 @@ pika_batch_procedure_run (PikaProcedure *procedure,
|
||||
pika_value_array_append (remaining, value);
|
||||
}
|
||||
|
||||
config = pika_procedure_create_config (procedure);
|
||||
_pika_procedure_config_begin_run (config, NULL, run_mode, remaining);
|
||||
pika_value_array_unref (remaining);
|
||||
|
||||
return_values = batch_proc->priv->run_func (procedure,
|
||||
run_mode,
|
||||
cmd,
|
||||
remaining,
|
||||
config,
|
||||
batch_proc->priv->run_data);
|
||||
pika_value_array_unref (remaining);
|
||||
if (return_values != NULL &&
|
||||
pika_value_array_length (return_values) > 0 &&
|
||||
G_VALUE_HOLDS_ENUM (pika_value_array_index (return_values, 0)))
|
||||
status = PIKA_VALUES_GET_ENUM (return_values, 0);
|
||||
|
||||
_pika_procedure_config_end_run (config, status);
|
||||
g_object_unref (config);
|
||||
|
||||
return return_values;
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ G_BEGIN_DECLS
|
||||
* PikaBatchFunc:
|
||||
* @procedure: the #PikaProcedure that runs.
|
||||
* @run_mode: the #PikaRunMode.
|
||||
* @args: the @procedure's remaining arguments.
|
||||
* @config: the @procedure's remaining arguments.
|
||||
* @run_data: (closure): the run_data given in pika_batch_procedure_new().
|
||||
*
|
||||
* The batch function is run during the lifetime of the PIKA session,
|
||||
@ -50,7 +50,7 @@ G_BEGIN_DECLS
|
||||
typedef PikaValueArray * (* PikaBatchFunc) (PikaProcedure *procedure,
|
||||
PikaRunMode run_mode,
|
||||
const gchar *command,
|
||||
const PikaValueArray *args,
|
||||
PikaProcedureConfig *config,
|
||||
gpointer run_data);
|
||||
|
||||
|
||||
|
@ -59,9 +59,9 @@ pika_brush_new (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-new",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-new",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -96,9 +96,9 @@ pika_brush_get_by_name (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-by-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-by-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -132,9 +132,9 @@ pika_brush_is_generated (PikaBrush *brush)
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-is-generated",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-is-generated",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -178,9 +178,9 @@ pika_brush_get_info (PikaBrush *brush,
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-info",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-info",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*width = 0;
|
||||
@ -204,7 +204,7 @@ pika_brush_get_info (PikaBrush *brush,
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_brush_get_pixels:
|
||||
* _pika_brush_get_pixels:
|
||||
* @brush: The brush.
|
||||
* @width: (out): The brush width.
|
||||
* @height: (out): The brush height.
|
||||
@ -224,13 +224,13 @@ pika_brush_get_info (PikaBrush *brush,
|
||||
* Since: 2.2
|
||||
**/
|
||||
gboolean
|
||||
pika_brush_get_pixels (PikaBrush *brush,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *mask_bpp,
|
||||
GBytes **mask_bytes,
|
||||
gint *color_bpp,
|
||||
GBytes **color_bytes)
|
||||
_pika_brush_get_pixels (PikaBrush *brush,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *mask_bpp,
|
||||
GBytes **mask_bytes,
|
||||
gint *color_bpp,
|
||||
GBytes **color_bytes)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -240,9 +240,9 @@ pika_brush_get_pixels (PikaBrush *brush,
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-pixels",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-pixels",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*width = 0;
|
||||
@ -295,9 +295,9 @@ pika_brush_get_spacing (PikaBrush *brush)
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-spacing",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-spacing",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -337,9 +337,9 @@ pika_brush_set_spacing (PikaBrush *brush,
|
||||
G_TYPE_INT, spacing,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-spacing",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-spacing",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -378,9 +378,9 @@ pika_brush_get_shape (PikaBrush *brush,
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-shape",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-shape",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*shape = 0;
|
||||
@ -426,9 +426,9 @@ pika_brush_set_shape (PikaBrush *brush,
|
||||
PIKA_TYPE_BRUSH_GENERATED_SHAPE, shape_in,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-shape",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-shape",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*shape_out = 0;
|
||||
@ -469,9 +469,9 @@ pika_brush_get_radius (PikaBrush *brush,
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-radius",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-radius",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*radius = 0.0;
|
||||
@ -516,9 +516,9 @@ pika_brush_set_radius (PikaBrush *brush,
|
||||
G_TYPE_DOUBLE, radius_in,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-radius",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-radius",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*radius_out = 0.0;
|
||||
@ -559,9 +559,9 @@ pika_brush_get_spikes (PikaBrush *brush,
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-spikes",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-spikes",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*spikes = 0;
|
||||
@ -606,9 +606,9 @@ pika_brush_set_spikes (PikaBrush *brush,
|
||||
G_TYPE_INT, spikes_in,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-spikes",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-spikes",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*spikes_out = 0;
|
||||
@ -651,9 +651,9 @@ pika_brush_get_hardness (PikaBrush *brush,
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-hardness",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-hardness",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*hardness = 0.0;
|
||||
@ -698,9 +698,9 @@ pika_brush_set_hardness (PikaBrush *brush,
|
||||
G_TYPE_DOUBLE, hardness_in,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-hardness",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-hardness",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*hardness_out = 0.0;
|
||||
@ -742,9 +742,9 @@ pika_brush_get_aspect_ratio (PikaBrush *brush,
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-aspect-ratio",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-aspect-ratio",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*aspect_ratio = 0.0;
|
||||
@ -789,9 +789,9 @@ pika_brush_set_aspect_ratio (PikaBrush *brush,
|
||||
G_TYPE_DOUBLE, aspect_ratio_in,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-aspect-ratio",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-aspect-ratio",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*aspect_ratio_out = 0.0;
|
||||
@ -832,9 +832,9 @@ pika_brush_get_angle (PikaBrush *brush,
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-angle",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-get-angle",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*angle = 0.0;
|
||||
@ -879,9 +879,9 @@ pika_brush_set_angle (PikaBrush *brush,
|
||||
G_TYPE_DOUBLE, angle_in,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-angle",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brush-set-angle",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*angle_out = 0.0;
|
||||
|
@ -32,54 +32,54 @@ G_BEGIN_DECLS
|
||||
/* For information look into the C source or the html documentation */
|
||||
|
||||
|
||||
PikaBrush* pika_brush_new (const gchar *name);
|
||||
PikaBrush* pika_brush_get_by_name (const gchar *name);
|
||||
gboolean pika_brush_is_generated (PikaBrush *brush);
|
||||
gboolean pika_brush_get_info (PikaBrush *brush,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *mask_bpp,
|
||||
gint *color_bpp);
|
||||
gboolean pika_brush_get_pixels (PikaBrush *brush,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *mask_bpp,
|
||||
GBytes **mask_bytes,
|
||||
gint *color_bpp,
|
||||
GBytes **color_bytes);
|
||||
gint pika_brush_get_spacing (PikaBrush *brush);
|
||||
gboolean pika_brush_set_spacing (PikaBrush *brush,
|
||||
gint spacing);
|
||||
gboolean pika_brush_get_shape (PikaBrush *brush,
|
||||
PikaBrushGeneratedShape *shape);
|
||||
gboolean pika_brush_set_shape (PikaBrush *brush,
|
||||
PikaBrushGeneratedShape shape_in,
|
||||
PikaBrushGeneratedShape *shape_out);
|
||||
gboolean pika_brush_get_radius (PikaBrush *brush,
|
||||
gdouble *radius);
|
||||
gboolean pika_brush_set_radius (PikaBrush *brush,
|
||||
gdouble radius_in,
|
||||
gdouble *radius_out);
|
||||
gboolean pika_brush_get_spikes (PikaBrush *brush,
|
||||
gint *spikes);
|
||||
gboolean pika_brush_set_spikes (PikaBrush *brush,
|
||||
gint spikes_in,
|
||||
gint *spikes_out);
|
||||
gboolean pika_brush_get_hardness (PikaBrush *brush,
|
||||
gdouble *hardness);
|
||||
gboolean pika_brush_set_hardness (PikaBrush *brush,
|
||||
gdouble hardness_in,
|
||||
gdouble *hardness_out);
|
||||
gboolean pika_brush_get_aspect_ratio (PikaBrush *brush,
|
||||
gdouble *aspect_ratio);
|
||||
gboolean pika_brush_set_aspect_ratio (PikaBrush *brush,
|
||||
gdouble aspect_ratio_in,
|
||||
gdouble *aspect_ratio_out);
|
||||
gboolean pika_brush_get_angle (PikaBrush *brush,
|
||||
gdouble *angle);
|
||||
gboolean pika_brush_set_angle (PikaBrush *brush,
|
||||
gdouble angle_in,
|
||||
gdouble *angle_out);
|
||||
PikaBrush* pika_brush_new (const gchar *name);
|
||||
PikaBrush* pika_brush_get_by_name (const gchar *name);
|
||||
gboolean pika_brush_is_generated (PikaBrush *brush);
|
||||
gboolean pika_brush_get_info (PikaBrush *brush,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *mask_bpp,
|
||||
gint *color_bpp);
|
||||
G_GNUC_INTERNAL gboolean _pika_brush_get_pixels (PikaBrush *brush,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *mask_bpp,
|
||||
GBytes **mask_bytes,
|
||||
gint *color_bpp,
|
||||
GBytes **color_bytes);
|
||||
gint pika_brush_get_spacing (PikaBrush *brush);
|
||||
gboolean pika_brush_set_spacing (PikaBrush *brush,
|
||||
gint spacing);
|
||||
gboolean pika_brush_get_shape (PikaBrush *brush,
|
||||
PikaBrushGeneratedShape *shape);
|
||||
gboolean pika_brush_set_shape (PikaBrush *brush,
|
||||
PikaBrushGeneratedShape shape_in,
|
||||
PikaBrushGeneratedShape *shape_out);
|
||||
gboolean pika_brush_get_radius (PikaBrush *brush,
|
||||
gdouble *radius);
|
||||
gboolean pika_brush_set_radius (PikaBrush *brush,
|
||||
gdouble radius_in,
|
||||
gdouble *radius_out);
|
||||
gboolean pika_brush_get_spikes (PikaBrush *brush,
|
||||
gint *spikes);
|
||||
gboolean pika_brush_set_spikes (PikaBrush *brush,
|
||||
gint spikes_in,
|
||||
gint *spikes_out);
|
||||
gboolean pika_brush_get_hardness (PikaBrush *brush,
|
||||
gdouble *hardness);
|
||||
gboolean pika_brush_set_hardness (PikaBrush *brush,
|
||||
gdouble hardness_in,
|
||||
gdouble *hardness_out);
|
||||
gboolean pika_brush_get_aspect_ratio (PikaBrush *brush,
|
||||
gdouble *aspect_ratio);
|
||||
gboolean pika_brush_set_aspect_ratio (PikaBrush *brush,
|
||||
gdouble aspect_ratio_in,
|
||||
gdouble *aspect_ratio_out);
|
||||
gboolean pika_brush_get_angle (PikaBrush *brush,
|
||||
gdouble *angle);
|
||||
gboolean pika_brush_set_angle (PikaBrush *brush,
|
||||
gdouble angle_in,
|
||||
gdouble *angle_out);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -56,9 +56,9 @@ pika_brushes_refresh (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-refresh",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-refresh",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -92,9 +92,9 @@ pika_brushes_get_list (const gchar *filter)
|
||||
G_TYPE_STRING, filter,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-get-list",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-get-list",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -41,7 +41,8 @@
|
||||
* pika_brushes_popup:
|
||||
* @brush_callback: The callback PDB proc to call when user chooses a brush.
|
||||
* @popup_title: Title of the brush selection dialog.
|
||||
* @initial_brush_name: The name of the brush to set as the initial choice.
|
||||
* @initial_brush: The brush to set as the initial choice.
|
||||
* @parent_window: An optional parent window handle for the popup to be set transient to.
|
||||
*
|
||||
* Invokes the PIKA brush selection dialog.
|
||||
*
|
||||
@ -52,7 +53,8 @@
|
||||
gboolean
|
||||
pika_brushes_popup (const gchar *brush_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_brush_name)
|
||||
PikaBrush *initial_brush,
|
||||
GBytes *parent_window)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -61,12 +63,13 @@ pika_brushes_popup (const gchar *brush_callback,
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, brush_callback,
|
||||
G_TYPE_STRING, popup_title,
|
||||
G_TYPE_STRING, initial_brush_name,
|
||||
PIKA_TYPE_BRUSH, initial_brush,
|
||||
G_TYPE_BYTES, parent_window,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -97,9 +100,9 @@ pika_brushes_close_popup (const gchar *brush_callback)
|
||||
G_TYPE_STRING, brush_callback,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-close-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-close-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -112,7 +115,7 @@ pika_brushes_close_popup (const gchar *brush_callback)
|
||||
/**
|
||||
* pika_brushes_set_popup:
|
||||
* @brush_callback: The name of the callback registered for this pop-up.
|
||||
* @brush_name: The name of the brush to set as selected.
|
||||
* @brush: The brush to set as selected.
|
||||
*
|
||||
* Sets the selected brush in a brush selection dialog.
|
||||
*
|
||||
@ -122,7 +125,7 @@ pika_brushes_close_popup (const gchar *brush_callback)
|
||||
**/
|
||||
gboolean
|
||||
pika_brushes_set_popup (const gchar *brush_callback,
|
||||
const gchar *brush_name)
|
||||
PikaBrush *brush)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -130,12 +133,12 @@ pika_brushes_set_popup (const gchar *brush_callback,
|
||||
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, brush_callback,
|
||||
G_TYPE_STRING, brush_name,
|
||||
PIKA_TYPE_BRUSH, brush,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-set-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-brushes-set-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -34,10 +34,11 @@ G_BEGIN_DECLS
|
||||
|
||||
gboolean pika_brushes_popup (const gchar *brush_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_brush_name);
|
||||
PikaBrush *initial_brush,
|
||||
GBytes *parent_window);
|
||||
gboolean pika_brushes_close_popup (const gchar *brush_callback);
|
||||
gboolean pika_brushes_set_popup (const gchar *brush_callback,
|
||||
const gchar *brush_name);
|
||||
PikaBrush *brush);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -62,9 +62,9 @@ pika_buffers_get_list (const gchar *filter)
|
||||
G_TYPE_STRING, filter,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffers-get-list",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffers-get-list",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -102,9 +102,9 @@ pika_buffer_rename (const gchar *buffer_name,
|
||||
G_TYPE_STRING, new_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-rename",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-rename",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -138,9 +138,9 @@ pika_buffer_delete (const gchar *buffer_name)
|
||||
G_TYPE_STRING, buffer_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-delete",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-delete",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -173,9 +173,9 @@ pika_buffer_get_width (const gchar *buffer_name)
|
||||
G_TYPE_STRING, buffer_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-get-width",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-get-width",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -209,9 +209,9 @@ pika_buffer_get_height (const gchar *buffer_name)
|
||||
G_TYPE_STRING, buffer_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-get-height",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-get-height",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -245,9 +245,9 @@ pika_buffer_get_bytes (const gchar *buffer_name)
|
||||
G_TYPE_STRING, buffer_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-get-bytes",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-get-bytes",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -281,9 +281,9 @@ pika_buffer_get_image_type (const gchar *buffer_name)
|
||||
G_TYPE_STRING, buffer_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-get-image-type",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-buffer-get-image-type",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -78,9 +78,9 @@ _pika_channel_new (PikaImage *image,
|
||||
PIKA_TYPE_RGB, color,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-new",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-new",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -124,9 +124,9 @@ pika_channel_new_from_component (PikaImage *image,
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-new-from-component",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-new-from-component",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -160,9 +160,9 @@ pika_channel_copy (PikaChannel *channel)
|
||||
PIKA_TYPE_CHANNEL, channel,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-copy",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-copy",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -207,9 +207,9 @@ pika_channel_combine_masks (PikaChannel *channel1,
|
||||
G_TYPE_INT, offy,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-combine-masks",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-combine-masks",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -242,9 +242,9 @@ pika_channel_get_show_masked (PikaChannel *channel)
|
||||
PIKA_TYPE_CHANNEL, channel,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-get-show-masked",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-get-show-masked",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -281,9 +281,9 @@ pika_channel_set_show_masked (PikaChannel *channel,
|
||||
G_TYPE_BOOLEAN, show_masked,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-set-show-masked",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-set-show-masked",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -314,9 +314,9 @@ pika_channel_get_opacity (PikaChannel *channel)
|
||||
PIKA_TYPE_CHANNEL, channel,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-get-opacity",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-get-opacity",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -351,9 +351,9 @@ pika_channel_set_opacity (PikaChannel *channel,
|
||||
G_TYPE_DOUBLE, opacity,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-set-opacity",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-set-opacity",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -386,9 +386,9 @@ pika_channel_get_color (PikaChannel *channel,
|
||||
PIKA_TYPE_CHANNEL, channel,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-get-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-get-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -425,9 +425,9 @@ pika_channel_set_color (PikaChannel *channel,
|
||||
PIKA_TYPE_RGB, color,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-set-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-channel-set-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -63,9 +63,9 @@ pika_debug_timer_start (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-debug-timer-start",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-debug-timer-start",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -101,9 +101,9 @@ pika_debug_timer_end (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-debug-timer-end",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-debug-timer-end",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -60,9 +60,9 @@ pika_display_id_is_valid (gint display_id)
|
||||
G_TYPE_INT, display_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-id-is-valid",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-id-is-valid",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -99,9 +99,9 @@ pika_display_new (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-new",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-new",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -137,9 +137,9 @@ pika_display_delete (PikaDisplay *display)
|
||||
PIKA_TYPE_DISPLAY, display,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-delete",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-delete",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -156,37 +156,39 @@ pika_display_delete (PikaDisplay *display)
|
||||
* Get a handle to the native window for an image display.
|
||||
*
|
||||
* This procedure returns a handle to the native window for a given
|
||||
* image display. For example in the X backend of GDK, a native window
|
||||
* handle is an Xlib XID. A value of 0 is returned for an invalid
|
||||
* display or if this function is unimplemented for the windowing
|
||||
* system that is being used.
|
||||
* image display.
|
||||
* It can be different types of data depending on the platform you are
|
||||
* running on. For example in the X backend of GDK, a native window
|
||||
* handle is an Xlib XID whereas on Wayland, it is a string handle. A
|
||||
* value of NULL is returned for an invalid display or if this function
|
||||
* is unimplemented for the windowing system that is being used.
|
||||
*
|
||||
* Returns: The native window handle or 0.
|
||||
* Returns: (transfer full): The native window handle or NULL.
|
||||
*
|
||||
* Since: 2.4
|
||||
**/
|
||||
gint
|
||||
GBytes *
|
||||
pika_display_get_window_handle (PikaDisplay *display)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
gint window = 0;
|
||||
GBytes *handle = NULL;
|
||||
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
PIKA_TYPE_DISPLAY, display,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-get-window-handle",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-get-window-handle",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
window = PIKA_VALUES_GET_INT (return_vals, 1);
|
||||
handle = PIKA_VALUES_DUP_BYTES (return_vals, 1);
|
||||
|
||||
pika_value_array_unref (return_vals);
|
||||
|
||||
return window;
|
||||
return handle;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -213,9 +215,9 @@ pika_display_present (PikaDisplay *display)
|
||||
PIKA_TYPE_DISPLAY, display,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-present",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-display-present",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -247,9 +249,9 @@ pika_displays_flush (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-displays-flush",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-displays-flush",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -286,9 +288,9 @@ pika_displays_reconnect (PikaImage *old_image,
|
||||
PIKA_TYPE_IMAGE, new_image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-displays-reconnect",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-displays-reconnect",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -35,7 +35,7 @@ G_BEGIN_DECLS
|
||||
gboolean pika_display_id_is_valid (gint display_id);
|
||||
PikaDisplay* pika_display_new (PikaImage *image);
|
||||
gboolean pika_display_delete (PikaDisplay *display);
|
||||
gint pika_display_get_window_handle (PikaDisplay *display);
|
||||
GBytes* pika_display_get_window_handle (PikaDisplay *display);
|
||||
gboolean pika_display_present (PikaDisplay *display);
|
||||
gboolean pika_displays_flush (void);
|
||||
gboolean pika_displays_reconnect (PikaImage *old_image,
|
||||
|
@ -63,9 +63,9 @@ _pika_drawable_get_format (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-format",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-format",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -102,9 +102,9 @@ _pika_drawable_get_thumbnail_format (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-thumbnail-format",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-thumbnail-format",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -136,9 +136,9 @@ pika_drawable_type (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-type",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-type",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -173,9 +173,9 @@ pika_drawable_type_with_alpha (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-type-with-alpha",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-type-with-alpha",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -209,9 +209,9 @@ pika_drawable_has_alpha (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-has-alpha",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-has-alpha",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -244,9 +244,9 @@ pika_drawable_is_rgb (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-is-rgb",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-is-rgb",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -279,9 +279,9 @@ pika_drawable_is_gray (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-is-gray",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-is-gray",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -314,9 +314,9 @@ pika_drawable_is_indexed (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-is-indexed",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-is-indexed",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -348,9 +348,9 @@ pika_drawable_get_bpp (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-bpp",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-bpp",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -382,9 +382,9 @@ pika_drawable_get_width (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-width",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-width",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -416,9 +416,9 @@ pika_drawable_get_height (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-height",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-height",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -456,9 +456,9 @@ pika_drawable_get_offsets (PikaDrawable *drawable,
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-offsets",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-get-offsets",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*offset_x = 0;
|
||||
@ -518,9 +518,9 @@ pika_drawable_mask_bounds (PikaDrawable *drawable,
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-mask-bounds",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-mask-bounds",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -573,9 +573,9 @@ pika_drawable_mask_intersect (PikaDrawable *drawable,
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-mask-intersect",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-mask-intersect",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -619,9 +619,9 @@ pika_drawable_merge_shadow (PikaDrawable *drawable,
|
||||
G_TYPE_BOOLEAN, undo,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-merge-shadow",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-merge-shadow",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -657,9 +657,9 @@ pika_drawable_free_shadow (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-free-shadow",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-free-shadow",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -705,9 +705,9 @@ pika_drawable_update (PikaDrawable *drawable,
|
||||
G_TYPE_INT, height,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-update",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-update",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -751,9 +751,9 @@ pika_drawable_fill (PikaDrawable *drawable,
|
||||
PIKA_TYPE_FILL_TYPE, fill_type,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-fill",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-fill",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -802,9 +802,9 @@ pika_drawable_offset (PikaDrawable *drawable,
|
||||
G_TYPE_INT, offset_y,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-offset",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-offset",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -852,9 +852,9 @@ _pika_drawable_thumbnail (PikaDrawable *drawable,
|
||||
G_TYPE_INT, height,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-thumbnail",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-thumbnail",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*actual_width = 0;
|
||||
@ -929,9 +929,9 @@ _pika_drawable_sub_thumbnail (PikaDrawable *drawable,
|
||||
G_TYPE_INT, dest_height,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-sub-thumbnail",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-sub-thumbnail",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*width = 0;
|
||||
@ -984,9 +984,9 @@ pika_drawable_foreground_extract (PikaDrawable *drawable,
|
||||
PIKA_TYPE_DRAWABLE, mask,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-foreground-extract",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-foreground-extract",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -68,9 +68,9 @@ pika_drawable_brightness_contrast (PikaDrawable *drawable,
|
||||
G_TYPE_DOUBLE, contrast,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-brightness-contrast",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-brightness-contrast",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -125,9 +125,9 @@ pika_drawable_color_balance (PikaDrawable *drawable,
|
||||
G_TYPE_DOUBLE, yellow_blue,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-color-balance",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-color-balance",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -172,9 +172,9 @@ pika_drawable_colorize_hsl (PikaDrawable *drawable,
|
||||
G_TYPE_DOUBLE, lightness,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-colorize-hsl",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-colorize-hsl",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -222,9 +222,9 @@ pika_drawable_curves_explicit (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 3), values, num_values);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-curves-explicit",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-curves-explicit",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -273,9 +273,9 @@ pika_drawable_curves_spline (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 3), points, num_points);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-curves-spline",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-curves-spline",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -317,9 +317,9 @@ pika_drawable_extract_component (PikaDrawable *drawable,
|
||||
G_TYPE_BOOLEAN, linear,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-extract-component",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-extract-component",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -358,9 +358,9 @@ pika_drawable_desaturate (PikaDrawable *drawable,
|
||||
PIKA_TYPE_DESATURATE_MODE, desaturate_mode,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-desaturate",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-desaturate",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -402,9 +402,9 @@ pika_drawable_equalize (PikaDrawable *drawable,
|
||||
G_TYPE_BOOLEAN, mask_only,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-equalize",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-equalize",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -473,9 +473,9 @@ pika_drawable_histogram (PikaDrawable *drawable,
|
||||
G_TYPE_DOUBLE, end_range,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-histogram",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-histogram",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*mean = 0.0;
|
||||
@ -544,9 +544,9 @@ pika_drawable_hue_saturation (PikaDrawable *drawable,
|
||||
G_TYPE_DOUBLE, overlap,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-hue-saturation",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-hue-saturation",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -585,9 +585,9 @@ pika_drawable_invert (PikaDrawable *drawable,
|
||||
G_TYPE_BOOLEAN, linear,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-invert",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-invert",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -655,9 +655,9 @@ pika_drawable_levels (PikaDrawable *drawable,
|
||||
G_TYPE_BOOLEAN, clamp_output,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-levels",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-levels",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -692,9 +692,9 @@ pika_drawable_levels_stretch (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-levels-stretch",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-levels-stretch",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -750,9 +750,9 @@ pika_drawable_shadows_highlights (PikaDrawable *drawable,
|
||||
G_TYPE_DOUBLE, highlights_ccorrect,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-shadows-highlights",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-shadows-highlights",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -789,9 +789,9 @@ pika_drawable_posterize (PikaDrawable *drawable,
|
||||
G_TYPE_INT, levels,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-posterize",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-posterize",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -836,9 +836,9 @@ pika_drawable_threshold (PikaDrawable *drawable,
|
||||
G_TYPE_DOUBLE, high_threshold,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-threshold",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-threshold",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -64,9 +64,9 @@ pika_drawable_edit_clear (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-clear",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-clear",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -108,9 +108,9 @@ pika_drawable_edit_fill (PikaDrawable *drawable,
|
||||
PIKA_TYPE_FILL_TYPE, fill_type,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-fill",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-fill",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -164,9 +164,9 @@ pika_drawable_edit_bucket_fill (PikaDrawable *drawable,
|
||||
G_TYPE_DOUBLE, y,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-bucket-fill",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-bucket-fill",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -240,9 +240,9 @@ pika_drawable_edit_gradient_fill (PikaDrawable *drawable,
|
||||
G_TYPE_DOUBLE, y2,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-gradient-fill",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-gradient-fill",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -284,9 +284,9 @@ pika_drawable_edit_stroke_selection (PikaDrawable *drawable)
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-stroke-selection",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-stroke-selection",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -333,9 +333,9 @@ pika_drawable_edit_stroke_item (PikaDrawable *drawable,
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-stroke-item",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-drawable-edit-stroke-item",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "pikauitypes.h"
|
||||
|
||||
#include "pika.h"
|
||||
#include "pikapdb-private.h"
|
||||
|
||||
#include "pikadrawablepreview.h"
|
||||
|
||||
@ -152,6 +153,7 @@ pika_drawable_preview_constructed (GObject *object)
|
||||
{
|
||||
gchar *data_name;
|
||||
PreviewSettings settings;
|
||||
GBytes *settings_bytes = NULL;
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->constructed (object);
|
||||
|
||||
@ -159,12 +161,15 @@ pika_drawable_preview_constructed (GObject *object)
|
||||
g_get_prgname (),
|
||||
++pika_drawable_preview_counter);
|
||||
|
||||
if (pika_get_data (data_name, &settings))
|
||||
if (pika_pdb_get_data (data_name, &settings_bytes) &&
|
||||
g_bytes_get_size (settings_bytes) == sizeof (PreviewSettings))
|
||||
{
|
||||
settings = *((PreviewSettings *) g_bytes_get_data (settings_bytes, NULL));
|
||||
pika_preview_set_update (PIKA_PREVIEW (object), settings.update);
|
||||
pika_scrolled_preview_set_position (PIKA_SCROLLED_PREVIEW (object),
|
||||
settings.x, settings.y);
|
||||
}
|
||||
g_bytes_unref (settings_bytes);
|
||||
|
||||
g_object_set_data_full (object, "pika-drawable-preview-data-name",
|
||||
data_name, (GDestroyNotify) g_free);
|
||||
@ -181,12 +186,15 @@ pika_drawable_preview_dispose (GObject *object)
|
||||
if (data_name)
|
||||
{
|
||||
PikaPreview *preview = PIKA_PREVIEW (object);
|
||||
GBytes *bytes;
|
||||
PreviewSettings settings;
|
||||
|
||||
pika_preview_get_position (preview, &settings.x, &settings.y);
|
||||
settings.update = pika_preview_get_update (preview);
|
||||
|
||||
pika_set_data (data_name, &settings, sizeof (PreviewSettings));
|
||||
bytes = g_bytes_new_static (&settings, sizeof (PreviewSettings));
|
||||
pika_pdb_set_data (data_name, bytes);
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
|
||||
g_clear_object (&priv->drawable);
|
||||
|
@ -59,9 +59,9 @@ pika_dynamics_refresh (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-dynamics-refresh",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-dynamics-refresh",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -97,9 +97,9 @@ pika_dynamics_get_list (const gchar *filter)
|
||||
G_TYPE_STRING, filter,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-dynamics-get-list",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-dynamics-get-list",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -68,9 +68,9 @@ pika_edit_cut (gint num_drawables,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_object_array (pika_value_array_index (args, 1), PIKA_TYPE_ITEM, (GObject **) drawables, num_drawables);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-cut",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-cut",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -114,9 +114,9 @@ pika_edit_copy (gint num_drawables,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_object_array (pika_value_array_index (args, 1), PIKA_TYPE_ITEM, (GObject **) drawables, num_drawables);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-copy",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-copy",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -155,9 +155,9 @@ pika_edit_copy_visible (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-copy-visible",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-copy-visible",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -210,9 +210,9 @@ pika_edit_paste (PikaDrawable *drawable,
|
||||
G_TYPE_BOOLEAN, paste_into,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-paste",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-paste",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*num_layers = 0;
|
||||
@ -252,9 +252,9 @@ pika_edit_paste_as_new_image (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-paste-as-new-image",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-paste-as-new-image",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -300,9 +300,9 @@ pika_edit_named_cut (gint num_drawables,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_object_array (pika_value_array_index (args, 1), PIKA_TYPE_ITEM, (GObject **) drawables, num_drawables);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-cut",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-cut",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -348,9 +348,9 @@ pika_edit_named_copy (gint num_drawables,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_object_array (pika_value_array_index (args, 1), PIKA_TYPE_ITEM, (GObject **) drawables, num_drawables);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-copy",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-copy",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -392,9 +392,9 @@ pika_edit_named_copy_visible (PikaImage *image,
|
||||
G_TYPE_STRING, buffer_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-copy-visible",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-copy-visible",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -435,9 +435,9 @@ pika_edit_named_paste (PikaDrawable *drawable,
|
||||
G_TYPE_BOOLEAN, paste_into,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-paste",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-paste",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -472,9 +472,9 @@ pika_edit_named_paste_as_new_image (const gchar *buffer_name)
|
||||
G_TYPE_STRING, buffer_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-paste-as-new-image",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-edit-named-paste-as-new-image",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -62,9 +62,9 @@ pika_file_load (PikaRunMode run_mode,
|
||||
G_TYPE_FILE, file,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-load",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-load",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -107,9 +107,9 @@ pika_file_load_layer (PikaRunMode run_mode,
|
||||
G_TYPE_FILE, file,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-load-layer",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-load-layer",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -156,9 +156,9 @@ pika_file_load_layers (PikaRunMode run_mode,
|
||||
G_TYPE_FILE, file,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-load-layers",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-load-layers",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*num_layers = 0;
|
||||
@ -209,9 +209,9 @@ pika_file_save (PikaRunMode run_mode,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_object_array (pika_value_array_index (args, 3), PIKA_TYPE_ITEM, (GObject **) drawables, num_drawables);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-save",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-save",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -250,9 +250,9 @@ pika_file_save_thumbnail (PikaImage *image,
|
||||
G_TYPE_FILE, file,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-save-thumbnail",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-file-save-thumbnail",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include "pikafileprocedure.h"
|
||||
|
||||
|
||||
struct _PikaFileProcedurePrivate
|
||||
typedef struct _PikaFileProcedurePrivate
|
||||
{
|
||||
gchar *format_name;
|
||||
gchar *mime_types;
|
||||
@ -37,7 +37,7 @@ struct _PikaFileProcedurePrivate
|
||||
gchar *magics;
|
||||
gint priority;
|
||||
gboolean handles_remote;
|
||||
};
|
||||
} PikaFileProcedurePrivate;
|
||||
|
||||
|
||||
static void pika_file_procedure_constructed (GObject *object);
|
||||
@ -62,7 +62,6 @@ pika_file_procedure_class_init (PikaFileProcedureClass *klass)
|
||||
static void
|
||||
pika_file_procedure_init (PikaFileProcedure *procedure)
|
||||
{
|
||||
procedure->priv = pika_file_procedure_get_instance_private (procedure);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -83,13 +82,17 @@ pika_file_procedure_constructed (GObject *object)
|
||||
static void
|
||||
pika_file_procedure_finalize (GObject *object)
|
||||
{
|
||||
PikaFileProcedure *procedure = PIKA_FILE_PROCEDURE (object);
|
||||
PikaFileProcedure *procedure;
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_clear_pointer (&procedure->priv->format_name, g_free);
|
||||
g_clear_pointer (&procedure->priv->mime_types, g_free);
|
||||
g_clear_pointer (&procedure->priv->extensions, g_free);
|
||||
g_clear_pointer (&procedure->priv->prefixes, g_free);
|
||||
g_clear_pointer (&procedure->priv->magics, g_free);
|
||||
procedure = PIKA_FILE_PROCEDURE (object);
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
|
||||
g_clear_pointer (&priv->format_name, g_free);
|
||||
g_clear_pointer (&priv->mime_types, g_free);
|
||||
g_clear_pointer (&priv->extensions, g_free);
|
||||
g_clear_pointer (&priv->prefixes, g_free);
|
||||
g_clear_pointer (&priv->magics, g_free);
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
@ -125,10 +128,13 @@ void
|
||||
pika_file_procedure_set_format_name (PikaFileProcedure *procedure,
|
||||
const gchar *format_name)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_if_fail (PIKA_IS_FILE_PROCEDURE (procedure));
|
||||
|
||||
g_free (procedure->priv->format_name);
|
||||
procedure->priv->format_name = g_strdup (format_name);
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
g_free (priv->format_name);
|
||||
priv->format_name = g_strdup (format_name);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -145,9 +151,13 @@ pika_file_procedure_set_format_name (PikaFileProcedure *procedure,
|
||||
const gchar *
|
||||
pika_file_procedure_get_format_name (PikaFileProcedure *procedure)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_FILE_PROCEDURE (procedure), NULL);
|
||||
|
||||
return procedure->priv->format_name;
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
|
||||
return priv->format_name;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -170,10 +180,13 @@ void
|
||||
pika_file_procedure_set_mime_types (PikaFileProcedure *procedure,
|
||||
const gchar *mime_types)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_if_fail (PIKA_IS_FILE_PROCEDURE (procedure));
|
||||
|
||||
g_free (procedure->priv->mime_types);
|
||||
procedure->priv->mime_types = g_strdup (mime_types);
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
g_free (priv->mime_types);
|
||||
priv->mime_types = g_strdup (mime_types);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -190,9 +203,13 @@ pika_file_procedure_set_mime_types (PikaFileProcedure *procedure,
|
||||
const gchar *
|
||||
pika_file_procedure_get_mime_types (PikaFileProcedure *procedure)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_FILE_PROCEDURE (procedure), NULL);
|
||||
|
||||
return procedure->priv->mime_types;
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
|
||||
return priv->mime_types;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -210,10 +227,13 @@ void
|
||||
pika_file_procedure_set_extensions (PikaFileProcedure *procedure,
|
||||
const gchar *extensions)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_if_fail (PIKA_IS_FILE_PROCEDURE (procedure));
|
||||
|
||||
g_free (procedure->priv->extensions);
|
||||
procedure->priv->extensions = g_strdup (extensions);
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
g_free (priv->extensions);
|
||||
priv->extensions = g_strdup (extensions);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -230,9 +250,13 @@ pika_file_procedure_set_extensions (PikaFileProcedure *procedure,
|
||||
const gchar *
|
||||
pika_file_procedure_get_extensions (PikaFileProcedure *procedure)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_FILE_PROCEDURE (procedure), NULL);
|
||||
|
||||
return procedure->priv->extensions;
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
|
||||
return priv->extensions;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -250,10 +274,13 @@ void
|
||||
pika_file_procedure_set_prefixes (PikaFileProcedure *procedure,
|
||||
const gchar *prefixes)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_if_fail (PIKA_IS_FILE_PROCEDURE (procedure));
|
||||
|
||||
g_free (procedure->priv->prefixes);
|
||||
procedure->priv->prefixes = g_strdup (prefixes);
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
g_free (priv->prefixes);
|
||||
priv->prefixes = g_strdup (prefixes);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -270,9 +297,13 @@ pika_file_procedure_set_prefixes (PikaFileProcedure *procedure,
|
||||
const gchar *
|
||||
pika_file_procedure_get_prefixes (PikaFileProcedure *procedure)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_FILE_PROCEDURE (procedure), NULL);
|
||||
|
||||
return procedure->priv->prefixes;
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
|
||||
return priv->prefixes;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -288,10 +319,13 @@ void
|
||||
pika_file_procedure_set_magics (PikaFileProcedure *procedure,
|
||||
const gchar *magics)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_if_fail (PIKA_IS_FILE_PROCEDURE (procedure));
|
||||
|
||||
g_free (procedure->priv->magics);
|
||||
procedure->priv->magics = g_strdup (magics);
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
g_free (priv->magics);
|
||||
priv->magics = g_strdup (magics);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -307,9 +341,13 @@ pika_file_procedure_set_magics (PikaFileProcedure *procedure,
|
||||
const gchar *
|
||||
pika_file_procedure_get_magics (PikaFileProcedure *procedure)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_FILE_PROCEDURE (procedure), NULL);
|
||||
|
||||
return procedure->priv->magics;
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
|
||||
return priv->magics;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -330,9 +368,12 @@ void
|
||||
pika_file_procedure_set_priority (PikaFileProcedure *procedure,
|
||||
gint priority)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_if_fail (PIKA_IS_FILE_PROCEDURE (procedure));
|
||||
|
||||
procedure->priv->priority = priority;
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
priv->priority = priority;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -349,9 +390,13 @@ pika_file_procedure_set_priority (PikaFileProcedure *procedure,
|
||||
gint
|
||||
pika_file_procedure_get_priority (PikaFileProcedure *procedure)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_FILE_PROCEDURE (procedure), 0);
|
||||
|
||||
return procedure->priv->priority;
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
|
||||
return priv->priority;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -376,9 +421,12 @@ void
|
||||
pika_file_procedure_set_handles_remote (PikaFileProcedure *procedure,
|
||||
gint handles_remote)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_if_fail (PIKA_IS_FILE_PROCEDURE (procedure));
|
||||
|
||||
procedure->priv->handles_remote = handles_remote;
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
priv->handles_remote = handles_remote;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -395,7 +443,10 @@ pika_file_procedure_set_handles_remote (PikaFileProcedure *procedure,
|
||||
gint
|
||||
pika_file_procedure_get_handles_remote (PikaFileProcedure *procedure)
|
||||
{
|
||||
PikaFileProcedurePrivate *priv;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_FILE_PROCEDURE (procedure), 0);
|
||||
|
||||
return procedure->priv->handles_remote;
|
||||
priv = pika_file_procedure_get_instance_private (procedure);
|
||||
return priv->handles_remote;
|
||||
}
|
||||
|
@ -33,33 +33,26 @@ G_BEGIN_DECLS
|
||||
/* For information look into the C source or the html documentation */
|
||||
|
||||
|
||||
#define PIKA_TYPE_FILE_PROCEDURE (pika_file_procedure_get_type ())
|
||||
#define PIKA_FILE_PROCEDURE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PIKA_TYPE_FILE_PROCEDURE, PikaFileProcedure))
|
||||
#define PIKA_FILE_PROCEDURE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PIKA_TYPE_FILE_PROCEDURE, PikaFileProcedureClass))
|
||||
#define PIKA_IS_FILE_PROCEDURE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PIKA_TYPE_FILE_PROCEDURE))
|
||||
#define PIKA_IS_FILE_PROCEDURE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIKA_TYPE_FILE_PROCEDURE))
|
||||
#define PIKA_FILE_PROCEDURE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIKA_TYPE_FILE_PROCEDURE, PikaFileProcedureClass))
|
||||
|
||||
|
||||
typedef struct _PikaFileProcedure PikaFileProcedure;
|
||||
typedef struct _PikaFileProcedureClass PikaFileProcedureClass;
|
||||
typedef struct _PikaFileProcedurePrivate PikaFileProcedurePrivate;
|
||||
|
||||
struct _PikaFileProcedure
|
||||
{
|
||||
PikaProcedure parent_instance;
|
||||
|
||||
PikaFileProcedurePrivate *priv;
|
||||
};
|
||||
#define PIKA_TYPE_FILE_PROCEDURE (pika_file_procedure_get_type ())
|
||||
G_DECLARE_DERIVABLE_TYPE (PikaFileProcedure, pika_file_procedure, PIKA, FILE_PROCEDURE, PikaProcedure)
|
||||
|
||||
struct _PikaFileProcedureClass
|
||||
{
|
||||
PikaProcedureClass parent_class;
|
||||
|
||||
/* Padding for future expansion */
|
||||
void (*_pika_reserved1) (void);
|
||||
void (*_pika_reserved2) (void);
|
||||
void (*_pika_reserved3) (void);
|
||||
void (*_pika_reserved4) (void);
|
||||
void (*_pika_reserved5) (void);
|
||||
void (*_pika_reserved6) (void);
|
||||
void (*_pika_reserved7) (void);
|
||||
void (*_pika_reserved8) (void);
|
||||
void (*_pika_reserved9) (void);
|
||||
};
|
||||
|
||||
|
||||
GType pika_file_procedure_get_type (void) G_GNUC_CONST;
|
||||
|
||||
void pika_file_procedure_set_format_name (PikaFileProcedure *procedure,
|
||||
const gchar *format_name);
|
||||
const gchar * pika_file_procedure_get_format_name (PikaFileProcedure *procedure);
|
||||
|
@ -59,9 +59,9 @@ pika_floating_sel_remove (PikaLayer *floating_sel)
|
||||
PIKA_TYPE_LAYER, floating_sel,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-floating-sel-remove",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-floating-sel-remove",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -95,9 +95,9 @@ pika_floating_sel_anchor (PikaLayer *floating_sel)
|
||||
PIKA_TYPE_LAYER, floating_sel,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-floating-sel-anchor",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-floating-sel-anchor",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -135,9 +135,9 @@ pika_floating_sel_to_layer (PikaLayer *floating_sel)
|
||||
PIKA_TYPE_LAYER, floating_sel,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-floating-sel-to-layer",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-floating-sel-to-layer",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -172,9 +172,9 @@ pika_floating_sel_attach (PikaLayer *layer,
|
||||
PIKA_TYPE_DRAWABLE, drawable,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-floating-sel-attach",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-floating-sel-attach",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -40,9 +40,14 @@
|
||||
* pika_font_get_by_name:
|
||||
* @name: The name of the font.
|
||||
*
|
||||
* Returns the font with the given name.
|
||||
* Returns a font with the given name.
|
||||
*
|
||||
* Returns the font with the given name.
|
||||
* If several fonts are named identically, the one which is returned by
|
||||
* this function should be considered random. This can be used when you
|
||||
* know you won't have multiple fonts of this name or that you don't
|
||||
* want to choose (non-interactive scripts, etc.).
|
||||
* If you need more control, you should use pika_fonts_get_by_name()
|
||||
* instead.
|
||||
*
|
||||
* Returns: (transfer none): The font.
|
||||
*
|
||||
@ -59,9 +64,9 @@ pika_font_get_by_name (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-font-get-by-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-font-get-by-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -71,3 +76,48 @@ pika_font_get_by_name (const gchar *name)
|
||||
|
||||
return font;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_fonts_get_by_name:
|
||||
* @name: The name of the font.
|
||||
* @num_fonts: (out): The number of fonts with the given name.
|
||||
*
|
||||
* Returns the fonts with the given name.
|
||||
*
|
||||
* Returns the fonts with the given name. There may be more than one.
|
||||
*
|
||||
* Returns: (array length=num_fonts) (element-type PikaFont) (transfer container):
|
||||
* The fonts with the given name.
|
||||
* The returned value must be freed with g_free().
|
||||
*
|
||||
* Since: 3.0
|
||||
**/
|
||||
PikaFont **
|
||||
pika_fonts_get_by_name (const gchar *name,
|
||||
gint *num_fonts)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
PikaFont **fonts = NULL;
|
||||
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-get-by-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*num_fonts = 0;
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
{
|
||||
*num_fonts = PIKA_VALUES_GET_INT (return_vals, 1);
|
||||
{ PikaObjectArray *a = g_value_get_boxed (pika_value_array_index (return_vals, 2)); if (a) fonts = g_memdup2 (a->data, a->length * sizeof (gpointer)); };
|
||||
}
|
||||
|
||||
pika_value_array_unref (return_vals);
|
||||
|
||||
return fonts;
|
||||
}
|
||||
|
@ -32,7 +32,9 @@ G_BEGIN_DECLS
|
||||
/* For information look into the C source or the html documentation */
|
||||
|
||||
|
||||
PikaFont* pika_font_get_by_name (const gchar *name);
|
||||
PikaFont* pika_font_get_by_name (const gchar *name);
|
||||
PikaFont** pika_fonts_get_by_name (const gchar *name,
|
||||
gint *num_fonts);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -57,9 +57,9 @@ pika_fonts_refresh (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-refresh",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-refresh",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -92,9 +92,9 @@ pika_fonts_get_list (const gchar *filter)
|
||||
G_TYPE_STRING, filter,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-get-list",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-get-list",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -49,7 +49,8 @@
|
||||
* pika_fonts_popup:
|
||||
* @font_callback: The callback PDB proc to call when user chooses a font.
|
||||
* @popup_title: Title of the font selection dialog.
|
||||
* @initial_font_name: The name of the initial font choice.
|
||||
* @initial_font: The name of the initial font choice.
|
||||
* @parent_window: An optional parent window handle for the popup to be set transient to.
|
||||
*
|
||||
* Invokes the Pika font selection dialog.
|
||||
*
|
||||
@ -60,7 +61,8 @@
|
||||
gboolean
|
||||
pika_fonts_popup (const gchar *font_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_font_name)
|
||||
PikaFont *initial_font,
|
||||
GBytes *parent_window)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -69,12 +71,13 @@ pika_fonts_popup (const gchar *font_callback,
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, font_callback,
|
||||
G_TYPE_STRING, popup_title,
|
||||
G_TYPE_STRING, initial_font_name,
|
||||
PIKA_TYPE_FONT, initial_font,
|
||||
G_TYPE_BYTES, parent_window,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -105,9 +108,9 @@ pika_fonts_close_popup (const gchar *font_callback)
|
||||
G_TYPE_STRING, font_callback,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-close-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-close-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -120,7 +123,7 @@ pika_fonts_close_popup (const gchar *font_callback)
|
||||
/**
|
||||
* pika_fonts_set_popup:
|
||||
* @font_callback: The name of the callback registered in the PDB for the dialog.
|
||||
* @font_name: The name of the font to set as selected.
|
||||
* @font: The font to set as selected.
|
||||
*
|
||||
* Sets the current font in a font selection dialog.
|
||||
*
|
||||
@ -130,7 +133,7 @@ pika_fonts_close_popup (const gchar *font_callback)
|
||||
**/
|
||||
gboolean
|
||||
pika_fonts_set_popup (const gchar *font_callback,
|
||||
const gchar *font_name)
|
||||
PikaFont *font)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -138,12 +141,12 @@ pika_fonts_set_popup (const gchar *font_callback,
|
||||
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, font_callback,
|
||||
G_TYPE_STRING, font_name,
|
||||
PIKA_TYPE_FONT, font,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-set-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-fonts-set-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -34,10 +34,11 @@ G_BEGIN_DECLS
|
||||
|
||||
gboolean pika_fonts_popup (const gchar *font_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_font_name);
|
||||
PikaFont *initial_font,
|
||||
GBytes *parent_window);
|
||||
gboolean pika_fonts_close_popup (const gchar *font_callback);
|
||||
gboolean pika_fonts_set_popup (const gchar *font_callback,
|
||||
const gchar *font_name);
|
||||
PikaFont *font);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -74,6 +74,17 @@ _pika_gp_param_def_to_param_spec (const GPParamDef *param_def)
|
||||
|
||||
break;
|
||||
|
||||
case GP_PARAM_DEF_TYPE_CHOICE:
|
||||
if (! strcmp (param_def->type_name, "PikaParamChoice"))
|
||||
{
|
||||
return pika_param_spec_choice (name, nick, blurb,
|
||||
g_object_ref (param_def->meta.m_choice.choice),
|
||||
param_def->meta.m_choice.default_val,
|
||||
flags);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case GP_PARAM_DEF_TYPE_INT:
|
||||
if (! strcmp (param_def->type_name, "GParamInt"))
|
||||
return g_param_spec_int (name, nick, blurb,
|
||||
@ -203,6 +214,10 @@ _pika_gp_param_def_to_param_spec (const GPParamDef *param_def)
|
||||
param_def->meta.m_id.none_ok,
|
||||
flags);
|
||||
|
||||
if (! strcmp (param_def->type_name, "PikaParamResource"))
|
||||
return pika_param_spec_resource (name, nick, blurb,
|
||||
param_def->meta.m_id.none_ok, flags);
|
||||
|
||||
if (! strcmp (param_def->type_name, "PikaParamBrush"))
|
||||
return pika_param_spec_brush (name, nick, blurb,
|
||||
param_def->meta.m_id.none_ok, flags);
|
||||
@ -302,6 +317,15 @@ _pika_param_spec_to_gp_param_def (GParamSpec *pspec,
|
||||
|
||||
param_def->meta.m_enum.default_val = espec->default_value;
|
||||
}
|
||||
else if (pspec_type == PIKA_TYPE_PARAM_CHOICE)
|
||||
{
|
||||
PikaParamSpecChoice *cspec = PIKA_PARAM_SPEC_CHOICE (pspec);
|
||||
|
||||
param_def->param_def_type = GP_PARAM_DEF_TYPE_CHOICE;
|
||||
|
||||
param_def->meta.m_choice.default_val = cspec->default_value;
|
||||
param_def->meta.m_choice.choice = cspec->choice;
|
||||
}
|
||||
else if (pspec_type == G_TYPE_PARAM_BOOLEAN)
|
||||
{
|
||||
GParamSpecBoolean *bspec = G_PARAM_SPEC_BOOLEAN (pspec);
|
||||
@ -365,39 +389,7 @@ _pika_param_spec_to_gp_param_def (GParamSpec *pspec,
|
||||
|
||||
param_def->meta.m_id.none_ok = ispec->none_ok;
|
||||
}
|
||||
else if (PIKA_IS_PARAM_SPEC_BRUSH (pspec))
|
||||
{
|
||||
PikaParamSpecResource *rspec = PIKA_PARAM_SPEC_RESOURCE (pspec);
|
||||
|
||||
param_def->param_def_type = GP_PARAM_DEF_TYPE_ID;
|
||||
|
||||
param_def->meta.m_id.none_ok = rspec->none_ok;
|
||||
}
|
||||
else if (PIKA_IS_PARAM_SPEC_PATTERN (pspec))
|
||||
{
|
||||
PikaParamSpecResource *rspec = PIKA_PARAM_SPEC_RESOURCE (pspec);
|
||||
|
||||
param_def->param_def_type = GP_PARAM_DEF_TYPE_ID;
|
||||
|
||||
param_def->meta.m_id.none_ok = rspec->none_ok;
|
||||
}
|
||||
else if (PIKA_IS_PARAM_SPEC_GRADIENT (pspec))
|
||||
{
|
||||
PikaParamSpecResource *rspec = PIKA_PARAM_SPEC_RESOURCE (pspec);
|
||||
|
||||
param_def->param_def_type = GP_PARAM_DEF_TYPE_ID;
|
||||
|
||||
param_def->meta.m_id.none_ok = rspec->none_ok;
|
||||
}
|
||||
else if (PIKA_IS_PARAM_SPEC_PALETTE (pspec))
|
||||
{
|
||||
PikaParamSpecResource *rspec = PIKA_PARAM_SPEC_RESOURCE (pspec);
|
||||
|
||||
param_def->param_def_type = GP_PARAM_DEF_TYPE_ID;
|
||||
|
||||
param_def->meta.m_id.none_ok = rspec->none_ok;
|
||||
}
|
||||
else if (PIKA_IS_PARAM_SPEC_FONT (pspec))
|
||||
else if (PIKA_IS_PARAM_SPEC_RESOURCE (pspec))
|
||||
{
|
||||
PikaParamSpecResource *rspec = PIKA_PARAM_SPEC_RESOURCE (pspec);
|
||||
|
||||
@ -455,6 +447,10 @@ _pika_param_spec_to_gp_param_def (GParamSpec *pspec,
|
||||
{
|
||||
type_name = "PikaParamVectors";
|
||||
}
|
||||
else if (value_type == PIKA_TYPE_RESOURCE)
|
||||
{
|
||||
type_name = "PikaParamResource";
|
||||
}
|
||||
else if (value_type == PIKA_TYPE_BRUSH)
|
||||
{
|
||||
type_name = "PikaParamBrush";
|
||||
@ -557,6 +553,7 @@ static void
|
||||
pika_gp_param_to_value (gpointer pika,
|
||||
const GPParam *param,
|
||||
GType type,
|
||||
GParamSpec *pspec,
|
||||
GValue *value)
|
||||
{
|
||||
g_return_if_fail (param != NULL);
|
||||
@ -613,7 +610,7 @@ pika_gp_param_to_value (gpointer pika,
|
||||
{
|
||||
g_value_set_boxed (value, param->data.d_bytes);
|
||||
}
|
||||
else if (G_VALUE_TYPE (value) == G_TYPE_FILE)
|
||||
else if (g_type_is_a (G_VALUE_TYPE (value), G_TYPE_FILE))
|
||||
{
|
||||
g_value_take_object (value, (param->data.d_string ?
|
||||
g_file_new_for_uri (param->data.d_string) :
|
||||
@ -656,7 +653,15 @@ pika_gp_param_to_value (gpointer pika,
|
||||
GObject **objects;
|
||||
gint i;
|
||||
|
||||
object_type = g_type_from_name (param->data.d_id_array.type_name);
|
||||
if (param->data.d_id_array.type_name == NULL)
|
||||
{
|
||||
g_return_if_fail (param->data.d_id_array.size == 0 && pspec != NULL);
|
||||
object_type = PIKA_PARAM_SPEC_OBJECT_ARRAY (pspec)->object_type;
|
||||
}
|
||||
else
|
||||
{
|
||||
object_type = g_type_from_name (param->data.d_id_array.type_name);
|
||||
}
|
||||
|
||||
objects = g_new (GObject *, param->data.d_id_array.size);
|
||||
|
||||
@ -676,6 +681,10 @@ pika_gp_param_to_value (gpointer pika,
|
||||
{
|
||||
objects[i] = (GObject *) get_display_by_id (pika, id);
|
||||
}
|
||||
else if (g_type_is_a (object_type, PIKA_TYPE_RESOURCE))
|
||||
{
|
||||
objects[i] = (GObject *) get_resource_by_id (id);
|
||||
}
|
||||
|
||||
if (objects[i])
|
||||
g_object_ref (objects[i]);
|
||||
@ -732,8 +741,9 @@ _pika_gp_params_to_value_array (gpointer pika,
|
||||
|
||||
for (i = 0; i < n_params; i++)
|
||||
{
|
||||
GValue value = G_VALUE_INIT;
|
||||
GType type;
|
||||
GParamSpec *pspec = NULL;
|
||||
GValue value = G_VALUE_INIT;
|
||||
GType type;
|
||||
|
||||
/* first get the GType from the passed GPParam */
|
||||
type = g_type_from_name (params[i].type_name);
|
||||
@ -754,6 +764,8 @@ _pika_gp_params_to_value_array (gpointer pika,
|
||||
{
|
||||
GType pspec_type = G_PARAM_SPEC_VALUE_TYPE (pspecs[pspec_index]);
|
||||
|
||||
pspec = pspecs[pspec_index];
|
||||
|
||||
if (type != pspec_type)
|
||||
{
|
||||
if (g_type_is_a (pspec_type, type))
|
||||
@ -786,7 +798,7 @@ _pika_gp_params_to_value_array (gpointer pika,
|
||||
}
|
||||
}
|
||||
|
||||
pika_gp_param_to_value (pika, ¶ms[i], type, &value);
|
||||
pika_gp_param_to_value (pika, ¶ms[i], type, pspec, &value);
|
||||
|
||||
pika_value_array_append (args, &value);
|
||||
g_value_unset (&value);
|
||||
@ -860,7 +872,7 @@ pika_value_to_gp_param (const GValue *value,
|
||||
else
|
||||
param->data.d_string = (gchar *) g_value_get_string (value);
|
||||
}
|
||||
else if (G_VALUE_TYPE (value) == G_TYPE_FILE)
|
||||
else if (g_type_is_a (G_VALUE_TYPE (value), G_TYPE_FILE))
|
||||
{
|
||||
GFile *file = g_value_get_object (value);
|
||||
|
||||
@ -997,6 +1009,10 @@ pika_value_to_gp_param (const GValue *value,
|
||||
param->data.d_id_array.data[i] =
|
||||
pika_display_get_id (PIKA_DISPLAY (array->data[i]));
|
||||
}
|
||||
else if (PIKA_IS_RESOURCE (array->data[i]))
|
||||
{
|
||||
param->data.d_id_array.data[i] = get_resource_id (array->data[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
param->data.d_id_array.data[i] = -1;
|
||||
|
@ -59,9 +59,9 @@ pika_gradient_new (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-new",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-new",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -95,9 +95,9 @@ pika_gradient_get_by_name (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-get-by-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-get-by-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -131,9 +131,9 @@ pika_gradient_get_number_of_segments (PikaGradient *gradient)
|
||||
PIKA_TYPE_GRADIENT, gradient,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-get-number-of-segments",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-get-number-of-segments",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -182,9 +182,9 @@ pika_gradient_get_uniform_samples (PikaGradient *gradient,
|
||||
G_TYPE_BOOLEAN, reverse,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-get-uniform-samples",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-get-uniform-samples",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*num_color_samples = 0;
|
||||
@ -243,9 +243,9 @@ pika_gradient_get_custom_samples (PikaGradient *gradient,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), positions, num_samples);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-get-custom-samples",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-get-custom-samples",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*num_color_samples = 0;
|
||||
@ -295,9 +295,9 @@ pika_gradient_segment_get_left_color (PikaGradient *gradient,
|
||||
G_TYPE_INT, segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-left-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-left-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*opacity = 0.0;
|
||||
@ -350,9 +350,9 @@ pika_gradient_segment_set_left_color (PikaGradient *gradient,
|
||||
G_TYPE_DOUBLE, opacity,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-left-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-left-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -394,9 +394,9 @@ pika_gradient_segment_get_right_color (PikaGradient *gradient,
|
||||
G_TYPE_INT, segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-right-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-right-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*opacity = 0.0;
|
||||
@ -448,9 +448,9 @@ pika_gradient_segment_set_right_color (PikaGradient *gradient,
|
||||
G_TYPE_DOUBLE, opacity,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-right-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-right-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -490,9 +490,9 @@ pika_gradient_segment_get_left_pos (PikaGradient *gradient,
|
||||
G_TYPE_INT, segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-left-pos",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-left-pos",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*pos = 0.0;
|
||||
@ -542,9 +542,9 @@ pika_gradient_segment_set_left_pos (PikaGradient *gradient,
|
||||
G_TYPE_DOUBLE, pos,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-left-pos",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-left-pos",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*final_pos = 0.0;
|
||||
@ -588,9 +588,9 @@ pika_gradient_segment_get_middle_pos (PikaGradient *gradient,
|
||||
G_TYPE_INT, segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-middle-pos",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-middle-pos",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*pos = 0.0;
|
||||
@ -640,9 +640,9 @@ pika_gradient_segment_set_middle_pos (PikaGradient *gradient,
|
||||
G_TYPE_DOUBLE, pos,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-middle-pos",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-middle-pos",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*final_pos = 0.0;
|
||||
@ -687,9 +687,9 @@ pika_gradient_segment_get_right_pos (PikaGradient *gradient,
|
||||
G_TYPE_INT, segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-right-pos",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-right-pos",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*pos = 0.0;
|
||||
@ -739,9 +739,9 @@ pika_gradient_segment_set_right_pos (PikaGradient *gradient,
|
||||
G_TYPE_DOUBLE, pos,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-right-pos",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-set-right-pos",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*final_pos = 0.0;
|
||||
@ -785,9 +785,9 @@ pika_gradient_segment_get_blending_function (PikaGradient *gradient,
|
||||
G_TYPE_INT, segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-blending-function",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-blending-function",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*blend_func = 0;
|
||||
@ -831,9 +831,9 @@ pika_gradient_segment_get_coloring_type (PikaGradient *gradient,
|
||||
G_TYPE_INT, segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-coloring-type",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-get-coloring-type",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*coloring_type = 0;
|
||||
@ -882,9 +882,9 @@ pika_gradient_segment_range_set_blending_function (PikaGradient *grad
|
||||
PIKA_TYPE_GRADIENT_SEGMENT_TYPE, blending_function,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-set-blending-function",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-set-blending-function",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -928,9 +928,9 @@ pika_gradient_segment_range_set_coloring_type (PikaGradient *gradien
|
||||
PIKA_TYPE_GRADIENT_SEGMENT_COLOR, coloring_type,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-set-coloring-type",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-set-coloring-type",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -973,9 +973,9 @@ pika_gradient_segment_range_flip (PikaGradient *gradient,
|
||||
G_TYPE_INT, end_segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-flip",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-flip",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1021,9 +1021,9 @@ pika_gradient_segment_range_replicate (PikaGradient *gradient,
|
||||
G_TYPE_INT, replicate_times,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-replicate",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-replicate",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1064,9 +1064,9 @@ pika_gradient_segment_range_split_midpoint (PikaGradient *gradient,
|
||||
G_TYPE_INT, end_segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-split-midpoint",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-split-midpoint",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1111,9 +1111,9 @@ pika_gradient_segment_range_split_uniform (PikaGradient *gradient,
|
||||
G_TYPE_INT, split_parts,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-split-uniform",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-split-uniform",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1154,9 +1154,9 @@ pika_gradient_segment_range_delete (PikaGradient *gradient,
|
||||
G_TYPE_INT, end_segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-delete",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-delete",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1199,9 +1199,9 @@ pika_gradient_segment_range_redistribute_handles (PikaGradient *gradient,
|
||||
G_TYPE_INT, end_segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-redistribute-handles",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-redistribute-handles",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1243,9 +1243,9 @@ pika_gradient_segment_range_blend_colors (PikaGradient *gradient,
|
||||
G_TYPE_INT, end_segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-blend-colors",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-blend-colors",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1287,9 +1287,9 @@ pika_gradient_segment_range_blend_opacity (PikaGradient *gradient,
|
||||
G_TYPE_INT, end_segment,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-blend-opacity",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-blend-opacity",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1338,9 +1338,9 @@ pika_gradient_segment_range_move (PikaGradient *gradient,
|
||||
G_TYPE_BOOLEAN, control_compress,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-move",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradient-segment-range-move",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -56,9 +56,9 @@ pika_gradients_refresh (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-refresh",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-refresh",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -93,9 +93,9 @@ pika_gradients_get_list (const gchar *filter)
|
||||
G_TYPE_STRING, filter,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-get-list",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-get-list",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -41,7 +41,8 @@
|
||||
* pika_gradients_popup:
|
||||
* @gradient_callback: The callback PDB proc to call when user chooses a gradient.
|
||||
* @popup_title: Title of the gradient selection dialog.
|
||||
* @initial_gradient_name: The name of the initial gradient choice.
|
||||
* @initial_gradient: The initial gradient choice.
|
||||
* @parent_window: An optional parent window handle for the popup to be set transient to.
|
||||
*
|
||||
* Invokes the Pika gradients selection dialog.
|
||||
*
|
||||
@ -50,9 +51,10 @@
|
||||
* Returns: TRUE on success.
|
||||
**/
|
||||
gboolean
|
||||
pika_gradients_popup (const gchar *gradient_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_gradient_name)
|
||||
pika_gradients_popup (const gchar *gradient_callback,
|
||||
const gchar *popup_title,
|
||||
PikaGradient *initial_gradient,
|
||||
GBytes *parent_window)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -61,12 +63,13 @@ pika_gradients_popup (const gchar *gradient_callback,
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, gradient_callback,
|
||||
G_TYPE_STRING, popup_title,
|
||||
G_TYPE_STRING, initial_gradient_name,
|
||||
PIKA_TYPE_GRADIENT, initial_gradient,
|
||||
G_TYPE_BYTES, parent_window,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -97,9 +100,9 @@ pika_gradients_close_popup (const gchar *gradient_callback)
|
||||
G_TYPE_STRING, gradient_callback,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-close-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-close-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -112,7 +115,7 @@ pika_gradients_close_popup (const gchar *gradient_callback)
|
||||
/**
|
||||
* pika_gradients_set_popup:
|
||||
* @gradient_callback: The name of the callback registered for this pop-up.
|
||||
* @gradient_name: The name of the gradient to set as selected.
|
||||
* @gradient: The gradient to set as selected.
|
||||
*
|
||||
* Sets the current gradient in a gradient selection dialog.
|
||||
*
|
||||
@ -121,8 +124,8 @@ pika_gradients_close_popup (const gchar *gradient_callback)
|
||||
* Returns: TRUE on success.
|
||||
**/
|
||||
gboolean
|
||||
pika_gradients_set_popup (const gchar *gradient_callback,
|
||||
const gchar *gradient_name)
|
||||
pika_gradients_set_popup (const gchar *gradient_callback,
|
||||
PikaGradient *gradient)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -130,12 +133,12 @@ pika_gradients_set_popup (const gchar *gradient_callback,
|
||||
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, gradient_callback,
|
||||
G_TYPE_STRING, gradient_name,
|
||||
PIKA_TYPE_GRADIENT, gradient,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-set-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-gradients-set-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -32,12 +32,13 @@ G_BEGIN_DECLS
|
||||
/* For information look into the C source or the html documentation */
|
||||
|
||||
|
||||
gboolean pika_gradients_popup (const gchar *gradient_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_gradient_name);
|
||||
gboolean pika_gradients_close_popup (const gchar *gradient_callback);
|
||||
gboolean pika_gradients_set_popup (const gchar *gradient_callback,
|
||||
const gchar *gradient_name);
|
||||
gboolean pika_gradients_popup (const gchar *gradient_callback,
|
||||
const gchar *popup_title,
|
||||
PikaGradient *initial_gradient,
|
||||
GBytes *parent_window);
|
||||
gboolean pika_gradients_close_popup (const gchar *gradient_callback);
|
||||
gboolean pika_gradients_set_popup (const gchar *gradient_callback,
|
||||
PikaGradient *gradient);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -65,9 +65,9 @@ pika_help (const gchar *help_domain,
|
||||
G_TYPE_STRING, help_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-help",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-help",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -641,33 +641,25 @@ pika_image_set_colormap (PikaImage *image,
|
||||
* are returned in RGB[A] or GRAY[A] format. The bpp return value
|
||||
* gives the number of bytes per pixel in the image.
|
||||
*
|
||||
* Returns: (array) (transfer full): the thumbnail data.
|
||||
* Returns: (transfer full): the thumbnail data.
|
||||
**/
|
||||
guchar *
|
||||
GBytes *
|
||||
pika_image_get_thumbnail_data (PikaImage *image,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *bpp)
|
||||
{
|
||||
gint ret_width;
|
||||
gint ret_height;
|
||||
GBytes *image_bytes;
|
||||
guchar *image_data;
|
||||
gsize data_size;
|
||||
|
||||
_pika_image_thumbnail (image,
|
||||
*width,
|
||||
*height,
|
||||
&ret_width,
|
||||
&ret_height,
|
||||
width,
|
||||
height,
|
||||
bpp,
|
||||
&image_bytes);
|
||||
image_data = g_bytes_unref_to_data (image_bytes, &data_size);
|
||||
|
||||
*width = ret_width;
|
||||
*height = ret_height;
|
||||
|
||||
return image_data;
|
||||
return image_bytes;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -693,7 +685,8 @@ pika_image_get_thumbnail (PikaImage *image,
|
||||
gint thumb_width = width;
|
||||
gint thumb_height = height;
|
||||
gint thumb_bpp;
|
||||
guchar *data;
|
||||
GBytes *data;
|
||||
gsize data_size;
|
||||
|
||||
g_return_val_if_fail (width > 0 && width <= 1024, NULL);
|
||||
g_return_val_if_fail (height > 0 && height <= 1024, NULL);
|
||||
@ -703,7 +696,7 @@ pika_image_get_thumbnail (PikaImage *image,
|
||||
&thumb_height,
|
||||
&thumb_bpp);
|
||||
if (data)
|
||||
return _pika_pixbuf_from_data (data,
|
||||
return _pika_pixbuf_from_data (g_bytes_unref_to_data (data, &data_size),
|
||||
thumb_width, thumb_height, thumb_bpp,
|
||||
alpha);
|
||||
else
|
||||
|
@ -65,7 +65,7 @@ gboolean pika_image_set_colormap (PikaImage *image,
|
||||
const guchar *colormap,
|
||||
gint num_colors);
|
||||
|
||||
guchar * pika_image_get_thumbnail_data (PikaImage *image,
|
||||
GBytes * pika_image_get_thumbnail_data (PikaImage *image,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *bpp);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -118,6 +118,7 @@ PikaLayer* pika_image_merge_layer_group (PikaImage
|
||||
G_GNUC_INTERNAL GBytes* _pika_image_get_colormap (PikaImage *image);
|
||||
G_GNUC_INTERNAL gboolean _pika_image_set_colormap (PikaImage *image,
|
||||
GBytes *colormap);
|
||||
PikaPalette* pika_image_get_palette (PikaImage *image);
|
||||
G_GNUC_INTERNAL gchar* _pika_image_get_metadata (PikaImage *image);
|
||||
G_GNUC_INTERNAL gboolean _pika_image_set_metadata (PikaImage *image,
|
||||
const gchar *metadata_string);
|
||||
|
@ -60,9 +60,9 @@ _pika_image_get_color_profile (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-color-profile",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-color-profile",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -100,9 +100,9 @@ _pika_image_get_effective_color_profile (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-effective-color-profile",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-effective-color-profile",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -143,9 +143,9 @@ _pika_image_set_color_profile (PikaImage *image,
|
||||
G_TYPE_BYTES, color_profile,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-color-profile",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-color-profile",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -186,9 +186,9 @@ pika_image_set_color_profile_from_file (PikaImage *image,
|
||||
G_TYPE_FILE, file,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-color-profile-from-file",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-color-profile-from-file",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -222,9 +222,9 @@ _pika_image_get_simulation_profile (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-simulation-profile",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-simulation-profile",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -263,9 +263,9 @@ _pika_image_set_simulation_profile (PikaImage *image,
|
||||
G_TYPE_BYTES, color_profile,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-simulation-profile",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-simulation-profile",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -303,9 +303,9 @@ pika_image_set_simulation_profile_from_file (PikaImage *image,
|
||||
G_TYPE_FILE, file,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-simulation-profile-from-file",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-simulation-profile-from-file",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -338,9 +338,9 @@ pika_image_get_simulation_intent (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-simulation-intent",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-simulation-intent",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -377,9 +377,9 @@ pika_image_set_simulation_intent (PikaImage *image,
|
||||
PIKA_TYPE_COLOR_RENDERING_INTENT, intent,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-simulation-intent",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-simulation-intent",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -414,9 +414,9 @@ pika_image_get_simulation_bpc (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-simulation-bpc",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-simulation-bpc",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -455,9 +455,9 @@ pika_image_set_simulation_bpc (PikaImage *image,
|
||||
G_TYPE_BOOLEAN, bpc,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-simulation-bpc",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-set-simulation-bpc",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -502,9 +502,9 @@ _pika_image_convert_color_profile (PikaImage *image,
|
||||
G_TYPE_BOOLEAN, bpc,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-color-profile",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-color-profile",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -549,9 +549,9 @@ pika_image_convert_color_profile_from_file (PikaImage *image,
|
||||
G_TYPE_BOOLEAN, bpc,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-color-profile-from-file",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-color-profile-from-file",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -60,9 +60,9 @@ pika_image_convert_rgb (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-rgb",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-rgb",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -94,9 +94,9 @@ pika_image_convert_grayscale (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-grayscale",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-grayscale",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -157,9 +157,9 @@ pika_image_convert_indexed (PikaImage *image,
|
||||
G_TYPE_STRING, palette,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-indexed",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-indexed",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -199,9 +199,9 @@ pika_image_convert_set_dither_matrix (gint width,
|
||||
G_TYPE_BYTES, matrix,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-set-dither-matrix",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-set-dither-matrix",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -239,9 +239,9 @@ pika_image_convert_precision (PikaImage *image,
|
||||
PIKA_TYPE_PRECISION, precision,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-precision",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-convert-precision",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -64,9 +64,9 @@ pika_image_grid_get_spacing (PikaImage *image,
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-spacing",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-spacing",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*xspacing = 0.0;
|
||||
@ -115,9 +115,9 @@ pika_image_grid_set_spacing (PikaImage *image,
|
||||
G_TYPE_DOUBLE, yspacing,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-spacing",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-spacing",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -155,9 +155,9 @@ pika_image_grid_get_offset (PikaImage *image,
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-offset",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-offset",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*xoffset = 0.0;
|
||||
@ -206,9 +206,9 @@ pika_image_grid_set_offset (PikaImage *image,
|
||||
G_TYPE_DOUBLE, yoffset,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-offset",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-offset",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -243,9 +243,9 @@ pika_image_grid_get_foreground_color (PikaImage *image,
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-foreground-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-foreground-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -284,9 +284,9 @@ pika_image_grid_set_foreground_color (PikaImage *image,
|
||||
PIKA_TYPE_RGB, fgcolor,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-foreground-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-foreground-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -321,9 +321,9 @@ pika_image_grid_get_background_color (PikaImage *image,
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-background-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-background-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -362,9 +362,9 @@ pika_image_grid_set_background_color (PikaImage *image,
|
||||
PIKA_TYPE_RGB, bgcolor,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-background-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-background-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -397,9 +397,9 @@ pika_image_grid_get_style (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-style",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-get-style",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -437,9 +437,9 @@ pika_image_grid_set_style (PikaImage *image,
|
||||
PIKA_TYPE_GRID_STYLE, style,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-style",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-grid-set-style",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -62,9 +62,9 @@ pika_image_add_hguide (PikaImage *image,
|
||||
G_TYPE_INT, yposition,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-add-hguide",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-add-hguide",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -101,9 +101,9 @@ pika_image_add_vguide (PikaImage *image,
|
||||
G_TYPE_INT, xposition,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-add-vguide",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-add-vguide",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -139,9 +139,9 @@ pika_image_delete_guide (PikaImage *image,
|
||||
G_TYPE_UINT, guide,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-delete-guide",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-delete-guide",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -179,9 +179,9 @@ pika_image_find_next_guide (PikaImage *image,
|
||||
G_TYPE_UINT, guide,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-find-next-guide",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-find-next-guide",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -217,9 +217,9 @@ pika_image_get_guide_orientation (PikaImage *image,
|
||||
G_TYPE_UINT, guide,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-guide-orientation",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-guide-orientation",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -255,9 +255,9 @@ pika_image_get_guide_position (PikaImage *image,
|
||||
G_TYPE_UINT, guide,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-guide-position",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-guide-position",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -887,6 +887,11 @@ pika_image_metadata_save_filter (PikaImage *image,
|
||||
thumbw = EXIF_THUMBNAIL_SIZE * image_width / image_height;
|
||||
}
|
||||
|
||||
/* TODO: currently our exported thumbnails are always RGB because
|
||||
* GdkPixbuf only supports RGB so far. While RGB thumbnail may make sense,
|
||||
* even for CMYK images or other color spaces, grayscale images would be
|
||||
* better served with a grayscale thumbnail too.
|
||||
*/
|
||||
thumb_pixbuf = pika_image_get_thumbnail (image, thumbw, thumbh,
|
||||
PIKA_PIXBUF_KEEP_ALPHA);
|
||||
|
||||
|
@ -121,7 +121,6 @@ pika_image_metadata_load_finish (PikaImage *image,
|
||||
PikaMetadataLoadFlags flags)
|
||||
{
|
||||
g_return_if_fail (PIKA_IS_IMAGE (image));
|
||||
g_return_if_fail (mime_type != NULL);
|
||||
g_return_if_fail (GEXIV2_IS_METADATA (metadata));
|
||||
|
||||
if (flags & PIKA_METADATA_LOAD_COMMENT)
|
||||
|
@ -26,7 +26,11 @@
|
||||
|
||||
#include "pika.h"
|
||||
|
||||
#include "libpikabase/pikawire.h" /* FIXME kill this include */
|
||||
|
||||
#include "pikaimageprocedure.h"
|
||||
#include "pikaplugin-private.h"
|
||||
#include "pikaprocedureconfig-private.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -148,14 +152,17 @@ static PikaValueArray *
|
||||
pika_image_procedure_run (PikaProcedure *procedure,
|
||||
const PikaValueArray *args)
|
||||
{
|
||||
PikaImageProcedure *image_proc = PIKA_IMAGE_PROCEDURE (procedure);
|
||||
PikaValueArray *remaining;
|
||||
PikaValueArray *return_values;
|
||||
PikaRunMode run_mode;
|
||||
PikaImage *image;
|
||||
PikaDrawable **drawables;
|
||||
gint n_drawables;
|
||||
gint i;
|
||||
PikaPlugIn *plug_in;
|
||||
PikaImageProcedure *image_proc = PIKA_IMAGE_PROCEDURE (procedure);
|
||||
PikaPDBStatusType status = PIKA_PDB_EXECUTION_ERROR;
|
||||
PikaProcedureConfig *config;
|
||||
PikaValueArray *remaining;
|
||||
PikaValueArray *return_values;
|
||||
PikaRunMode run_mode;
|
||||
PikaImage *image;
|
||||
PikaDrawable **drawables;
|
||||
gint n_drawables;
|
||||
gint i;
|
||||
|
||||
run_mode = PIKA_VALUES_GET_ENUM (args, 0);
|
||||
image = PIKA_VALUES_GET_IMAGE (args, 1);
|
||||
@ -171,12 +178,32 @@ pika_image_procedure_run (PikaProcedure *procedure,
|
||||
pika_value_array_append (remaining, value);
|
||||
}
|
||||
|
||||
config = pika_procedure_create_config (procedure);
|
||||
_pika_procedure_config_begin_run (config, image, run_mode, remaining);
|
||||
|
||||
return_values = image_proc->priv->run_func (procedure,
|
||||
run_mode,
|
||||
image, n_drawables, drawables,
|
||||
remaining,
|
||||
config,
|
||||
image_proc->priv->run_data);
|
||||
|
||||
if (return_values != NULL &&
|
||||
pika_value_array_length (return_values) > 0 &&
|
||||
G_VALUE_HOLDS_ENUM (pika_value_array_index (return_values, 0)))
|
||||
status = PIKA_VALUES_GET_ENUM (return_values, 0);
|
||||
|
||||
_pika_procedure_config_end_run (config, status);
|
||||
|
||||
/* This is debug printing to help plug-in developers figure out best
|
||||
* practices.
|
||||
*/
|
||||
plug_in = pika_procedure_get_plug_in (procedure);
|
||||
if (G_OBJECT (config)->ref_count > 1 &&
|
||||
_pika_plug_in_manage_memory_manually (plug_in))
|
||||
g_printerr ("%s: ERROR: the PikaProcedureConfig object was refed "
|
||||
"by plug-in, it MUST NOT do that!\n", G_STRFUNC);
|
||||
|
||||
g_object_unref (config);
|
||||
pika_value_array_unref (remaining);
|
||||
|
||||
return return_values;
|
||||
@ -242,7 +269,7 @@ pika_image_procedure_set_sensitivity (PikaProcedure *procedure,
|
||||
*
|
||||
* Since: 3.0
|
||||
**/
|
||||
PikaProcedure *
|
||||
PikaProcedure *
|
||||
pika_image_procedure_new (PikaPlugIn *plug_in,
|
||||
const gchar *name,
|
||||
PikaPDBProcType proc_type,
|
||||
|
@ -40,7 +40,7 @@ G_BEGIN_DECLS
|
||||
* @image: the #PikaImage.
|
||||
* @n_drawables: the number of #PikaDrawable-s.
|
||||
* @drawables: (array length=n_drawables): the input #PikaDrawable-s.
|
||||
* @args: the @procedure's remaining arguments.
|
||||
* @config: the @procedure's remaining arguments.
|
||||
* @run_data: (closure): the run_data given in pika_image_procedure_new().
|
||||
*
|
||||
* The image function is run during the lifetime of the PIKA session,
|
||||
@ -55,7 +55,7 @@ typedef PikaValueArray * (* PikaRunImageFunc) (PikaProcedure *procedure,
|
||||
PikaImage *image,
|
||||
gint n_drawables,
|
||||
PikaDrawable **drawables,
|
||||
const PikaValueArray *args,
|
||||
PikaProcedureConfig *config,
|
||||
gpointer run_data);
|
||||
|
||||
|
||||
|
@ -67,9 +67,9 @@ pika_image_add_sample_point (PikaImage *image,
|
||||
G_TYPE_INT, position_y,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-add-sample-point",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-add-sample-point",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -107,9 +107,9 @@ pika_image_delete_sample_point (PikaImage *image,
|
||||
G_TYPE_UINT, sample_point,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-delete-sample-point",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-delete-sample-point",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -150,9 +150,9 @@ pika_image_find_next_sample_point (PikaImage *image,
|
||||
G_TYPE_UINT, sample_point,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-find-next-sample-point",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-find-next-sample-point",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -193,9 +193,9 @@ pika_image_get_sample_point_position (PikaImage *image,
|
||||
G_TYPE_UINT, sample_point,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-sample-point-position",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-get-sample-point-position",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -84,9 +84,9 @@ pika_image_select_color (PikaImage *image,
|
||||
PIKA_TYPE_RGB, color,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -156,9 +156,9 @@ pika_image_select_contiguous_color (PikaImage *image,
|
||||
G_TYPE_DOUBLE, y,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-contiguous-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-contiguous-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -211,9 +211,9 @@ pika_image_select_rectangle (PikaImage *image,
|
||||
G_TYPE_DOUBLE, height,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-rectangle",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-rectangle",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -275,9 +275,9 @@ pika_image_select_round_rectangle (PikaImage *image,
|
||||
G_TYPE_DOUBLE, corner_radius_y,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-round-rectangle",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-round-rectangle",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -331,9 +331,9 @@ pika_image_select_ellipse (PikaImage *image,
|
||||
G_TYPE_DOUBLE, height,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-ellipse",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-ellipse",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -387,9 +387,9 @@ pika_image_select_polygon (PikaImage *image,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 3), segs, num_segs);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-polygon",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-polygon",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -435,9 +435,9 @@ pika_image_select_item (PikaImage *image,
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-item",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-select-item",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -75,9 +75,9 @@ pika_image_resize (PikaImage *image,
|
||||
G_TYPE_INT, offy,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-resize",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-resize",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -113,9 +113,9 @@ pika_image_resize_to_layers (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-resize-to-layers",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-resize-to-layers",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -156,9 +156,9 @@ pika_image_scale (PikaImage *image,
|
||||
G_TYPE_INT, new_height,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-scale",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-scale",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -206,9 +206,9 @@ pika_image_crop (PikaImage *image,
|
||||
G_TYPE_INT, offy,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-crop",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-crop",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -242,9 +242,9 @@ pika_image_flip (PikaImage *image,
|
||||
PIKA_TYPE_ORIENTATION_TYPE, flip_type,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-flip",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-flip",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -278,9 +278,9 @@ pika_image_rotate (PikaImage *image,
|
||||
PIKA_TYPE_ROTATION_TYPE, rotate_type,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-rotate",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-rotate",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -60,9 +60,9 @@ pika_image_undo_group_start (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-group-start",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-group-start",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -94,9 +94,9 @@ pika_image_undo_group_end (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-group-end",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-group-end",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -130,9 +130,9 @@ pika_image_undo_is_enabled (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-is-enabled",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-is-enabled",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -168,9 +168,9 @@ pika_image_undo_disable (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-disable",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-disable",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -205,9 +205,9 @@ pika_image_undo_enable (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-enable",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-enable",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -249,9 +249,9 @@ pika_image_undo_freeze (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-freeze",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-freeze",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -292,9 +292,9 @@ pika_image_undo_thaw (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-thaw",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-image-undo-thaw",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -60,9 +60,9 @@ pika_item_id_is_valid (gint item_id)
|
||||
G_TYPE_INT, item_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-valid",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-valid",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -96,9 +96,9 @@ pika_item_id_is_drawable (gint item_id)
|
||||
G_TYPE_INT, item_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-drawable",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-drawable",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -132,9 +132,9 @@ pika_item_id_is_layer (gint item_id)
|
||||
G_TYPE_INT, item_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-layer",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-layer",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -169,9 +169,9 @@ pika_item_id_is_text_layer (gint item_id)
|
||||
G_TYPE_INT, item_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-text-layer",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-text-layer",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -205,9 +205,9 @@ pika_item_id_is_channel (gint item_id)
|
||||
G_TYPE_INT, item_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-channel",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-channel",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -242,9 +242,9 @@ pika_item_id_is_layer_mask (gint item_id)
|
||||
G_TYPE_INT, item_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-layer-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-layer-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -278,9 +278,9 @@ pika_item_id_is_selection (gint item_id)
|
||||
G_TYPE_INT, item_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-selection",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-selection",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -314,9 +314,9 @@ pika_item_id_is_vectors (gint item_id)
|
||||
G_TYPE_INT, item_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-vectors",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-id-is-vectors",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -350,9 +350,9 @@ pika_item_get_image (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-image",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-image",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -390,9 +390,9 @@ pika_item_delete (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-delete",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-delete",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -426,9 +426,9 @@ pika_item_is_group (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-is-group",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-is-group",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -462,9 +462,9 @@ pika_item_get_parent (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-parent",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-parent",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -503,9 +503,9 @@ pika_item_get_children (PikaItem *item,
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-children",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-children",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*num_children = 0;
|
||||
@ -544,9 +544,9 @@ pika_item_get_expanded (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-expanded",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-expanded",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -583,9 +583,9 @@ pika_item_set_expanded (PikaItem *item,
|
||||
G_TYPE_BOOLEAN, expanded,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-expanded",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-expanded",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -619,9 +619,9 @@ pika_item_get_name (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -658,9 +658,9 @@ pika_item_set_name (PikaItem *item,
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -693,9 +693,9 @@ pika_item_get_visible (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-visible",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-visible",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -732,9 +732,9 @@ pika_item_set_visible (PikaItem *item,
|
||||
G_TYPE_BOOLEAN, visible,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-visible",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-visible",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -767,9 +767,9 @@ pika_item_get_lock_content (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-lock-content",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-lock-content",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -806,9 +806,9 @@ pika_item_set_lock_content (PikaItem *item,
|
||||
G_TYPE_BOOLEAN, lock_content,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-lock-content",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-lock-content",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -841,9 +841,9 @@ pika_item_get_lock_position (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-lock-position",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-lock-position",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -880,9 +880,9 @@ pika_item_set_lock_position (PikaItem *item,
|
||||
G_TYPE_BOOLEAN, lock_position,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-lock-position",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-lock-position",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -915,9 +915,9 @@ pika_item_get_lock_visibility (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-lock-visibility",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-lock-visibility",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -954,9 +954,9 @@ pika_item_set_lock_visibility (PikaItem *item,
|
||||
G_TYPE_BOOLEAN, lock_visibility,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-lock-visibility",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-lock-visibility",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -989,9 +989,9 @@ pika_item_get_color_tag (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-color-tag",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-color-tag",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -1028,9 +1028,9 @@ pika_item_set_color_tag (PikaItem *item,
|
||||
PIKA_TYPE_COLOR_TAG, color_tag,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-color-tag",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-color-tag",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1065,9 +1065,9 @@ pika_item_get_tattoo (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-tattoo",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-tattoo",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -1106,9 +1106,9 @@ pika_item_set_tattoo (PikaItem *item,
|
||||
G_TYPE_UINT, tattoo,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-tattoo",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-set-tattoo",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1145,9 +1145,9 @@ pika_item_attach_parasite (PikaItem *item,
|
||||
PIKA_TYPE_PARASITE, parasite,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-attach-parasite",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-attach-parasite",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1184,9 +1184,9 @@ pika_item_detach_parasite (PikaItem *item,
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-detach-parasite",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-detach-parasite",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1222,9 +1222,9 @@ pika_item_get_parasite (PikaItem *item,
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-parasite",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-parasite",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -1260,9 +1260,9 @@ pika_item_get_parasite_list (PikaItem *item)
|
||||
PIKA_TYPE_ITEM, item,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-parasite-list",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-get-parasite-list",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -68,9 +68,9 @@ pika_item_transform_translate (PikaItem *item,
|
||||
G_TYPE_DOUBLE, off_y,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-translate",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-translate",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -128,9 +128,9 @@ pika_item_transform_flip_simple (PikaItem *item,
|
||||
G_TYPE_DOUBLE, axis,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-flip-simple",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-flip-simple",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -191,9 +191,9 @@ pika_item_transform_flip (PikaItem *item,
|
||||
G_TYPE_DOUBLE, y1,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-flip",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-flip",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -275,9 +275,9 @@ pika_item_transform_perspective (PikaItem *item,
|
||||
G_TYPE_DOUBLE, y3,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-perspective",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-perspective",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -341,9 +341,9 @@ pika_item_transform_rotate_simple (PikaItem *item,
|
||||
G_TYPE_DOUBLE, center_y,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-rotate-simple",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-rotate-simple",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -409,9 +409,9 @@ pika_item_transform_rotate (PikaItem *item,
|
||||
G_TYPE_DOUBLE, center_y,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-rotate",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-rotate",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -474,9 +474,9 @@ pika_item_transform_scale (PikaItem *item,
|
||||
G_TYPE_DOUBLE, y1,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-scale",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-scale",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -535,9 +535,9 @@ pika_item_transform_shear (PikaItem *item,
|
||||
G_TYPE_DOUBLE, magnitude,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-shear",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-shear",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -612,9 +612,9 @@ pika_item_transform_2d (PikaItem *item,
|
||||
G_TYPE_DOUBLE, dest_y,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-2d",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-2d",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -693,9 +693,9 @@ pika_item_transform_matrix (PikaItem *item,
|
||||
G_TYPE_DOUBLE, coeff_2_2,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-matrix",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-item-transform-matrix",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -80,9 +80,9 @@ _pika_layer_new (PikaImage *image,
|
||||
PIKA_TYPE_LAYER_MODE, mode,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-new",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-new",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -126,9 +126,9 @@ pika_layer_new_from_visible (PikaImage *image,
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-new-from-visible",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-new-from-visible",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -167,9 +167,9 @@ pika_layer_new_from_drawable (PikaDrawable *drawable,
|
||||
PIKA_TYPE_IMAGE, dest_image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-new-from-drawable",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-new-from-drawable",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -209,9 +209,9 @@ pika_layer_group_new (PikaImage *image)
|
||||
PIKA_TYPE_IMAGE, image,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-group-new",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-group-new",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -251,9 +251,9 @@ _pika_layer_copy (PikaLayer *layer,
|
||||
G_TYPE_BOOLEAN, add_alpha,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-copy",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-copy",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -289,9 +289,9 @@ pika_layer_add_alpha (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-add-alpha",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-add-alpha",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -327,9 +327,9 @@ pika_layer_flatten (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-flatten",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-flatten",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -374,9 +374,9 @@ pika_layer_scale (PikaLayer *layer,
|
||||
G_TYPE_BOOLEAN, local_origin,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-scale",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-scale",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -422,9 +422,9 @@ pika_layer_resize (PikaLayer *layer,
|
||||
G_TYPE_INT, offy,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-resize",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-resize",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -456,9 +456,9 @@ pika_layer_resize_to_image_size (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-resize-to-image-size",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-resize-to-image-size",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -497,9 +497,9 @@ pika_layer_set_offsets (PikaLayer *layer,
|
||||
G_TYPE_INT, offy,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-offsets",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-offsets",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -552,9 +552,9 @@ pika_layer_create_mask (PikaLayer *layer,
|
||||
PIKA_TYPE_ADD_MASK_TYPE, mask_type,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-create-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-create-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -587,9 +587,9 @@ pika_layer_get_mask (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -624,9 +624,9 @@ pika_layer_from_mask (PikaLayerMask *mask)
|
||||
PIKA_TYPE_LAYER_MASK, mask,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-from-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-from-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -667,9 +667,9 @@ pika_layer_add_mask (PikaLayer *layer,
|
||||
PIKA_TYPE_LAYER_MASK, mask,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-add-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-add-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -704,9 +704,9 @@ pika_layer_remove_mask (PikaLayer *layer,
|
||||
PIKA_TYPE_MASK_APPLY_MODE, mode,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-remove-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-remove-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -739,9 +739,9 @@ pika_layer_is_floating_sel (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-is-floating-sel",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-is-floating-sel",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -774,9 +774,9 @@ pika_layer_get_lock_alpha (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-lock-alpha",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-lock-alpha",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -812,9 +812,9 @@ pika_layer_set_lock_alpha (PikaLayer *layer,
|
||||
G_TYPE_BOOLEAN, lock_alpha,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-lock-alpha",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-lock-alpha",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -847,9 +847,9 @@ pika_layer_get_apply_mask (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-apply-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-apply-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -887,9 +887,9 @@ pika_layer_set_apply_mask (PikaLayer *layer,
|
||||
G_TYPE_BOOLEAN, apply_mask,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-apply-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-apply-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -923,9 +923,9 @@ pika_layer_get_show_mask (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-show-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-show-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -963,9 +963,9 @@ pika_layer_set_show_mask (PikaLayer *layer,
|
||||
G_TYPE_BOOLEAN, show_mask,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-show-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-show-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -998,9 +998,9 @@ pika_layer_get_edit_mask (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-edit-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-edit-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -1038,9 +1038,9 @@ pika_layer_set_edit_mask (PikaLayer *layer,
|
||||
G_TYPE_BOOLEAN, edit_mask,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-edit-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-edit-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1071,9 +1071,9 @@ pika_layer_get_opacity (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-opacity",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-opacity",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -1108,9 +1108,9 @@ pika_layer_set_opacity (PikaLayer *layer,
|
||||
G_TYPE_DOUBLE, opacity,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-opacity",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-opacity",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1141,9 +1141,9 @@ pika_layer_get_mode (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-mode",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-mode",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -1178,9 +1178,9 @@ pika_layer_set_mode (PikaLayer *layer,
|
||||
PIKA_TYPE_LAYER_MODE, mode,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-mode",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-mode",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1213,9 +1213,9 @@ pika_layer_get_blend_space (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-blend-space",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-blend-space",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -1252,9 +1252,9 @@ pika_layer_set_blend_space (PikaLayer *layer,
|
||||
PIKA_TYPE_LAYER_COLOR_SPACE, blend_space,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-blend-space",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-blend-space",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1287,9 +1287,9 @@ pika_layer_get_composite_space (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-composite-space",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-composite-space",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -1326,9 +1326,9 @@ pika_layer_set_composite_space (PikaLayer *layer,
|
||||
PIKA_TYPE_LAYER_COLOR_SPACE, composite_space,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-composite-space",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-composite-space",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1361,9 +1361,9 @@ pika_layer_get_composite_mode (PikaLayer *layer)
|
||||
PIKA_TYPE_LAYER, layer,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-composite-mode",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-get-composite-mode",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -1400,9 +1400,9 @@ pika_layer_set_composite_mode (PikaLayer *layer,
|
||||
PIKA_TYPE_LAYER_COMPOSITE_MODE, composite_mode,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-composite-mode",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-layer-set-composite-mode",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -26,8 +26,14 @@
|
||||
|
||||
#include "pika.h"
|
||||
|
||||
#include "libpikabase/pikawire.h" /* FIXME kill this include */
|
||||
|
||||
#include "pikaloadprocedure.h"
|
||||
#include "pikapdb_pdb.h"
|
||||
#include "pikaplugin-private.h"
|
||||
#include "pikaprocedureconfig-private.h"
|
||||
|
||||
#include "libpika-intl.h"
|
||||
|
||||
|
||||
/**
|
||||
@ -178,12 +184,19 @@ static PikaValueArray *
|
||||
pika_load_procedure_run (PikaProcedure *procedure,
|
||||
const PikaValueArray *args)
|
||||
{
|
||||
PikaLoadProcedure *load_proc = PIKA_LOAD_PROCEDURE (procedure);
|
||||
PikaValueArray *remaining;
|
||||
PikaValueArray *return_values;
|
||||
PikaRunMode run_mode;
|
||||
GFile *file;
|
||||
gint i;
|
||||
PikaPlugIn *plug_in;
|
||||
PikaLoadProcedure *load_proc = PIKA_LOAD_PROCEDURE (procedure);
|
||||
PikaValueArray *remaining;
|
||||
PikaValueArray *return_values;
|
||||
PikaProcedureConfig *config;
|
||||
PikaImage *image = NULL;
|
||||
PikaMetadata *metadata = NULL;
|
||||
gchar *mimetype = NULL;
|
||||
PikaMetadataLoadFlags flags = PIKA_METADATA_LOAD_ALL;
|
||||
PikaPDBStatusType status = PIKA_PDB_EXECUTION_ERROR;
|
||||
PikaRunMode run_mode;
|
||||
GFile *file;
|
||||
gint i;
|
||||
|
||||
run_mode = PIKA_VALUES_GET_ENUM (args, 0);
|
||||
file = PIKA_VALUES_GET_FILE (args, 1);
|
||||
@ -197,12 +210,89 @@ pika_load_procedure_run (PikaProcedure *procedure,
|
||||
pika_value_array_append (remaining, value);
|
||||
}
|
||||
|
||||
config = pika_procedure_create_config (procedure);
|
||||
mimetype = (gchar *) pika_file_procedure_get_mime_types (PIKA_FILE_PROCEDURE (procedure));
|
||||
|
||||
if (mimetype != NULL)
|
||||
{
|
||||
char *delim;
|
||||
|
||||
mimetype = g_strdup (mimetype);
|
||||
mimetype = g_strstrip (mimetype);
|
||||
delim = strstr (mimetype, ",");
|
||||
if (delim)
|
||||
*delim = '\0';
|
||||
/* Though docs only writes about the list being comma-separated, our
|
||||
* code apparently also split by spaces.
|
||||
*/
|
||||
delim = strstr (mimetype, " ");
|
||||
if (delim)
|
||||
*delim = '\0';
|
||||
delim = strstr (mimetype, "\t");
|
||||
if (delim)
|
||||
*delim = '\0';
|
||||
|
||||
metadata = pika_metadata_load_from_file (file, NULL);
|
||||
g_free (mimetype);
|
||||
}
|
||||
else
|
||||
{
|
||||
flags = PIKA_METADATA_LOAD_NONE;
|
||||
}
|
||||
|
||||
if (metadata == NULL)
|
||||
metadata = pika_metadata_new ();
|
||||
|
||||
_pika_procedure_config_begin_run (config, image, run_mode, remaining);
|
||||
|
||||
return_values = load_proc->priv->run_func (procedure,
|
||||
run_mode,
|
||||
file,
|
||||
remaining,
|
||||
metadata, &flags,
|
||||
config,
|
||||
load_proc->priv->run_data);
|
||||
|
||||
if (return_values != NULL &&
|
||||
pika_value_array_length (return_values) > 0 &&
|
||||
G_VALUE_HOLDS_ENUM (pika_value_array_index (return_values, 0)))
|
||||
status = PIKA_VALUES_GET_ENUM (return_values, 0);
|
||||
|
||||
_pika_procedure_config_end_run (config, status);
|
||||
|
||||
if (status == PIKA_PDB_SUCCESS)
|
||||
{
|
||||
if (pika_value_array_length (return_values) < 2 ||
|
||||
! PIKA_VALUE_HOLDS_IMAGE (pika_value_array_index (return_values, 1)))
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
status = PIKA_PDB_EXECUTION_ERROR;
|
||||
g_set_error (&error, PIKA_PLUG_IN_ERROR, 0,
|
||||
_("This file loading plug-in returned SUCCESS as a status without an image. "
|
||||
"This is a bug in the plug-in code. Contact the plug-in developer."));
|
||||
pika_value_array_unref (return_values);
|
||||
return_values = pika_procedure_new_return_values (procedure, status, error);
|
||||
}
|
||||
else
|
||||
{
|
||||
image = PIKA_VALUES_GET_IMAGE (return_values, 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (image != NULL && metadata != NULL && flags != PIKA_METADATA_LOAD_NONE)
|
||||
pika_image_metadata_load_finish (image, NULL, metadata, flags);
|
||||
|
||||
/* This is debug printing to help plug-in developers figure out best
|
||||
* practices.
|
||||
*/
|
||||
plug_in = pika_procedure_get_plug_in (procedure);
|
||||
if (G_OBJECT (config)->ref_count > 1 &&
|
||||
_pika_plug_in_manage_memory_manually (plug_in))
|
||||
g_printerr ("%s: ERROR: the PikaSaveProcedureConfig object was refed "
|
||||
"by plug-in, it MUST NOT do that!\n", G_STRFUNC);
|
||||
|
||||
g_object_unref (config);
|
||||
g_clear_object (&metadata);
|
||||
pika_value_array_unref (remaining);
|
||||
|
||||
return return_values;
|
||||
|
@ -35,24 +35,36 @@ G_BEGIN_DECLS
|
||||
|
||||
/**
|
||||
* PikaRunLoadFunc:
|
||||
* @procedure: the #PikaProcedure that runs.
|
||||
* @run_mode: the #PikaRunMode.
|
||||
* @file: the #GFile to load from.
|
||||
* @args: the @procedure's remaining arguments.
|
||||
* @procedure: the [class@Gimp.Procedure] that runs.
|
||||
* @run_mode: the [enum@RunMode].
|
||||
* @file: the [iface@Gio.File] to load from.
|
||||
* @metadata: the [class@Gimp.Metadata] which will be added to the new image.
|
||||
* @flags: (inout): flags to filter which metadata will be added..
|
||||
* @config: the @procedure's remaining arguments.
|
||||
* @run_data: (closure): the run_data given in pika_load_procedure_new().
|
||||
*
|
||||
* The load function is run during the lifetime of the PIKA session,
|
||||
* each time a plug-in load procedure is called.
|
||||
* The load function is run during the lifetime of the PIKA session, each time a
|
||||
* plug-in load procedure is called.
|
||||
*
|
||||
* You are expected to read @file and create a [class@Gimp.Image] out of its
|
||||
* data. This image will be the first return value.
|
||||
* @metadata will be filled from metadata from @file if our infrastructure
|
||||
* supports this format. You may tweak this object, for instance adding metadata
|
||||
* specific to the format. You can also edit @flags if you need to filter out
|
||||
* some specific common fields. For instance, it is customary to remove a
|
||||
* colorspace field with [flags@MetadataLoadFlags] when a profile was added.
|
||||
*
|
||||
* Returns: (transfer full): the @procedure's return values.
|
||||
*
|
||||
* Since: 3.0
|
||||
**/
|
||||
typedef PikaValueArray * (* PikaRunLoadFunc) (PikaProcedure *procedure,
|
||||
PikaRunMode run_mode,
|
||||
GFile *file,
|
||||
const PikaValueArray *args,
|
||||
gpointer run_data);
|
||||
typedef PikaValueArray * (* PikaRunLoadFunc) (PikaProcedure *procedure,
|
||||
PikaRunMode run_mode,
|
||||
GFile *file,
|
||||
PikaMetadata *metadata,
|
||||
PikaMetadataLoadFlags *flags,
|
||||
PikaProcedureConfig *config,
|
||||
gpointer run_data);
|
||||
|
||||
|
||||
#define PIKA_TYPE_LOAD_PROCEDURE (pika_load_procedure_get_type ())
|
||||
|
@ -58,9 +58,9 @@ pika_message (const gchar *message)
|
||||
G_TYPE_STRING, message,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-message",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-message",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -91,9 +91,9 @@ pika_message_get_handler (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-message-get-handler",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-message-get-handler",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -127,9 +127,9 @@ pika_message_set_handler (PikaMessageHandlerType handler)
|
||||
PIKA_TYPE_MESSAGE_HANDLER_TYPE, handler,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-message-set-handler",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-message-set-handler",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -71,9 +71,9 @@ pika_airbrush (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 3), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-airbrush",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-airbrush",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -115,9 +115,9 @@ pika_airbrush_default (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-airbrush-default",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-airbrush-default",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -178,9 +178,9 @@ pika_clone (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 6), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-clone",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-clone",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -223,9 +223,9 @@ pika_clone_default (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-clone-default",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-clone-default",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -272,9 +272,9 @@ pika_convolve (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 4), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-convolve",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-convolve",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -316,9 +316,9 @@ pika_convolve_default (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-convolve-default",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-convolve-default",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -365,9 +365,9 @@ pika_dodgeburn (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 5), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-dodgeburn",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-dodgeburn",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -408,9 +408,9 @@ pika_dodgeburn_default (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-dodgeburn-default",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-dodgeburn-default",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -458,9 +458,9 @@ pika_eraser (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-eraser",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-eraser",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -502,9 +502,9 @@ pika_eraser_default (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-eraser-default",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-eraser-default",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -558,9 +558,9 @@ pika_heal (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 5), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-heal",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-heal",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -605,9 +605,9 @@ pika_heal_default (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-heal-default",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-heal-default",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -663,9 +663,9 @@ pika_paintbrush (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 3), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-paintbrush",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-paintbrush",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -716,9 +716,9 @@ pika_paintbrush_default (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-paintbrush-default",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-paintbrush-default",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -761,9 +761,9 @@ pika_pencil (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pencil",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pencil",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -806,9 +806,9 @@ pika_smudge (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 3), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-smudge",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-smudge",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -849,9 +849,9 @@ pika_smudge_default (PikaDrawable *drawable,
|
||||
G_TYPE_NONE);
|
||||
pika_value_set_float_array (pika_value_array_index (args, 2), strokes, num_strokes);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-smudge-default",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-smudge-default",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -62,9 +62,9 @@ pika_palette_new (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-new",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-new",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -98,9 +98,9 @@ pika_palette_get_by_name (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-get-by-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-get-by-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -134,9 +134,9 @@ pika_palette_get_color_count (PikaPalette *palette)
|
||||
PIKA_TYPE_PALETTE, palette,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-get-color-count",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-get-color-count",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -174,9 +174,9 @@ pika_palette_get_colors (PikaPalette *palette,
|
||||
PIKA_TYPE_PALETTE, palette,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-get-colors",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-get-colors",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*num_colors = 0;
|
||||
@ -215,9 +215,9 @@ pika_palette_get_columns (PikaPalette *palette)
|
||||
PIKA_TYPE_PALETTE, palette,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-get-columns",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-get-columns",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -256,9 +256,9 @@ pika_palette_set_columns (PikaPalette *palette,
|
||||
G_TYPE_INT, columns,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-set-columns",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-set-columns",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -302,9 +302,9 @@ pika_palette_add_entry (PikaPalette *palette,
|
||||
PIKA_TYPE_RGB, color,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-add-entry",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-add-entry",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*entry_num = 0;
|
||||
@ -326,8 +326,10 @@ pika_palette_add_entry (PikaPalette *palette,
|
||||
*
|
||||
* Deletes an entry from the palette.
|
||||
*
|
||||
* Deletes an entry from the palette. Returns an error if the index is
|
||||
* out or range. Returns an error if the palette is not editable.
|
||||
* This function will fail and return %FALSE if the index is out or
|
||||
* range or if the palette is not editable.
|
||||
* Additionally if the palette belongs to an indexed image, it will
|
||||
* only be possible to delete palette colors not in use in the image.
|
||||
*
|
||||
* Returns: TRUE on success.
|
||||
*
|
||||
@ -346,9 +348,9 @@ pika_palette_delete_entry (PikaPalette *palette,
|
||||
G_TYPE_INT, entry_num,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-delete-entry",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-delete-entry",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -387,9 +389,9 @@ pika_palette_entry_get_color (PikaPalette *palette,
|
||||
G_TYPE_INT, entry_num,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-entry-get-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-entry-get-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -433,9 +435,9 @@ pika_palette_entry_set_color (PikaPalette *palette,
|
||||
PIKA_TYPE_RGB, color,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-entry-set-color",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-entry-set-color",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -474,9 +476,9 @@ pika_palette_entry_get_name (PikaPalette *palette,
|
||||
G_TYPE_INT, entry_num,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-entry-get-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-entry-get-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*entry_name = NULL;
|
||||
@ -522,9 +524,9 @@ pika_palette_entry_set_name (PikaPalette *palette,
|
||||
G_TYPE_STRING, entry_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-entry-set-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palette-entry-set-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -56,9 +56,9 @@ pika_palettes_refresh (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-refresh",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-refresh",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -93,9 +93,9 @@ pika_palettes_get_list (const gchar *filter)
|
||||
G_TYPE_STRING, filter,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-get-list",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-get-list",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -41,7 +41,8 @@
|
||||
* pika_palettes_popup:
|
||||
* @palette_callback: The callback PDB proc to call when user chooses a palette.
|
||||
* @popup_title: Title of the palette selection dialog.
|
||||
* @initial_palette_name: The name of the palette to set as the initial choice.
|
||||
* @initial_palette: The palette to set as the initial choice.
|
||||
* @parent_window: An optional parent window handle for the popup to be set transient to.
|
||||
*
|
||||
* Invokes the Pika palette selection dialog.
|
||||
*
|
||||
@ -52,7 +53,8 @@
|
||||
gboolean
|
||||
pika_palettes_popup (const gchar *palette_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_palette_name)
|
||||
PikaPalette *initial_palette,
|
||||
GBytes *parent_window)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -61,12 +63,13 @@ pika_palettes_popup (const gchar *palette_callback,
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, palette_callback,
|
||||
G_TYPE_STRING, popup_title,
|
||||
G_TYPE_STRING, initial_palette_name,
|
||||
PIKA_TYPE_PALETTE, initial_palette,
|
||||
G_TYPE_BYTES, parent_window,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -97,9 +100,9 @@ pika_palettes_close_popup (const gchar *palette_callback)
|
||||
G_TYPE_STRING, palette_callback,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-close-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-close-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -112,7 +115,7 @@ pika_palettes_close_popup (const gchar *palette_callback)
|
||||
/**
|
||||
* pika_palettes_set_popup:
|
||||
* @palette_callback: The name of the callback registered for this pop-up.
|
||||
* @palette_name: The name of the palette to set as selected.
|
||||
* @palette: The palette to set as selected.
|
||||
*
|
||||
* Sets the current palette in a palette selection dialog.
|
||||
*
|
||||
@ -122,7 +125,7 @@ pika_palettes_close_popup (const gchar *palette_callback)
|
||||
**/
|
||||
gboolean
|
||||
pika_palettes_set_popup (const gchar *palette_callback,
|
||||
const gchar *palette_name)
|
||||
PikaPalette *palette)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -130,12 +133,12 @@ pika_palettes_set_popup (const gchar *palette_callback,
|
||||
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, palette_callback,
|
||||
G_TYPE_STRING, palette_name,
|
||||
PIKA_TYPE_PALETTE, palette,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-set-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-palettes-set-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -34,10 +34,11 @@ G_BEGIN_DECLS
|
||||
|
||||
gboolean pika_palettes_popup (const gchar *palette_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_palette_name);
|
||||
PikaPalette *initial_palette,
|
||||
GBytes *parent_window);
|
||||
gboolean pika_palettes_close_popup (const gchar *palette_callback);
|
||||
gboolean pika_palettes_set_popup (const gchar *palette_callback,
|
||||
const gchar *palette_name);
|
||||
PikaPalette *palette);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -29,70 +29,124 @@
|
||||
#include "pika.h"
|
||||
#include "pikaparamspecs-desc.h"
|
||||
|
||||
#include "libpika-intl.h"
|
||||
|
||||
|
||||
static gchar *
|
||||
pika_param_spec_boolean_desc (GParamSpec *pspec)
|
||||
{
|
||||
GParamSpecBoolean *bspec = G_PARAM_SPEC_BOOLEAN (pspec);
|
||||
|
||||
return g_strdup_printf ("(TRUE or FALSE, default %s)",
|
||||
return g_strdup_printf ("<i>(TRUE or FALSE, default %s)</i>",
|
||||
bspec->default_value ? "TRUE" : "FALSE");
|
||||
}
|
||||
|
||||
static gchar *
|
||||
pika_param_spec_choice_desc (GParamSpec *pspec)
|
||||
{
|
||||
PikaParamSpecChoice *cspec = PIKA_PARAM_SPEC_CHOICE (pspec);
|
||||
GList *choices;
|
||||
GString *desc;
|
||||
|
||||
choices = pika_choice_list_nicks (cspec->choice);
|
||||
desc = g_string_new ("\n");
|
||||
|
||||
g_string_append_printf (desc, "<i>%s</i>", _("Allowed values:"));
|
||||
|
||||
for (GList *iter = choices; iter; iter = iter->next)
|
||||
{
|
||||
gchar *nick = iter->data;
|
||||
gchar *label = NULL;
|
||||
gchar *help = NULL;
|
||||
|
||||
pika_choice_get_documentation (cspec->choice, (const gchar *) nick, (const gchar **) &label, (const gchar **) &help);
|
||||
nick = g_markup_escape_text (nick, -1);
|
||||
label = g_markup_escape_text (label, -1);
|
||||
help = (help != NULL ? g_markup_escape_text (help, -1) : NULL);
|
||||
if (help != NULL)
|
||||
/* \xe2\x80\xa2 is the UTF-8 for the bullet point. */
|
||||
g_string_append_printf (desc, "\n\xe2\x80\xa2 <tt>%s</tt>: %s\n\t%s", nick, label, help);
|
||||
else
|
||||
g_string_append_printf (desc, "\n\xe2\x80\xa2 <tt>%s</tt>: %s", nick, label);
|
||||
|
||||
g_free (nick);
|
||||
g_free (label);
|
||||
g_free (help);
|
||||
}
|
||||
|
||||
return g_string_free (desc, FALSE);
|
||||
}
|
||||
|
||||
static gchar *
|
||||
pika_param_spec_int_desc (GParamSpec *pspec)
|
||||
{
|
||||
GParamSpecInt *ispec = G_PARAM_SPEC_INT (pspec);
|
||||
GParamSpecInt *ispec = G_PARAM_SPEC_INT (pspec);
|
||||
gchar *bare_text = NULL;
|
||||
gchar *markup;
|
||||
|
||||
if (ispec->minimum == G_MININT32 && ispec->maximum == G_MAXINT32)
|
||||
return g_strdup_printf ("(default %d)",
|
||||
ispec->default_value);
|
||||
bare_text = g_strdup_printf ("(default %d)",
|
||||
ispec->default_value);
|
||||
|
||||
if (ispec->minimum == G_MININT32)
|
||||
return g_strdup_printf ("(%s <= %d, default %d)",
|
||||
g_param_spec_get_name (pspec),
|
||||
ispec->maximum,
|
||||
ispec->default_value);
|
||||
bare_text = g_strdup_printf ("(%s <= %d, default %d)",
|
||||
g_param_spec_get_name (pspec),
|
||||
ispec->maximum,
|
||||
ispec->default_value);
|
||||
|
||||
if (ispec->maximum == G_MAXINT32)
|
||||
return g_strdup_printf ("(%s >= %d, default %d)",
|
||||
g_param_spec_get_name (pspec),
|
||||
ispec->minimum,
|
||||
ispec->default_value);
|
||||
bare_text = g_strdup_printf ("(%s >= %d, default %d)",
|
||||
g_param_spec_get_name (pspec),
|
||||
ispec->minimum,
|
||||
ispec->default_value);
|
||||
|
||||
return g_strdup_printf ("(%d <= %s <= %d, default %d)",
|
||||
ispec->minimum,
|
||||
g_param_spec_get_name (pspec),
|
||||
ispec->maximum,
|
||||
ispec->default_value);
|
||||
if (bare_text == NULL)
|
||||
bare_text = g_strdup_printf ("(%d <= %s <= %d, default %d)",
|
||||
ispec->minimum,
|
||||
g_param_spec_get_name (pspec),
|
||||
ispec->maximum,
|
||||
ispec->default_value);
|
||||
|
||||
markup = g_markup_printf_escaped ("<i>%s</i>", bare_text);
|
||||
g_free (bare_text);
|
||||
|
||||
return markup;
|
||||
}
|
||||
|
||||
static gchar *
|
||||
pika_param_spec_double_desc (GParamSpec *pspec)
|
||||
{
|
||||
GParamSpecDouble *dspec = G_PARAM_SPEC_DOUBLE (pspec);
|
||||
GParamSpecDouble *dspec = G_PARAM_SPEC_DOUBLE (pspec);
|
||||
gchar *bare_text = NULL;
|
||||
gchar *markup;
|
||||
|
||||
if (dspec->minimum == - G_MAXDOUBLE && dspec->maximum == G_MAXDOUBLE)
|
||||
return g_strdup_printf ("(default %g)",
|
||||
dspec->default_value);
|
||||
bare_text = g_strdup_printf ("(default %g)",
|
||||
dspec->default_value);
|
||||
|
||||
if (dspec->minimum == - G_MAXDOUBLE)
|
||||
return g_strdup_printf ("(%s <= %g, default %g)",
|
||||
g_param_spec_get_name (pspec),
|
||||
dspec->maximum,
|
||||
dspec->default_value);
|
||||
bare_text = g_strdup_printf ("(%s <= %g, default %g)",
|
||||
g_param_spec_get_name (pspec),
|
||||
dspec->maximum,
|
||||
dspec->default_value);
|
||||
|
||||
if (dspec->maximum == G_MAXDOUBLE)
|
||||
return g_strdup_printf ("(%s >= %g, default %g)",
|
||||
g_param_spec_get_name (pspec),
|
||||
dspec->minimum,
|
||||
dspec->default_value);
|
||||
bare_text = g_strdup_printf ("(%s >= %g, default %g)",
|
||||
g_param_spec_get_name (pspec),
|
||||
dspec->minimum,
|
||||
dspec->default_value);
|
||||
|
||||
return g_strdup_printf ("(%g <= %s <= %g, default %g)",
|
||||
dspec->minimum,
|
||||
g_param_spec_get_name (pspec),
|
||||
dspec->maximum,
|
||||
dspec->default_value);
|
||||
if (bare_text == NULL)
|
||||
bare_text = g_strdup_printf ("(%g <= %s <= %g, default %g)",
|
||||
dspec->minimum,
|
||||
g_param_spec_get_name (pspec),
|
||||
dspec->maximum,
|
||||
dspec->default_value);
|
||||
|
||||
markup = g_markup_printf_escaped ("<i>%s</i>", bare_text);
|
||||
g_free (bare_text);
|
||||
|
||||
return markup;
|
||||
}
|
||||
|
||||
static gchar *
|
||||
@ -113,7 +167,7 @@ pika_param_spec_enum_desc (GParamSpec *pspec)
|
||||
#endif
|
||||
excluded = NULL;
|
||||
|
||||
g_string_append (str, "{ ");
|
||||
g_string_append (str, "<i>{ ");
|
||||
|
||||
for (i = 0, n = 0, enum_value = enum_class->values;
|
||||
i < enum_class->n_values;
|
||||
@ -152,7 +206,7 @@ pika_param_spec_enum_desc (GParamSpec *pspec)
|
||||
n++;
|
||||
}
|
||||
|
||||
g_string_append (str, " }");
|
||||
g_string_append (str, " }</i>");
|
||||
|
||||
if (default_name)
|
||||
{
|
||||
@ -168,10 +222,10 @@ pika_param_spec_enum_desc (GParamSpec *pspec)
|
||||
* pika_param_spec_get_desc:
|
||||
* @pspec: a #GParamSpec
|
||||
*
|
||||
* This function creates a description of the passed @pspec, which is
|
||||
* suitable for use in the PDB. Actually, it currently only deals with
|
||||
* parameter types used in the PDB and should not be used for anything
|
||||
* else.
|
||||
* This function creates a description of the passed @pspec type restrictions.
|
||||
* It currently only deals with parameter types used in the PDB and should not
|
||||
* be used for anything else.
|
||||
* The returned string is pango-markup formatted.
|
||||
*
|
||||
* Returns: A newly allocated string describing the parameter.
|
||||
*
|
||||
@ -185,6 +239,10 @@ pika_param_spec_get_desc (GParamSpec *pspec)
|
||||
if (PIKA_IS_PARAM_SPEC_UNIT (pspec))
|
||||
{
|
||||
}
|
||||
else if (PIKA_IS_PARAM_SPEC_CHOICE (pspec))
|
||||
{
|
||||
return pika_param_spec_choice_desc (pspec);
|
||||
}
|
||||
else if (G_IS_PARAM_SPEC_INT (pspec))
|
||||
{
|
||||
return pika_param_spec_int_desc (pspec);
|
||||
|
@ -59,9 +59,9 @@ pika_pattern_get_by_name (const gchar *name)
|
||||
G_TYPE_STRING, name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pattern-get-by-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pattern-get-by-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -102,9 +102,9 @@ pika_pattern_get_info (PikaPattern *pattern,
|
||||
PIKA_TYPE_PATTERN, pattern,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pattern-get-info",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pattern-get-info",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*width = 0;
|
||||
@ -126,7 +126,7 @@ pika_pattern_get_info (PikaPattern *pattern,
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_pattern_get_pixels:
|
||||
* _pika_pattern_get_pixels:
|
||||
* @pattern: The pattern.
|
||||
* @width: (out): The pattern width.
|
||||
* @height: (out): The pattern height.
|
||||
@ -136,19 +136,18 @@ pika_pattern_get_info (PikaPattern *pattern,
|
||||
* Gets information about the pattern (including pixels).
|
||||
*
|
||||
* Gets information about the pattern: the pattern extents (width and
|
||||
* height), its bpp, and its pixel data. The pixel data is an array in
|
||||
* C or a list in some languages.
|
||||
* height), its bpp, and its pixel data.
|
||||
*
|
||||
* Returns: TRUE on success.
|
||||
*
|
||||
* Since: 2.2
|
||||
**/
|
||||
gboolean
|
||||
pika_pattern_get_pixels (PikaPattern *pattern,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *bpp,
|
||||
GBytes **color_bytes)
|
||||
_pika_pattern_get_pixels (PikaPattern *pattern,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *bpp,
|
||||
GBytes **color_bytes)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -158,9 +157,9 @@ pika_pattern_get_pixels (PikaPattern *pattern,
|
||||
PIKA_TYPE_PATTERN, pattern,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pattern-get-pixels",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pattern-get-pixels",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*width = 0;
|
||||
|
@ -32,16 +32,16 @@ G_BEGIN_DECLS
|
||||
/* For information look into the C source or the html documentation */
|
||||
|
||||
|
||||
PikaPattern* pika_pattern_get_by_name (const gchar *name);
|
||||
gboolean pika_pattern_get_info (PikaPattern *pattern,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *bpp);
|
||||
gboolean pika_pattern_get_pixels (PikaPattern *pattern,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *bpp,
|
||||
GBytes **color_bytes);
|
||||
PikaPattern* pika_pattern_get_by_name (const gchar *name);
|
||||
gboolean pika_pattern_get_info (PikaPattern *pattern,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *bpp);
|
||||
G_GNUC_INTERNAL gboolean _pika_pattern_get_pixels (PikaPattern *pattern,
|
||||
gint *width,
|
||||
gint *height,
|
||||
gint *bpp,
|
||||
GBytes **color_bytes);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -56,9 +56,9 @@ pika_patterns_refresh (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-refresh",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-refresh",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -93,9 +93,9 @@ pika_patterns_get_list (const gchar *filter)
|
||||
G_TYPE_STRING, filter,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-get-list",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-get-list",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -41,7 +41,8 @@
|
||||
* pika_patterns_popup:
|
||||
* @pattern_callback: The callback PDB proc to call when the user chooses a pattern.
|
||||
* @popup_title: Title of the pattern selection dialog.
|
||||
* @initial_pattern_name: The name of the pattern to set as the initial choice.
|
||||
* @initial_pattern: The pattern to set as the initial choice.
|
||||
* @parent_window: An optional parent window handle for the popup to be set transient to.
|
||||
*
|
||||
* Invokes the Pika pattern selection.
|
||||
*
|
||||
@ -52,7 +53,8 @@
|
||||
gboolean
|
||||
pika_patterns_popup (const gchar *pattern_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_pattern_name)
|
||||
PikaPattern *initial_pattern,
|
||||
GBytes *parent_window)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -61,12 +63,13 @@ pika_patterns_popup (const gchar *pattern_callback,
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, pattern_callback,
|
||||
G_TYPE_STRING, popup_title,
|
||||
G_TYPE_STRING, initial_pattern_name,
|
||||
PIKA_TYPE_PATTERN, initial_pattern,
|
||||
G_TYPE_BYTES, parent_window,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -97,9 +100,9 @@ pika_patterns_close_popup (const gchar *pattern_callback)
|
||||
G_TYPE_STRING, pattern_callback,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-close-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-close-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -112,7 +115,7 @@ pika_patterns_close_popup (const gchar *pattern_callback)
|
||||
/**
|
||||
* pika_patterns_set_popup:
|
||||
* @pattern_callback: The name of the callback registered for this pop-up.
|
||||
* @pattern_name: The name of the pattern to set as selected.
|
||||
* @pattern: The pattern to set as selected.
|
||||
*
|
||||
* Sets the current pattern in a pattern selection dialog.
|
||||
*
|
||||
@ -122,7 +125,7 @@ pika_patterns_close_popup (const gchar *pattern_callback)
|
||||
**/
|
||||
gboolean
|
||||
pika_patterns_set_popup (const gchar *pattern_callback,
|
||||
const gchar *pattern_name)
|
||||
PikaPattern *pattern)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
@ -130,12 +133,12 @@ pika_patterns_set_popup (const gchar *pattern_callback,
|
||||
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, pattern_callback,
|
||||
G_TYPE_STRING, pattern_name,
|
||||
PIKA_TYPE_PATTERN, pattern,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-set-popup",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-patterns-set-popup",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -34,10 +34,11 @@ G_BEGIN_DECLS
|
||||
|
||||
gboolean pika_patterns_popup (const gchar *pattern_callback,
|
||||
const gchar *popup_title,
|
||||
const gchar *initial_pattern_name);
|
||||
PikaPattern *initial_pattern,
|
||||
GBytes *parent_window);
|
||||
gboolean pika_patterns_close_popup (const gchar *pattern_callback);
|
||||
gboolean pika_patterns_set_popup (const gchar *pattern_callback,
|
||||
const gchar *pattern_name);
|
||||
PikaPattern *pattern);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -45,10 +45,14 @@ typedef enum
|
||||
GQuark _pika_pdb_error_quark (void) G_GNUC_CONST;
|
||||
|
||||
|
||||
PikaPDB * _pika_pdb_new (PikaPlugIn *plug_in);
|
||||
PikaPDB * _pika_pdb_new (PikaPlugIn *plug_in);
|
||||
|
||||
PikaPlugIn * _pika_pdb_get_plug_in (PikaPDB *pdb);
|
||||
PikaPlugIn * _pika_pdb_get_plug_in (PikaPDB *pdb);
|
||||
|
||||
gboolean pika_pdb_get_data (const gchar *identifier,
|
||||
GBytes **data);
|
||||
gboolean pika_pdb_set_data (const gchar *identifier,
|
||||
GBytes *data);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include "libpikabase/pikaprotocol.h"
|
||||
#include "libpikabase/pikawire.h"
|
||||
|
||||
#include "pika-private.h"
|
||||
#include "pikagpparams.h"
|
||||
#include "pikapdb-private.h"
|
||||
#include "pikapdb_pdb.h"
|
||||
@ -191,221 +190,6 @@ pika_pdb_lookup_procedure (PikaPDB *pdb,
|
||||
return procedure;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_pdb_run_procedure: (skip)
|
||||
* @pdb: the #PikaPDB object.
|
||||
* @procedure_name: the procedure registered name.
|
||||
* @first_type: the #GType of the first argument, or #G_TYPE_NONE.
|
||||
* @...: the call arguments.
|
||||
*
|
||||
* Runs the procedure named @procedure_name with arguments given as
|
||||
* list of (#GType, value) pairs, terminated by #G_TYPE_NONE.
|
||||
*
|
||||
* Returns: (transfer full): the return values for the procedure call.
|
||||
*
|
||||
* Since: 3.0
|
||||
*/
|
||||
PikaValueArray *
|
||||
pika_pdb_run_procedure (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
GType first_type,
|
||||
...)
|
||||
{
|
||||
PikaValueArray *return_values;
|
||||
va_list args;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PDB (pdb), NULL);
|
||||
g_return_val_if_fail (pika_is_canonical_identifier (procedure_name), NULL);
|
||||
|
||||
va_start (args, first_type);
|
||||
|
||||
return_values = pika_pdb_run_procedure_valist (pdb, procedure_name,
|
||||
first_type, args);
|
||||
|
||||
va_end (args);
|
||||
|
||||
return return_values;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_pdb_run_procedure_valist: (skip)
|
||||
* @pdb: the #PikaPDB object.
|
||||
* @procedure_name: the procedure registered name.
|
||||
* @first_type: the #GType of the first argument, or #G_TYPE_NONE.
|
||||
* @args: the call arguments.
|
||||
*
|
||||
* Runs the procedure named @procedure_name with @args given in the
|
||||
* order as passed to [method@PDB.run_procedure].
|
||||
*
|
||||
* Returns: (transfer full): the return values for the procedure call.
|
||||
*
|
||||
* Since: 3.0
|
||||
*/
|
||||
PikaValueArray *
|
||||
pika_pdb_run_procedure_valist (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
GType first_type,
|
||||
va_list args)
|
||||
{
|
||||
PikaValueArray *arguments;
|
||||
PikaValueArray *return_values;
|
||||
gchar *error_msg = NULL;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PDB (pdb), NULL);
|
||||
g_return_val_if_fail (pika_is_canonical_identifier (procedure_name), NULL);
|
||||
|
||||
arguments = pika_value_array_new_from_types_valist (&error_msg,
|
||||
first_type,
|
||||
args);
|
||||
|
||||
if (! arguments)
|
||||
{
|
||||
GError *error = g_error_new_literal (PIKA_PDB_ERROR,
|
||||
PIKA_PDB_ERROR_INTERNAL_ERROR,
|
||||
error_msg);
|
||||
g_printerr ("%s: %s", G_STRFUNC, error_msg);
|
||||
g_free (error_msg);
|
||||
|
||||
return pika_procedure_new_return_values (NULL,
|
||||
PIKA_PDB_CALLING_ERROR,
|
||||
error);
|
||||
}
|
||||
|
||||
return_values = pika_pdb_run_procedure_array (pdb, procedure_name,
|
||||
arguments);
|
||||
pika_value_array_unref (arguments);
|
||||
|
||||
return return_values;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_pdb_run_procedure_argv: (rename-to pika_pdb_run_procedure)
|
||||
* @pdb: the #PikaPDB object.
|
||||
* @procedure_name: the registered name to call.
|
||||
* @arguments: (array length=n_arguments) (nullable): the call arguments or %NULL.
|
||||
* @n_arguments: the number of arguments.
|
||||
*
|
||||
* Runs the procedure named @procedure_name with @arguments.
|
||||
*
|
||||
* Returns: (transfer full): the return values for the procedure call.
|
||||
*
|
||||
* Since: 3.0
|
||||
*/
|
||||
PikaValueArray *
|
||||
pika_pdb_run_procedure_argv (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
const GValue *arguments,
|
||||
gint n_arguments)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_values;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PDB (pdb), NULL);
|
||||
g_return_val_if_fail (pika_is_canonical_identifier (procedure_name), NULL);
|
||||
/* Not require arguments != NULL.
|
||||
* pika_value_array_new_from_values(NULL, 0) will return empty GValueArray.
|
||||
*/
|
||||
|
||||
args = pika_value_array_new_from_values (arguments, n_arguments);
|
||||
return_values = pika_pdb_run_procedure_array (pdb, procedure_name, args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
return return_values;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_pdb_run_procedure_array:
|
||||
* @pdb: the #PikaPDB object.
|
||||
* @procedure_name: the procedure registered name.
|
||||
* @arguments: the call arguments.
|
||||
*
|
||||
* Runs the procedure named @procedure_name with @arguments.
|
||||
*
|
||||
* Returns: (transfer full): the return values for the procedure call.
|
||||
*
|
||||
* Since: 3.0
|
||||
*/
|
||||
PikaValueArray *
|
||||
pika_pdb_run_procedure_array (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
const PikaValueArray *arguments)
|
||||
{
|
||||
GPProcRun proc_run;
|
||||
GPProcReturn *proc_return;
|
||||
PikaWireMessage msg;
|
||||
PikaValueArray *return_values;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PDB (pdb), NULL);
|
||||
g_return_val_if_fail (pika_is_canonical_identifier (procedure_name), NULL);
|
||||
g_return_val_if_fail (arguments != NULL, NULL);
|
||||
|
||||
proc_run.name = (gchar *) procedure_name;
|
||||
proc_run.n_params = pika_value_array_length (arguments);
|
||||
proc_run.params = _pika_value_array_to_gp_params (arguments, FALSE);
|
||||
|
||||
if (! gp_proc_run_write (_pika_plug_in_get_write_channel (pdb->priv->plug_in),
|
||||
&proc_run, pdb->priv->plug_in))
|
||||
pika_quit ();
|
||||
|
||||
_pika_gp_params_free (proc_run.params, proc_run.n_params, FALSE);
|
||||
|
||||
_pika_plug_in_read_expect_msg (pdb->priv->plug_in, &msg, GP_PROC_RETURN);
|
||||
|
||||
proc_return = msg.data;
|
||||
|
||||
return_values = _pika_gp_params_to_value_array (NULL,
|
||||
NULL, 0,
|
||||
proc_return->params,
|
||||
proc_return->n_params,
|
||||
TRUE);
|
||||
|
||||
pika_wire_destroy (&msg);
|
||||
|
||||
pika_pdb_set_error (pdb, return_values);
|
||||
|
||||
return return_values;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_pdb_run_procedure_config:
|
||||
* @pdb: the #PikaPDB object.
|
||||
* @procedure_name: the registered name to call.
|
||||
* @config: a config object obtained with pika_procedure_create_config().
|
||||
*
|
||||
* Runs the procedure named @procedure_name with @config.
|
||||
*
|
||||
* Returns: (transfer full): the return values for the procedure call.
|
||||
*
|
||||
* Since: 3.0
|
||||
*/
|
||||
PikaValueArray *
|
||||
pika_pdb_run_procedure_config (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
PikaProcedureConfig *config)
|
||||
{
|
||||
PikaProcedure *procedure;
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_values;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PDB (pdb), NULL);
|
||||
g_return_val_if_fail (pika_is_canonical_identifier (procedure_name), NULL);
|
||||
g_return_val_if_fail (PIKA_IS_PROCEDURE_CONFIG (config), NULL);
|
||||
|
||||
procedure = pika_pdb_lookup_procedure (pdb, procedure_name);
|
||||
|
||||
g_return_val_if_fail (pika_procedure_config_get_procedure (config) == procedure,
|
||||
NULL);
|
||||
|
||||
args = pika_procedure_new_arguments (procedure);
|
||||
|
||||
pika_procedure_config_get_values (config, args);
|
||||
return_values = pika_pdb_run_procedure_array (pdb, procedure_name, args);
|
||||
|
||||
pika_value_array_unref (args);
|
||||
|
||||
return return_values;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_pdb_temp_procedure_name:
|
||||
* @pdb: the #PikaPDB object.
|
||||
@ -603,43 +387,19 @@ pika_pdb_get_last_status (PikaPDB *pdb)
|
||||
* the specified identifier. The data is copied into the given memory
|
||||
* location.
|
||||
*
|
||||
* WARNING: this function is exported in the library so that it can be used by
|
||||
* libpikawidgets. Nevertheless it is considered internal, and is not declared
|
||||
* in any public header on purpose. It should not be considered part of the API
|
||||
* and therefore should not be used in plug-ins. It may disappear at any time.
|
||||
*
|
||||
* Returns: TRUE on success, FALSE if no data has been associated with
|
||||
* the identifier
|
||||
*/
|
||||
gboolean
|
||||
pika_pdb_get_data (const gchar *identifier,
|
||||
gpointer data)
|
||||
pika_pdb_get_data (const gchar *identifier,
|
||||
GBytes **data)
|
||||
{
|
||||
GBytes *hack = NULL;
|
||||
gboolean success;
|
||||
|
||||
success = _pika_pdb_get_data (identifier, &hack);
|
||||
|
||||
if (hack)
|
||||
{
|
||||
memcpy (data, g_bytes_get_data (hack, NULL), g_bytes_get_size (hack));
|
||||
g_free (hack);
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_pdb_get_data_size:
|
||||
* @identifier: The identifier associated with data.
|
||||
*
|
||||
* Returns size of data associated with the specified identifier.
|
||||
*
|
||||
* This procedure returns the size of any data which may have been
|
||||
* associated with the specified identifier. If no data has been
|
||||
* associated with the identifier, an error is returned.
|
||||
*
|
||||
* Returns: The number of bytes in the data.
|
||||
**/
|
||||
gint
|
||||
pika_pdb_get_data_size (const gchar *identifier)
|
||||
{
|
||||
return _pika_pdb_get_data_size (identifier);
|
||||
return _pika_pdb_get_data (identifier, data);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -652,23 +412,74 @@ pika_pdb_get_data_size (const gchar *identifier)
|
||||
*
|
||||
* This procedure associates the supplied data with the provided
|
||||
* identifier. The data may be subsequently retrieved by a call to
|
||||
* 'procedural-db-get-data'.
|
||||
* 'procedural-db-get-data'. This storage is global within the session, even
|
||||
* shareable between plug-ins, though it won't survive a restart of PIKA.
|
||||
*
|
||||
* WARNING: this function is exported in the library so that it can be used by
|
||||
* libpikawidgets. Nevertheless it is considered internal, and is not declared
|
||||
* in any public header on purpose. It should not be considered part of the API
|
||||
* and therefore should not be used in plug-ins. It may disappear at any time.
|
||||
|
||||
* Returns: TRUE on success.
|
||||
*/
|
||||
gboolean
|
||||
pika_pdb_set_data (const gchar *identifier,
|
||||
gconstpointer data,
|
||||
guint32 data_len)
|
||||
pika_pdb_set_data (const gchar *identifier,
|
||||
GBytes *data)
|
||||
{
|
||||
GBytes *bytes;
|
||||
gboolean ret;
|
||||
return _pika_pdb_set_data (identifier, data);
|
||||
}
|
||||
|
||||
bytes = g_bytes_new_static (data, data_len);
|
||||
ret = _pika_pdb_set_data (identifier, bytes);
|
||||
g_bytes_unref (bytes);
|
||||
/**
|
||||
* _pika_pdb_run_procedure_array:
|
||||
* @pdb: the #PikaPDB object.
|
||||
* @procedure_name: the procedure registered name.
|
||||
* @arguments: the call arguments.
|
||||
*
|
||||
* Runs the procedure named @procedure_name with @arguments.
|
||||
*
|
||||
* Returns: (transfer full): the return values for the procedure call.
|
||||
*
|
||||
* Since: 3.0
|
||||
*/
|
||||
PikaValueArray *
|
||||
_pika_pdb_run_procedure_array (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
const PikaValueArray *arguments)
|
||||
{
|
||||
GPProcRun proc_run;
|
||||
GPProcReturn *proc_return;
|
||||
PikaWireMessage msg;
|
||||
PikaValueArray *return_values;
|
||||
|
||||
return ret;
|
||||
g_return_val_if_fail (PIKA_IS_PDB (pdb), NULL);
|
||||
g_return_val_if_fail (pika_is_canonical_identifier (procedure_name), NULL);
|
||||
g_return_val_if_fail (arguments != NULL, NULL);
|
||||
|
||||
proc_run.name = (gchar *) procedure_name;
|
||||
proc_run.n_params = pika_value_array_length (arguments);
|
||||
proc_run.params = _pika_value_array_to_gp_params (arguments, FALSE);
|
||||
|
||||
if (! gp_proc_run_write (_pika_plug_in_get_write_channel (pdb->priv->plug_in),
|
||||
&proc_run, pdb->priv->plug_in))
|
||||
pika_quit ();
|
||||
|
||||
_pika_gp_params_free (proc_run.params, proc_run.n_params, FALSE);
|
||||
|
||||
_pika_plug_in_read_expect_msg (pdb->priv->plug_in, &msg, GP_PROC_RETURN);
|
||||
|
||||
proc_return = msg.data;
|
||||
|
||||
return_values = _pika_gp_params_to_value_array (NULL,
|
||||
NULL, 0,
|
||||
proc_return->params,
|
||||
proc_return->n_params,
|
||||
TRUE);
|
||||
|
||||
pika_wire_destroy (&msg);
|
||||
|
||||
pika_pdb_set_error (pdb, return_values);
|
||||
|
||||
return return_values;
|
||||
}
|
||||
|
||||
|
||||
|
@ -77,25 +77,6 @@ gboolean pika_pdb_procedure_exists (PikaPDB *pdb,
|
||||
PikaProcedure * pika_pdb_lookup_procedure (PikaPDB *pdb,
|
||||
const gchar *procedure_name);
|
||||
|
||||
PikaValueArray * pika_pdb_run_procedure (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
GType first_type,
|
||||
...);
|
||||
PikaValueArray * pika_pdb_run_procedure_valist (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
GType first_type,
|
||||
va_list args);
|
||||
PikaValueArray * pika_pdb_run_procedure_argv (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
const GValue *arguments,
|
||||
gint n_arguments);
|
||||
PikaValueArray * pika_pdb_run_procedure_array (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
const PikaValueArray *arguments);
|
||||
PikaValueArray * pika_pdb_run_procedure_config (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
PikaProcedureConfig *config);
|
||||
|
||||
gchar * pika_pdb_temp_procedure_name (PikaPDB *pdb);
|
||||
|
||||
gboolean pika_pdb_dump_to_file (PikaPDB *pdb,
|
||||
@ -114,14 +95,11 @@ const gchar * pika_pdb_get_last_error (PikaPDB *pdb);
|
||||
PikaPDBStatusType pika_pdb_get_last_status (PikaPDB *pdb);
|
||||
|
||||
|
||||
/* Cruft API */
|
||||
/* Internal use */
|
||||
|
||||
gboolean pika_pdb_get_data (const gchar *identifier,
|
||||
gpointer data);
|
||||
gint pika_pdb_get_data_size (const gchar *identifier);
|
||||
gboolean pika_pdb_set_data (const gchar *identifier,
|
||||
gconstpointer data,
|
||||
guint32 data_len);
|
||||
G_GNUC_INTERNAL PikaValueArray * _pika_pdb_run_procedure_array (PikaPDB *pdb,
|
||||
const gchar *procedure_name,
|
||||
const PikaValueArray *arguments);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -48,9 +48,9 @@ _pika_pdb_temp_name (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-temp-name",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-temp-name",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -84,9 +84,9 @@ _pika_pdb_dump (GFile *file)
|
||||
G_TYPE_FILE, file,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-dump",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-dump",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -149,9 +149,9 @@ _pika_pdb_query (const gchar *name,
|
||||
G_TYPE_STRING, proc_type,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-query",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-query",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*procedure_names = NULL;
|
||||
@ -190,9 +190,9 @@ _pika_pdb_proc_exists (const gchar *procedure_name)
|
||||
G_TYPE_STRING, procedure_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-proc-exists",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-proc-exists",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -235,9 +235,9 @@ _pika_pdb_get_proc_info (const gchar *procedure_name,
|
||||
G_TYPE_STRING, procedure_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-info",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-info",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*proc_type = 0;
|
||||
@ -286,9 +286,9 @@ _pika_pdb_get_proc_argument (const gchar *procedure_name,
|
||||
G_TYPE_INT, arg_num,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-argument",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-argument",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -328,9 +328,9 @@ _pika_pdb_get_proc_return_value (const gchar *procedure_name,
|
||||
G_TYPE_INT, val_num,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-return-value",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-return-value",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -368,9 +368,9 @@ _pika_pdb_set_proc_image_types (const gchar *procedure_name,
|
||||
G_TYPE_STRING, image_types,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-image-types",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-image-types",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -406,9 +406,9 @@ _pika_pdb_get_proc_image_types (const gchar *procedure_name)
|
||||
G_TYPE_STRING, procedure_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-image-types",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-image-types",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -445,9 +445,9 @@ _pika_pdb_set_proc_sensitivity_mask (const gchar *procedure_name,
|
||||
G_TYPE_INT, mask,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-sensitivity-mask",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-sensitivity-mask",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -483,9 +483,9 @@ _pika_pdb_set_proc_menu_label (const gchar *procedure_name,
|
||||
G_TYPE_STRING, menu_label,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-menu-label",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-menu-label",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -519,9 +519,9 @@ _pika_pdb_get_proc_menu_label (const gchar *procedure_name)
|
||||
G_TYPE_STRING, procedure_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-menu-label",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-menu-label",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -559,9 +559,9 @@ _pika_pdb_add_proc_menu_path (const gchar *procedure_name,
|
||||
G_TYPE_STRING, menu_path,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-add-proc-menu-path",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-add-proc-menu-path",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -596,9 +596,9 @@ _pika_pdb_get_proc_menu_paths (const gchar *procedure_name)
|
||||
G_TYPE_STRING, procedure_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-menu-paths",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-menu-paths",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -638,9 +638,9 @@ _pika_pdb_set_proc_icon (const gchar *procedure_name,
|
||||
G_TYPE_BYTES, icon_data,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-icon",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-icon",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -682,9 +682,9 @@ _pika_pdb_set_proc_documentation (const gchar *procedure_name,
|
||||
G_TYPE_STRING, help_id,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-documentation",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-documentation",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -725,9 +725,9 @@ _pika_pdb_get_proc_documentation (const gchar *procedure_name,
|
||||
G_TYPE_STRING, procedure_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-documentation",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-documentation",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*blurb = NULL;
|
||||
@ -780,9 +780,9 @@ _pika_pdb_set_proc_attribution (const gchar *procedure_name,
|
||||
G_TYPE_STRING, date,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-attribution",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-proc-attribution",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -823,9 +823,9 @@ _pika_pdb_get_proc_attribution (const gchar *procedure_name,
|
||||
G_TYPE_STRING, procedure_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-attribution",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-proc-attribution",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*authors = NULL;
|
||||
@ -877,9 +877,9 @@ _pika_pdb_set_file_proc_load_handler (const gchar *procedure_name,
|
||||
G_TYPE_STRING, magics,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-load-handler",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-load-handler",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -917,9 +917,9 @@ _pika_pdb_set_file_proc_save_handler (const gchar *procedure_name,
|
||||
G_TYPE_STRING, prefixes,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-save-handler",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-save-handler",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -959,9 +959,9 @@ _pika_pdb_set_file_proc_priority (const gchar *procedure_name,
|
||||
G_TYPE_INT, priority,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-priority",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-priority",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1002,9 +1002,9 @@ _pika_pdb_set_file_proc_mime_types (const gchar *procedure_name,
|
||||
G_TYPE_STRING, mime_types,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-mime-types",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-mime-types",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1040,9 +1040,9 @@ _pika_pdb_set_file_proc_handles_remote (const gchar *procedure_name)
|
||||
G_TYPE_STRING, procedure_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-handles-remote",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-handles-remote",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1078,9 +1078,9 @@ _pika_pdb_set_file_proc_handles_raw (const gchar *procedure_name)
|
||||
G_TYPE_STRING, procedure_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-handles-raw",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-handles-raw",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1121,9 +1121,9 @@ _pika_pdb_set_file_proc_thumbnail_loader (const gchar *load_proc,
|
||||
G_TYPE_STRING, thumb_proc,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-thumbnail-loader",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-file-proc-thumbnail-loader",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1160,9 +1160,9 @@ _pika_pdb_set_batch_interpreter (const gchar *procedure_name,
|
||||
G_TYPE_STRING, interpreter_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-batch-interpreter",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-batch-interpreter",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -1198,9 +1198,9 @@ _pika_pdb_get_data (const gchar *identifier,
|
||||
G_TYPE_STRING, identifier,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-data",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-data",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*data = NULL;
|
||||
@ -1215,42 +1215,6 @@ _pika_pdb_get_data (const gchar *identifier,
|
||||
return success;
|
||||
}
|
||||
|
||||
/**
|
||||
* _pika_pdb_get_data_size:
|
||||
* @identifier: The identifier associated with data.
|
||||
*
|
||||
* Returns size of data associated with the specified identifier.
|
||||
*
|
||||
* This procedure returns the size of any data which may have been
|
||||
* associated with the specified identifier. If no data has been
|
||||
* associated with the identifier, an error is returned.
|
||||
*
|
||||
* Returns: The number of bytes in the data.
|
||||
**/
|
||||
gint
|
||||
_pika_pdb_get_data_size (const gchar *identifier)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
gint bytes = 0;
|
||||
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_STRING, identifier,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-get-data-size",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
bytes = PIKA_VALUES_GET_INT (return_vals, 1);
|
||||
|
||||
pika_value_array_unref (return_vals);
|
||||
|
||||
return bytes;
|
||||
}
|
||||
|
||||
/**
|
||||
* _pika_pdb_set_data:
|
||||
* @identifier: The identifier associated with data.
|
||||
@ -1277,9 +1241,9 @@ _pika_pdb_set_data (const gchar *identifier,
|
||||
G_TYPE_BYTES, data,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-data",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pdb-set-data",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -100,7 +100,6 @@ G_GNUC_INTERNAL gboolean _pika_pdb_set_batch_interpreter (const gcha
|
||||
const gchar *interpreter_name);
|
||||
G_GNUC_INTERNAL gboolean _pika_pdb_get_data (const gchar *identifier,
|
||||
GBytes **data);
|
||||
G_GNUC_INTERNAL gint _pika_pdb_get_data_size (const gchar *identifier);
|
||||
G_GNUC_INTERNAL gboolean _pika_pdb_set_data (const gchar *identifier,
|
||||
GBytes *data);
|
||||
|
||||
|
@ -181,9 +181,9 @@ pika_pdb_procedure_run (PikaProcedure *procedure,
|
||||
{
|
||||
PikaPDBProcedure *pdb_procedure = PIKA_PDB_PROCEDURE (procedure);
|
||||
|
||||
return pika_pdb_run_procedure_array (pdb_procedure->priv->pdb,
|
||||
pika_procedure_get_name (procedure),
|
||||
(PikaValueArray *) args);
|
||||
return _pika_pdb_run_procedure_array (pdb_procedure->priv->pdb,
|
||||
pika_procedure_get_name (procedure),
|
||||
(PikaValueArray *) args);
|
||||
}
|
||||
|
||||
|
||||
|
@ -66,9 +66,9 @@ pika_pikarc_query (const gchar *token)
|
||||
G_TYPE_STRING, token,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pikarc-query",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pikarc-query",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -107,9 +107,9 @@ pika_pikarc_set (const gchar *token,
|
||||
G_TYPE_STRING, value,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pikarc-set",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-pikarc-set",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -139,9 +139,9 @@ pika_get_default_comment (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-default-comment",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-default-comment",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -173,9 +173,9 @@ pika_get_default_unit (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-default-unit",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-default-unit",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -211,9 +211,9 @@ pika_get_monitor_resolution (gdouble *xres,
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-monitor-resolution",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-monitor-resolution",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
*xres = 0.0;
|
||||
@ -255,9 +255,9 @@ _pika_get_color_configuration (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-color-configuration",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-color-configuration",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
@ -288,9 +288,9 @@ pika_get_module_load_inhibit (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-module-load-inhibit",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-get-module-load-inhibit",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -25,36 +25,38 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
||||
void _pika_plug_in_query (PikaPlugIn *plug_in);
|
||||
void _pika_plug_in_init (PikaPlugIn *plug_in);
|
||||
void _pika_plug_in_run (PikaPlugIn *plug_in);
|
||||
void _pika_plug_in_quit (PikaPlugIn *plug_in);
|
||||
void _pika_plug_in_query (PikaPlugIn *plug_in);
|
||||
void _pika_plug_in_init (PikaPlugIn *plug_in);
|
||||
void _pika_plug_in_run (PikaPlugIn *plug_in);
|
||||
void _pika_plug_in_quit (PikaPlugIn *plug_in);
|
||||
|
||||
GIOChannel * _pika_plug_in_get_read_channel (PikaPlugIn *plug_in);
|
||||
GIOChannel * _pika_plug_in_get_write_channel (PikaPlugIn *plug_in);
|
||||
GIOChannel * _pika_plug_in_get_read_channel (PikaPlugIn *plug_in);
|
||||
GIOChannel * _pika_plug_in_get_write_channel (PikaPlugIn *plug_in);
|
||||
|
||||
void _pika_plug_in_read_expect_msg (PikaPlugIn *plug_in,
|
||||
PikaWireMessage *msg,
|
||||
gint type);
|
||||
void _pika_plug_in_read_expect_msg (PikaPlugIn *plug_in,
|
||||
PikaWireMessage *msg,
|
||||
gint type);
|
||||
|
||||
gboolean _pika_plug_in_set_i18n (PikaPlugIn *plug_in,
|
||||
const gchar *procedure_name,
|
||||
gchar **gettext_domain,
|
||||
gchar **catalog_dir);
|
||||
gboolean _pika_plug_in_set_i18n (PikaPlugIn *plug_in,
|
||||
const gchar *procedure_name,
|
||||
gchar **gettext_domain,
|
||||
gchar **catalog_dir);
|
||||
|
||||
PikaProcedure * _pika_plug_in_create_procedure (PikaPlugIn *plug_in,
|
||||
const gchar *procedure_name);
|
||||
PikaProcedure * _pika_plug_in_create_procedure (PikaPlugIn *plug_in,
|
||||
const gchar *procedure_name);
|
||||
|
||||
PikaProcedure * _pika_plug_in_get_procedure (PikaPlugIn *plug_in);
|
||||
PikaProcedure * _pika_plug_in_get_procedure (PikaPlugIn *plug_in);
|
||||
|
||||
PikaDisplay * _pika_plug_in_get_display (PikaPlugIn *plug_in,
|
||||
gint32 display_id);
|
||||
PikaImage * _pika_plug_in_get_image (PikaPlugIn *plug_in,
|
||||
gint32 image_id);
|
||||
PikaItem * _pika_plug_in_get_item (PikaPlugIn *plug_in,
|
||||
gint32 item_id);
|
||||
PikaResource * _pika_plug_in_get_resource (PikaPlugIn *plug_in,
|
||||
gint32 resource_id);
|
||||
PikaDisplay * _pika_plug_in_get_display (PikaPlugIn *plug_in,
|
||||
gint32 display_id);
|
||||
PikaImage * _pika_plug_in_get_image (PikaPlugIn *plug_in,
|
||||
gint32 image_id);
|
||||
PikaItem * _pika_plug_in_get_item (PikaPlugIn *plug_in,
|
||||
gint32 item_id);
|
||||
PikaResource * _pika_plug_in_get_resource (PikaPlugIn *plug_in,
|
||||
gint32 resource_id);
|
||||
|
||||
gboolean _pika_plug_in_manage_memory_manually (PikaPlugIn *plug_in);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -114,6 +114,7 @@ G_DEFINE_QUARK (pika-plug-in-error-quark, pika_plug_in_error)
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_PROGRAM_NAME,
|
||||
PROP_READ_CHANNEL,
|
||||
PROP_WRITE_CHANNEL,
|
||||
N_PROPS
|
||||
@ -130,6 +131,8 @@ struct _PikaPlugInMenuBranch
|
||||
|
||||
struct _PikaPlugInPrivate
|
||||
{
|
||||
gchar *program_name;
|
||||
|
||||
GIOChannel *read_channel;
|
||||
GIOChannel *write_channel;
|
||||
|
||||
@ -207,7 +210,9 @@ static void pika_plug_in_push_procedure (PikaPlugIn *plug_in,
|
||||
static void pika_plug_in_pop_procedure (PikaPlugIn *plug_in,
|
||||
PikaProcedure *procedure);
|
||||
static void pika_plug_in_destroy_hashes (PikaPlugIn *plug_in);
|
||||
static void pika_plug_in_destroy_proxies (GHashTable *hash_table,
|
||||
static void pika_plug_in_destroy_proxies (PikaPlugIn *plug_in,
|
||||
GHashTable *hash_table,
|
||||
const gchar *type,
|
||||
gboolean destroy_all);
|
||||
|
||||
static void pika_plug_in_init_i18n (PikaPlugIn *plug_in);
|
||||
@ -233,6 +238,19 @@ pika_plug_in_class_init (PikaPlugInClass *klass)
|
||||
|
||||
klass->set_i18n = pika_plug_in_real_set_i18n;
|
||||
|
||||
/**
|
||||
* PikaPlugIn:program-name:
|
||||
*
|
||||
* The program name as usually found on argv[0]
|
||||
*/
|
||||
props[PROP_PROGRAM_NAME] =
|
||||
g_param_spec_string ("program-name",
|
||||
"The plug-in executable",
|
||||
"The executable name as usually found on argv[0]",
|
||||
NULL,
|
||||
PIKA_PARAM_WRITABLE |
|
||||
G_PARAM_CONSTRUCT_ONLY);
|
||||
|
||||
/**
|
||||
* PikaPlugIn:read-channel:
|
||||
*
|
||||
@ -310,6 +328,7 @@ pika_plug_in_finalize (GObject *object)
|
||||
PikaPlugIn *plug_in = PIKA_PLUG_IN (object);
|
||||
GList *list;
|
||||
|
||||
g_clear_pointer (&plug_in->priv->program_name, g_free);
|
||||
g_clear_pointer (&plug_in->priv->translation_domain_name, g_free);
|
||||
g_clear_object (&plug_in->priv->translation_domain_path);
|
||||
|
||||
@ -327,10 +346,10 @@ pika_plug_in_finalize (GObject *object)
|
||||
|
||||
g_clear_pointer (&plug_in->priv->menu_branches, g_list_free);
|
||||
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->displays, TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->images, TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->items, TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->resources, TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->displays, "display", TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->images, "image", TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->items, "item", TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->resources, "resource", TRUE);
|
||||
|
||||
pika_plug_in_destroy_hashes (plug_in);
|
||||
|
||||
@ -347,6 +366,10 @@ pika_plug_in_set_property (GObject *object,
|
||||
|
||||
switch (property_id)
|
||||
{
|
||||
case PROP_PROGRAM_NAME:
|
||||
plug_in->priv->program_name = g_value_dup_string (value);
|
||||
break;
|
||||
|
||||
case PROP_READ_CHANNEL:
|
||||
plug_in->priv->read_channel = g_value_get_boxed (value);
|
||||
break;
|
||||
@ -1387,7 +1410,7 @@ pika_plug_in_proc_run_internal (PikaPlugIn *plug_in,
|
||||
proc_run->n_params,
|
||||
FALSE);
|
||||
|
||||
return_values = pika_procedure_run (procedure, arguments);
|
||||
return_values = _pika_procedure_run_array (procedure, arguments);
|
||||
|
||||
pika_value_array_unref (arguments);
|
||||
|
||||
@ -1441,17 +1464,17 @@ pika_plug_in_pop_procedure (PikaPlugIn *plug_in,
|
||||
|
||||
_pika_procedure_destroy_proxies (procedure);
|
||||
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->displays, FALSE);
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->images, FALSE);
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->items, FALSE);
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->resources, FALSE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->displays, "display", FALSE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->images, "image", FALSE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->items, "item", FALSE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->resources, "resource", FALSE);
|
||||
|
||||
if (! plug_in->priv->procedure_stack)
|
||||
{
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->displays, TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->images, TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->items, TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in->priv->resources, TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->displays, "display", TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->images, "image", TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->items, "item", TRUE);
|
||||
pika_plug_in_destroy_proxies (plug_in, plug_in->priv->resources, "resource", TRUE);
|
||||
|
||||
pika_plug_in_destroy_hashes (plug_in);
|
||||
}
|
||||
@ -1483,7 +1506,7 @@ _pika_plug_in_get_display (PikaPlugIn *plug_in,
|
||||
|
||||
g_hash_table_insert (plug_in->priv->displays,
|
||||
GINT_TO_POINTER (display_id),
|
||||
g_object_ref (display) /* add debug ref */);
|
||||
display);
|
||||
}
|
||||
|
||||
return display;
|
||||
@ -1515,7 +1538,7 @@ _pika_plug_in_get_image (PikaPlugIn *plug_in,
|
||||
|
||||
g_hash_table_insert (plug_in->priv->images,
|
||||
GINT_TO_POINTER (image_id),
|
||||
g_object_ref (image) /* add debug ref */);
|
||||
image);
|
||||
}
|
||||
|
||||
return image;
|
||||
@ -1581,7 +1604,7 @@ _pika_plug_in_get_item (PikaPlugIn *plug_in,
|
||||
if (item)
|
||||
g_hash_table_insert (plug_in->priv->items,
|
||||
GINT_TO_POINTER (item_id),
|
||||
g_object_ref (item) /* add debug ref */);
|
||||
item);
|
||||
}
|
||||
|
||||
return item;
|
||||
@ -1641,12 +1664,48 @@ _pika_plug_in_get_resource (PikaPlugIn *plug_in,
|
||||
if (resource)
|
||||
g_hash_table_insert (plug_in->priv->resources,
|
||||
GINT_TO_POINTER (resource_id),
|
||||
g_object_ref (resource) /* add debug ref */);
|
||||
resource);
|
||||
}
|
||||
|
||||
return resource;
|
||||
}
|
||||
|
||||
gboolean
|
||||
_pika_plug_in_manage_memory_manually (PikaPlugIn *plug_in)
|
||||
{
|
||||
gboolean manual_management = TRUE;
|
||||
|
||||
if (plug_in->priv->program_name)
|
||||
{
|
||||
GFile *file = g_file_new_for_path (plug_in->priv->program_name);
|
||||
|
||||
/* Limitations:
|
||||
* 1. Checking a file extension (and trusting argv[0] in general) is not
|
||||
* the best idea. I thought about the possibility of passing through
|
||||
* the name of the used interpreter from core to plug-in, but even this
|
||||
* should not be trusted because it is configurable.
|
||||
* 2. An alternative could be to pass the information if a plug-in is
|
||||
* interpreted (i.e. it has an interp file). Though I'm unsure if there
|
||||
* might be some interpreted language out there with manual memory
|
||||
* management.
|
||||
* 3. This list only contains the bindings we actually tested with (and
|
||||
* have demo plug-ins for). Much more bindings are possible.
|
||||
*
|
||||
* So in the end, this test is just worth so far, but it's
|
||||
* acceptable for the officially supported bindings at least.
|
||||
*/
|
||||
if (pika_file_has_extension (file, ".lua") ||
|
||||
pika_file_has_extension (file, ".py") ||
|
||||
pika_file_has_extension (file, ".js") ||
|
||||
pika_file_has_extension (file, ".gjs"))
|
||||
manual_management = FALSE;
|
||||
|
||||
g_object_unref (file);
|
||||
}
|
||||
|
||||
return manual_management;
|
||||
}
|
||||
|
||||
static void
|
||||
pika_plug_in_destroy_hashes (PikaPlugIn *plug_in)
|
||||
{
|
||||
@ -1657,8 +1716,10 @@ pika_plug_in_destroy_hashes (PikaPlugIn *plug_in)
|
||||
}
|
||||
|
||||
static void
|
||||
pika_plug_in_destroy_proxies (GHashTable *hash_table,
|
||||
gboolean destroy_all)
|
||||
pika_plug_in_destroy_proxies (PikaPlugIn *plug_in,
|
||||
GHashTable *hash_table,
|
||||
const gchar *type,
|
||||
gboolean destroy_all)
|
||||
{
|
||||
GHashTableIter iter;
|
||||
gpointer key, value;
|
||||
@ -1672,52 +1733,56 @@ pika_plug_in_destroy_proxies (GHashTable *hash_table,
|
||||
{
|
||||
GObject *object = value;
|
||||
|
||||
if (object->ref_count == 2)
|
||||
if (object->ref_count == 1)
|
||||
{
|
||||
/* this is the normal case for an unused proxy */
|
||||
|
||||
g_object_unref (object);
|
||||
/* this is the normal case for an unused proxy, since we already
|
||||
* destroyed the only other reference in procedure with
|
||||
* _pika_procedure_destroy_proxies().
|
||||
*/
|
||||
g_hash_table_iter_remove (&iter);
|
||||
}
|
||||
else if (object->ref_count == 1)
|
||||
else if (! G_IS_OBJECT (object))
|
||||
{
|
||||
/* this is debug code, a plug-in MUST NOT unref a proxy, we
|
||||
* only catch one unref here, more then one will crash right
|
||||
* in this function
|
||||
/* this is debug code, a plug-in MUST NOT unref a proxy. To be nice,
|
||||
* we steal the object from the table, as removing it normally would
|
||||
* crash, since the object is not valid anymore.
|
||||
*/
|
||||
|
||||
gint id;
|
||||
|
||||
g_object_get (object, "id", &id, NULL);
|
||||
|
||||
g_printerr ("%s: ERROR: %s proxy with ID %d was unrefed "
|
||||
g_printerr ("%s: ERROR: %s proxy was unrefed "
|
||||
"by plug-in, it MUST NOT do that!\n",
|
||||
G_STRFUNC, G_OBJECT_TYPE_NAME (object), id);
|
||||
G_STRFUNC, type);
|
||||
|
||||
g_hash_table_iter_remove (&iter);
|
||||
g_hash_table_iter_steal (&iter);
|
||||
}
|
||||
else if (destroy_all)
|
||||
{
|
||||
/* this is debug code, a plug-in MUST NOT ref a proxy */
|
||||
|
||||
gint id;
|
||||
|
||||
g_object_get (object, "id", &id, NULL);
|
||||
|
||||
g_printerr ("%s: ERROR: %s proxy with ID %d was refed "
|
||||
"by plug-in, it MUST NOT do that!\n",
|
||||
G_STRFUNC, G_OBJECT_TYPE_NAME (object), id);
|
||||
/* Some bindings are always keeping a reference to objects, in
|
||||
* particular this is the behavior of lua and gjs bindings where
|
||||
* object->ref_count == 2 at this point.
|
||||
* As for the Python binding, it is only true for global
|
||||
* variables (scoped variables are properly freed before the
|
||||
* plug-in ends), which anyway is not the best practice.
|
||||
* In any case, it's not something which the plug-in developer can do
|
||||
* anything about so this error is only confusing.
|
||||
* See #3912.
|
||||
*/
|
||||
if (_pika_plug_in_manage_memory_manually (plug_in))
|
||||
g_printerr ("%s: ERROR: %s proxy with ID %d was refed "
|
||||
"by plug-in, it MUST NOT do that!\n",
|
||||
G_STRFUNC, G_OBJECT_TYPE_NAME (object), id);
|
||||
|
||||
#if 0
|
||||
/* the code used to do this, but it appears that some bindings
|
||||
* keep references around until later, let's keep this for
|
||||
* reference and as a reminder to figure if we can do anything
|
||||
* generic about it that works for all bindings.
|
||||
/* The code used to do this, which is only meaningful when the bug is
|
||||
* really in the plug-in code. If it's one of the cases where the
|
||||
* reference is actually held by a bindings, it's unwise and will
|
||||
* likely end up in double-free crashes.
|
||||
*/
|
||||
while (object->ref_count > 1)
|
||||
g_object_unref (object);
|
||||
#else
|
||||
g_object_unref (object);
|
||||
#endif
|
||||
g_hash_table_iter_remove (&iter);
|
||||
}
|
||||
|
@ -55,9 +55,9 @@ _pika_plug_in_help_register (const gchar *domain_name,
|
||||
G_TYPE_FILE, domain_file,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-plug-in-help-register",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-plug-in-help-register",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -96,9 +96,9 @@ _pika_plug_in_menu_branch_register (const gchar *menu_path,
|
||||
G_TYPE_STRING, menu_name,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-plug-in-menu-branch-register",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-plug-in-menu-branch-register",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -138,9 +138,9 @@ _pika_plug_in_set_pdb_error_handler (PikaPDBErrorHandler handler)
|
||||
PIKA_TYPE_PDB_ERROR_HANDLER, handler,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-plug-in-set-pdb-error-handler",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-plug-in-set-pdb-error-handler",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -173,9 +173,9 @@ _pika_plug_in_get_pdb_error_handler (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-plug-in-get-pdb-error-handler",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-plug-in-get-pdb-error-handler",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
|
@ -224,6 +224,33 @@ G_BEGIN_DECLS
|
||||
g_value_set_enum (pika_value_array_index (args, n), value)
|
||||
|
||||
|
||||
/* choice */
|
||||
|
||||
#define PIKA_PROC_ARG_CHOICE(procedure, name, nick, blurb, choice, default, flags) \
|
||||
pika_procedure_add_argument (procedure,\
|
||||
pika_param_spec_choice (name, nick, blurb,\
|
||||
choice, default,\
|
||||
flags))
|
||||
|
||||
#define PIKA_PROC_AUX_ARG_CHOICE(procedure, name, nick, blurb, choice, default, flags) \
|
||||
pika_procedure_add_aux_argument (procedure,\
|
||||
pika_param_spec_choice (name, nick, blurb,\
|
||||
choice, default,\
|
||||
flags))
|
||||
|
||||
#define PIKA_PROC_VAL_CHOICE(procedure, name, nick, blurb, enum_type, default, flags) \
|
||||
pika_procedure_add_return_value (procedure,\
|
||||
pika_param_spec_choice (name, nick, blurb,\
|
||||
choice, default,\
|
||||
flags))
|
||||
|
||||
#define PIKA_VALUES_GET_CHOICE(args, n) \
|
||||
g_value_get_int (pika_value_array_index (args, n))
|
||||
|
||||
#define PIKA_VALUES_SET_CHOICE(args, n, value) \
|
||||
g_value_set_int (pika_value_array_index (args, n), value)
|
||||
|
||||
|
||||
/* string */
|
||||
|
||||
#define PIKA_PROC_ARG_STRING(procedure, name, nick, blurb, default, flags) \
|
||||
@ -367,7 +394,7 @@ G_BEGIN_DECLS
|
||||
#define PIKA_VALUES_DUP_BYTES(args, n) \
|
||||
g_value_dup_boxed (pika_value_array_index (args, n))
|
||||
|
||||
#define PIKA_VALUES_SET_BYTES(args, n, value, length) \
|
||||
#define PIKA_VALUES_SET_BYTES(args, n, value) \
|
||||
g_value_set_boxed (pika_value_array_index (args, n), value)
|
||||
|
||||
#define PIKA_VALUES_TAKE_BYTES(args, n, value, length) \
|
||||
@ -861,6 +888,12 @@ G_BEGIN_DECLS
|
||||
|
||||
/* Resource */
|
||||
|
||||
#define PIKA_PROC_ARG_RESOURCE(procedure, name, nick, blurb, flags) \
|
||||
pika_procedure_add_argument (procedure,\
|
||||
pika_param_spec_resource (name, nick, blurb,\
|
||||
PIKA_TYPE_RESOURCE,\
|
||||
flags))
|
||||
|
||||
#define PIKA_PROC_ARG_BRUSH(procedure, name, nick, blurb, flags) \
|
||||
pika_procedure_add_argument (procedure,\
|
||||
pika_param_spec_brush (name, nick, blurb,\
|
||||
|
@ -27,6 +27,8 @@
|
||||
#include <stdarg.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include <gobject/gvaluecollector.h>
|
||||
|
||||
#include "pika.h"
|
||||
|
||||
#include "libpikabase/pikaprotocol.h"
|
||||
@ -36,6 +38,7 @@
|
||||
#include "pikapdb-private.h"
|
||||
#include "pikaplugin-private.h"
|
||||
#include "pikapdb_pdb.h"
|
||||
#include "pikaplugin-private.h"
|
||||
#include "pikaplugin_pdb.h"
|
||||
#include "pikaprocedure-private.h"
|
||||
#include "pikaprocedureconfig-private.h"
|
||||
@ -100,38 +103,36 @@ struct _PikaProcedurePrivate
|
||||
};
|
||||
|
||||
|
||||
static void pika_procedure_constructed (GObject *object);
|
||||
static void pika_procedure_finalize (GObject *object);
|
||||
static void pika_procedure_set_property (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec);
|
||||
static void pika_procedure_get_property (GObject *object,
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec);
|
||||
static void pika_procedure_constructed (GObject *object);
|
||||
static void pika_procedure_finalize (GObject *object);
|
||||
static void pika_procedure_set_property (GObject *object,
|
||||
guint property_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec);
|
||||
static void pika_procedure_get_property (GObject *object,
|
||||
guint property_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec);
|
||||
|
||||
static void pika_procedure_real_install (PikaProcedure *procedure);
|
||||
static void pika_procedure_real_uninstall (PikaProcedure *procedure);
|
||||
static PikaValueArray *
|
||||
pika_procedure_real_run (PikaProcedure *procedure,
|
||||
const PikaValueArray *args);
|
||||
static PikaProcedureConfig *
|
||||
pika_procedure_real_create_config
|
||||
(PikaProcedure *procedure,
|
||||
GParamSpec **args,
|
||||
gint n_args);
|
||||
static void pika_procedure_real_install (PikaProcedure *procedure);
|
||||
static void pika_procedure_real_uninstall (PikaProcedure *procedure);
|
||||
static PikaValueArray * pika_procedure_real_run (PikaProcedure *procedure,
|
||||
const PikaValueArray *args);
|
||||
static PikaProcedureConfig * pika_procedure_real_create_config (PikaProcedure *procedure,
|
||||
GParamSpec **args,
|
||||
gint n_args);
|
||||
|
||||
static gboolean pika_procedure_validate_args (PikaProcedure *procedure,
|
||||
GParamSpec **param_specs,
|
||||
gint n_param_specs,
|
||||
PikaValueArray *args,
|
||||
gboolean return_vals,
|
||||
GError **error);
|
||||
static PikaValueArray * pika_procedure_new_arguments (PikaProcedure *procedure);
|
||||
static gboolean pika_procedure_validate_args (PikaProcedure *procedure,
|
||||
GParamSpec **param_specs,
|
||||
gint n_param_specs,
|
||||
PikaValueArray *args,
|
||||
gboolean return_vals,
|
||||
GError **error);
|
||||
|
||||
static void pika_procedure_set_icon (PikaProcedure *procedure,
|
||||
PikaIconType icon_type,
|
||||
gconstpointer icon_data);
|
||||
static void pika_procedure_set_icon (PikaProcedure *procedure,
|
||||
PikaIconType icon_type,
|
||||
gconstpointer icon_data);
|
||||
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (PikaProcedure, pika_procedure, G_TYPE_OBJECT)
|
||||
@ -484,8 +485,47 @@ static PikaValueArray *
|
||||
pika_procedure_real_run (PikaProcedure *procedure,
|
||||
const PikaValueArray *args)
|
||||
{
|
||||
return procedure->priv->run_func (procedure, args,
|
||||
procedure->priv->run_data);
|
||||
PikaPlugIn *plug_in;
|
||||
PikaProcedureConfig *config;
|
||||
PikaImage *image = NULL;
|
||||
PikaRunMode run_mode = PIKA_RUN_NONINTERACTIVE;
|
||||
PikaValueArray *retvals;
|
||||
PikaPDBStatusType status = PIKA_PDB_EXECUTION_ERROR;
|
||||
|
||||
if (pika_value_array_length (args) > 0 &&
|
||||
G_VALUE_HOLDS_ENUM (pika_value_array_index (args, 0)))
|
||||
{
|
||||
run_mode = PIKA_VALUES_GET_ENUM (args, 0);
|
||||
|
||||
if (pika_value_array_length (args) > 1 &&
|
||||
PIKA_VALUE_HOLDS_IMAGE (pika_value_array_index (args, 1)))
|
||||
image = PIKA_VALUES_GET_IMAGE (args, 1);
|
||||
}
|
||||
|
||||
config = pika_procedure_create_config (procedure);
|
||||
_pika_procedure_config_begin_run (config, image, run_mode, args);
|
||||
|
||||
retvals = procedure->priv->run_func (procedure, config,
|
||||
procedure->priv->run_data);
|
||||
if (retvals != NULL &&
|
||||
pika_value_array_length (retvals) > 0 &&
|
||||
G_VALUE_HOLDS_ENUM (pika_value_array_index (retvals, 0)))
|
||||
status = PIKA_VALUES_GET_ENUM (retvals, 0);
|
||||
|
||||
_pika_procedure_config_end_run (config, status);
|
||||
|
||||
/* This is debug printing to help plug-in developers figure out best
|
||||
* practices.
|
||||
*/
|
||||
plug_in = pika_procedure_get_plug_in (procedure);
|
||||
if (G_OBJECT (config)->ref_count > 1 &&
|
||||
_pika_plug_in_manage_memory_manually (plug_in))
|
||||
g_printerr ("%s: ERROR: the PikaProcedureConfig object was refed "
|
||||
"by plug-in, it MUST NOT do that!\n", G_STRFUNC);
|
||||
|
||||
g_object_unref (config);
|
||||
|
||||
return retvals;
|
||||
}
|
||||
|
||||
static PikaProcedureConfig *
|
||||
@ -582,12 +622,12 @@ pika_procedure_real_create_config (PikaProcedure *procedure,
|
||||
* Since: 3.0
|
||||
**/
|
||||
PikaProcedure *
|
||||
pika_procedure_new (PikaPlugIn *plug_in,
|
||||
const gchar *name,
|
||||
PikaPDBProcType proc_type,
|
||||
PikaRunFunc run_func,
|
||||
gpointer run_data,
|
||||
GDestroyNotify run_data_destroy)
|
||||
pika_procedure_new (PikaPlugIn *plug_in,
|
||||
const gchar *name,
|
||||
PikaPDBProcType proc_type,
|
||||
PikaRunFunc run_func,
|
||||
gpointer run_data,
|
||||
GDestroyNotify run_data_destroy)
|
||||
{
|
||||
PikaProcedure *procedure;
|
||||
|
||||
@ -608,7 +648,6 @@ pika_procedure_new (PikaPlugIn *plug_in,
|
||||
|
||||
return procedure;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_get_plug_in:
|
||||
* @procedure: A #PikaProcedure.
|
||||
@ -1630,10 +1669,9 @@ pika_procedure_get_return_values (PikaProcedure *procedure,
|
||||
* @arg_name: the name of one of @procedure's arguments or auxiliary arguments.
|
||||
* @sync: how to sync the argument or auxiliary argument.
|
||||
*
|
||||
* When using #PikaProcedureConfig, pika_procedure_config_begin_run()
|
||||
* and pika_procedure_config_end_run(), a #PikaProcedure's arguments
|
||||
* or auxiliary arguments can be automatically synced with a
|
||||
* #PikaParasite of the #PikaImage the procedure is running on.
|
||||
* When the procedure's run() function exits, a #PikaProcedure's arguments
|
||||
* or auxiliary arguments can be automatically synced with a #PikaParasite of
|
||||
* the #PikaImage the procedure is running on.
|
||||
*
|
||||
* In order to enable this, set @sync to %PIKA_ARGUMENT_SYNC_PARASITE.
|
||||
*
|
||||
@ -1711,43 +1749,6 @@ pika_procedure_get_argument_sync (PikaProcedure *procedure,
|
||||
return sync;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_new_arguments:
|
||||
* @procedure: the #PikaProcedure.
|
||||
*
|
||||
* Format the expected argument values of procedures, in the order as
|
||||
* added with [method@Procedure.add_argument].
|
||||
*
|
||||
* Returns: (transfer full): the expected #PikaValueArray which could be given as
|
||||
* arguments to run @procedure, with all values set to
|
||||
* defaults. Free with pika_value_array_unref().
|
||||
*
|
||||
* Since: 3.0
|
||||
**/
|
||||
PikaValueArray *
|
||||
pika_procedure_new_arguments (PikaProcedure *procedure)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
GValue value = G_VALUE_INIT;
|
||||
gint i;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PROCEDURE (procedure), NULL);
|
||||
|
||||
args = pika_value_array_new (procedure->priv->n_args);
|
||||
|
||||
for (i = 0; i < procedure->priv->n_args; i++)
|
||||
{
|
||||
GParamSpec *pspec = procedure->priv->args[i];
|
||||
|
||||
g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec));
|
||||
g_param_value_set_default (pspec, &value);
|
||||
pika_value_array_append (args, &value);
|
||||
g_value_unset (&value);
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_new_return_values:
|
||||
* @procedure: the procedure.
|
||||
@ -1828,19 +1829,146 @@ pika_procedure_new_return_values (PikaProcedure *procedure,
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_run:
|
||||
* pika_procedure_run: (skip)
|
||||
* @pdb: the #PikaPDB object.
|
||||
* @procedure_name: the procedure registered name.
|
||||
* @first_arg_name: the name of an argument of @procedure_name.
|
||||
* @...: the call arguments.
|
||||
*
|
||||
* Runs the procedure named @procedure_name with arguments given as
|
||||
* list of `(name, value)` pairs, terminated by %NULL.
|
||||
*
|
||||
* The order of arguments does not matter and if any argument is missing, its
|
||||
* default value will be used. The value type must correspond to the argument
|
||||
* type as registered for @procedure_name.
|
||||
*
|
||||
* Returns: (transfer full): the return values for the procedure call.
|
||||
*
|
||||
* Since: 3.0
|
||||
*/
|
||||
PikaValueArray *
|
||||
pika_procedure_run (PikaProcedure *procedure,
|
||||
const gchar *first_arg_name,
|
||||
...)
|
||||
{
|
||||
PikaValueArray *return_values;
|
||||
va_list args;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PROCEDURE (procedure), NULL);
|
||||
|
||||
va_start (args, first_arg_name);
|
||||
|
||||
return_values = pika_procedure_run_valist (procedure, first_arg_name, args);
|
||||
|
||||
va_end (args);
|
||||
|
||||
return return_values;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_run_valist: (skip)
|
||||
* @pdb: the #PikaPDB object.
|
||||
* @procedure_name: the procedure registered name.
|
||||
* @first_arg_name: the name of an argument of @procedure_name.
|
||||
* @args: the call arguments.
|
||||
*
|
||||
* Runs @procedure with arguments names and values, given in the order as passed
|
||||
* to [method@Procedure.run].
|
||||
*
|
||||
* Returns: (transfer full): the return values for the procedure call.
|
||||
*
|
||||
* Since: 3.0
|
||||
*/
|
||||
PikaValueArray *
|
||||
pika_procedure_run_valist (PikaProcedure *procedure,
|
||||
const gchar *first_arg_name,
|
||||
va_list args)
|
||||
{
|
||||
PikaValueArray *return_values;
|
||||
PikaProcedureConfig *config;
|
||||
const gchar *arg_name;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PROCEDURE (procedure), NULL);
|
||||
|
||||
config = pika_procedure_create_config (procedure);
|
||||
arg_name = first_arg_name;
|
||||
|
||||
while (arg_name != NULL)
|
||||
{
|
||||
GParamSpec *pspec;
|
||||
gchar *error = NULL;
|
||||
GValue value = G_VALUE_INIT;
|
||||
|
||||
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (config), arg_name);
|
||||
|
||||
if (pspec == NULL)
|
||||
{
|
||||
g_warning ("%s: %s has no property named '%s'",
|
||||
G_STRFUNC,
|
||||
g_type_name (G_TYPE_FROM_INSTANCE (config)),
|
||||
arg_name);
|
||||
g_clear_object (&config);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
g_value_init (&value, pspec->value_type);
|
||||
G_VALUE_COLLECT (&value, args, G_VALUE_NOCOPY_CONTENTS, &error);
|
||||
|
||||
if (error)
|
||||
{
|
||||
g_warning ("%s: %s", G_STRFUNC, error);
|
||||
g_free (error);
|
||||
g_clear_object (&config);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
g_object_set_property (G_OBJECT (config), arg_name, &value);
|
||||
g_value_unset (&value);
|
||||
|
||||
arg_name = va_arg (args, const gchar *);
|
||||
}
|
||||
|
||||
return_values = pika_procedure_run_config (procedure, config);
|
||||
g_clear_object (&config);
|
||||
|
||||
return return_values;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_run_config: (rename-to pika_procedure_run)
|
||||
* @procedure: a @PikaProcedure.
|
||||
* @args: the @procedure's arguments.
|
||||
*
|
||||
* Runs the procedure, calling the run_func given in [ctor@Procedure.new].
|
||||
* Runs @procedure, calling the run_func given in [ctor@Procedure.new].
|
||||
*
|
||||
* Returns: (transfer full): The @procedure's return values.
|
||||
*
|
||||
* Since: 3.0
|
||||
**/
|
||||
PikaValueArray *
|
||||
pika_procedure_run (PikaProcedure *procedure,
|
||||
PikaValueArray *args)
|
||||
pika_procedure_run_config (PikaProcedure *procedure,
|
||||
PikaProcedureConfig *config)
|
||||
{
|
||||
PikaValueArray *return_vals;
|
||||
PikaValueArray *args;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PROCEDURE (procedure), NULL);
|
||||
g_return_val_if_fail (PIKA_IS_PROCEDURE_CONFIG (config), NULL);
|
||||
g_return_val_if_fail (pika_procedure_config_get_procedure (config) == procedure, NULL);
|
||||
|
||||
args = pika_procedure_new_arguments (procedure);
|
||||
_pika_procedure_config_get_values (config, args);
|
||||
|
||||
return_vals = _pika_procedure_run_array (procedure, args);
|
||||
|
||||
pika_value_array_unref (args);
|
||||
|
||||
return return_vals;
|
||||
}
|
||||
|
||||
PikaValueArray *
|
||||
_pika_procedure_run_array (PikaProcedure *procedure,
|
||||
PikaValueArray *args)
|
||||
{
|
||||
PikaValueArray *return_vals;
|
||||
GError *error = NULL;
|
||||
@ -1857,8 +1985,6 @@ pika_procedure_run (PikaProcedure *procedure,
|
||||
return_vals = pika_procedure_new_return_values (procedure,
|
||||
PIKA_PDB_CALLING_ERROR,
|
||||
error);
|
||||
g_clear_error (&error);
|
||||
|
||||
return return_vals;
|
||||
}
|
||||
|
||||
@ -1931,7 +2057,6 @@ pika_procedure_run (PikaProcedure *procedure,
|
||||
return_vals = pika_procedure_new_return_values (procedure,
|
||||
PIKA_PDB_EXECUTION_ERROR,
|
||||
error);
|
||||
g_clear_error (&error);
|
||||
}
|
||||
|
||||
return return_vals;
|
||||
@ -1993,6 +2118,43 @@ pika_procedure_create_config (PikaProcedure *procedure)
|
||||
|
||||
/* private functions */
|
||||
|
||||
/**
|
||||
* pika_procedure_new_arguments:
|
||||
* @procedure: the #PikaProcedure.
|
||||
*
|
||||
* Format the expected argument values of procedures, in the order as
|
||||
* added with [method@Procedure.add_argument].
|
||||
*
|
||||
* Returns: (transfer full): the expected #PikaValueArray which could be given as
|
||||
* arguments to run @procedure, with all values set to
|
||||
* defaults. Free with pika_value_array_unref().
|
||||
*
|
||||
* Since: 3.0
|
||||
**/
|
||||
static PikaValueArray *
|
||||
pika_procedure_new_arguments (PikaProcedure *procedure)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
GValue value = G_VALUE_INIT;
|
||||
gint i;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PROCEDURE (procedure), NULL);
|
||||
|
||||
args = pika_value_array_new (procedure->priv->n_args);
|
||||
|
||||
for (i = 0; i < procedure->priv->n_args; i++)
|
||||
{
|
||||
GParamSpec *pspec = procedure->priv->args[i];
|
||||
|
||||
g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec));
|
||||
g_param_value_set_default (pspec, &value);
|
||||
pika_value_array_append (args, &value);
|
||||
g_value_unset (&value);
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
pika_procedure_validate_args (PikaProcedure *procedure,
|
||||
GParamSpec **param_specs,
|
||||
|
@ -38,7 +38,7 @@ G_BEGIN_DECLS
|
||||
/**
|
||||
* PikaRunFunc:
|
||||
* @procedure: the #PikaProcedure that runs.
|
||||
* @args: the @procedure's arguments.
|
||||
* @config: the @procedure's arguments in a config object.
|
||||
* @run_data: (closure): the run_data given in pika_procedure_new().
|
||||
*
|
||||
* The run function is run during the lifetime of the PIKA session,
|
||||
@ -48,9 +48,9 @@ G_BEGIN_DECLS
|
||||
*
|
||||
* Since: 3.0
|
||||
**/
|
||||
typedef PikaValueArray * (* PikaRunFunc) (PikaProcedure *procedure,
|
||||
const PikaValueArray *args,
|
||||
gpointer run_data);
|
||||
typedef PikaValueArray * (* PikaRunFunc) (PikaProcedure *procedure,
|
||||
PikaProcedureConfig *config,
|
||||
gpointer run_data);
|
||||
|
||||
|
||||
/**
|
||||
@ -76,6 +76,7 @@ typedef enum
|
||||
#define PIKA_IS_PROCEDURE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PIKA_TYPE_PROCEDURE))
|
||||
#define PIKA_PROCEDURE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PIKA_TYPE_PROCEDURE, PikaProcedureClass))
|
||||
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PikaProcedure, g_object_unref);
|
||||
|
||||
typedef struct _PikaProcedureClass PikaProcedureClass;
|
||||
typedef struct _PikaProcedurePrivate PikaProcedurePrivate;
|
||||
@ -233,13 +234,18 @@ void pika_procedure_set_argument_sync (PikaProcedure *proced
|
||||
PikaArgumentSync pika_procedure_get_argument_sync (PikaProcedure *procedure,
|
||||
const gchar *arg_name);
|
||||
|
||||
PikaValueArray * pika_procedure_new_arguments (PikaProcedure *procedure);
|
||||
PikaValueArray * pika_procedure_new_return_values (PikaProcedure *procedure,
|
||||
PikaPDBStatusType status,
|
||||
GError *error);
|
||||
|
||||
PikaValueArray * pika_procedure_run (PikaProcedure *procedure,
|
||||
PikaValueArray *args);
|
||||
const gchar *first_arg_name,
|
||||
...) G_GNUC_NULL_TERMINATED;
|
||||
PikaValueArray * pika_procedure_run_valist (PikaProcedure *procedure,
|
||||
const gchar *first_arg_name,
|
||||
va_list args);
|
||||
PikaValueArray * pika_procedure_run_config (PikaProcedure *procedure,
|
||||
PikaProcedureConfig *config);
|
||||
|
||||
void pika_procedure_extension_ready (PikaProcedure *procedure);
|
||||
|
||||
@ -247,6 +253,12 @@ PikaProcedureConfig *
|
||||
pika_procedure_create_config (PikaProcedure *procedure);
|
||||
|
||||
|
||||
/* Internal use */
|
||||
|
||||
G_GNUC_INTERNAL PikaValueArray * _pika_procedure_run_array (PikaProcedure *procedure,
|
||||
PikaValueArray *args);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __PIKA_PROCEDURE_H__ */
|
||||
|
@ -22,7 +22,35 @@
|
||||
#ifndef __PIKA_PROCEDURE_CONFIG_PRIVATE_H__
|
||||
#define __PIKA_PROCEDURE_CONFIG_PRIVATE_H__
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
||||
void _pika_procedure_config_get_values (PikaProcedureConfig *config,
|
||||
PikaValueArray *values);
|
||||
|
||||
void _pika_procedure_config_begin_run (PikaProcedureConfig *config,
|
||||
PikaImage *image,
|
||||
PikaRunMode run_mode,
|
||||
const PikaValueArray *args);
|
||||
void _pika_procedure_config_end_run (PikaProcedureConfig *config,
|
||||
PikaPDBStatusType status);
|
||||
|
||||
PikaMetadata *
|
||||
_pika_procedure_config_begin_export (PikaProcedureConfig *config,
|
||||
PikaImage *original_image,
|
||||
PikaRunMode run_mode,
|
||||
const PikaValueArray *args,
|
||||
const gchar *mime_type);
|
||||
void _pika_procedure_config_end_export (PikaProcedureConfig *config,
|
||||
PikaImage *exported_image,
|
||||
GFile *file,
|
||||
PikaPDBStatusType status);
|
||||
|
||||
|
||||
/* These 3 functions are not marked internal because they are used in libpikaui.
|
||||
* The headers is not installed so these functions should be considered not
|
||||
* existing. Yet they are still exported in the library.
|
||||
*/
|
||||
gboolean pika_procedure_config_has_default (PikaProcedureConfig *config);
|
||||
|
||||
gboolean pika_procedure_config_load_default (PikaProcedureConfig *config,
|
||||
@ -30,17 +58,7 @@ gboolean pika_procedure_config_load_default (PikaProcedureConfig *config,
|
||||
gboolean pika_procedure_config_save_default (PikaProcedureConfig *config,
|
||||
GError **error);
|
||||
|
||||
gboolean pika_procedure_config_load_last (PikaProcedureConfig *config,
|
||||
GError **error);
|
||||
gboolean pika_procedure_config_save_last (PikaProcedureConfig *config,
|
||||
GError **error);
|
||||
|
||||
gboolean pika_procedure_config_load_parasite (PikaProcedureConfig *config,
|
||||
PikaImage *image,
|
||||
GError **error);
|
||||
gboolean pika_procedure_config_save_parasite (PikaProcedureConfig *config,
|
||||
PikaImage *image,
|
||||
GError **error);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __PIKA_PROCEDURE_CONFIG_PRIVATE_H__ */
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -70,34 +70,18 @@ GType pika_procedure_config_get_type (void) G_GNUC_CONST;
|
||||
PikaProcedure *
|
||||
pika_procedure_config_get_procedure (PikaProcedureConfig *config);
|
||||
|
||||
void pika_procedure_config_set_values (PikaProcedureConfig *config,
|
||||
const PikaValueArray *values);
|
||||
void pika_procedure_config_get_values (PikaProcedureConfig *config,
|
||||
PikaValueArray *values);
|
||||
|
||||
void pika_procedure_config_begin_run (PikaProcedureConfig *config,
|
||||
PikaImage *image,
|
||||
PikaRunMode run_mode,
|
||||
const PikaValueArray *args);
|
||||
void pika_procedure_config_end_run (PikaProcedureConfig *config,
|
||||
PikaPDBStatusType status);
|
||||
|
||||
PikaMetadata *
|
||||
pika_procedure_config_begin_export (PikaProcedureConfig *config,
|
||||
PikaImage *original_image,
|
||||
PikaRunMode run_mode,
|
||||
const PikaValueArray *args,
|
||||
const gchar *mime_type);
|
||||
void pika_procedure_config_end_export (PikaProcedureConfig *config,
|
||||
PikaImage *exported_image,
|
||||
GFile *file,
|
||||
PikaPDBStatusType status);
|
||||
|
||||
void pika_procedure_config_save_metadata (PikaProcedureConfig *config,
|
||||
PikaImage *exported_image,
|
||||
GFile *file);
|
||||
|
||||
|
||||
/* Utility functions */
|
||||
|
||||
gint pika_procedure_config_get_choice_id (PikaProcedureConfig *config,
|
||||
const gchar *property_name);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __PIKA_PROCEDURE_CONFIG_H__ */
|
||||
|
@ -30,9 +30,10 @@
|
||||
|
||||
#include "libpikawidgets/pikawidgets.h"
|
||||
|
||||
#include "libpika/pikapropchooser-private.h"
|
||||
#include "libpika/pikapropwidgets.h"
|
||||
|
||||
#include "pika.h"
|
||||
#include "pikapropwidgets.h"
|
||||
#include "pikaui.h"
|
||||
|
||||
#include "pikaprocedureconfig-private.h"
|
||||
@ -61,6 +62,7 @@ struct _PikaProcedureDialogPrivate
|
||||
PikaProcedureConfig *config;
|
||||
PikaProcedureConfig *initial_config;
|
||||
|
||||
GtkWidget *ok_button;
|
||||
GtkWidget *reset_popover;
|
||||
GtkWidget *load_settings_button;
|
||||
|
||||
@ -81,6 +83,15 @@ typedef struct PikaProcedureDialogSensitiveData
|
||||
gboolean config_invert;
|
||||
} PikaProcedureDialogSensitiveData;
|
||||
|
||||
typedef struct PikaProcedureDialogSensitiveData2
|
||||
{
|
||||
PikaProcedureDialog *dialog;
|
||||
gchar *widget_property;
|
||||
|
||||
PikaValueArray *values;
|
||||
gboolean in_values;
|
||||
} PikaProcedureDialogSensitiveData2;
|
||||
|
||||
|
||||
static GObject * pika_procedure_dialog_constructor (GType type,
|
||||
guint n_construct_properties,
|
||||
@ -120,7 +131,11 @@ static GtkWidget *
|
||||
GtkContainer *container,
|
||||
GList *properties);
|
||||
|
||||
static void pika_procedure_dialog_sensitive_data_free (PikaProcedureDialogSensitiveData *data);
|
||||
static void pika_procedure_dialog_set_sensitive_if_in_cb (GObject *config,
|
||||
GParamSpec *param_spec,
|
||||
PikaProcedureDialogSensitiveData2 *data);
|
||||
static void pika_procedure_dialog_sensitive_data_free (PikaProcedureDialogSensitiveData *data);
|
||||
static void pika_procedure_dialog_sensitive_cb_data_free (PikaProcedureDialogSensitiveData2 *data);
|
||||
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (PikaProcedureDialog, pika_procedure_dialog,
|
||||
@ -195,9 +210,13 @@ pika_procedure_dialog_constructor (GType type,
|
||||
gboolean use_header_bar_edited = FALSE;
|
||||
gboolean help_func_edited = FALSE;
|
||||
|
||||
g_object_get (gtk_settings_get_default (),
|
||||
"gtk-dialogs-use-header", &use_header_bar,
|
||||
NULL);
|
||||
if (gtk_settings_get_default () != NULL)
|
||||
g_object_get (gtk_settings_get_default (),
|
||||
"gtk-dialogs-use-header", &use_header_bar,
|
||||
NULL);
|
||||
else
|
||||
g_warning ("%s: no default screen. Did you call pika_ui_init()?", G_STRFUNC);
|
||||
|
||||
|
||||
for (guint i = 0; i < n_construct_properties; i++)
|
||||
{
|
||||
@ -310,6 +329,7 @@ pika_procedure_dialog_constructed (GObject *object)
|
||||
pika_procedure_dialog_check_mnemonic (PIKA_PROCEDURE_DIALOG (dialog), button, NULL, "cancel");
|
||||
button = pika_dialog_add_button (PIKA_DIALOG (dialog),
|
||||
ok_label, GTK_RESPONSE_OK);
|
||||
dialog->priv->ok_button = button;
|
||||
pika_procedure_dialog_check_mnemonic (PIKA_PROCEDURE_DIALOG (dialog), button, NULL, "ok");
|
||||
/* OK button is the default action and has focus from start.
|
||||
* This allows to just accept quickly whatever default values.
|
||||
@ -487,11 +507,6 @@ pika_procedure_dialog_real_fill_list (PikaProcedureDialog *dialog,
|
||||
widget = pika_procedure_dialog_get_widget (dialog, iter->data, G_TYPE_NONE);
|
||||
if (widget)
|
||||
{
|
||||
/* Reference the widget because the hash table will
|
||||
* unreference it anyway when getting destroyed so we don't
|
||||
* want to give the only reference to the parent widget.
|
||||
*/
|
||||
g_object_ref (widget);
|
||||
gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0);
|
||||
gtk_widget_show (widget);
|
||||
}
|
||||
@ -537,6 +552,34 @@ pika_procedure_dialog_new (PikaProcedure *procedure,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_dialog_set_ok_label:
|
||||
* @dialog: the associated #PikaProcedureDialog.
|
||||
* @ok_label: a label to replace the OK button's text.
|
||||
*
|
||||
* Changes the "OK" button's label of @dialog to @ok_label.
|
||||
*/
|
||||
void
|
||||
pika_procedure_dialog_set_ok_label (PikaProcedureDialog *dialog,
|
||||
const gchar *ok_label)
|
||||
{
|
||||
if (ok_label == NULL)
|
||||
{
|
||||
PikaProcedure *procedure = dialog->priv->procedure;
|
||||
|
||||
if (PIKA_IS_LOAD_PROCEDURE (procedure))
|
||||
ok_label = _("_Open");
|
||||
else if (PIKA_IS_SAVE_PROCEDURE (procedure))
|
||||
ok_label = _("_Export");
|
||||
else
|
||||
ok_label = _("_OK");
|
||||
}
|
||||
|
||||
gtk_button_set_label (GTK_BUTTON (dialog->priv->ok_button), ok_label);
|
||||
pika_procedure_dialog_check_mnemonic (PIKA_PROCEDURE_DIALOG (dialog),
|
||||
dialog->priv->ok_button, NULL, "ok");
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_dialog_get_widget:
|
||||
* @dialog: the associated #PikaProcedureDialog.
|
||||
@ -731,27 +774,40 @@ pika_procedure_dialog_get_widget (PikaProcedureDialog *dialog,
|
||||
property, NULL,
|
||||
GTK_FILE_CHOOSER_ACTION_OPEN);
|
||||
}
|
||||
else if (G_PARAM_SPEC_TYPE (pspec) == PIKA_TYPE_PARAM_CHOICE)
|
||||
{
|
||||
widget = pika_prop_choice_combo_box_new (G_OBJECT (dialog->priv->config), property);
|
||||
gtk_widget_set_vexpand (widget, FALSE);
|
||||
gtk_widget_set_hexpand (widget, TRUE);
|
||||
widget = pika_label_string_widget_new (g_param_spec_get_nick (pspec), widget);
|
||||
}
|
||||
/* PikaResource subclasses */
|
||||
/* FUTURE: title the chooser more specifically, with a prefix that is the nick of the property. */
|
||||
else if (G_IS_PARAM_SPEC_OBJECT (pspec) && pspec->value_type == PIKA_TYPE_BRUSH)
|
||||
{
|
||||
widget = pika_prop_chooser_brush_new (G_OBJECT (dialog->priv->config), property, _("Brush Chooser"));
|
||||
widget = pika_prop_brush_chooser_new (G_OBJECT (dialog->priv->config), property, _("Brush Chooser"));
|
||||
}
|
||||
else if (G_IS_PARAM_SPEC_OBJECT (pspec) && pspec->value_type == PIKA_TYPE_FONT)
|
||||
{
|
||||
widget = pika_prop_chooser_font_new (G_OBJECT (dialog->priv->config), property, _("Font Chooser"));
|
||||
widget = pika_prop_font_chooser_new (G_OBJECT (dialog->priv->config), property, _("Font Chooser"));
|
||||
}
|
||||
else if (G_IS_PARAM_SPEC_OBJECT (pspec) && pspec->value_type == PIKA_TYPE_GRADIENT)
|
||||
{
|
||||
widget = pika_prop_chooser_gradient_new (G_OBJECT (dialog->priv->config), property, _("Gradient Chooser"));
|
||||
widget = pika_prop_gradient_chooser_new (G_OBJECT (dialog->priv->config), property, _("Gradient Chooser"));
|
||||
}
|
||||
else if (G_IS_PARAM_SPEC_OBJECT (pspec) && pspec->value_type == PIKA_TYPE_PALETTE)
|
||||
{
|
||||
widget = pika_prop_chooser_palette_new (G_OBJECT (dialog->priv->config), property, _("Palette Chooser"));
|
||||
widget = pika_prop_palette_chooser_new (G_OBJECT (dialog->priv->config), property, _("Palette Chooser"));
|
||||
}
|
||||
else if (G_IS_PARAM_SPEC_OBJECT (pspec) && pspec->value_type == PIKA_TYPE_PATTERN)
|
||||
{
|
||||
widget = pika_prop_chooser_pattern_new (G_OBJECT (dialog->priv->config), property, _("Pattern Chooser"));
|
||||
widget = pika_prop_pattern_chooser_new (G_OBJECT (dialog->priv->config), property, _("Pattern Chooser"));
|
||||
}
|
||||
else if (G_IS_PARAM_SPEC_OBJECT (pspec) && (pspec->value_type == PIKA_TYPE_DRAWABLE ||
|
||||
pspec->value_type == PIKA_TYPE_LAYER ||
|
||||
pspec->value_type == PIKA_TYPE_CHANNEL))
|
||||
{
|
||||
widget = pika_prop_drawable_chooser_new (G_OBJECT (dialog->priv->config), property, NULL);
|
||||
}
|
||||
else if (G_PARAM_SPEC_TYPE (pspec) == G_TYPE_PARAM_ENUM)
|
||||
{
|
||||
@ -786,15 +842,21 @@ pika_procedure_dialog_get_widget (PikaProcedureDialog *dialog,
|
||||
else
|
||||
{
|
||||
const gchar *tooltip = g_param_spec_get_blurb (pspec);
|
||||
|
||||
if (tooltip)
|
||||
pika_help_set_help_data (widget, tooltip, NULL);
|
||||
if (PIKA_IS_LABELED (widget) || label)
|
||||
{
|
||||
if (! label)
|
||||
label = pika_labeled_get_label (PIKA_LABELED (widget));
|
||||
|
||||
gtk_size_group_add_widget (dialog->priv->label_group, label);
|
||||
if (label == NULL)
|
||||
{
|
||||
if (PIKA_IS_LABELED (widget))
|
||||
label = pika_labeled_get_label (PIKA_LABELED (widget));
|
||||
else if (PIKA_IS_RESOURCE_CHOOSER (widget))
|
||||
label = pika_resource_chooser_get_label (PIKA_RESOURCE_CHOOSER (widget));
|
||||
else if (PIKA_IS_DRAWABLE_CHOOSER (widget))
|
||||
label = pika_drawable_chooser_get_label (PIKA_DRAWABLE_CHOOSER (widget));
|
||||
}
|
||||
if (label != NULL)
|
||||
gtk_size_group_add_widget (dialog->priv->label_group, label);
|
||||
}
|
||||
|
||||
if ((binding = g_hash_table_lookup (dialog->priv->sensitive_data, property)))
|
||||
@ -1317,17 +1379,23 @@ pika_procedure_dialog_get_size_entry (PikaProcedureDialog *dialog,
|
||||
|
||||
/**
|
||||
* pika_procedure_dialog_get_label:
|
||||
* @dialog: the #PikaProcedureDialog.
|
||||
* @label_id: the label for the #GtkLabel.
|
||||
* @text: the text for the label.
|
||||
* @dialog: the #PikaProcedureDialog.
|
||||
* @label_id: the label for the #GtkLabel.
|
||||
* @text: the text for the label.
|
||||
* @is_markup: whether @text is formatted with Pango markup.
|
||||
* @with_mnemonic: whether @text contains a mnemonic character.
|
||||
*
|
||||
* Creates a new #GtkLabel with @text. It can be useful for packing
|
||||
* textual information in between property settings.
|
||||
*
|
||||
* The @label_id must be a unique ID which is neither the name of a
|
||||
* property of the #PikaProcedureConfig associated to @dialog, nor is it
|
||||
* the ID of any previously created label or container. This ID can
|
||||
* later be used together with property names to be packed in other
|
||||
* If @label_id is an existing string property of the #PikaProcedureConfig
|
||||
* associated to @dialog, then it will sync to the property value. In this case,
|
||||
* @text should be %NULL.
|
||||
*
|
||||
* If @label_id is a unique ID which is neither the name of a property of the
|
||||
* #PikaProcedureConfig associated to @dialog, nor is it the ID of any
|
||||
* previously created label or container, it will be initialized to @text. This
|
||||
* ID can later be used together with property names to be packed in other
|
||||
* containers or inside @dialog itself.
|
||||
*
|
||||
* Returns: (transfer none): the #GtkWidget representing @label_id. The
|
||||
@ -1337,16 +1405,21 @@ pika_procedure_dialog_get_size_entry (PikaProcedureDialog *dialog,
|
||||
GtkWidget *
|
||||
pika_procedure_dialog_get_label (PikaProcedureDialog *dialog,
|
||||
const gchar *label_id,
|
||||
const gchar *text)
|
||||
const gchar *text,
|
||||
gboolean is_markup,
|
||||
gboolean with_mnemonic)
|
||||
{
|
||||
GtkWidget *label;
|
||||
GtkWidget *label;
|
||||
GParamSpec *pspec;
|
||||
|
||||
g_return_val_if_fail (label_id != NULL, NULL);
|
||||
|
||||
if (g_object_class_find_property (G_OBJECT_GET_CLASS (dialog->priv->config),
|
||||
label_id))
|
||||
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (dialog->priv->config),
|
||||
label_id);
|
||||
if (pspec != NULL && G_PARAM_SPEC_TYPE (pspec) != G_TYPE_PARAM_STRING)
|
||||
{
|
||||
g_warning ("%s: label identifier '%s' cannot be an existing property name.",
|
||||
g_warning ("%s: label identifier '%s' must either not already exist or "
|
||||
"be an existing string property.",
|
||||
G_STRFUNC, label_id);
|
||||
return NULL;
|
||||
}
|
||||
@ -1358,7 +1431,18 @@ pika_procedure_dialog_get_label (PikaProcedureDialog *dialog,
|
||||
return label;
|
||||
}
|
||||
|
||||
label = gtk_label_new (text);
|
||||
label = gtk_label_new (NULL);
|
||||
g_object_set (label,
|
||||
"use-markup", is_markup,
|
||||
"use-underline", with_mnemonic,
|
||||
NULL);
|
||||
if (pspec != NULL)
|
||||
g_object_bind_property (dialog->priv->config, label_id,
|
||||
label, "label",
|
||||
G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
|
||||
else
|
||||
g_object_set (label, "label", text, NULL);
|
||||
|
||||
g_hash_table_insert (dialog->priv->widgets, g_strdup (label_id), label);
|
||||
if (g_object_is_floating (label))
|
||||
g_object_ref_sink (label);
|
||||
@ -1539,6 +1623,8 @@ pika_procedure_dialog_fill_list (PikaProcedureDialog *dialog,
|
||||
|
||||
if (properties)
|
||||
free_properties = TRUE;
|
||||
|
||||
g_free (pspecs);
|
||||
}
|
||||
|
||||
PIKA_PROCEDURE_DIALOG_GET_CLASS (dialog)->fill_list (dialog,
|
||||
@ -1800,7 +1886,6 @@ pika_procedure_dialog_fill_frame (PikaProcedureDialog *dialog,
|
||||
return frame;
|
||||
}
|
||||
|
||||
g_object_ref (contents);
|
||||
gtk_container_add (GTK_CONTAINER (frame), contents);
|
||||
gtk_widget_show (contents);
|
||||
}
|
||||
@ -1815,7 +1900,6 @@ pika_procedure_dialog_fill_frame (PikaProcedureDialog *dialog,
|
||||
return frame;
|
||||
}
|
||||
|
||||
g_object_ref (title);
|
||||
gtk_frame_set_label_widget (GTK_FRAME (frame), title);
|
||||
gtk_widget_show (title);
|
||||
|
||||
@ -1905,7 +1989,6 @@ pika_procedure_dialog_fill_expander (PikaProcedureDialog *dialog,
|
||||
return expander;
|
||||
}
|
||||
|
||||
g_object_ref (contents);
|
||||
gtk_container_add (GTK_CONTAINER (expander), contents);
|
||||
gtk_widget_show (contents);
|
||||
}
|
||||
@ -1920,7 +2003,6 @@ pika_procedure_dialog_fill_expander (PikaProcedureDialog *dialog,
|
||||
return expander;
|
||||
}
|
||||
|
||||
g_object_ref (title);
|
||||
gtk_expander_set_label_widget (GTK_EXPANDER (expander), title);
|
||||
gtk_expander_set_resize_toplevel (GTK_EXPANDER (expander), TRUE);
|
||||
gtk_widget_show (title);
|
||||
@ -2002,6 +2084,212 @@ pika_procedure_dialog_fill_scrolled_window (PikaProcedureDialog *dialog,
|
||||
return scrolled_window;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_dialog_fill_notebook:
|
||||
* @dialog: the #PikaProcedureDialog.
|
||||
* @container_id: a container identifier.
|
||||
* @label_id: the first page's label.
|
||||
* @page_id: the first page's contents.
|
||||
* @...: a %NULL-terminated list of other property names.
|
||||
*
|
||||
* Creates and populates a new #GtkNotebook with widgets corresponding to every
|
||||
* listed properties.
|
||||
* This is similar of how pika_procedure_dialog_fill() works except that it
|
||||
* creates a new widget which is not inside @dialog itself.
|
||||
*
|
||||
* The @container_id must be a unique ID which is neither the name of a
|
||||
* property of the #PikaProcedureConfig associated to @dialog, nor is it
|
||||
* the ID of any previously created container. This ID can later be used
|
||||
* together with property names to be packed in other containers or
|
||||
* inside @dialog itself.
|
||||
*
|
||||
* Returns: (transfer none): the #GtkNotebook representing @property. The
|
||||
* object belongs to @dialog and must not be
|
||||
* freed.
|
||||
*/
|
||||
GtkWidget *
|
||||
pika_procedure_dialog_fill_notebook (PikaProcedureDialog *dialog,
|
||||
const gchar *container_id,
|
||||
const gchar *label_id,
|
||||
const gchar *page_id,
|
||||
...)
|
||||
{
|
||||
GtkWidget *notebook;
|
||||
GList *label_list = NULL;
|
||||
GList *page_list = NULL;
|
||||
va_list va_args;
|
||||
|
||||
g_return_val_if_fail (PIKA_IS_PROCEDURE_DIALOG (dialog), NULL);
|
||||
g_return_val_if_fail (container_id != NULL, NULL);
|
||||
g_return_val_if_fail (label_id != NULL && page_id != NULL, NULL);
|
||||
|
||||
va_start (va_args, page_id);
|
||||
|
||||
do
|
||||
{
|
||||
label_list = g_list_prepend (label_list, (gpointer) label_id);
|
||||
page_list = g_list_prepend (page_list, (gpointer) page_id);
|
||||
|
||||
label_id = va_arg (va_args, const gchar *);
|
||||
page_id = va_arg (va_args, const gchar *);
|
||||
}
|
||||
while (label_id != NULL && page_id != NULL);
|
||||
|
||||
va_end (va_args);
|
||||
|
||||
label_list = g_list_reverse (label_list);
|
||||
page_list = g_list_reverse (page_list);
|
||||
notebook = pika_procedure_dialog_fill_notebook_list (dialog, container_id, label_list, page_list);
|
||||
g_list_free (label_list);
|
||||
g_list_free (page_list);
|
||||
|
||||
return notebook;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_dialog_fill_notebook_list: (rename-to pika_procedure_dialog_fill_notebook)
|
||||
* @dialog: the #PikaProcedureDialog.
|
||||
* @container_id: a container identifier.
|
||||
* @label_list: (not nullable) (element-type gchar*): the list of label IDs.
|
||||
* @page_list: (not nullable) (element-type gchar*): the list of page IDs.
|
||||
*
|
||||
* Creates and populates a new #GtkNotebook with widgets corresponding to every
|
||||
* listed properties.
|
||||
* This is similar of how pika_procedure_dialog_fill_list() works except that it
|
||||
* creates a new widget which is not inside @dialog itself.
|
||||
*
|
||||
* The @container_id must be a unique ID which is neither the name of a
|
||||
* property of the #PikaProcedureConfig associated to @dialog, nor is it
|
||||
* the ID of any previously created container. This ID can later be used
|
||||
* together with property names to be packed in other containers or
|
||||
* inside @dialog itself.
|
||||
*
|
||||
* Returns: (transfer none): the #GtkNotebook representing @property. The
|
||||
* object belongs to @dialog and must not be
|
||||
* freed.
|
||||
*/
|
||||
GtkWidget *
|
||||
pika_procedure_dialog_fill_notebook_list (PikaProcedureDialog *dialog,
|
||||
const gchar *container_id,
|
||||
GList *label_list,
|
||||
GList *page_list)
|
||||
{
|
||||
GtkWidget *notebook;
|
||||
GList *iter_label = label_list;
|
||||
GList *iter_page = page_list;
|
||||
|
||||
g_return_val_if_fail (container_id != NULL, NULL);
|
||||
g_return_val_if_fail (g_list_length (label_list) > 0 &&
|
||||
g_list_length (label_list) == g_list_length (page_list), NULL);
|
||||
|
||||
if (g_object_class_find_property (G_OBJECT_GET_CLASS (dialog->priv->config),
|
||||
container_id))
|
||||
{
|
||||
g_warning ("%s: container identifier '%s' cannot be an existing property name.",
|
||||
G_STRFUNC, container_id);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (g_hash_table_lookup (dialog->priv->widgets, container_id))
|
||||
{
|
||||
g_warning ("%s: container identifier '%s' was already configured.",
|
||||
G_STRFUNC, container_id);
|
||||
return g_hash_table_lookup (dialog->priv->widgets, container_id);
|
||||
}
|
||||
|
||||
notebook = gtk_notebook_new ();
|
||||
g_object_ref_sink (notebook);
|
||||
|
||||
for (; iter_label; iter_label = iter_label->next, iter_page = iter_page->next)
|
||||
{
|
||||
GtkWidget *label;
|
||||
GtkWidget *page;
|
||||
|
||||
label = pika_procedure_dialog_get_widget (dialog, iter_label->data, G_TYPE_NONE);
|
||||
page = pika_procedure_dialog_get_widget (dialog, iter_page->data, G_TYPE_NONE);
|
||||
if (label != NULL && page != NULL)
|
||||
{
|
||||
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, label);
|
||||
gtk_widget_show (label);
|
||||
gtk_widget_show (page);
|
||||
}
|
||||
}
|
||||
|
||||
g_hash_table_insert (dialog->priv->widgets, g_strdup (container_id), notebook);
|
||||
|
||||
return notebook;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_dialog_fill_paned:
|
||||
* @dialog: the #PikaProcedureDialog.
|
||||
* @container_id: a container identifier.
|
||||
* @child1_id: (nullable): the first child's ID.
|
||||
* @child2_id: (nullable): the second child's ID.
|
||||
*
|
||||
* Creates and populates a new #GtkPaned containing widgets corresponding to
|
||||
* @child1_id and @child2_id.
|
||||
* This is similar of how pika_procedure_dialog_fill() works except that it
|
||||
* creates a new widget which is not inside @dialog itself.
|
||||
*
|
||||
* The @container_id must be a unique ID which is neither the name of a
|
||||
* property of the #PikaProcedureConfig associated to @dialog, nor is it
|
||||
* the ID of any previously created container. This ID can later be used
|
||||
* together with property names to be packed in other containers or
|
||||
* inside @dialog itself.
|
||||
*
|
||||
* Returns: (transfer none): the #GtkPaned representing @property. The
|
||||
* object belongs to @dialog and must not be
|
||||
* freed.
|
||||
*/
|
||||
GtkWidget *
|
||||
pika_procedure_dialog_fill_paned (PikaProcedureDialog *dialog,
|
||||
const gchar *container_id,
|
||||
GtkOrientation orientation,
|
||||
const gchar *child1_id,
|
||||
const gchar *child2_id)
|
||||
{
|
||||
GtkWidget *paned;
|
||||
GtkWidget *child1;
|
||||
GtkWidget *child2;
|
||||
|
||||
g_return_val_if_fail (container_id != NULL, NULL);
|
||||
|
||||
if (g_object_class_find_property (G_OBJECT_GET_CLASS (dialog->priv->config),
|
||||
container_id))
|
||||
{
|
||||
g_warning ("%s: container identifier '%s' cannot be an existing property name.",
|
||||
G_STRFUNC, container_id);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (g_hash_table_lookup (dialog->priv->widgets, container_id))
|
||||
{
|
||||
g_warning ("%s: container identifier '%s' was already configured.",
|
||||
G_STRFUNC, container_id);
|
||||
return g_hash_table_lookup (dialog->priv->widgets, container_id);
|
||||
}
|
||||
|
||||
paned = gtk_paned_new (orientation);
|
||||
g_object_ref_sink (paned);
|
||||
|
||||
if (child1_id != NULL)
|
||||
{
|
||||
child1 = pika_procedure_dialog_get_widget (dialog, child1_id, G_TYPE_NONE);
|
||||
gtk_paned_pack1 (GTK_PANED (paned), child1, TRUE, FALSE);
|
||||
gtk_widget_show (child1);
|
||||
}
|
||||
if (child2_id != NULL)
|
||||
{
|
||||
child2 = pika_procedure_dialog_get_widget (dialog, child2_id, G_TYPE_NONE);
|
||||
gtk_paned_pack2 (GTK_PANED (paned), child2, TRUE, FALSE);
|
||||
gtk_widget_show (child2);
|
||||
}
|
||||
|
||||
g_hash_table_insert (dialog->priv->widgets, g_strdup (container_id), paned);
|
||||
|
||||
return paned;
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_dialog_set_sensitive:
|
||||
@ -2093,6 +2381,82 @@ pika_procedure_dialog_set_sensitive (PikaProcedureDialog *dialog,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_dialog_set_sensitive_if_in:
|
||||
* @dialog: the #PikaProcedureDialog.
|
||||
* @property: name of a property of the #PikaProcedure @dialog
|
||||
* has been created for.
|
||||
* @config: (nullable): an optional config object (if %NULL,
|
||||
* @property's config will be used).
|
||||
* @config_property: name of a property of @config.
|
||||
* @values: (not nullable) (transfer full):
|
||||
* an array of GValues which could be values of @config_property.
|
||||
* @in_values: whether @property should be sensitive when @config_property
|
||||
* is one of @values, or the opposite.
|
||||
*
|
||||
* Sets sensitivity of the widget associated to @property in @dialog if the
|
||||
* value of @config_property in @config is equal to one of @values.
|
||||
*
|
||||
* If @config is %NULL, then the configuration object of @dialog is used.
|
||||
*
|
||||
* If @in_values is FALSE, then the widget is set sensitive if the value of
|
||||
* @config_property is **not** in @values.
|
||||
*/
|
||||
void
|
||||
pika_procedure_dialog_set_sensitive_if_in (PikaProcedureDialog *dialog,
|
||||
const gchar *property,
|
||||
GObject *config,
|
||||
const gchar *config_property,
|
||||
PikaValueArray *values,
|
||||
gboolean in_values)
|
||||
{
|
||||
PikaProcedureDialogSensitiveData2 *data;
|
||||
GParamSpec *pspec;
|
||||
gchar *signal_name;
|
||||
|
||||
g_return_if_fail (PIKA_IS_PROCEDURE_DIALOG (dialog));
|
||||
g_return_if_fail (property != NULL);
|
||||
g_return_if_fail (config_property != NULL);
|
||||
g_return_if_fail (values != NULL);
|
||||
|
||||
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (dialog->priv->config),
|
||||
property);
|
||||
if (! pspec)
|
||||
{
|
||||
g_warning ("%s: parameter %s does not exist on the PikaProcedure.",
|
||||
G_STRFUNC, property);
|
||||
return;
|
||||
}
|
||||
|
||||
if (! config)
|
||||
config = G_OBJECT (dialog->priv->config);
|
||||
|
||||
pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (config),
|
||||
config_property);
|
||||
if (! pspec)
|
||||
{
|
||||
g_warning ("%s: parameter %s does not exist on the config object.",
|
||||
G_STRFUNC, config_property);
|
||||
return;
|
||||
}
|
||||
|
||||
data = g_new (PikaProcedureDialogSensitiveData2, 1);
|
||||
data->dialog = dialog;
|
||||
data->widget_property = g_strdup (property);
|
||||
data->values = values;
|
||||
data->in_values = in_values;
|
||||
|
||||
signal_name = g_strconcat ("notify::", config_property, NULL);
|
||||
|
||||
g_signal_connect_data (config, signal_name,
|
||||
G_CALLBACK (pika_procedure_dialog_set_sensitive_if_in_cb),
|
||||
data,
|
||||
(GClosureNotify) pika_procedure_dialog_sensitive_cb_data_free,
|
||||
0);
|
||||
pika_procedure_dialog_set_sensitive_if_in_cb (config, pspec, data);
|
||||
g_free (signal_name);
|
||||
}
|
||||
|
||||
/**
|
||||
* pika_procedure_dialog_run:
|
||||
* @dialog: the #PikaProcedureDialog.
|
||||
@ -2234,6 +2598,14 @@ pika_procedure_dialog_check_mnemonic (PikaProcedureDialog *dialog,
|
||||
{
|
||||
label = pika_labeled_get_label (PIKA_LABELED (widget));
|
||||
}
|
||||
else if (PIKA_IS_RESOURCE_CHOOSER (widget))
|
||||
{
|
||||
label = pika_resource_chooser_get_label (PIKA_RESOURCE_CHOOSER (widget));
|
||||
}
|
||||
else if (PIKA_IS_DRAWABLE_CHOOSER (widget))
|
||||
{
|
||||
label = pika_drawable_chooser_get_label (PIKA_DRAWABLE_CHOOSER (widget));
|
||||
}
|
||||
else
|
||||
{
|
||||
GList *labels = gtk_widget_list_mnemonic_labels (widget);
|
||||
@ -2374,6 +2746,8 @@ pika_procedure_dialog_fill_container_list (PikaProcedureDialog *dialog,
|
||||
|
||||
if (properties)
|
||||
free_properties = TRUE;
|
||||
|
||||
g_free (pspecs);
|
||||
}
|
||||
|
||||
sz_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
|
||||
@ -2384,11 +2758,6 @@ pika_procedure_dialog_fill_container_list (PikaProcedureDialog *dialog,
|
||||
widget = pika_procedure_dialog_get_widget (dialog, iter->data, G_TYPE_NONE);
|
||||
if (widget)
|
||||
{
|
||||
/* Reference the widget because the hash table will
|
||||
* unreference it anyway when getting destroyed so we don't
|
||||
* want to give the only reference to the parent widget.
|
||||
*/
|
||||
g_object_ref (widget);
|
||||
gtk_container_add (container, widget);
|
||||
if (PIKA_IS_LABELED (widget))
|
||||
{
|
||||
@ -2411,6 +2780,49 @@ pika_procedure_dialog_fill_container_list (PikaProcedureDialog *dialog,
|
||||
return GTK_WIDGET (container);
|
||||
}
|
||||
|
||||
static void
|
||||
pika_procedure_dialog_set_sensitive_if_in_cb (GObject *config,
|
||||
GParamSpec *param_spec,
|
||||
PikaProcedureDialogSensitiveData2 *data)
|
||||
{
|
||||
PikaProcedureDialog *dialog = data->dialog;
|
||||
GtkWidget *widget;
|
||||
|
||||
widget = g_hash_table_lookup (dialog->priv->widgets, data->widget_property);
|
||||
|
||||
if (widget)
|
||||
{
|
||||
GValue param_value = G_VALUE_INIT;
|
||||
gboolean sensitive;
|
||||
gint n_values = pika_value_array_length (data->values);
|
||||
|
||||
g_value_init (¶m_value, param_spec->value_type);
|
||||
g_object_get_property (config, param_spec->name, ¶m_value);
|
||||
|
||||
sensitive = (! data->in_values);
|
||||
for (gint i = 0; i < n_values; i++)
|
||||
{
|
||||
GValue *value;
|
||||
|
||||
value = pika_value_array_index (data->values, i);
|
||||
|
||||
if (g_param_values_cmp (param_spec, ¶m_value, value) == 0)
|
||||
{
|
||||
sensitive = data->in_values;
|
||||
break;
|
||||
}
|
||||
}
|
||||
gtk_widget_set_sensitive (widget, sensitive);
|
||||
g_value_unset (¶m_value);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_printerr ("pika_procedure_dialog_set_sensitive_if_in: "
|
||||
"no widget was created for property \"%s\".\n",
|
||||
data->widget_property);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
pika_procedure_dialog_sensitive_data_free (PikaProcedureDialogSensitiveData *data)
|
||||
{
|
||||
@ -2419,3 +2831,12 @@ pika_procedure_dialog_sensitive_data_free (PikaProcedureDialogSensitiveData *dat
|
||||
|
||||
g_slice_free (PikaProcedureDialogSensitiveData, data);
|
||||
}
|
||||
|
||||
static void
|
||||
pika_procedure_dialog_sensitive_cb_data_free (PikaProcedureDialogSensitiveData2 *data)
|
||||
{
|
||||
g_free (data->widget_property);
|
||||
pika_value_array_unref (data->values);
|
||||
|
||||
g_free (data);
|
||||
}
|
||||
|
@ -78,6 +78,8 @@ GType pika_procedure_dialog_get_type (void) G_GNUC_CONST;
|
||||
GtkWidget * pika_procedure_dialog_new (PikaProcedure *procedure,
|
||||
PikaProcedureConfig *config,
|
||||
const gchar *title);
|
||||
void pika_procedure_dialog_set_ok_label (PikaProcedureDialog *dialog,
|
||||
const gchar *ok_label);
|
||||
|
||||
GtkWidget * pika_procedure_dialog_get_widget (PikaProcedureDialog *dialog,
|
||||
const gchar *property,
|
||||
@ -108,7 +110,9 @@ GtkWidget * pika_procedure_dialog_get_size_entry (PikaProcedureDialog *dialog
|
||||
gdouble resolution);
|
||||
GtkWidget * pika_procedure_dialog_get_label (PikaProcedureDialog *dialog,
|
||||
const gchar *label_id,
|
||||
const gchar *text);
|
||||
const gchar *text,
|
||||
gboolean is_markup,
|
||||
gboolean with_mnemonic);
|
||||
GtkWidget * pika_procedure_dialog_get_file_chooser (PikaProcedureDialog *dialog,
|
||||
const gchar *property,
|
||||
GtkFileChooserAction action);
|
||||
@ -141,9 +145,26 @@ GtkWidget * pika_procedure_dialog_fill_expander (PikaProcedureDialog *dialog
|
||||
const gchar *contents_id);
|
||||
|
||||
GtkWidget * pika_procedure_dialog_fill_scrolled_window
|
||||
(PikaProcedureDialog *dialog,
|
||||
const gchar *container_id,
|
||||
const gchar *contents_id);
|
||||
(PikaProcedureDialog *dialog,
|
||||
const gchar *container_id,
|
||||
const gchar *contents_id);
|
||||
|
||||
GtkWidget * pika_procedure_dialog_fill_notebook (PikaProcedureDialog *dialog,
|
||||
const gchar *container_id,
|
||||
const gchar *label_id,
|
||||
const gchar *page_id,
|
||||
...) G_GNUC_NULL_TERMINATED;
|
||||
GtkWidget * pika_procedure_dialog_fill_notebook_list
|
||||
(PikaProcedureDialog *dialog,
|
||||
const gchar *container_id,
|
||||
GList *label_list,
|
||||
GList *page_list);
|
||||
|
||||
GtkWidget * pika_procedure_dialog_fill_paned (PikaProcedureDialog *dialog,
|
||||
const gchar *container_id,
|
||||
GtkOrientation orientation,
|
||||
const gchar *child1_id,
|
||||
const gchar *child2_id);
|
||||
|
||||
void pika_procedure_dialog_fill (PikaProcedureDialog *dialog,
|
||||
...) G_GNUC_NULL_TERMINATED;
|
||||
@ -157,6 +178,13 @@ void pika_procedure_dialog_set_sensitive (PikaProcedureDialog *dialog
|
||||
const gchar *config_property,
|
||||
gboolean config_invert);
|
||||
|
||||
void pika_procedure_dialog_set_sensitive_if_in (PikaProcedureDialog *dialog,
|
||||
const gchar *property,
|
||||
GObject *config,
|
||||
const gchar *config_property,
|
||||
PikaValueArray *values,
|
||||
gboolean in_values);
|
||||
|
||||
gboolean pika_procedure_dialog_run (PikaProcedureDialog *dialog);
|
||||
|
||||
|
||||
|
@ -365,6 +365,7 @@ pika_proc_view_create_args (PikaProcedure *procedure,
|
||||
|
||||
/* description */
|
||||
label = gtk_label_new (blurb);
|
||||
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
|
||||
gtk_label_set_selectable (GTK_LABEL (label), TRUE);
|
||||
gtk_label_set_xalign (GTK_LABEL (label), 0.0);
|
||||
gtk_label_set_yalign (GTK_LABEL (label), 0.0);
|
||||
|
@ -40,11 +40,11 @@ typedef struct
|
||||
|
||||
/* local function prototypes */
|
||||
|
||||
static void pika_progress_data_free (PikaProgressData *data);
|
||||
static void pika_progress_data_free (PikaProgressData *data);
|
||||
|
||||
static PikaValueArray * pika_temp_progress_run (PikaProcedure *procedure,
|
||||
const PikaValueArray *args,
|
||||
gpointer run_data);
|
||||
static PikaValueArray * pika_temp_progress_run (PikaProcedure *procedure,
|
||||
PikaProcedureConfig *config,
|
||||
gpointer run_data);
|
||||
|
||||
|
||||
/* private variables */
|
||||
@ -89,15 +89,15 @@ pika_progress_install_vtable (const PikaProgressVtable *vtable,
|
||||
|
||||
progress_data = g_slice_new0 (PikaProgressData);
|
||||
|
||||
progress_data->progress_callback = progress_callback;
|
||||
progress_data->vtable.start = vtable->start;
|
||||
progress_data->vtable.end = vtable->end;
|
||||
progress_data->vtable.set_text = vtable->set_text;
|
||||
progress_data->vtable.set_value = vtable->set_value;
|
||||
progress_data->vtable.pulse = vtable->pulse;
|
||||
progress_data->vtable.get_window = vtable->get_window;
|
||||
progress_data->data = user_data;
|
||||
progress_data->data_destroy = user_data_destroy;
|
||||
progress_data->progress_callback = progress_callback;
|
||||
progress_data->vtable.start = vtable->start;
|
||||
progress_data->vtable.end = vtable->end;
|
||||
progress_data->vtable.set_text = vtable->set_text;
|
||||
progress_data->vtable.set_value = vtable->set_value;
|
||||
progress_data->vtable.pulse = vtable->pulse;
|
||||
progress_data->vtable.get_window_handle = vtable->get_window_handle;
|
||||
progress_data->data = user_data;
|
||||
progress_data->data_destroy = user_data_destroy;
|
||||
|
||||
procedure = pika_procedure_new (plug_in,
|
||||
progress_callback,
|
||||
@ -340,18 +340,20 @@ pika_progress_data_free (PikaProgressData *data)
|
||||
}
|
||||
|
||||
static PikaValueArray *
|
||||
pika_temp_progress_run (PikaProcedure *procedure,
|
||||
const PikaValueArray *args,
|
||||
gpointer run_data)
|
||||
pika_temp_progress_run (PikaProcedure *procedure,
|
||||
PikaProcedureConfig *config,
|
||||
gpointer run_data)
|
||||
{
|
||||
PikaProgressData *progress_data = run_data;
|
||||
PikaProgressCommand command;
|
||||
const gchar *text;
|
||||
gchar *text;
|
||||
gdouble value;
|
||||
|
||||
command = PIKA_VALUES_GET_ENUM (args, 0);
|
||||
text = PIKA_VALUES_GET_STRING (args, 1);
|
||||
value = PIKA_VALUES_GET_DOUBLE (args, 2);
|
||||
g_object_get (config,
|
||||
"command", &command,
|
||||
"text", &text,
|
||||
"value", &value,
|
||||
NULL);
|
||||
|
||||
switch (command)
|
||||
{
|
||||
@ -382,25 +384,30 @@ pika_temp_progress_run (PikaProcedure *procedure,
|
||||
case PIKA_PROGRESS_COMMAND_GET_WINDOW:
|
||||
{
|
||||
PikaValueArray *return_vals;
|
||||
guint64 window_id = 0;
|
||||
GBytes *window_handle = NULL;
|
||||
|
||||
if (progress_data->vtable.get_window)
|
||||
window_id = progress_data->vtable.get_window (progress_data->data);
|
||||
if (progress_data->vtable.get_window_handle)
|
||||
window_handle = progress_data->vtable.get_window_handle (progress_data->data);
|
||||
|
||||
return_vals = pika_procedure_new_return_values (procedure,
|
||||
PIKA_PDB_SUCCESS,
|
||||
NULL);
|
||||
PIKA_VALUES_SET_DOUBLE (return_vals, 1, window_id);
|
||||
PIKA_VALUES_SET_BYTES (return_vals, 1, window_handle);
|
||||
g_bytes_unref (window_handle);
|
||||
g_free (text);
|
||||
|
||||
return return_vals;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
g_free (text);
|
||||
return pika_procedure_new_return_values (procedure,
|
||||
PIKA_PDB_CALLING_ERROR,
|
||||
NULL);
|
||||
}
|
||||
|
||||
g_free (text);
|
||||
|
||||
return pika_procedure_new_return_values (procedure, PIKA_PDB_SUCCESS, NULL);
|
||||
}
|
||||
|
@ -79,9 +79,9 @@ typedef void (* PikaProgressVtablePulseFunc) (gpointer user_data);
|
||||
* PikaProgressVtableGetWindowFunc:
|
||||
* @user_data: (closure): User data
|
||||
*
|
||||
* Returns: the ID of the window where the progress is displayed.
|
||||
* Returns: the handle of the window where the progress is displayed.
|
||||
*/
|
||||
typedef guint64 (* PikaProgressVtableGetWindowFunc) (gpointer user_data);
|
||||
typedef GBytes * (* PikaProgressVtableGetWindowFunc) (gpointer user_data);
|
||||
|
||||
|
||||
typedef struct _PikaProgressVtable PikaProgressVtable;
|
||||
@ -93,7 +93,7 @@ typedef struct _PikaProgressVtable PikaProgressVtable;
|
||||
* @set_text: sets a new text on the progress.
|
||||
* @set_value: sets a new percentage on the progress.
|
||||
* @pulse: makes the progress pulse.
|
||||
* @get_window: returns the ID of the window where the progress is displayed.
|
||||
* @get_window_handle: returns the handle of the window where the progress is displayed.
|
||||
* @_pika_reserved1: reserved pointer for future expansion.
|
||||
* @_pika_reserved2: reserved pointer for future expansion.
|
||||
* @_pika_reserved3: reserved pointer for future expansion.
|
||||
@ -110,7 +110,7 @@ struct _PikaProgressVtable
|
||||
PikaProgressVtableSetTextFunc set_text;
|
||||
PikaProgressVtableSetValueFunc set_value;
|
||||
PikaProgressVtablePulseFunc pulse;
|
||||
PikaProgressVtableGetWindowFunc get_window;
|
||||
PikaProgressVtableGetWindowFunc get_window_handle;
|
||||
|
||||
/* Padding for future expansion. Must be initialized with NULL! */
|
||||
void (* _pika_reserved1) (void);
|
||||
|
@ -61,9 +61,9 @@ _pika_progress_init (const gchar *message,
|
||||
PIKA_TYPE_DISPLAY, gdisplay,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-init",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-init",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -95,9 +95,9 @@ _pika_progress_update (gdouble percentage)
|
||||
G_TYPE_DOUBLE, percentage,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-update",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-update",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -132,9 +132,9 @@ pika_progress_pulse (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-pulse",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-pulse",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -169,9 +169,9 @@ pika_progress_set_text (const gchar *message)
|
||||
G_TYPE_STRING, message,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-set-text",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-set-text",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -204,9 +204,9 @@ pika_progress_end (void)
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-end",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-end",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -219,37 +219,40 @@ pika_progress_end (void)
|
||||
/**
|
||||
* pika_progress_get_window_handle:
|
||||
*
|
||||
* Returns the native window ID of the toplevel window this plug-in's
|
||||
* Returns the native handle of the toplevel window this plug-in's
|
||||
* progress is displayed in.
|
||||
*
|
||||
* This function returns the native window ID of the toplevel window
|
||||
* this plug-in\'s progress is displayed in.
|
||||
* This function returns the native handle allowing to identify the
|
||||
* toplevel window this plug-in's progress is displayed in.
|
||||
* This handle can be of various types (integer, string, etc.)
|
||||
* depending on the platform you are running on which is why it returns
|
||||
* a GBytes. There are usually no reasons to call this directly.
|
||||
*
|
||||
* Returns: The progress bar's toplevel window.
|
||||
* Returns: (transfer full): The progress bar's toplevel window's handle.
|
||||
*
|
||||
* Since: 2.2
|
||||
**/
|
||||
gint
|
||||
GBytes *
|
||||
pika_progress_get_window_handle (void)
|
||||
{
|
||||
PikaValueArray *args;
|
||||
PikaValueArray *return_vals;
|
||||
gint window = 0;
|
||||
GBytes *handle = NULL;
|
||||
|
||||
args = pika_value_array_new_from_types (NULL,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-get-window-handle",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-get-window-handle",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS)
|
||||
window = PIKA_VALUES_GET_INT (return_vals, 1);
|
||||
handle = PIKA_VALUES_DUP_BYTES (return_vals, 1);
|
||||
|
||||
pika_value_array_unref (return_vals);
|
||||
|
||||
return window;
|
||||
return handle;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -278,9 +281,9 @@ _pika_progress_install (const gchar *progress_callback)
|
||||
G_TYPE_STRING, progress_callback,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-install",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-install",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -314,9 +317,9 @@ _pika_progress_uninstall (const gchar *progress_callback)
|
||||
G_TYPE_STRING, progress_callback,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-uninstall",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-uninstall",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
@ -349,9 +352,9 @@ pika_progress_cancel (const gchar *progress_callback)
|
||||
G_TYPE_STRING, progress_callback,
|
||||
G_TYPE_NONE);
|
||||
|
||||
return_vals = pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-cancel",
|
||||
args);
|
||||
return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (),
|
||||
"pika-progress-cancel",
|
||||
args);
|
||||
pika_value_array_unref (args);
|
||||
|
||||
success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS;
|
||||
|
@ -38,7 +38,7 @@ G_GNUC_INTERNAL gboolean _pika_progress_update (gdouble percentag
|
||||
gboolean pika_progress_pulse (void);
|
||||
gboolean pika_progress_set_text (const gchar *message);
|
||||
gboolean pika_progress_end (void);
|
||||
gint pika_progress_get_window_handle (void);
|
||||
GBytes* pika_progress_get_window_handle (void);
|
||||
G_GNUC_INTERNAL gboolean _pika_progress_install (const gchar *progress_callback);
|
||||
G_GNUC_INTERNAL gboolean _pika_progress_uninstall (const gchar *progress_callback);
|
||||
gboolean pika_progress_cancel (const gchar *progress_callback);
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <gegl.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#ifdef GDK_WINDOWING_WIN32
|
||||
@ -35,6 +36,8 @@
|
||||
#include <gdk/gdkwayland.h>
|
||||
#endif
|
||||
|
||||
#include "libpikawidgets/pikawidgets.h"
|
||||
|
||||
#include "pikauitypes.h"
|
||||
|
||||
#include "pika.h"
|
||||
@ -52,21 +55,27 @@
|
||||
**/
|
||||
|
||||
|
||||
static void pika_progress_bar_dispose (GObject *object);
|
||||
|
||||
static void pika_progress_bar_start (const gchar *message,
|
||||
gboolean cancelable,
|
||||
gpointer user_data);
|
||||
static void pika_progress_bar_end (gpointer user_data);
|
||||
static void pika_progress_bar_set_text (const gchar *message,
|
||||
gpointer user_data);
|
||||
static void pika_progress_bar_set_value (gdouble percentage,
|
||||
gpointer user_data);
|
||||
static void pika_progress_bar_pulse (gpointer user_data);
|
||||
static guint64 pika_progress_bar_get_window (gpointer user_data);
|
||||
typedef struct _PikaProgressBarPrivate
|
||||
{
|
||||
GBytes *window_handle;
|
||||
} PikaProgressBarPrivate;
|
||||
|
||||
|
||||
G_DEFINE_TYPE (PikaProgressBar, pika_progress_bar, GTK_TYPE_PROGRESS_BAR)
|
||||
static void pika_progress_bar_dispose (GObject *object);
|
||||
|
||||
static void pika_progress_bar_start (const gchar *message,
|
||||
gboolean cancelable,
|
||||
gpointer user_data);
|
||||
static void pika_progress_bar_end (gpointer user_data);
|
||||
static void pika_progress_bar_set_text (const gchar *message,
|
||||
gpointer user_data);
|
||||
static void pika_progress_bar_set_value (gdouble percentage,
|
||||
gpointer user_data);
|
||||
static void pika_progress_bar_pulse (gpointer user_data);
|
||||
static GBytes * pika_progress_bar_get_window_handle (gpointer user_data);
|
||||
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (PikaProgressBar, pika_progress_bar, GTK_TYPE_PROGRESS_BAR)
|
||||
|
||||
#define parent_class pika_progress_bar_parent_class
|
||||
|
||||
@ -82,25 +91,29 @@ pika_progress_bar_class_init (PikaProgressBarClass *klass)
|
||||
static void
|
||||
pika_progress_bar_init (PikaProgressBar *bar)
|
||||
{
|
||||
PikaProgressVtable vtable = { 0, };
|
||||
PikaProgressVtable vtable = { 0, };
|
||||
PikaProgressBarPrivate *priv = pika_progress_bar_get_instance_private (bar);
|
||||
|
||||
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (bar), " ");
|
||||
gtk_progress_bar_set_ellipsize (GTK_PROGRESS_BAR (bar), PANGO_ELLIPSIZE_END);
|
||||
|
||||
vtable.start = pika_progress_bar_start;
|
||||
vtable.end = pika_progress_bar_end;
|
||||
vtable.set_text = pika_progress_bar_set_text;
|
||||
vtable.set_value = pika_progress_bar_set_value;
|
||||
vtable.pulse = pika_progress_bar_pulse;
|
||||
vtable.get_window = pika_progress_bar_get_window;
|
||||
vtable.start = pika_progress_bar_start;
|
||||
vtable.end = pika_progress_bar_end;
|
||||
vtable.set_text = pika_progress_bar_set_text;
|
||||
vtable.set_value = pika_progress_bar_set_value;
|
||||
vtable.pulse = pika_progress_bar_pulse;
|
||||
vtable.get_window_handle = pika_progress_bar_get_window_handle;
|
||||
|
||||
bar->progress_callback = pika_progress_install_vtable (&vtable, bar, NULL);
|
||||
|
||||
pika_widget_set_native_handle (GTK_WIDGET (bar), &priv->window_handle);
|
||||
}
|
||||
|
||||
static void
|
||||
pika_progress_bar_dispose (GObject *object)
|
||||
{
|
||||
PikaProgressBar *bar = PIKA_PROGRESS_BAR (object);
|
||||
PikaProgressBar *bar = PIKA_PROGRESS_BAR (object);
|
||||
PikaProgressBarPrivate *priv = pika_progress_bar_get_instance_private (bar);
|
||||
|
||||
if (bar->progress_callback)
|
||||
{
|
||||
@ -108,6 +121,17 @@ pika_progress_bar_dispose (GObject *object)
|
||||
bar->progress_callback = NULL;
|
||||
}
|
||||
|
||||
if (priv->window_handle != NULL)
|
||||
{
|
||||
#ifdef GDK_WINDOWING_WAYLAND
|
||||
if (GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()) &&
|
||||
/* The GdkWindow is likely already destroyed. */
|
||||
gtk_widget_get_window (GTK_WIDGET (bar)) != NULL)
|
||||
gdk_wayland_window_unexport_handle (gtk_widget_get_window (GTK_WIDGET (bar)));
|
||||
#endif
|
||||
g_clear_pointer (&priv->window_handle, g_bytes_unref);
|
||||
}
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
@ -180,47 +204,13 @@ pika_progress_bar_pulse (gpointer user_data)
|
||||
gtk_main_iteration ();
|
||||
}
|
||||
|
||||
static guint64
|
||||
pika_window_get_native_id (GtkWindow *window)
|
||||
static GBytes *
|
||||
pika_progress_bar_get_window_handle (gpointer user_data)
|
||||
{
|
||||
GdkWindow *surface;
|
||||
PikaProgressBar *bar = PIKA_PROGRESS_BAR (user_data);
|
||||
PikaProgressBarPrivate *priv = pika_progress_bar_get_instance_private (bar);
|
||||
|
||||
g_return_val_if_fail (GTK_IS_WINDOW (window), 0);
|
||||
|
||||
surface = gtk_widget_get_window (GTK_WIDGET (window));
|
||||
if (!surface) /* aka window is not yet realized */
|
||||
return 0;
|
||||
|
||||
#ifdef GDK_WINDOWING_WIN32
|
||||
if (GDK_IS_WIN32_WINDOW (surface))
|
||||
return GPOINTER_TO_INT (GDK_WINDOW_HWND (gtk_widget_get_window (GTK_WIDGET (window))));
|
||||
#endif
|
||||
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
if (GDK_IS_X11_WINDOW (surface))
|
||||
return GPOINTER_TO_INT (GDK_WINDOW_XID (gtk_widget_get_window (GTK_WIDGET (window))));
|
||||
#endif
|
||||
|
||||
#ifdef GDK_WINDOWING_WAYLAND
|
||||
if (GDK_IS_WAYLAND_WINDOW (surface))
|
||||
g_debug ("Getting window ID for progress not supported on Wayland yet");
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static guint64
|
||||
pika_progress_bar_get_window (gpointer user_data)
|
||||
{
|
||||
PikaProgressBar *bar = PIKA_PROGRESS_BAR (user_data);
|
||||
GtkWidget *toplevel;
|
||||
|
||||
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (bar));
|
||||
|
||||
if (GTK_IS_WINDOW (toplevel))
|
||||
return pika_window_get_native_id (GTK_WINDOW (toplevel));
|
||||
|
||||
return 0;
|
||||
return g_bytes_ref (priv->window_handle);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -458,58 +458,3 @@ pika_resource_is_font (PikaResource *resource)
|
||||
{
|
||||
return pika_resource_id_is_font (pika_resource_get_id (resource));
|
||||
}
|
||||
|
||||
|
||||
struct _PikaBrush
|
||||
{
|
||||
PikaResource parent_instance;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (PikaBrush, pika_brush, PIKA_TYPE_RESOURCE);
|
||||
|
||||
static void pika_brush_class_init (PikaBrushClass *klass) {}
|
||||
static void pika_brush_init (PikaBrush *self) {}
|
||||
|
||||
|
||||
struct _PikaPattern
|
||||
{
|
||||
PikaResource parent_instance;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (PikaPattern, pika_pattern, PIKA_TYPE_RESOURCE);
|
||||
|
||||
static void pika_pattern_class_init (PikaPatternClass *klass) {}
|
||||
static void pika_pattern_init (PikaPattern *self) {}
|
||||
|
||||
|
||||
struct _PikaGradient
|
||||
{
|
||||
PikaResource parent_instance;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (PikaGradient, pika_gradient, PIKA_TYPE_RESOURCE);
|
||||
|
||||
static void pika_gradient_class_init (PikaGradientClass *klass) {}
|
||||
static void pika_gradient_init (PikaGradient *self) {}
|
||||
|
||||
|
||||
struct _PikaPalette
|
||||
{
|
||||
PikaResource parent_instance;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (PikaPalette, pika_palette, PIKA_TYPE_RESOURCE);
|
||||
|
||||
static void pika_palette_class_init (PikaPaletteClass *klass) {}
|
||||
static void pika_palette_init (PikaPalette *self) {}
|
||||
|
||||
|
||||
struct _PikaFont
|
||||
{
|
||||
PikaResource parent_instance;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (PikaFont, pika_font, PIKA_TYPE_RESOURCE);
|
||||
|
||||
static void pika_font_class_init (PikaFontClass *klass) {}
|
||||
static void pika_font_init (PikaFont *self) {}
|
||||
|
@ -60,22 +60,6 @@ gboolean pika_resource_is_palette (PikaResource *resource);
|
||||
gboolean pika_resource_is_font (PikaResource *resource);
|
||||
|
||||
|
||||
#define PIKA_TYPE_BRUSH (pika_brush_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (PikaBrush, pika_brush, PIKA, BRUSH, PikaResource)
|
||||
|
||||
#define PIKA_TYPE_PATTERN (pika_pattern_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (PikaPattern, pika_pattern, PIKA, PATTERN, PikaResource)
|
||||
|
||||
#define PIKA_TYPE_GRADIENT (pika_gradient_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (PikaGradient, pika_gradient, PIKA, GRADIENT, PikaResource)
|
||||
|
||||
#define PIKA_TYPE_PALETTE (pika_palette_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (PikaPalette, pika_palette, PIKA, PALETTE, PikaResource)
|
||||
|
||||
#define PIKA_TYPE_FONT (pika_font_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (PikaFont, pika_font, PIKA, FONT, PikaResource)
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __PIKA_RESOURCE_H__ */
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user