/*! @brief Stream insertion operator for a single ColourReplacementRule
 */
std::ostream& operator<< (std::ostream& output, const ColourReplacementRule& c)
{
    std::vector<Colour>::const_iterator it;

    output << c.m_name << ":" << std::endl;

    //before
    output << "\tbefore: (" << c.m_before_min << ", " << c.m_before_max << ") [";
    for(it = c.m_before.begin(); it != c.m_before.end(); it++) {
        output << getColourName(*it) << ", ";
    }
    output << "]\t\t// (min, max) [colourlist]" << std::endl;

    //middle
    output << "\tmiddle: (" << c.m_middle_min << ", " << c.m_middle_max << ") [";
    for(it = c.m_middle.begin(); it != c.m_middle.end(); it++) {
        output << getColourName(*it) << ", ";
    }
    output << "]\t\t// (min, max) [colourlist]" << std::endl;

    //after
    output << "\tafter(" << c.m_after_min << ", " << c.m_after_max << ") [";
    for(it = c.m_after.begin(); it != c.m_after.end(); it++) {
        output << getColourName(*it) << ", ";
    }
    output << "]\t\t// (min, max) [colourlist]" << std::endl;

    //replacement method
    output << "\treplacement: " << ColourReplacementRule::getMethodName(c.m_method) << "\t\t// [colourlist]" << std::endl;

    return output;
}
示例#2
0
QString ListItemDelegate::getHtmlWithColours(QString text, const bool highlighted, const bool isFocusedList) const
{
    QString startColor, stopColor, chapterColor, bookmarkColor, textColor;
    bool customColors = settings()->customColors;

    QString colouredText = text;
    if (highlighted && isFocusedList) {
        if (customColors) {
            startColor = settings()->colorStartHighlight;
            stopColor = settings()->colorStopHighlight;
            chapterColor = settings()->colorChapterHighlight;
            bookmarkColor = settings()->colorBookmarkHighlight;
            textColor = settings()->colorTextHighlight;
        } else {
            startColor = getColourName(DEFAULT_HIGHLIGHT_START_COLOUR);
            stopColor = getColourName(DEFAULT_HIGHLIGHT_STOP_COLOUR);
            chapterColor = getColourName(DEFAULT_HIGHLIGHT_CHAPTER_COLOUR);
            bookmarkColor = getColourName(DEFAULT_HIGHLIGHT_BOOKMARK_COLOUR);
            textColor = getColourName(DEFAULT_HIGHLIGHT_TEXT_COLOUR);
        }
        colouredText = colouredText.replace(QString(START_COLOUR_MASK), startColor);
        colouredText = colouredText.replace(QString(STOP_COLOUR_MASK), stopColor);
        colouredText = colouredText.replace(QString(CHAPTER_COLOUR_MASK), chapterColor);
        colouredText = colouredText.replace(QString(BOOKMARK_COLOUR_MASK), bookmarkColor);
        colouredText = colouredText.replace(QString(NORMAL_TEXT_COLOUR_MASK), textColor);
    } else {
        if (customColors) {
            startColor = settings()->colorStartNormal;
            stopColor = settings()->colorStopNormal;
            chapterColor = settings()->colorChapterNormal;
            bookmarkColor = settings()->colorBookmarkNormal;
            textColor = settings()->colorTextNormal;
        } else {
            startColor = getColourName(DEFAULT_NORMAL_START_COLOUR);
            stopColor = getColourName(DEFAULT_NORMAL_STOP_COLOUR);
            chapterColor = getColourName(DEFAULT_NORMAL_CHAPTER_COLOUR);
            bookmarkColor = getColourName(DEFAULT_NORMAL_BOOKMARK_COLOUR);
            textColor = getColourName(DEFAULT_NORMAL_TEXT_COLOUR);
        }
        colouredText = colouredText.replace(QString(START_COLOUR_MASK), startColor);
        colouredText = colouredText.replace(QString(STOP_COLOUR_MASK), stopColor);
        colouredText = colouredText.replace(QString(CHAPTER_COLOUR_MASK), chapterColor);
        colouredText = colouredText.replace(QString(BOOKMARK_COLOUR_MASK), bookmarkColor);
        colouredText = colouredText.replace(QString(NORMAL_TEXT_COLOUR_MASK), textColor);
    }

    return colouredText;
}
示例#3
0
Ogre::MaterialPtr
thrive::getColourMaterial(
    const Ogre::ColourValue& colour
) {
    Ogre::MaterialManager& manager = Ogre::MaterialManager::getSingleton();
    Ogre::String name = getColourName(colour);
    Ogre::MaterialPtr material = manager.getByName(
        name
    );
    if (material.isNull()) {
        material = manager.getDefaultSettings()->clone(
            name
        );
        material->setAmbient(0.3 * colour);
        material->setDiffuse(colour);
    }
    return material;
}