Пример #1
0
LLButton::LLButton(	const std::string& name, const LLRect& rect, const std::string& control_name, void (*click_callback)(void*), void *callback_data)
:	LLUICtrl(name, rect, TRUE, NULL, NULL),
	mClickedCallback( click_callback ),
	mMouseDownCallback( NULL ),
	mMouseUpCallback( NULL ),
	mHeldDownCallback( NULL ),
	mGLFont( NULL ),
	mMouseDownFrame( 0 ),
	mHeldDownDelay( 0.5f ),			// seconds until held-down callback is called
	mHeldDownFrameDelay( 0 ),
	mImageUnselected( NULL ),
	mImageSelected( NULL ),
	mImageHoverSelected( NULL ),
	mImageHoverUnselected( NULL ),
	mImageDisabled( NULL ),
	mImageDisabledSelected( NULL ),
	mToggleState( FALSE ),
	mIsToggle( FALSE ),
	mScaleImage( TRUE ),
	mDropShadowedText( TRUE ),
	mBorderEnabled( FALSE ),
	mFlashing( FALSE ),
	mHAlign( LLFontGL::HCENTER ),
	mLeftHPad( LLBUTTON_H_PAD ),
	mRightHPad( LLBUTTON_H_PAD ),
	mHoverGlowStrength(0.15f),
	mCurGlowStrength(0.f),
	mNeedsHighlight(FALSE),
	mCommitOnReturn(TRUE),
	mImagep( NULL )
{
	mUnselectedLabel = name;
	mSelectedLabel = name;

	setImageUnselected(std::string("button_enabled_32x128.tga"));
	setImageSelected(std::string("button_enabled_selected_32x128.tga"));
	setImageDisabled(std::string("button_disabled_32x128.tga"));
	setImageDisabledSelected(std::string("button_disabled_32x128.tga"));

	mImageColor = LLUI::sColorsGroup->getColor( "ButtonImageColor" );
	mDisabledImageColor = LLUI::sColorsGroup->getColor( "ButtonImageColor" );

	init(click_callback, callback_data, NULL, control_name);
}
Пример #2
0
void			LLButton::setImageDisabled(const std::string &image_name)
{
	setImageDisabled(LLUI::getUIImage(image_name));
	mImageDisabledName = image_name;
}
Пример #3
0
void LLButton::setDisabledImages( const std::string &image_name, const std::string &selected_name, const LLColor4& c )
{
	setImageDisabled(image_name);
	setImageDisabledSelected(selected_name);
	mDisabledImageColor = c;
}
Пример #4
0
LLButton::LLButton(const std::string& name, const LLRect& rect, 
				   const std::string &unselected_image_name, 
				   const std::string &selected_image_name, 
				   const std::string& control_name,
				   void (*click_callback)(void*),
				   void *callback_data,
				   const LLFontGL *font,
				   const std::string& unselected_label, 
				   const std::string& selected_label )
