00001 #ifndef AST_ATTRIBUTE_COLOR_H_INCLUDED_ 00002 #define AST_ATTRIBUTE_COLOR_H_INCLUDED_ 00003 00004 #include "rose.h" 00005 00006 namespace risc 00007 { 00008 00009 namespace tools 00010 { 00011 00015 class AstAttributeColor: public AstAttribute { 00016 public: 00017 00018 // for the new rose release 00019 virtual AstAttribute::OwnershipPolicy getOwnershipPolicy() const ROSE_OVERRIDE 00020 { 00021 return CONTAINER_OWNERSHIP; 00022 } 00023 00024 // http://en.wikipedia.org/wiki/List_of_8-bit_computer_hardware_palettes 00025 enum Color { 00026 BLACK = 0, 00027 WHITE = 1, 00028 RED = 2, 00029 CYAN = 3, 00030 PURPLE = 4, 00031 GREEN = 5, 00032 BLUE = 6, 00033 YELLOW = 7, 00034 NO_COLOR = 255}; 00035 00036 // This are 'special' colors for the function call hierarchy 00037 enum CallHierarchy { 00038 IN_CALL_HIERARCHY = 100, 00039 NOT_IN_CALL_HIERARCHY = 101}; 00040 00041 Color color_; 00042 CallHierarchy call_hierarchy_; 00043 00047 AstAttributeColor(); 00048 00052 AstAttributeColor(Color color); 00053 }; 00054 00055 }; // end namespace tools 00056 00057 }; // end namespace risc 00058 00059 #endif /* AST_ATTRIBUTE_COLOR_H_INCLUDED_ */ 00060 00061 /* ex: set softtabstop=2 tabstop=2 shiftwidth=2 expandtab: */