I was talking about interpreted language calling methods. Obviously, you don't know what it is, as i was talking about hooking methods. a program could create a table of functions and then the recording thing would parse the table and set a hook most commonly a jmp hook. (an example would be an IAT, the program creates a list of functions it uses, and you can then set up an IAT hook.) Anyways the closest thing is an Action in photoshop, and if you code a thing correctly then it should have parameters (much like winapi, ill follow up with a made up procedure)... highly demand? no this is quite possible. like a brush you could have movement set data x1>x2 y1>y2 (widely used in games for mob movement control and if it was high resource i dont think a packet would be able to keep up with the game if it was that big of data, you could also have a few more dwords with that data, including brush size, brush color, brush opacity and other features of the brush)
Blur is our procedure
it has a few paremeters
int Power of Blur
X - initial x (selection)
Y - initial y
X2 - offsetted x
Y2 - offsetted y
by hooking it you can see what the user did, including the selection area and the amount of blur used. however there are more complexities in a blur but this is just an example. my realm of programming is not graphics based, but similar concepts are always there. A critique does not need to be able to do whatever he is critiquing, to be able to give advice. besides open source has no basis, and it doesn't redefine what open source is. it doesnt even need to be free. not like i have coded something like this but, those points don't make sense
Hidden Content:
anyways some more depth if your interested.usually when you call a function you push parameters, though ive heard that some compilers (MingW?) mov them instead
push y2
push x2
push y
push x
push pblur
call BLUR
now at blur assuming we are using stdcall calling convention it will look like this
BLUR:
calulations and etc
ret 0x5*4
so if you were to hook it you would know that there is 5 parameters from the ret
you can plug those back in.
hook could be like
hook:
pop memvar1
pop memvar2
pop memvar3
pop memvar4
pop memvar5
pop memvar6
(push back all 6, 6 because calling has EIP which is used in ret)
jmp back