Here is a real case study. I write a native modeler tool. First, to recover from Gdi learning, I have adapted DrawCli MFC sample. Next, because it is a sample, it is not clean so I have written from scratch and kept fast and fluid drawing techniques. I put Gdiplus to draw elements with shaders, gradients and sexy UI experience.
Here is the main classes as it.
It is under development. Feel free to adapt. I will move this code from MFC style to modern C++ 11 code. No not MFC collections and CString. Just STL vector<> and std::string.
A real case study for TechDays in Paris.
File contains element.h and element.cpp.