Part ofbeing the 1st issue in the next sequence:
This issue is a spin off of issue, more specifically comment .
Having image operations (crop, resize, rotate, etc) in
ImageInterface makes very hard for contrib modules to add new operations. We want Image to call specific operations from the toolkit rather than define its own in interface.
The current design is confusing:
- Some image effects are directly supported by Image (and ImageInterface) itself, while other effects (from contrib) have their full implementation in an ImageEffect class.
- Would a contrib module decide to follow this pattern and add his own effect code to an own Image extended class, we will run into problems as toolkits also need to derive from Image to add their own stuff.
Remove the methods from ImageInterface as first step of.
User interface changes
The image operations are removed. But calling
$image->scale() is still supported by implementing a temporary
__call() just for BC.
PASSED: [[SimpleTest]]: [MySQL] 59,022 pass(es).
PASSED: [[SimpleTest]]: [MySQL] 60,783 pass(es).
PASSED: [[SimpleTest]]: [MySQL] 58,928 pass(es).