Browse Source

Text: stop using naked new.

pull/168/head
Vladimír Vondruš 3 years ago
parent
commit
2bcded5077
  1. 10
      src/Magnum/Text/Test/AbstractFontConverterTest.cpp
  2. 2
      src/Magnum/Text/Test/AbstractFontTest.cpp
  3. 4
      src/Magnum/Text/Test/RendererGLTest.cpp
  4. 6
      src/Magnum/Text/fontconverter.cpp

10
src/Magnum/Text/Test/AbstractFontConverterTest.cpp

@ -802,7 +802,7 @@ void AbstractFontConverterTest::importGlyphCacheFromSingleData() {
Containers::Pointer<AbstractGlyphCache> doImportGlyphCacheFromSingleData(const Containers::ArrayView<const char> data) const override {
if(data.size() == 1 && data[0] == '\xa5')
return Containers::pointer(new DummyGlyphCache{{123, 345}});
return Containers::pointer<DummyGlyphCache>(Vector2i{123, 345});
return nullptr;
}
} converter;
@ -851,7 +851,7 @@ void AbstractFontConverterTest::importGlyphCacheFromData() {
Containers::Pointer<AbstractGlyphCache> doImportGlyphCacheFromData(const std::vector<std::pair<std::string, Containers::ArrayView<const char>>>& data) const override {
if(data.size() == 2 && data[1].second.size() == 1 && data[1].second[0] == '\xa5')
return Containers::pointer(new DummyGlyphCache{{123, 345}});
return Containers::pointer<DummyGlyphCache>(Vector2i{123, 345});
return nullptr;
}
} converter;
@ -902,7 +902,7 @@ void AbstractFontConverterTest::importGlyphCacheFromDataAsSingleData() {
Containers::Pointer<AbstractGlyphCache> doImportGlyphCacheFromSingleData(const Containers::ArrayView<const char> data) const override {
if(data.size() == 1 && data[0] == '\xa5')
return Containers::pointer(new DummyGlyphCache{{123, 345}});
return Containers::pointer<DummyGlyphCache>(Vector2i{123, 345});
return nullptr;
}
} converter;
@ -925,7 +925,7 @@ void AbstractFontConverterTest::importGlyphCacheFromFile() {
CORRADE_COMPARE_AS(*data,
Containers::arrayView({'\xa5'}),
TestSuite::Compare::Container);
return Containers::pointer(new DummyGlyphCache{{123, 345}});
return Containers::pointer<DummyGlyphCache>(Vector2i{123, 345});
}
} converter;
@ -957,7 +957,7 @@ void AbstractFontConverterTest::importGlyphCacheFromFileAsSingleData() {
Containers::Pointer<AbstractGlyphCache> doImportGlyphCacheFromSingleData(const Containers::ArrayView<const char> data) const override {
if(data.size() == 1 && data[0] == '\xa5')
return Containers::pointer(new DummyGlyphCache{{123, 345}});
return Containers::pointer<DummyGlyphCache>(Vector2i{123, 345});
return nullptr;
}
} converter;

2
src/Magnum/Text/Test/AbstractFontTest.cpp

@ -1113,7 +1113,7 @@ void AbstractFontTest::createGlyphCache() {
Containers::Pointer<AbstractLayouter> doLayout(const AbstractGlyphCache&, Float, Containers::StringView) override { return nullptr; }
Containers::Pointer<AbstractGlyphCache> doCreateGlyphCache() override {
Containers::Pointer<AbstractGlyphCache> cache{new DummyGlyphCache{{100, 100}}};
Containers::Pointer<DummyGlyphCache> cache{InPlaceInit, Vector2i{100, 100}};
for(char a: "helo"_s) cache->insert(a*10, {a/2, a*2}, {});
return cache;
}

4
src/Magnum/Text/Test/RendererGLTest.cpp

@ -81,7 +81,7 @@ class TestFont: public AbstractFont {
Vector2 doGlyphAdvance(UnsignedInt) override { return {}; }
Containers::Pointer<AbstractLayouter> doLayout(const AbstractGlyphCache&, Float size, Containers::StringView text) override {
return Containers::Pointer<AbstractLayouter>(new TestLayouter(size, text.size()));
return Containers::pointer<TestLayouter>(size, text.size());
}
};
@ -359,7 +359,7 @@ void RendererGLTest::multiline() {
Vector2 doGlyphAdvance(UnsignedInt) override { return {}; }
Containers::Pointer<AbstractLayouter> doLayout(const AbstractGlyphCache&, Float, Containers::StringView text) override {
return Containers::Pointer<AbstractLayouter>(new Layouter(text.size()));
return Containers::pointer<Layouter>(UnsignedInt(text.size()));
}
bool _opened;

6
src/Magnum/Text/fontconverter.cpp

@ -201,16 +201,16 @@ int FontConverter::exec() {
if(!args.value<Vector2i>("output-size").isZero()) {
Debug() << "Populating distance field glyph cache...";
cache.reset(new DistanceFieldGlyphCache(
cache.emplace<DistanceFieldGlyphCache>(
args.value<Vector2i>("atlas-size"),
args.value<Vector2i>("output-size"),
args.value<Int>("radius")));
args.value<UnsignedInt>("radius"));
/* Otherwise use normal cache */
} else {
Debug() << "Zero-size distance field output specified, populating normal glyph cache...";
cache.reset(new GlyphCache(args.value<Vector2i>("atlas-size")));
cache.emplace<GlyphCache>(args.value<Vector2i>("atlas-size"));
}
/* Fill the cache */

Loading…
Cancel
Save