home *** CD-ROM | disk | FTP | other *** search
- // Zinc Interface Library - MAP1.CPP
- // COPYRIGHT (C) 1990, 1991. All Rights Reserved.
- // Zinc Software Incorporated. Pleasant Grove, Utah USA
-
- #include "ui_map.hpp"
-
- UI_PALETTE *MapPalette(UI_PALETTE_MAP *mapTable, int logicalValue,
- int id1, int id2, int id3, int id4, int id5)
- {
- int level = 10;
- UI_PALETTE *palette = &mapTable[0].palette;
- int id[5] = { id1, id2, id3, id4, id5 };
-
- // Try to find a matching palette.
- for (UI_PALETTE_MAP *map = mapTable; map->windowID != ID_END; map++)
- if (map->windowID == id1 && FlagSet(map->logicalValue, logicalValue))
- return(&map->palette);
- else
- {
- for (int i = 0; i < 5; i++)
- if (map->windowID == id[i] &&
- map->logicalValue == PM_ANY && level > 2 * i + 1)
- {
- level = 2 * i + 1;
- palette = &map->palette;
- break;
- }
- else if (map->windowID == id[i] &&
- FlagSet(map->logicalValue, logicalValue) && level > 2 * i)
- {
- level = 2 * i;
- palette = &map->palette;
- break;
- }
- }
-
- // Return the logical match palette.
- return (palette);
- }
-