Beispiel #1
0
void Setup_Colors::updateColor()
{
    if (mSelected == -1)
        return;

    Palette::ColorType type = guiPalette->getColorTypeAt(mSelected);
    const Palette::GradientType grad = (Palette::GradientType) mGradTypeSlider->getValue();
    const int delay = (int) mGradDelaySlider->getValue();
    guiPalette->setGradient(type, grad);
    guiPalette->setGradientDelay(type, delay);
    updateGradType();

    if (grad == Palette::STATIC)
    {
        guiPalette->setColor(type,
                static_cast<int>(mRedSlider->getValue()),
                static_cast<int>(mGreenSlider->getValue()),
                static_cast<int>(mBlueSlider->getValue()));
    }
    else if (grad == Palette::PULSE)
    {
        guiPalette->setTestColor(type, gcn::Color(
                static_cast<int>(mRedSlider->getValue()),
                static_cast<int>(mGreenSlider->getValue()),
                static_cast<int>(mBlueSlider->getValue())));
    }
}
Beispiel #2
0
void Setup_Colors::valueChanged(const gcn::SelectionEvent &event)
{
    mSelected = mColorBox->getSelected();
    int type = userPalette->getColorTypeAt(mSelected);
    const gcn::Color *col = &userPalette->getColor(type);
    Palette::GradientType grad = userPalette->getGradientType(type);
    const int delay = userPalette->getGradientDelay(type);

    mPreview->clearRows();
    mPreviewBox->setContent(mTextPreview);
    mTextPreview->setFont(boldFont);
    mTextPreview->setTextColor(col);
    mTextPreview->setTextBGColor(NULL);
    mTextPreview->setOpaque(false);
    mTextPreview->setShadow(true);
    mTextPreview->setOutline(true);
    mTextPreview->useTextAlpha(false);

    switch (type)
    {
        case UserPalette::PARTICLE:
        case UserPalette::EXP_INFO:
        case UserPalette::PICKUP_INFO:
        case UserPalette::HIT_PLAYER_MONSTER:
        case UserPalette::HIT_MONSTER_PLAYER:
        case UserPalette::HIT_CRITICAL:
        case UserPalette::MISS:
            mTextPreview->setShadow(false);
    }

    if (grad != Palette::STATIC && grad != Palette::PULSE)
    { // If nonstatic color, don't display the current, but the committed
      // color at the sliders
        col = &userPalette->getCommittedColor(type);
    }
    else if (grad == Palette::PULSE)
    {
        col = &userPalette->getTestColor(type);
    }

    setEntry(mGradDelaySlider, mGradDelayText, delay);
    setEntry(mRedSlider, mRedText, col->r);
    setEntry(mGreenSlider, mGreenText, col->g);
    setEntry(mBlueSlider, mBlueText, col->b);

    mGradTypeSlider->setValue(grad);
    updateGradType();
    mGradTypeSlider->setEnabled(true);
}
Beispiel #3
0
void Setup_Colors::action(const gcn::ActionEvent &event)
{
    if (event.getId() == "slider_grad")
        updateGradType();
    else if (event.getId() == "slider_graddelay")
        mGradDelayText->setText(toString(std::floor(mGradDelaySlider->getValue())));
    else if (event.getId() == "slider_red")
        mRedText->setText(toString(std::floor(mRedSlider->getValue())));
    else if (event.getId() == "slider_green")
        mGreenText->setText(toString(std::floor(mGreenSlider->getValue())));
    else if (event.getId() == "slider_blue")
        mBlueText->setText(toString(std::floor(mBlueSlider->getValue())));
    else
        return;

    updateColor();
}
Beispiel #4
0
void Setup_Colors::valueChanged(const gcn::SelectionEvent &event)
{
    mSelected = mColorBox->getSelected();
    Palette::ColorType type = guiPalette->getColorTypeAt(mSelected);
    const gcn::Color *col = &guiPalette->getColor(type);
    Palette::GradientType grad = guiPalette->getGradientType(type);
    const int delay = guiPalette->getGradientDelay(type);

    std::string msg;
    const char ch = guiPalette->getColorChar(type);

    mPreview->clearRows();
    mPreviewBox->setContent(mTextPreview);
    mTextPreview->setFont(gui->getFont());
    mTextPreview->setTextColor(&guiPalette->getColor(Palette::TEXT));
    mTextPreview->setTextBGColor(NULL);
    mTextPreview->setOpaque(false);
    mTextPreview->setShadow(true);
    mTextPreview->setOutline(true);
    mTextPreview->useTextAlpha(false);

    switch (type)
    {
        case Palette::TEXT:
        case Palette::SHADOW:
        case Palette::OUTLINE:
            mTextPreview->setFont(gui->getFont());
            mTextPreview->setShadow(type == Palette::SHADOW);
            mTextPreview->setOutline(type == Palette::OUTLINE);
            break;
        case Palette::PROGRESS_BAR:
            mTextPreview->useTextAlpha(true);
            mTextPreview->setFont(boldFont);
            mTextPreview->setTextColor(col);
            mTextPreview->setOutline(true);
            mTextPreview->setShadow(false);
            break;
        case Palette::TAB_HIGHLIGHT:
            mTextPreview->setFont(gui->getFont());
            mTextPreview->setTextColor(col);
            mTextPreview->setOutline(false);
            mTextPreview->setShadow(false);
            break;
        case Palette::BACKGROUND:
        case Palette::SHOP_WARNING:
            mTextPreview->setBGColor(col);
            mTextPreview->setOpaque(true);
            mTextPreview->setOutline(false);
            mTextPreview->setShadow(false);
            break;
        case Palette::HPBAR_FULL:
        case Palette::HPBAR_THREE_QUARTERS:
        case Palette::HPBAR_ONE_HALF:
        case Palette::HPBAR_ONE_QUARTER:
            mTextPreview->setTextBGColor(col);
            mTextPreview->setFont(boldFont);
            mTextPreview->setTextColor(&guiPalette->getColor(Palette::PROGRESS_BAR));
            mTextPreview->setOutline(true);
            mTextPreview->setShadow(false);
            mPreview->addRow(rawmsg);
            break;
        case Palette::HIGHLIGHT:
            mTextPreview->setTextBGColor(col);
            mTextPreview->setOutline(false);
            mTextPreview->setShadow(false);
            mPreview->addRow(rawmsg);
            break;
        case Palette::CHAT:
        case Palette::GM:
        case Palette::PLAYER:
        case Palette::WHISPER:
        case Palette::IS:
        case Palette::PARTY:
        case Palette::SERVER:
        case Palette::LOGGER:
        case Palette::HYPERLINK:
            mPreviewBox->setContent(mPreview);
            mPreview->clearRows();

            if (ch == '<')
                msg = toString("@@|") + rawmsg + "@@";
            else
                msg = "##" + toString(ch) + rawmsg;

            mPreview->addRow(msg);
            break;
        case Palette::ITEM_EQUIPPED:
            mTextPreview->setTextColor(col);
            mTextPreview->setOutline(false);
            mTextPreview->setShadow(false);
            break;
        case Palette::UNKNOWN_ITEM:
        case Palette::GENERIC:
        case Palette::HEAD:
        case Palette::USABLE:
        case Palette::TORSO:
        case Palette::ONEHAND:
        case Palette::LEGS:
        case Palette::FEET:
        case Palette::TWOHAND:
        case Palette::SHIELD:
        case Palette::RING:
        case Palette::NECKLACE:
        case Palette::ARMS:
        case Palette::AMMO:
            mTextPreview->setFont(boldFont);
            mTextPreview->setTextColor(col);
            mTextPreview->setOutline(false);
            mTextPreview->setShadow(false);
            break;
        case Palette::PARTICLE:
        case Palette::EXP_INFO:
        case Palette::PICKUP_INFO:
        case Palette::HIT_PLAYER_MONSTER:
        case Palette::HIT_MONSTER_PLAYER:
        case Palette::HIT_CRITICAL:
        case Palette::MISS:
            mTextPreview->setShadow(false);
        case Palette::BEING:
        case Palette::PC:
        case Palette::SELF:
        case Palette::GM_NAME:
        case Palette::NPC:
        case Palette::MONSTER:
            mTextPreview->setFont(boldFont);
            mTextPreview->setTextColor(col);
        case Palette::TYPE_COUNT:
            break;
    }

    if (grad != Palette::STATIC && grad != Palette::PULSE)
    { // If nonstatic color, don't display the current, but the committed
      // color at the sliders
        col = &guiPalette->getCommittedColor(type);
    }
    else if (grad == Palette::PULSE)
    {
        col = &guiPalette->getTestColor(type);
    }

    setEntry(mGradDelaySlider, mGradDelayText, delay);
    setEntry(mRedSlider, mRedText, col->r);
    setEntry(mGreenSlider, mGreenText, col->g);
    setEntry(mBlueSlider, mBlueText, col->b);

    mGradTypeSlider->setValue(grad);
    updateGradType();
    mGradTypeSlider->setEnabled(true);
}