:	LLUICtrl(name, rect, TRUE, NULL, NULL),
	mClickedCallback( click_callback ),
	mMouseDownCallback( NULL ),
	mMouseUpCallback( NULL ),
	mHeldDownCallback( NULL ),
	mGLFont( NULL ),
	mMouseDownFrame( 0 ),
	mHeldDownDelay( 0.5f ),			// seconds until held-down callback is called
	mHeldDownFrameDelay( 0 ),
	mImageUnselected( NULL ),
	mImageSelected( NULL ),
	mImageHoverSelected( NULL ),
	mImageHoverUnselected( NULL ),
	mImageDisabled( NULL ),
	mImageDisabledSelected( NULL ),
	mToggleState( FALSE ),
	mIsToggle( FALSE ),
	mScaleImage( TRUE ),
	mDropShadowedText( TRUE ),
	mBorderEnabled( FALSE ),
	mFlashing( FALSE ),
	mHAlign( LLFontGL::HCENTER ),
	mLeftHPad( LLBUTTON_H_PAD ), 
	mRightHPad( LLBUTTON_H_PAD ),
	mHoverGlowStrength(0.25f),
	mCurGlowStrength(0.f),
	mNeedsHighlight(FALSE),
	mCommitOnReturn(TRUE),
	mImagep( NULL )
{
	mUnselectedLabel = unselected_label;
	mSelectedLabel = selected_label;

	// by default, disabled color is same as enabled
	mImageColor = LLUI::sColorsGroup->getColor( "ButtonImageColor" );
	mDisabledImageColor = LLUI::sColorsGroup->getColor( "ButtonImageColor" );

	if( unselected_image_name != "" )
	{
		// user-specified image - don't use fixed borders unless requested
		setImageUnselected(unselected_image_name);
		setImageDisabled(unselected_image_name);
		
		mDisabledImageColor.mV[VALPHA] = 0.5f;
		mScaleImage = FALSE;
	}
	else
	{
		setImageUnselected(std::string("button_enabled_32x128.tga"));
		setImageDisabled(std::string("button_disabled_32x128.tga"));
	}

	if( selected_image_name != "" )
	{
		// user-specified image - don't use fixed borders unless requested
		setImageSelected(selected_image_name);
		setImageDisabledSelected(selected_image_name);

		mDisabledImageColor.mV[VALPHA] = 0.5f;
		mScaleImage = FALSE;
	}
	else
	{
		setImageSelected(std::string("button_enabled_selected_32x128.tga"));
		setImageDisabledSelected(std::string("button_disabled_32x128.tga"));
	}

	init(click_callback, callback_data, font, control_name);
}
Пример #5
0
bool HeroIcon::init( const std::string & heroname, const ccMenuCallback & callback )
{
	do
	{
		CC_BREAK_IF( !MenuItemImageWithText::initWithNormalImage( empty, empty, empty, empty, empty, callback ) );
		std::string cancel = k::resourceGameSceneFolder + "icon_x_10.png";
		std::string normal = k::resourceGameSceneFolder + heroname + "_2" + ext;
		std::string selected = k::resourceGameSceneFolder + heroname + "_3" + ext;
		std::string disabled = k::resourceGameSceneFolder + heroname + "_1" + ext;

		_unselectedHero = normal;
		_selectedHero = selected;
		
		std::string timer = k::resourceGameSceneFolder + "hero_progressbar1" + ext;
		std::string timer_bg = k::resourceGameSceneFolder + "hero_progressbar2" + ext;

		setImageNormal( normal );
		setImageDisabled( disabled );

		auto progress = Node::create();
		Sprite * image = ImageManager::sprite( timer );
		CC_BREAK_IF( !image );
		_timer = ProgressTimer::create( image );
		CC_BREAK_IF( !_timer );

		image->setAnchorPoint( Point::ANCHOR_BOTTOM_LEFT );
		_timer->setType( ProgressTimer::Type::BAR );
		_timer->setMidpoint( Point( 0.0f, 0.5f ) );
		_timer->setBarChangeRate( Point( 1, 0 ) );
		_timer->setPercentage( 0 );
		
		progress->addChild( ImageManager::sprite( timer_bg ) );
		progress->addChild( _timer, 1 );

		addChild( progress );
		Point pos;
		pos.x = getNormalImage()->getContentSize().width / 2;
		pos.y = -image->getContentSize().height * 0.7f;
		progress->setPosition( pos );
		
		if( 0 )
		{
			_cancelImage = ImageManager::sprite( cancel );
			getNormalImage()->addChild( _cancelImage );
			_cancelImage->setPosition( Point( getNormalImage()->getContentSize() ) - Point( 5, 5 ) );
			_cancelImage->setVisible( false );
			_cancelImage->setScale( 1.5f );
			
			auto s1 = ScaleTo::create( 0.4f, 1.2f );
			auto s2 = ScaleTo::create( 0.4f, 1.0f );
			auto d = DelayTime::create( 1 );
			auto s = Sequence::create( s1, s2, d, nullptr );
			auto action = RepeatForever::create( EaseInOut::create( s, 0.5f ) );
			_cancelImage->runAction( action );
		}


		return true;
	}
	while( false );
	return false;
}
Пример #6
0
void			LLButton::setImageDisabled(const LLString &image_name)
{
	setImageDisabled(image_name.empty() ? NULL : LLUI::getUIImageByName(image_name));
	mImageDisabledName = image_name;
}