Use enum class for doc::ColorMode

This commit is contained in:
David Capello 2014-08-18 01:13:24 -03:00
parent 71d11e60a7
commit 07497ec8e5
6 changed files with 23 additions and 15 deletions

View File

@ -46,7 +46,7 @@ TEST(File, SeveralSizes)
std::sprintf(&fn[0], "test.ase");
{
doc::Document* doc = ctx.documents().add(w, h, doc::ColorMode_INDEXED, 256);
doc::Document* doc = ctx.documents().add(w, h, doc::ColorMode::INDEXED, 256);
doc->setFilename(&fn[0]);
// Random pixels

View File

@ -46,7 +46,7 @@ TEST_F(GifFormat, Dimensions)
const char* fn = "test.gif";
{
doc::Document* doc = m_ctx.documents().add(31, 29, doc::ColorMode_INDEXED, 14);
doc::Document* doc = m_ctx.documents().add(31, 29, doc::ColorMode::INDEXED, 14);
Sprite* sprite = doc->sprite();
doc->setFilename(fn);
sprite->setTransparentColor(3);
@ -84,7 +84,7 @@ TEST_F(GifFormat, OpaqueIndexed)
const char* fn = "test.gif";
{
doc::Document* doc = m_ctx.documents().add(2, 2, doc::ColorMode_INDEXED, 4);
doc::Document* doc = m_ctx.documents().add(2, 2, doc::ColorMode::INDEXED, 4);
Sprite* sprite = doc->sprite();
doc->setFilename(fn);
@ -141,7 +141,7 @@ TEST_F(GifFormat, TransparentIndexed)
const char* fn = "test.gif";
{
doc::Document* doc = m_ctx.documents().add(2, 2, doc::ColorMode_INDEXED, 4);
doc::Document* doc = m_ctx.documents().add(2, 2, doc::ColorMode::INDEXED, 4);
Sprite* sprite = doc->sprite();
doc->setFilename(fn);
@ -197,7 +197,7 @@ TEST_F(GifFormat, TransparentRgbQuantization)
const char* fn = "test.gif";
{
doc::Document* doc = m_ctx.documents().add(2, 2, doc::ColorMode_RGB, 256);
doc::Document* doc = m_ctx.documents().add(2, 2, doc::ColorMode::RGB, 256);
Sprite* sprite = doc->sprite();
doc->setFilename(fn);
@ -241,7 +241,7 @@ TEST_F(GifFormat, OpaqueRgbQuantization)
const char* fn = "test.gif";
{
doc::Document* doc = m_ctx.documents().add(2, 2, doc::ColorMode_RGB, 256);
doc::Document* doc = m_ctx.documents().add(2, 2, doc::ColorMode::RGB, 256);
Sprite* sprite = doc->sprite();
doc->setFilename(fn);
@ -289,7 +289,7 @@ TEST_F(GifFormat, OpaqueRgbQuantizationTwoLayers)
const char* fn = "test.gif";
{
Document* doc(static_cast<Document*>(m_ctx.documents().add(2, 2, doc::ColorMode_RGB, 256)));
Document* doc(static_cast<Document*>(m_ctx.documents().add(2, 2, doc::ColorMode::RGB, 256)));
Sprite* sprite = doc->sprite();
doc->setFilename(fn);

View File

@ -10,11 +10,11 @@
namespace doc {
enum ColorMode {
ColorMode_RGB,
ColorMode_GRAYSCALE,
ColorMode_INDEXED,
ColorMode_BITMAP
enum class ColorMode {
RGB,
GRAYSCALE,
INDEXED,
BITMAP
};
} // namespace doc

View File

@ -15,6 +15,14 @@
using namespace doc;
namespace doc {
std::ostream& operator<<(std::ostream& os, ColorMode mode) {
return os << (int)mode;
}
} // namespace doc
TEST(Context, AddDocument)
{
Context ctx;
@ -23,7 +31,7 @@ TEST(Context, AddDocument)
EXPECT_EQ(32, doc->width());
EXPECT_EQ(28, doc->height());
EXPECT_EQ(ColorMode_RGB, doc->colorMode()); // Default color mode is RGB
EXPECT_EQ(ColorMode::RGB, doc->colorMode()); // Default color mode is RGB
}
TEST(Context, DeleteDocuments)

View File

@ -40,7 +40,7 @@ namespace doc {
bool empty() const { return m_docs.empty(); }
// Add a new documents to the list.
Document* add(int width, int height, ColorMode mode = ColorMode_RGB, int ncolors = 256);
Document* add(int width, int height, ColorMode mode = ColorMode::RGB, int ncolors = 256);
Document* add(Document* doc);
// Removes a document from the list without deleting it. You must

View File

@ -39,7 +39,7 @@ namespace doc {
int size() const { return m_sprites.size(); }
bool empty() const { return m_sprites.empty(); }
Sprite* add(int width, int height, ColorMode mode = ColorMode_RGB, int ncolors = 256);
Sprite* add(int width, int height, ColorMode mode = ColorMode::RGB, int ncolors = 256);
Sprite* add(Sprite* spr);
void remove(Sprite* spr);
void move(Sprite* spr, int index);