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()))); } }
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); }
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(); }
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); }