/* * Copyright (C) 2009 Stephan Aßmus * All rights reserved. Distributed under the terms of the MIT license. */ #include "DrawingModeToString.h" #include struct DrawingModeString { const char* string; drawing_mode mode; }; static const DrawingModeString kDrawingModes[] = { { "B_OP_COPY", B_OP_COPY }, { "B_OP_OVER", B_OP_OVER }, { "B_OP_ERASE", B_OP_ERASE }, { "B_OP_INVERT", B_OP_INVERT }, { "B_OP_ADD", B_OP_ADD }, { "B_OP_SUBTRACT", B_OP_SUBTRACT }, { "B_OP_BLEND", B_OP_BLEND }, { "B_OP_MIN", B_OP_MIN }, { "B_OP_MAX", B_OP_MAX }, { "B_OP_SELECT", B_OP_SELECT }, { "B_OP_ALPHA", B_OP_ALPHA } }; bool ToDrawingMode(const char* string, drawing_mode& mode) { int entries = sizeof(kDrawingModes) / sizeof(DrawingModeString); for (int32 i = 0; i < entries; i++) { if (strcmp(kDrawingModes[i].string, string) == 0) { mode = kDrawingModes[i].mode; return true; } } return false; } bool ToString(drawing_mode mode, const char*& string) { int entries = sizeof(kDrawingModes) / sizeof(DrawingModeString); for (int32 i = 0; i < entries; i++) { if (kDrawingModes[i].mode == mode) { string = kDrawingModes[i].string; return true; } } return false; }