-/*----------------------------------------------------------------------*\\r
- |* Declaration *|\r
- \*---------------------------------------------------------------------*/\r
-\r
-/*--------------------------------------*\\r
- |* Imported *|\r
- \*-------------------------------------*/\r
-\r
-/*--------------------------------------*\\r
- |* Public *|\r
- \*-------------------------------------*/\r
-\r
-int mainGL(void);\r
-\r
-/*--------------------------------------*\\r
- |* Private *|\r
- \*-------------------------------------*/\r
-\r
-/*----------------------------------------------------------------------*\\r
- |* Implementation *|\r
- \*---------------------------------------------------------------------*/\r
-\r
-/*--------------------------------------*\\r
- |* Public *|\r
- \*-------------------------------------*/\r
+template <class TOutput, class TProvider>\r
+class Viewer\r
+ {\r
+ private:\r
+ TOutput* ptrProvider;\r
+ GLUTImageViewers viewer;\r
+\r
+ public:\r
+ Viewer(bool isAnimation, bool isSelection, int pxFrame, int pyFrame):\r
+ ptrProvider(TProvider::createGL()),\r
+ viewer(ptrProvider, isAnimation, isSelection, pxFrame, pyFrame)\r
+ {\r
+ }\r
+\r
+ ~Viewer()\r
+ {\r
+ delete this->ptrProvider;\r
+ }\r
+ };\r