static Attribute convert_attribute (const IME_Attribute &ime_attr) { Attribute attr ((unsigned int) ime_attr.start, (unsigned int) ime_attr.length); unsigned int val = 0; switch (ime_attr.type) { case IME_ATTR_DECORATION: if (ime_attr.value & IME_DECORATION_HIGHLIGHT) val |= SCIM_ATTR_DECORATE_HIGHLIGHT; if (ime_attr.value & IME_DECORATION_REVERSE) val |= SCIM_ATTR_DECORATE_REVERSE; if (ime_attr.value & IME_DECORATION_UNDERLINE) val |= SCIM_ATTR_DECORATE_UNDERLINE; attr.set_type (SCIM_ATTR_DECORATE); attr.set_value (val); break; case IME_ATTR_FOREGROUND_RGB: attr.set_type (SCIM_ATTR_FOREGROUND); attr.set_value (SCIM_RGB_COLOR(IME_RGB_COLOR_RED(ime_attr.value),IME_RGB_COLOR_GREEN(ime_attr.value),IME_RGB_COLOR_BLUE(ime_attr.value))); break; case IME_ATTR_BACKGROUND_RGB: attr.set_type (SCIM_ATTR_BACKGROUND); attr.set_value (SCIM_RGB_COLOR(IME_RGB_COLOR_RED(ime_attr.value),IME_RGB_COLOR_GREEN(ime_attr.value),IME_RGB_COLOR_BLUE(ime_attr.value))); break; } return attr; }
AttributeList NativeLookupTable::get_attributes (int index) const { AttributeList attrs; #if 0 if (index >= 0 && index < (int) m_strings.size ()) attrs.push_back (Attribute (0, m_strings [index].length (), SCIM_ATTR_FOREGROUND, SCIM_RGB_COLOR(32, 32, 255))); #endif return attrs; }