Mercurial > hg > orthanc-stone
comparison Framework/Toolbox/TextRenderer.cpp @ 1298:8a0a62189f46
replacing std::auto_ptr by std::unique_ptr
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 02 Mar 2020 16:31:30 +0100 |
parents | 2d8ab34c8c91 |
children | 30deba7bc8e2 |
comparison
equal
deleted
inserted
replaced
1296:86400fa16091 | 1298:8a0a62189f46 |
---|---|
42 { | 42 { |
43 FontRenderer renderer; | 43 FontRenderer renderer; |
44 renderer.LoadFont(font, fontSize); | 44 renderer.LoadFont(font, fontSize); |
45 | 45 |
46 // add each char to be rendered to the alphabet | 46 // add each char to be rendered to the alphabet |
47 std::auto_ptr<GlyphBitmapAlphabet> alphabet(new GlyphBitmapAlphabet); | 47 std::unique_ptr<GlyphBitmapAlphabet> alphabet(new GlyphBitmapAlphabet); |
48 | 48 |
49 size_t posInString = 0; | 49 size_t posInString = 0; |
50 uint32_t unicode; | 50 uint32_t unicode; |
51 size_t utf8CharLength; | 51 size_t utf8CharLength; |
52 | 52 |
56 alphabet->AddUnicodeCharacter(renderer, unicode); | 56 alphabet->AddUnicodeCharacter(renderer, unicode); |
57 posInString += utf8CharLength; | 57 posInString += utf8CharLength; |
58 } | 58 } |
59 | 59 |
60 | 60 |
61 std::auto_ptr<Orthanc::ImageAccessor> renderedText(alphabet->RenderText(utf8String)); | 61 std::unique_ptr<Orthanc::ImageAccessor> renderedText(alphabet->RenderText(utf8String)); |
62 | 62 |
63 // add a blank line on top of the text (to improve bilinear filtering of the topmost line) | 63 // add a blank line on top of the text (to improve bilinear filtering of the topmost line) |
64 std::auto_ptr<Orthanc::Image> renderedTextExtended(new Orthanc::Image(renderedText->GetFormat(), renderedText->GetWidth(), renderedText->GetHeight() + 1, true)); | 64 std::unique_ptr<Orthanc::Image> renderedTextExtended(new Orthanc::Image(renderedText->GetFormat(), renderedText->GetWidth(), renderedText->GetHeight() + 1, true)); |
65 | 65 |
66 Orthanc::ImageAccessor textRegion; | 66 Orthanc::ImageAccessor textRegion; |
67 Orthanc::ImageAccessor firstLineRegion; | 67 Orthanc::ImageAccessor firstLineRegion; |
68 | 68 |
69 renderedTextExtended->GetRegion(firstLineRegion, 0, 0, renderedText->GetWidth(), 1); | 69 renderedTextExtended->GetRegion(firstLineRegion, 0, 0, renderedText->GetWidth(), 1); |
79 Orthanc::ImageAccessor* TextRenderer::RenderWithAlpha(Orthanc::EmbeddedResources::FileResourceId resource, | 79 Orthanc::ImageAccessor* TextRenderer::RenderWithAlpha(Orthanc::EmbeddedResources::FileResourceId resource, |
80 unsigned int fontSize, | 80 unsigned int fontSize, |
81 const std::string& utf8String, | 81 const std::string& utf8String, |
82 uint8_t foreground) | 82 uint8_t foreground) |
83 { | 83 { |
84 std::auto_ptr<Orthanc::ImageAccessor> renderedText8(Render(resource, fontSize, utf8String)); | 84 std::unique_ptr<Orthanc::ImageAccessor> renderedText8(Render(resource, fontSize, utf8String)); |
85 std::auto_ptr<Orthanc::Image> target(new Orthanc::Image(Orthanc::PixelFormat_RGBA32, renderedText8->GetWidth(), renderedText8->GetHeight(), true)); | 85 std::unique_ptr<Orthanc::Image> target(new Orthanc::Image(Orthanc::PixelFormat_RGBA32, renderedText8->GetWidth(), renderedText8->GetHeight(), true)); |
86 | 86 |
87 Orthanc::ImageProcessing::Set(*target, foreground, foreground, foreground, *renderedText8); | 87 Orthanc::ImageProcessing::Set(*target, foreground, foreground, foreground, *renderedText8); |
88 return target.release(); | 88 return target.release(); |
89 } | 89 } |
90 | 90 |
96 // unsigned int fontSize, | 96 // unsigned int fontSize, |
97 // const std::string& utf8String, | 97 // const std::string& utf8String, |
98 // uint8_t foreground, | 98 // uint8_t foreground, |
99 // uint8_t borderColor) | 99 // uint8_t borderColor) |
100 // { | 100 // { |
101 // std::auto_ptr<Orthanc::ImageAccessor> renderedBorderAlpha(RenderWithAlpha(resource, fontSize, utf8String, borderColor)); | 101 // std::unique_ptr<Orthanc::ImageAccessor> renderedBorderAlpha(RenderWithAlpha(resource, fontSize, utf8String, borderColor)); |
102 // std::auto_ptr<Orthanc::ImageAccessor> renderedTextAlpha(RenderWithAlpha(resource, fontSize, utf8String, foreground)); | 102 // std::unique_ptr<Orthanc::ImageAccessor> renderedTextAlpha(RenderWithAlpha(resource, fontSize, utf8String, foreground)); |
103 | 103 |
104 // unsigned int textWidth = renderedBorderAlpha->GetWidth(); | 104 // unsigned int textWidth = renderedBorderAlpha->GetWidth(); |
105 // unsigned int textHeight = renderedBorderAlpha->GetHeight(); | 105 // unsigned int textHeight = renderedBorderAlpha->GetHeight(); |
106 | 106 |
107 // Scene2D targetScene; | 107 // Scene2D targetScene; |
108 // std::auto_ptr<ColorTextureSceneLayer> borderLayerLeft(new ColorTextureSceneLayer(*renderedBorderAlpha)); | 108 // std::unique_ptr<ColorTextureSceneLayer> borderLayerLeft(new ColorTextureSceneLayer(*renderedBorderAlpha)); |
109 // std::auto_ptr<ColorTextureSceneLayer> borderLayerRight(new ColorTextureSceneLayer(*renderedBorderAlpha)); | 109 // std::unique_ptr<ColorTextureSceneLayer> borderLayerRight(new ColorTextureSceneLayer(*renderedBorderAlpha)); |
110 // std::auto_ptr<ColorTextureSceneLayer> borderLayerTop(new ColorTextureSceneLayer(*renderedBorderAlpha)); | 110 // std::unique_ptr<ColorTextureSceneLayer> borderLayerTop(new ColorTextureSceneLayer(*renderedBorderAlpha)); |
111 // std::auto_ptr<ColorTextureSceneLayer> borderLayerBottom(new ColorTextureSceneLayer(*renderedBorderAlpha)); | 111 // std::unique_ptr<ColorTextureSceneLayer> borderLayerBottom(new ColorTextureSceneLayer(*renderedBorderAlpha)); |
112 // std::auto_ptr<ColorTextureSceneLayer> textLayerCenter(new ColorTextureSceneLayer(*renderedTextAlpha)); | 112 // std::unique_ptr<ColorTextureSceneLayer> textLayerCenter(new ColorTextureSceneLayer(*renderedTextAlpha)); |
113 | 113 |
114 // borderLayerLeft->SetOrigin(0, 1); | 114 // borderLayerLeft->SetOrigin(0, 1); |
115 // borderLayerRight->SetOrigin(2, 1); | 115 // borderLayerRight->SetOrigin(2, 1); |
116 // borderLayerTop->SetOrigin(1, 0); | 116 // borderLayerTop->SetOrigin(1, 0); |
117 // borderLayerBottom->SetOrigin(1, 2); | 117 // borderLayerBottom->SetOrigin(1, 2); |
127 // compositor.Refresh(); | 127 // compositor.Refresh(); |
128 | 128 |
129 // Orthanc::ImageAccessor canvas; | 129 // Orthanc::ImageAccessor canvas; |
130 // compositor.GetCanvas().GetReadOnlyAccessor(canvas); | 130 // compositor.GetCanvas().GetReadOnlyAccessor(canvas); |
131 | 131 |
132 // std::auto_ptr<Orthanc::Image> output(new Orthanc::Image(Orthanc::PixelFormat_RGBA32, canvas.GetWidth(), canvas.GetHeight(), false)); | 132 // std::unique_ptr<Orthanc::Image> output(new Orthanc::Image(Orthanc::PixelFormat_RGBA32, canvas.GetWidth(), canvas.GetHeight(), false)); |
133 // Orthanc::ImageProcessing::Convert(*output, canvas); | 133 // Orthanc::ImageProcessing::Convert(*output, canvas); |
134 // return output.release(); | 134 // return output.release(); |
135 // } | 135 // } |
136 } | 136 } |