Konva - building a rich text editor for HTML5 canvas
So I spent some time building a rich text editor as a side project. Here's some of what I learned which I'm sharing so you can avoid the bear traps and subsequent pain!
A tech blog giving usable explainers, advice, tools, tricks and techniques for the Konva.js JavaScript canvas library, the HTML5 canvas, and related subjects.
So I spent some time building a rich text editor as a side project. Here's some of what I learned which I'm sharing so you can avoid the bear traps and subsequent pain!
Working with non-English languages or emoji's and finding that strings get garbled or just don't add up? Let me try to explain why...
I was curious about how to close Konva lines, and I wanted to explore what we can do with lines and animation - here's where it ended up.
This was originally a StackOverflow question asked about 7 years ago. I preserve it here because the answer continues to receive upvotes, so seems of interest to some folks, and it was voted to close on SO.
When we exchange position and size information with Konva, multiple coordinate systems come into play. We normally use the canvas or stage coordinates but others are available. Knowing which to use will save a lot of frustration later. Lets investigate...
I mistakenly thought that a math-based mouse pointer hit testing approach might be faster than Konva's built-in approach. In the end I had to agree that Konva has it covered and there's no optimisation to be done. Here's the explanation...
A question I see sometimes is how can we know when the layer gets redrawn. Firstly I recommend that you don't sweat about this - Konva does a perfectly good job without you interfering. But if you absolutely have to there is a way. Let's take a look...
There's more to writing code than simply, well, writing code! With anything graphical there is always the potential for runaway development that doesn't plan for the scale ahead. This article is about why you need to consider a model. Take a look...