Difference between revisions of "Refactoring Ideas"

From Avogadro - Free cross-platform molecule editor
Jump to: navigation, search
(Created Refactoring_Ideas)
 
Line 1: Line 1:
 +
This page contains some ideas about future refactorization of libavogadro. They may seriously break ABI (and possibly API), and should be discussed
 +
 
== Rendering Widget ==
 
== Rendering Widget ==
 +
 +
* Make libavogadro use abstract RenderWidget instead of GLWidget
 +
* Inherit GLWidget from RenderWidget and QGLWidget, move GL-independent functionality (e.g., plugin access) up to RenderWidget
 +
* Remove any OpenGL calls from engines, replace them by new methods of PainterDevice
 +
* Add minimalistic SimpleRenderWidget without OpenGL (to create images for publication, b/w images, for use on old/heavy loaded PCs, etc)
 +
* Create separate GLWidgets for OpenGL2, 3, 4, etc (?)
 +
* "On-line" POV-Ray rendering for aesthetes (???)
  
 
== Modularization of libavogadro ==
 
== Modularization of libavogadro ==

Revision as of 05:12, 27 March 2010

This page contains some ideas about future refactorization of libavogadro. They may seriously break ABI (and possibly API), and should be discussed

Rendering Widget

  • Make libavogadro use abstract RenderWidget instead of GLWidget
  • Inherit GLWidget from RenderWidget and QGLWidget, move GL-independent functionality (e.g., plugin access) up to RenderWidget
  • Remove any OpenGL calls from engines, replace them by new methods of PainterDevice
  • Add minimalistic SimpleRenderWidget without OpenGL (to create images for publication, b/w images, for use on old/heavy loaded PCs, etc)
  • Create separate GLWidgets for OpenGL2, 3, 4, etc (?)
  • "On-line" POV-Ray rendering for aesthetes (???)

Modularization of libavogadro