Browse Source

TextureTools: forward-declare std::vector for this awful old function.

Needs to be eventually reworked/deleted anyway, but that's not the goal
now.
pull/578/head
Vladimír Vondruš 4 years ago
parent
commit
18bff5b479
  1. 2
      src/Magnum/TextureTools/Atlas.cpp
  2. 2
      src/Magnum/TextureTools/Atlas.h
  3. 25
      src/Magnum/TextureTools/Test/AtlasTest.cpp

2
src/Magnum/TextureTools/Atlas.cpp

@ -25,6 +25,8 @@
#include "Atlas.h" #include "Atlas.h"
#include <vector>
#include "Magnum/Math/Functions.h" #include "Magnum/Math/Functions.h"
#include "Magnum/Math/Range.h" #include "Magnum/Math/Range.h"

2
src/Magnum/TextureTools/Atlas.h

@ -29,7 +29,7 @@
* @brief Function @ref Magnum::TextureTools::atlas() * @brief Function @ref Magnum::TextureTools::atlas()
*/ */
#include <vector> #include <Corrade/Utility/StlForwardVector.h>
#include "Magnum/Magnum.h" #include "Magnum/Magnum.h"
#include "Magnum/Math/Vector2.h" #include "Magnum/Math/Vector2.h"

25
src/Magnum/TextureTools/Test/AtlasTest.cpp

@ -24,6 +24,7 @@
*/ */
#include <sstream> #include <sstream>
#include <vector>
#include <Corrade/TestSuite/Tester.h> #include <Corrade/TestSuite/Tester.h>
#include <Corrade/Utility/DebugStl.h> #include <Corrade/Utility/DebugStl.h>
@ -35,20 +36,20 @@ namespace Magnum { namespace TextureTools { namespace Test { namespace {
struct AtlasTest: TestSuite::Tester { struct AtlasTest: TestSuite::Tester {
explicit AtlasTest(); explicit AtlasTest();
void create(); void basic();
void createPadding(); void padding();
void createEmpty(); void empty();
void createTooSmall(); void tooSmall();
}; };
AtlasTest::AtlasTest() { AtlasTest::AtlasTest() {
addTests({&AtlasTest::create, addTests({&AtlasTest::basic,
&AtlasTest::createPadding, &AtlasTest::padding,
&AtlasTest::createEmpty, &AtlasTest::empty,
&AtlasTest::createTooSmall}); &AtlasTest::tooSmall});
} }
void AtlasTest::create() { void AtlasTest::basic() {
std::vector<Range2Di> atlas = TextureTools::atlas({64, 64}, { std::vector<Range2Di> atlas = TextureTools::atlas({64, 64}, {
{12, 18}, {12, 18},
{32, 15}, {32, 15},
@ -62,7 +63,7 @@ void AtlasTest::create() {
Range2Di::fromSize({0, 25}, {23, 25})})); Range2Di::fromSize({0, 25}, {23, 25})}));
} }
void AtlasTest::createPadding() { void AtlasTest::padding() {
std::vector<Range2Di> atlas = TextureTools::atlas({64, 64}, { std::vector<Range2Di> atlas = TextureTools::atlas({64, 64}, {
{8, 16}, {8, 16},
{28, 13}, {28, 13},
@ -76,12 +77,12 @@ void AtlasTest::createPadding() {
Range2Di::fromSize({2, 26}, {19, 23})})); Range2Di::fromSize({2, 26}, {19, 23})}));
} }
void AtlasTest::createEmpty() { void AtlasTest::empty() {
std::vector<Range2Di> atlas = TextureTools::atlas({}, {}); std::vector<Range2Di> atlas = TextureTools::atlas({}, {});
CORRADE_VERIFY(atlas.empty()); CORRADE_VERIFY(atlas.empty());
} }
void AtlasTest::createTooSmall() { void AtlasTest::tooSmall() {
std::ostringstream o; std::ostringstream o;
Error redirectError{&o}; Error redirectError{&o};

Loading…
Cancel
Save