Mercurial > hg > orthanc-stone
comparison Framework/Scene2D/OpenGLCompositor.h @ 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 | 64e5f3ff6360 |
comparison
equal
deleted
inserted
replaced
904:ecdb2ceaa925 | 905:88bf49aebc13 |
---|---|
19 **/ | 19 **/ |
20 | 20 |
21 | 21 |
22 #pragma once | 22 #pragma once |
23 | 23 |
24 #include "ICompositor.h" | |
24 #include "Internals/CompositorHelper.h" | 25 #include "Internals/CompositorHelper.h" |
25 #include "Internals/OpenGLColorTextureProgram.h" | 26 #include "Internals/OpenGLColorTextureProgram.h" |
26 #include "Internals/OpenGLFloatTextureProgram.h" | 27 #include "Internals/OpenGLFloatTextureProgram.h" |
27 #include "Internals/OpenGLLinesProgram.h" | 28 #include "Internals/OpenGLLinesProgram.h" |
28 #include "Internals/OpenGLTextProgram.h" | 29 #include "Internals/OpenGLTextProgram.h" |
29 | 30 |
30 namespace OrthancStone | 31 namespace OrthancStone |
31 { | 32 { |
32 class OpenGLCompositor : private Internals::CompositorHelper::IRendererFactory | 33 class OpenGLCompositor : |
34 public ICompositor, | |
35 private Internals::CompositorHelper::IRendererFactory | |
33 { | 36 { |
34 private: | 37 private: |
35 class Font; | 38 class Font; |
36 | 39 |
37 typedef std::map<size_t, Font*> Fonts; | 40 typedef std::map<size_t, Font*> Fonts; |
52 | 55 |
53 public: | 56 public: |
54 OpenGLCompositor(OpenGL::IOpenGLContext& context, | 57 OpenGLCompositor(OpenGL::IOpenGLContext& context, |
55 const Scene2D& scene); | 58 const Scene2D& scene); |
56 | 59 |
57 ~OpenGLCompositor(); | 60 virtual ~OpenGLCompositor(); |
58 | 61 |
59 void Refresh(); | 62 virtual void Refresh(); |
60 | 63 |
61 void SetFont(size_t index, | 64 void SetFont(size_t index, |
62 const GlyphBitmapAlphabet& dict); | 65 const GlyphBitmapAlphabet& dict); |
63 | 66 |
64 #if ORTHANC_ENABLE_LOCALE == 1 | 67 #if ORTHANC_ENABLE_LOCALE == 1 |
66 Orthanc::EmbeddedResources::FileResourceId resource, | 69 Orthanc::EmbeddedResources::FileResourceId resource, |
67 unsigned int fontSize, | 70 unsigned int fontSize, |
68 Orthanc::Encoding codepage); | 71 Orthanc::Encoding codepage); |
69 #endif | 72 #endif |
70 | 73 |
71 unsigned int GetCanvasWidth() const | 74 virtual unsigned int GetCanvasWidth() const |
72 { | 75 { |
73 return canvasWidth_; | 76 return canvasWidth_; |
74 } | 77 } |
75 | 78 |
76 unsigned int GetCanvasHeight() const | 79 virtual unsigned int GetCanvasHeight() const |
77 { | 80 { |
78 return canvasHeight_; | 81 return canvasHeight_; |
79 } | 82 } |
80 }; | 83 }; |
81 } | 84 } |