summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/image/image.api.php16
-rw-r--r--modules/image/image.module1
2 files changed, 17 insertions, 0 deletions
diff --git a/modules/image/image.api.php b/modules/image/image.api.php
index 6f1ff37ac..298a3beb9 100644
--- a/modules/image/image.api.php
+++ b/modules/image/image.api.php
@@ -29,6 +29,8 @@
* $form array providing a configuration form for this image effect.
* - "summary theme": (optional) The name of a theme function that will output
* a summary of this image effect's configuration.
+ *
+ * @see hook_image_effect_info_alter()
*/
function hook_image_effect_info() {
$effects = array();
@@ -45,6 +47,20 @@ function hook_image_effect_info() {
}
/**
+ * Alter the information provided in hook_image_effect_info().
+ *
+ * @param $effects
+ * The array of image effects, keyed on the machine-readable effect name.
+ *
+ * @see hook_image_effect_info()
+ */
+function hook_image_effect_info_alter(&$effects) {
+ // Override the Image module's crop effect with more options.
+ $effect['image_crop']['effect callback'] = 'mymodule_crop_effect';
+ $effect['image_crop']['form callback'] = 'mymodule_crop_form';
+}
+
+/**
* Respond to image style updating.
*
* This hook enables modules to update settings that might be affected by
diff --git a/modules/image/image.module b/modules/image/image.module
index 8d9117175..c902dd7cf 100644
--- a/modules/image/image.module
+++ b/modules/image/image.module
@@ -912,6 +912,7 @@ function image_effect_definitions() {
}
}
uasort($effects, '_image_effect_definitions_sort');
+ drupal_alter('image_effect_info', $effects);
cache_set("image_effects:$langcode", $effects);
}
}