Ejemplo n.º 1
0
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;
}