const Color3B& UIWidget::getColor() { RGBAProtocol* rgbap = DYNAMIC_CAST_RGBAProtocol; if (rgbap) { return rgbap->getColor(); } return Color3B::WHITE; }
void TintTo::startWithTarget(Node *target) { ActionInterval::startWithTarget(target); RGBAProtocol *pRGBAProtocol = dynamic_cast<RGBAProtocol*>(_target); if (pRGBAProtocol) { _from = pRGBAProtocol->getColor(); } /*_from = target->getColor();*/ }
void TintBy::startWithTarget(Node *target) { ActionInterval::startWithTarget(target); RGBAProtocol *pRGBAProtocol = dynamic_cast<RGBAProtocol*>(target); if (pRGBAProtocol) { Color3B color = pRGBAProtocol->getColor(); _fromR = color.r; _fromG = color.g; _fromB = color.b; } }
bool ControlButton::initWithLabelAndBackgroundSprite(Node* node, Scale9Sprite* backgroundSprite) { if (Control::init()) { CCASSERT(node != NULL, "Label must not be nil."); LabelProtocol* label = dynamic_cast<LabelProtocol*>(node); RGBAProtocol* rgbaLabel = dynamic_cast<RGBAProtocol*>(node); CCASSERT(backgroundSprite != NULL, "Background sprite must not be nil."); CCASSERT(label != NULL || rgbaLabel!=NULL || backgroundSprite != NULL, ""); _parentInited = true; // Initialize the button state tables this->setTitleDispatchTable(Dictionary::create()); this->setTitleColorDispatchTable(Dictionary::create()); this->setTitleLabelDispatchTable(Dictionary::create()); this->setBackgroundSpriteDispatchTable(Dictionary::create()); setTouchEnabled(true); _isPushed = false; _zoomOnTouchDown = true; _currentTitle=NULL; // Adjust the background image by default setAdjustBackgroundImage(true); setPreferredSize(Size::ZERO); // Zooming button by default _zoomOnTouchDown = true; // Set the default anchor point ignoreAnchorPointForPosition(false); setAnchorPoint(Point(0.5f, 0.5f)); // Set the nodes setTitleLabel(node); setBackgroundSprite(backgroundSprite); // Set the default color and opacity setColor(Color3B(255.0f, 255.0f, 255.0f)); setOpacity(255.0f); setOpacityModifyRGB(true); // Initialize the dispatch table String* tempString = String::create(label->getString()); //tempString->autorelease(); setTitleForState(tempString, Control::State::NORMAL); setTitleColorForState(rgbaLabel->getColor(), Control::State::NORMAL); setTitleLabelForState(node, Control::State::NORMAL); setBackgroundSpriteForState(backgroundSprite, Control::State::NORMAL); setLabelAnchorPoint(Point(0.5f, 0.5f)); // Layout update needsLayout(); return true; } //couldn't init the Control else { return false; } }