[gimp] pdb: add context procedures for the new antialias and feather properties
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] pdb: add context procedures for the new antialias and feather properties
- Date: Sun, 5 Sep 2010 21:14:12 +0000 (UTC)
commit 8ab4fbcf28becea847b4110736f43575e860c683
Author: Michael Natterer <mitch gimp org>
Date: Sun Sep 5 23:13:42 2010 +0200
pdb: add context procedures for the new antialias and feather properties
app/pdb/context-cmds.c | 294 +++++++++++++++++++++++++++++++++++++++++-
app/pdb/internal-procs.c | 2 +-
libgimp/gimp.def | 6 +
libgimp/gimpcontext_pdb.c | 200 ++++++++++++++++++++++++++++
libgimp/gimpcontext_pdb.h | 8 +
tools/pdbgen/pdb/context.pdb | 167 +++++++++++++++++++++++-
6 files changed, 672 insertions(+), 5 deletions(-)
---
diff --git a/app/pdb/context-cmds.c b/app/pdb/context-cmds.c
index 20c81bf..26e470b 100644
--- a/app/pdb/context-cmds.c
+++ b/app/pdb/context-cmds.c
@@ -27,7 +27,6 @@
#include "core/gimp.h"
#include "core/gimpcontainer.h"
-#include "core/gimpcontext.h"
#include "core/gimpdatafactory.h"
#include "core/gimpparamspecs.h"
#include "plug-in/gimpplugin-context.h"
@@ -36,6 +35,7 @@
#include "gimppdb.h"
#include "gimppdb-utils.h"
+#include "gimppdbcontext.h"
#include "gimpprocedure.h"
#include "internal-procs.h"
@@ -627,6 +627,148 @@ context_set_font_invoker (GimpProcedure *procedure,
error ? *error : NULL);
}
+static GValueArray *
+context_get_antialias_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GValueArray *args,
+ GError **error)
+{
+ GValueArray *return_vals;
+ gboolean antialias = FALSE;
+
+ g_object_get (context,
+ "antialias", &antialias,
+ NULL);
+
+ return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL);
+ g_value_set_boolean (&return_vals->values[1], antialias);
+
+ return return_vals;
+}
+
+static GValueArray *
+context_set_antialias_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ gboolean antialias;
+
+ antialias = g_value_get_boolean (&args->values[0]);
+
+ if (success)
+ {
+ g_object_set (context,
+ "antialias", antialias,
+ NULL);
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GValueArray *
+context_get_feather_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GValueArray *args,
+ GError **error)
+{
+ GValueArray *return_vals;
+ gboolean feather = FALSE;
+
+ g_object_get (context,
+ "feather", &feather,
+ NULL);
+
+ return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL);
+ g_value_set_boolean (&return_vals->values[1], feather);
+
+ return return_vals;
+}
+
+static GValueArray *
+context_set_feather_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ gboolean feather;
+
+ feather = g_value_get_boolean (&args->values[0]);
+
+ if (success)
+ {
+ g_object_set (context,
+ "feather", feather,
+ NULL);
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
+static GValueArray *
+context_get_feather_radius_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GValueArray *args,
+ GError **error)
+{
+ GValueArray *return_vals;
+ gdouble feather_radius_x = 0.0;
+ gdouble feather_radius_y = 0.0;
+
+ g_object_get (context,
+ "feather-radius-x", &feather_radius_x,
+ "feather-radius-y", &feather_radius_y,
+ NULL);
+
+ return_vals = gimp_procedure_get_return_values (procedure, TRUE, NULL);
+
+ g_value_set_double (&return_vals->values[1], feather_radius_x);
+ g_value_set_double (&return_vals->values[2], feather_radius_y);
+
+ return return_vals;
+}
+
+static GValueArray *
+context_set_feather_radius_invoker (GimpProcedure *procedure,
+ Gimp *gimp,
+ GimpContext *context,
+ GimpProgress *progress,
+ const GValueArray *args,
+ GError **error)
+{
+ gboolean success = TRUE;
+ gdouble feather_radius_x;
+ gdouble feather_radius_y;
+
+ feather_radius_x = g_value_get_double (&args->values[0]);
+ feather_radius_y = g_value_get_double (&args->values[1]);
+
+ if (success)
+ {
+ g_object_set (context,
+ "feather-radius-x", feather_radius_x,
+ "feather-radius-y", feather_radius_y,
+ NULL);
+ }
+
+ return gimp_procedure_get_return_values (procedure, success,
+ error ? *error : NULL);
+}
+
void
register_context_procs (GimpPDB *pdb)
{
@@ -1205,4 +1347,154 @@ register_context_procs (GimpPDB *pdb)
GIMP_PARAM_READWRITE));
gimp_pdb_register_procedure (pdb, procedure);
g_object_unref (procedure);
+
+ /*
+ * gimp-context-get-antialias
+ */
+ procedure = gimp_procedure_new (context_get_antialias_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-context-get-antialias");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-context-get-antialias",
+ "Get the antialias setting.",
+ "This procedure returns the antialias setting.",
+ "Michael Natterer <mitch gimp org>",
+ "Michael Natterer",
+ "2010",
+ NULL);
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_boolean ("antialias",
+ "antialias",
+ "The antialias setting",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-context-set-antialias
+ */
+ procedure = gimp_procedure_new (context_set_antialias_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-context-set-antialias");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-context-set-antialias",
+ "Set the antialias setting.",
+ "This procedure modifies the antialias setting. This settings affects the following procedures: gimp-item-to-selection.",
+ "Michael Natterer <mitch gimp org>",
+ "Michael Natterer",
+ "2010",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_boolean ("antialias",
+ "antialias",
+ "The antialias setting",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-context-get-feather
+ */
+ procedure = gimp_procedure_new (context_get_feather_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-context-get-feather");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-context-get-feather",
+ "Get the feather setting.",
+ "This procedure returns the feather setting.",
+ "Michael Natterer <mitch gimp org>",
+ "Michael Natterer",
+ "2010",
+ NULL);
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_boolean ("feather",
+ "feather",
+ "The feather setting",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-context-set-feather
+ */
+ procedure = gimp_procedure_new (context_set_feather_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-context-set-feather");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-context-set-feather",
+ "Set the feather setting.",
+ "This procedure modifies the feather setting. This settings affects the following procedures: gimp-item-to-selection.",
+ "Michael Natterer <mitch gimp org>",
+ "Michael Natterer",
+ "2010",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_boolean ("feather",
+ "feather",
+ "The feather setting",
+ FALSE,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-context-get-feather-radius
+ */
+ procedure = gimp_procedure_new (context_get_feather_radius_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-context-get-feather-radius");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-context-get-feather-radius",
+ "Get the feather radius setting.",
+ "This procedure returns the feather radius setting.",
+ "Michael Natterer <mitch gimp org>",
+ "Michael Natterer",
+ "2010",
+ NULL);
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_double ("feather-radius-x",
+ "feather radius x",
+ "The horizontal feather radius",
+ 0, 1000, 0,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_return_value (procedure,
+ g_param_spec_double ("feather-radius-y",
+ "feather radius y",
+ "The vertical feather radius",
+ 0, 1000, 0,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
+
+ /*
+ * gimp-context-set-feather-radius
+ */
+ procedure = gimp_procedure_new (context_set_feather_radius_invoker);
+ gimp_object_set_static_name (GIMP_OBJECT (procedure),
+ "gimp-context-set-feather-radius");
+ gimp_procedure_set_static_strings (procedure,
+ "gimp-context-set-feather-radius",
+ "Set the feather radius setting.",
+ "This procedure modifies the feather radius setting. This settings affects the following procedures: gimp-item-to-selection.",
+ "Michael Natterer <mitch gimp org>",
+ "Michael Natterer",
+ "2010",
+ NULL);
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_double ("feather-radius-x",
+ "feather radius x",
+ "The horizontal feather radius",
+ 0, 1000, 0,
+ GIMP_PARAM_READWRITE));
+ gimp_procedure_add_argument (procedure,
+ g_param_spec_double ("feather-radius-y",
+ "feather radius y",
+ "The vertical feather radius",
+ 0, 1000, 0,
+ GIMP_PARAM_READWRITE));
+ gimp_pdb_register_procedure (pdb, procedure);
+ g_object_unref (procedure);
}
diff --git a/app/pdb/internal-procs.c b/app/pdb/internal-procs.c
index a597c96..0bc96a4 100644
--- a/app/pdb/internal-procs.c
+++ b/app/pdb/internal-procs.c
@@ -28,7 +28,7 @@
#include "internal-procs.h"
-/* 631 procedures registered total */
+/* 637 procedures registered total */
void
internal_procs_init (GimpPDB *pdb)
diff --git a/libgimp/gimp.def b/libgimp/gimp.def
index 60c5174..3c6144b 100644
--- a/libgimp/gimp.def
+++ b/libgimp/gimp.def
@@ -68,8 +68,11 @@ EXPORTS
gimp_clone_default
gimp_color_balance
gimp_colorize
+ gimp_context_get_antialias
gimp_context_get_background
gimp_context_get_brush
+ gimp_context_get_feather
+ gimp_context_get_feather_radius
gimp_context_get_font
gimp_context_get_foreground
gimp_context_get_gradient
@@ -81,9 +84,12 @@ EXPORTS
gimp_context_list_paint_methods
gimp_context_pop
gimp_context_push
+ gimp_context_set_antialias
gimp_context_set_background
gimp_context_set_brush
gimp_context_set_default_colors
+ gimp_context_set_feather
+ gimp_context_set_feather_radius
gimp_context_set_font
gimp_context_set_foreground
gimp_context_set_gradient
diff --git a/libgimp/gimpcontext_pdb.c b/libgimp/gimpcontext_pdb.c
index 49de4f1..fa2b6e1 100644
--- a/libgimp/gimpcontext_pdb.c
+++ b/libgimp/gimpcontext_pdb.c
@@ -865,3 +865,203 @@ gimp_context_set_font (const gchar *name)
return success;
}
+
+/**
+ * gimp_context_get_antialias:
+ *
+ * Get the antialias setting.
+ *
+ * This procedure returns the antialias setting.
+ *
+ * Returns: The antialias setting.
+ *
+ * Since: GIMP 2.8
+ */
+gboolean
+gimp_context_get_antialias (void)
+{
+ GimpParam *return_vals;
+ gint nreturn_vals;
+ gboolean antialias = FALSE;
+
+ return_vals = gimp_run_procedure ("gimp-context-get-antialias",
+ &nreturn_vals,
+ GIMP_PDB_END);
+
+ if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
+ antialias = return_vals[1].data.d_int32;
+
+ gimp_destroy_params (return_vals, nreturn_vals);
+
+ return antialias;
+}
+
+/**
+ * gimp_context_set_antialias:
+ * @antialias: The antialias setting.
+ *
+ * Set the antialias setting.
+ *
+ * This procedure modifies the antialias setting. This settings affects
+ * the following procedures: gimp-item-to-selection.
+ *
+ * Returns: TRUE on success.
+ *
+ * Since: GIMP 2.8
+ */
+gboolean
+gimp_context_set_antialias (gboolean antialias)
+{
+ GimpParam *return_vals;
+ gint nreturn_vals;
+ gboolean success = TRUE;
+
+ return_vals = gimp_run_procedure ("gimp-context-set-antialias",
+ &nreturn_vals,
+ GIMP_PDB_INT32, antialias,
+ GIMP_PDB_END);
+
+ success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;
+
+ gimp_destroy_params (return_vals, nreturn_vals);
+
+ return success;
+}
+
+/**
+ * gimp_context_get_feather:
+ *
+ * Get the feather setting.
+ *
+ * This procedure returns the feather setting.
+ *
+ * Returns: The feather setting.
+ *
+ * Since: GIMP 2.8
+ */
+gboolean
+gimp_context_get_feather (void)
+{
+ GimpParam *return_vals;
+ gint nreturn_vals;
+ gboolean feather = FALSE;
+
+ return_vals = gimp_run_procedure ("gimp-context-get-feather",
+ &nreturn_vals,
+ GIMP_PDB_END);
+
+ if (return_vals[0].data.d_status == GIMP_PDB_SUCCESS)
+ feather = return_vals[1].data.d_int32;
+
+ gimp_destroy_params (return_vals, nreturn_vals);
+
+ return feather;
+}
+
+/**
+ * gimp_context_set_feather:
+ * @feather: The feather setting.
+ *
+ * Set the feather setting.
+ *
+ * This procedure modifies the feather setting. This settings affects
+ * the following procedures: gimp-item-to-selection.
+ *
+ * Returns: TRUE on success.
+ *
+ * Since: GIMP 2.8
+ */
+gboolean
+gimp_context_set_feather (gboolean feather)
+{
+ GimpParam *return_vals;
+ gint nreturn_vals;
+ gboolean success = TRUE;
+
+ return_vals = gimp_run_procedure ("gimp-context-set-feather",
+ &nreturn_vals,
+ GIMP_PDB_INT32, feather,
+ GIMP_PDB_END);
+
+ success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;
+
+ gimp_destroy_params (return_vals, nreturn_vals);
+
+ return success;
+}
+
+/**
+ * gimp_context_get_feather_radius:
+ * @feather_radius_x: The horizontal feather radius.
+ * @feather_radius_y: The vertical feather radius.
+ *
+ * Get the feather radius setting.
+ *
+ * This procedure returns the feather radius setting.
+ *
+ * Returns: TRUE on success.
+ *
+ * Since: GIMP 2.8
+ */
+gboolean
+gimp_context_get_feather_radius (gdouble *feather_radius_x,
+ gdouble *feather_radius_y)
+{
+ GimpParam *return_vals;
+ gint nreturn_vals;
+ gboolean success = TRUE;
+
+ return_vals = gimp_run_procedure ("gimp-context-get-feather-radius",
+ &nreturn_vals,
+ GIMP_PDB_END);
+
+ *feather_radius_x = 0.0;
+ *feather_radius_y = 0.0;
+
+ success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;
+
+ if (success)
+ {
+ *feather_radius_x = return_vals[1].data.d_float;
+ *feather_radius_y = return_vals[2].data.d_float;
+ }
+
+ gimp_destroy_params (return_vals, nreturn_vals);
+
+ return success;
+}
+
+/**
+ * gimp_context_set_feather_radius:
+ * @feather_radius_x: The horizontal feather radius.
+ * @feather_radius_y: The vertical feather radius.
+ *
+ * Set the feather radius setting.
+ *
+ * This procedure modifies the feather radius setting. This settings
+ * affects the following procedures: gimp-item-to-selection.
+ *
+ * Returns: TRUE on success.
+ *
+ * Since: GIMP 2.8
+ */
+gboolean
+gimp_context_set_feather_radius (gdouble feather_radius_x,
+ gdouble feather_radius_y)
+{
+ GimpParam *return_vals;
+ gint nreturn_vals;
+ gboolean success = TRUE;
+
+ return_vals = gimp_run_procedure ("gimp-context-set-feather-radius",
+ &nreturn_vals,
+ GIMP_PDB_FLOAT, feather_radius_x,
+ GIMP_PDB_FLOAT, feather_radius_y,
+ GIMP_PDB_END);
+
+ success = return_vals[0].data.d_status == GIMP_PDB_SUCCESS;
+
+ gimp_destroy_params (return_vals, nreturn_vals);
+
+ return success;
+}
diff --git a/libgimp/gimpcontext_pdb.h b/libgimp/gimpcontext_pdb.h
index f42dab9..06ab3d7 100644
--- a/libgimp/gimpcontext_pdb.h
+++ b/libgimp/gimpcontext_pdb.h
@@ -54,6 +54,14 @@ gchar* gimp_context_get_palette (void);
gboolean gimp_context_set_palette (const gchar *name);
gchar* gimp_context_get_font (void);
gboolean gimp_context_set_font (const gchar *name);
+gboolean gimp_context_get_antialias (void);
+gboolean gimp_context_set_antialias (gboolean antialias);
+gboolean gimp_context_get_feather (void);
+gboolean gimp_context_set_feather (gboolean feather);
+gboolean gimp_context_get_feather_radius (gdouble *feather_radius_x,
+ gdouble *feather_radius_y);
+gboolean gimp_context_set_feather_radius (gdouble feather_radius_x,
+ gdouble feather_radius_y);
G_END_DECLS
diff --git a/tools/pdbgen/pdb/context.pdb b/tools/pdbgen/pdb/context.pdb
index 6005378..2567409 100644
--- a/tools/pdbgen/pdb/context.pdb
+++ b/tools/pdbgen/pdb/context.pdb
@@ -705,15 +705,173 @@ CODE
);
}
+sub context_get_antialias {
+ $blurb = 'Get the antialias setting.';
+
+ $help = <<'HELP';
+This procedure returns the antialias setting.
+HELP
+
+ &mitch_pdb_misc(2010, 2.8);
+
+ @outargs = (
+ { name => 'antialias', type => 'boolean',
+ desc => 'The antialias setting' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ g_object_get (context,
+ "antialias", &antialias,
+ NULL);
+}
+CODE
+ );
+}
+
+sub context_set_antialias {
+ $blurb = 'Set the antialias setting.';
+
+ $help = <<'HELP';
+This procedure modifies the antialias setting. This settings affects the
+following procedures: gimp-item-to-selection.
+HELP
+
+ &mitch_pdb_misc(2010, 2.8);
+
+ @inargs = (
+ { name => 'antialias', type => 'boolean',
+ desc => 'The antialias setting' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ g_object_set (context,
+ "antialias", antialias,
+ NULL);
+}
+CODE
+ );
+}
+
+sub context_get_feather {
+ $blurb = 'Get the feather setting.';
+
+ $help = <<'HELP';
+This procedure returns the feather setting.
+HELP
+
+ &mitch_pdb_misc(2010, 2.8);
+
+ @outargs = (
+ { name => 'feather', type => 'boolean',
+ desc => 'The feather setting' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ g_object_get (context,
+ "feather", &feather,
+ NULL);
+}
+CODE
+ );
+}
+
+sub context_set_feather {
+ $blurb = 'Set the feather setting.';
+
+ $help = <<'HELP';
+This procedure modifies the feather setting. This settings affects the
+following procedures: gimp-item-to-selection.
+HELP
+
+ &mitch_pdb_misc(2010, 2.8);
+
+ @inargs = (
+ { name => 'feather', type => 'boolean',
+ desc => 'The feather setting' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ g_object_set (context,
+ "feather", feather,
+ NULL);
+}
+CODE
+ );
+}
+
+sub context_get_feather_radius {
+ $blurb = 'Get the feather radius setting.';
+
+ $help = <<'HELP';
+This procedure returns the feather radius setting.
+HELP
+
+ &mitch_pdb_misc(2010, 2.8);
+
+ @outargs = (
+ { name => 'feather_radius_x', type => '0 <= float <= 1000', void_ret => 1,
+ desc => 'The horizontal feather radius' },
+ { name => 'feather_radius_y', type => '0 <= float <= 1000',
+ desc => 'The vertical feather radius' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ g_object_get (context,
+ "feather-radius-x", &feather_radius_x,
+ "feather-radius-y", &feather_radius_y,
+ NULL);
+}
+CODE
+ );
+}
+
+sub context_set_feather_radius {
+ $blurb = 'Set the feather radius setting.';
+
+ $help = <<'HELP';
+This procedure modifies the feather radius setting. This settings affects
+the following procedures: gimp-item-to-selection.
+HELP
+
+ &mitch_pdb_misc(2010, 2.8);
+
+ @inargs = (
+ { name => 'feather_radius_x', type => '0 <= float <= 1000',
+ desc => 'The horizontal feather radius' },
+ { name => 'feather_radius_y', type => '0 <= float <= 1000',
+ desc => 'The vertical feather radius' }
+ );
+
+ %invoke = (
+ code => <<'CODE'
+{
+ g_object_set (context,
+ "feather-radius-x", feather_radius_x,
+ "feather-radius-y", feather_radius_y,
+ NULL);
+}
+CODE
+ );
+}
@headers = qw("core/gimp.h"
"core/gimpcontainer.h"
- "core/gimpcontext.h"
"core/gimpdatafactory.h"
"plug-in/gimpplugin.h"
"plug-in/gimpplugin-context.h"
"plug-in/gimppluginmanager.h"
- "gimppdb-utils.h");
+ "gimppdb-utils.h"
+ "gimppdbcontext.h");
@procs = qw(context_push context_pop
context_list_paint_methods
@@ -728,7 +886,10 @@ CODE
context_get_pattern context_set_pattern
context_get_gradient context_set_gradient
context_get_palette context_set_palette
- context_get_font context_set_font);
+ context_get_font context_set_font
+ context_get_antialias context_set_antialias
+ context_get_feather context_set_feather
+ context_get_feather_radius context_set_feather_radius);
%exports = (app => [ procs], lib => [ procs]);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]