Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge core and preview versions of all image filters #16

Closed
tannerhelland opened this issue Aug 18, 2012 · 2 comments
Closed

Merge core and preview versions of all image filters #16

tannerhelland opened this issue Aug 18, 2012 · 2 comments

Comments

@tannerhelland
Copy link
Owner

I have tested this with the newly added grayscale previewing (see b303e91 and 5218ab1) and it works very well.

This will be a massive undertaking that requires the rewrite of hundreds of functions... but the end result should be worth it as it will allow any image filter to be applied anywhere in the program - not just to the standard user interface forms. It also reduces total code size and maintenance by not requiring duplicate functions (one for previewing, one for running the actual effect).

This is also a prerequisite for an interactive macro editor capable of previewing any effect.

tannerhelland added a commit that referenced this issue Aug 25, 2012
As part of merging all core and preview filter/effect functions (#16)
I'll need to rewrite every filter and effect in the program.  (JOY!
/sarcasm)  While doing that, I'm also going to be dropping in a
framework that will ultimately allow functions to operate on just a
subset of the image.  Each filter will respect globally set (x, y) and
(width, height) values as determined by the GetImageData call.  At
first, those values will always be (0, 0) and (image width, image
height), but in the future, if a selection has been made, GetImageData
can modify the variables to the size of the selection and all
filters/effects will respect it.
@tannerhelland
Copy link
Owner Author

The new system has been successfully checked against two protoypes via 1159551 and a0321a5 and 86010e4. Rewriting all filters and effects against the DIB class will solve this at a program-wide level, but at least the current system is known to be viable.

@tannerhelland
Copy link
Owner Author

Complete as of version 5.0 beta 1. This has been years in the making - very glad to have it done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant