Beispiel #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);
}
Beispiel #2
0
void			LLButton::setImageDisabled(const std::string &image_name)
{
	setImageDisabled(LLUI::getUIImage(image_name));
	mImageDisabledName = image_name;
}
Beispiel #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;
}
Beispiel #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);
}
Beispiel #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;
}
Beispiel #6
0
void			LLButton::setImageDisabled(const LLString &image_name)
{
	setImageDisabled(image_name.empty() ? NULL : LLUI::getUIImageByName(image_name));
	mImageDisabledName = image_name;
}