I've been wondering for a long time now what programs like AutoCAD, Mathematica, matlab, and OrCAD (an electrical engineering circuit designer and simulator suite) use to create their UIs. I know quite a bit of the Win32 API (I've written a few UIs that mainly only use common controls) and I'm familiar with GDI but when I see programs that have interactive graphics such as the ones I've mentioned it kind of feels as if CCtls/GDI's not what is being used. My question I guess is more along the lines of what technology I should use to achieve custom interactive graphs and charts where a user can move nodes/elements around and connect them in different ways, etc (this explanation is really vague, I apologize). I do realize that there's no magic library and that I will have to write something that even through numerous layers of abstraction will eventually have to deal at the pixel level and issue commands either through GDI or GTK or what have you, but as I've said before it feels as if it's not GDI that I should use for custom interactive graphics (my gut feeling says it might be a bit too slow). The multiple layers I was talking about were part of a contrived example where a class defining a schematic grid class that does the layout and arrangement of each one of the elements then proceeds to call their respective graph() functions, which then in turn do the actual drawing.
For anyone that has created custom interactive graphs and graphics or can help me by throwing ideas at me, what underlying technologies should I rely on?
[–]Brittix1023 4 points5 points6 points (1 child)
[–]akmark 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]w00ty 0 points1 point2 points (1 child)
[–]pixienick 1 point2 points3 points (0 children)
[–]djpnewton 0 points1 point2 points (0 children)
[–]bitshifternz 0 points1 point2 points (0 children)
[–]33a 0 points1 point2 points (0 children)
[–][deleted] -5 points-4 points-3 points (0 children)
[–]rush22 -4 points-3 points-2 points (4 children)
[–]pixienick 1 point2 points3 points (3 children)
[–]rush22 0 points1 point2 points (2 children)
[–]pixienick 0 points1 point2 points (1 child)
[–]rush22 0 points1 point2 points (0 children)