I've seen that a library called FabricJS has a feature that lets you insert text on the canvas and edit it, not through a input[type=text]
and yes within the canvas
itself.
Is there any special functionality of canvas
itself that allows this? or everything needs to be done "on hand"?
I'd like to know what you need to know to do something like this, implementing "scratch."