Mercurial > hg > orthanc-stone
diff Samples/Sdl/BasicScene.cpp @ 905:88bf49aebc13
introduced ICompositor and allow SdlViewport to work with a CairoCompositor (to run on machines without OpenGL drivers)
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Wed, 17 Jul 2019 16:56:53 +0200 |
parents | 0aff28f15ea2 |
children | 7a7e4e1f558f |
line wrap: on
line diff
--- a/Samples/Sdl/BasicScene.cpp Wed Jul 17 15:33:34 2019 +0200 +++ b/Samples/Sdl/BasicScene.cpp Wed Jul 17 16:56:53 2019 +0200 @@ -48,6 +48,7 @@ static const unsigned int FONT_SIZE = 32; static const int LAYER_POSITION = 150; +#define OPENGL_ENABLED 0 void PrepareScene(OrthancStone::Scene2D& scene) { @@ -259,7 +260,7 @@ } } - +#if OPENGL_ENABLED==1 static void GLAPIENTRY OpenGLMessageCallback(GLenum source, GLenum type, @@ -276,7 +277,7 @@ type, severity, message ); } } - +#endif void Run(OrthancStone::MessageBroker& broker, OrthancStone::SdlViewport& viewport) @@ -286,8 +287,10 @@ boost::shared_ptr<ViewportController> controller( new ViewportController(boost::make_shared<UndoStack>(), broker, viewport)); +#if OPENGL_ENABLED==1 glEnable(GL_DEBUG_OUTPUT); glDebugMessageCallback(OpenGLMessageCallback, 0); +#endif boost::shared_ptr<IFlexiblePointerTracker> tracker; @@ -356,7 +359,7 @@ switch (event.key.keysym.sym) { case SDLK_f: - viewport.GetContext().GetWindow().ToggleMaximize(); + viewport.GetWindow().ToggleMaximize(); break; case SDLK_q: @@ -390,7 +393,11 @@ try { - OrthancStone::SdlViewport viewport("Hello", 1024, 768); +#if OPENGL_ENABLED==1 + OrthancStone::SdlOpenGLViewport viewport("Hello", 1024, 768); +#else + OrthancStone::SdlCairoViewport viewport("Hello", 1024, 768); +#endif PrepareScene(viewport.GetScene()); viewport.GetCompositor().SetFont(0, Orthanc::EmbeddedResources::UBUNTU_FONT,