diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llrender/llfontgl.cpp | 31 | ||||
| -rw-r--r-- | indra/llrender/llfontgl.h | 3 | ||||
| -rw-r--r-- | indra/llui/llbutton.cpp | 2 | ||||
| -rw-r--r-- | indra/llui/lldraghandle.cpp | 1 | ||||
| -rw-r--r-- | indra/llui/llfloater.cpp | 10 | ||||
| -rw-r--r-- | indra/llui/llmenugl.cpp | 4 | ||||
| -rw-r--r-- | indra/llui/lltextbox.cpp | 16 | ||||
| -rw-r--r-- | indra/llui/lltextbox.h | 4 | ||||
| -rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llfloatertos.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llnetmap.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llpanelcontents.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llpreviewscript.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llviewermessage.cpp | 17 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llworldmapview.cpp | 1 | ||||
| -rw-r--r-- | indra/test/llhttpclient_tut.cpp | 7 | ||||
| -rw-r--r-- | indra/test/lltut.cpp | 12 | 
18 files changed, 85 insertions, 40 deletions
| diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index 73459facc9..f9b7345048 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -50,7 +50,7 @@ const F32 PIXEL_BORDER_THRESHOLD = 0.0001f;  const F32 PIXEL_CORRECTION_DISTANCE = 0.01f;  const F32 PAD_AMT = 0.5f; -const F32 DROP_SHADOW_STRENGTH = 0.3f; +const F32 DROP_SHADOW_SOFT_STRENGTH = 0.3f;  F32 llfont_round_x(F32 x)  { @@ -86,6 +86,14 @@ U8 LLFontGL::getStyleFromString(const LLString &style)  	{  		ret |= UNDERLINE;  	} +	if (style.find("SHADOW") != style.npos) +	{ +		ret |= DROP_SHADOW; +	} +	if (style.find("SOFT_SHADOW") != style.npos) +	{ +		ret |= DROP_SHADOW_SOFT; +	}  	return ret;  } @@ -551,14 +559,14 @@ S32 LLFontGL::render(const LLWString &wstr,  	}  	F32 drop_shadow_strength = 0.f; -	if (style & DROP_SHADOW) +	if (style & (DROP_SHADOW | DROP_SHADOW_SOFT))  	{  		F32 luminance;  		color.calcHSL(NULL, NULL, &luminance); -		drop_shadow_strength = clamp_rescale(luminance, 0.35f, 0.6f, 0.f, DROP_SHADOW_STRENGTH); +		drop_shadow_strength = clamp_rescale(luminance, 0.35f, 0.6f, 0.f, 1.f);  		if (luminance < 0.35f)  		{ -			style = style & ~DROP_SHADOW; +			style = style & ~(DROP_SHADOW | DROP_SHADOW_SOFT);  		}  	} @@ -1315,10 +1323,10 @@ void LLFontGL::drawGlyph(const LLRectf& screen_rect, const LLRectf& uv_rect, con  				renderQuad(screen_rect_offset, uv_rect, slant_offset);  			}  		} -		else if (style & DROP_SHADOW) +		else if (style & DROP_SHADOW_SOFT)  		{  			LLColor4 shadow_color = LLFontGL::sShadowColor; -			shadow_color.mV[VALPHA] = color.mV[VALPHA] * drop_shadow_strength; +			shadow_color.mV[VALPHA] = color.mV[VALPHA] * drop_shadow_strength * DROP_SHADOW_SOFT_STRENGTH;  			glColor4fv(shadow_color.mV);  			for (S32 pass = 0; pass < 5; pass++)  			{ @@ -1348,6 +1356,17 @@ void LLFontGL::drawGlyph(const LLRectf& screen_rect, const LLRectf& uv_rect, con  			glColor4fv(color.mV);  			renderQuad(screen_rect, uv_rect, slant_offset);  		} +		else if (style & DROP_SHADOW) +		{ +			LLColor4 shadow_color = LLFontGL::sShadowColor; +			shadow_color.mV[VALPHA] = color.mV[VALPHA] * drop_shadow_strength; +			glColor4fv(shadow_color.mV); +			LLRectf screen_rect_shadow = screen_rect; +			screen_rect_shadow.translate(1.f, -1.f); +			renderQuad(screen_rect_shadow, uv_rect, slant_offset); +			glColor4fv(color.mV); +			renderQuad(screen_rect, uv_rect, slant_offset); +		}  		else // normal rendering  		{  			glColor4fv(color.mV); diff --git a/indra/llrender/llfontgl.h b/indra/llrender/llfontgl.h index 75e12f0475..28ff5f6681 100644 --- a/indra/llrender/llfontgl.h +++ b/indra/llrender/llfontgl.h @@ -45,7 +45,8 @@ public:  		BOLD = 1,  		ITALIC = 2,  		UNDERLINE = 4, -		DROP_SHADOW = 8 +		DROP_SHADOW = 8, +		DROP_SHADOW_SOFT = 16  	};  	// Takes a string with potentially several flags, i.e. "NORMAL|BOLD|ITALIC" diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 9f66daf890..ddd81e77b3 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -628,7 +628,7 @@ void LLButton::draw()  			mGLFont->render(label, 0, (F32)x, (F32)(LLBUTTON_V_PAD + y_offset),   				label_color,  				mHAlign, LLFontGL::BOTTOM, -				mDropShadowedText ? LLFontGL::DROP_SHADOW : LLFontGL::NORMAL, +				mDropShadowedText ? LLFontGL::DROP_SHADOW_SOFT : LLFontGL::NORMAL,  				U32_MAX, drawable_width,  				NULL, FALSE, FALSE);  		} diff --git a/indra/llui/lldraghandle.cpp b/indra/llui/lldraghandle.cpp index 599a85021b..25b41e44e1 100644 --- a/indra/llui/lldraghandle.cpp +++ b/indra/llui/lldraghandle.cpp @@ -102,6 +102,7 @@ void LLDragHandleTop::setTitle(const LLString& title)  	const LLFontGL* font = gResMgr->getRes( LLFONT_SANSSERIF );  	mTitleBox = new LLTextBox( "Drag Handle Title", mRect, trimmed_title, font );  	mTitleBox->setFollows(FOLLOWS_TOP | FOLLOWS_LEFT | FOLLOWS_RIGHT); +	mTitleBox->setFontStyle(LLFontGL::DROP_SHADOW_SOFT);  	reshapeTitleBox();  	// allow empty titles, as default behavior replaces them with title box name diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 40c11c69cc..3da53275c7 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -1919,7 +1919,11 @@ void LLFloaterView::bringToFront(LLFloater* child, BOOL give_focus)  		LLFloater* floaterp = (LLFloater*)(*view_it);  		sendChildToFront(floaterp); -		floaterp->setMinimized(FALSE); +		// always unminimize dependee, but allow dependents to stay minimized +		if (!floaterp->isDependent()) +		{ +			floaterp->setMinimized(FALSE); +		}  	}  	floaters_to_move.clear(); @@ -1931,7 +1935,9 @@ void LLFloaterView::bringToFront(LLFloater* child, BOOL give_focus)  		if (dependent)  		{  			sendChildToFront(dependent); -			dependent->setMinimized(FALSE); +			//don't un-minimize dependent windows automatically +			// respect user's wishes +			//dependent->setMinimized(FALSE);  		}  		++dependent_it;  	} diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index f5dcae5787..2cae50bd04 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -497,7 +497,7 @@ void LLMenuItemGL::draw( void )  	U8 font_style = mStyle;  	if (LLMenuItemGL::sDropShadowText && getEnabled() && !mDrawTextDisabled )  	{ -		font_style |= LLFontGL::DROP_SHADOW; +		font_style |= LLFontGL::DROP_SHADOW_SOFT;  	}  	if ( getEnabled() && getHighlight() ) @@ -1728,7 +1728,7 @@ void LLMenuItemBranchDownGL::draw( void )  	U8 font_style = mStyle;  	if (LLMenuItemGL::sDropShadowText && getEnabled() && !mDrawTextDisabled )  	{ -		font_style |= LLFontGL::DROP_SHADOW; +		font_style |= LLFontGL::DROP_SHADOW_SOFT;  	}  	LLColor4 color; diff --git a/indra/llui/lltextbox.cpp b/indra/llui/lltextbox.cpp index 2afa32eccd..48ff6afbd5 100644 --- a/indra/llui/lltextbox.cpp +++ b/indra/llui/lltextbox.cpp @@ -28,7 +28,7 @@ LLTextBox::LLTextBox(const LLString& name, const LLRect& rect, const LLString& t  	mBorderColor(		LLUI::sColorsGroup->getColor( "DefaultHighlightLight" ) ),  	mBackgroundVisible( FALSE ),  	mBorderVisible( FALSE ), -	mDropshadowVisible( TRUE ), +	mFontStyle(LLFontGL::DROP_SHADOW_SOFT),  	mBorderDropShadowVisible( FALSE ),  	mHPad(0),  	mVPad(0), @@ -53,7 +53,7 @@ LLTextBox::LLTextBox(const LLString& name, const LLString& text, F32 max_width,  	mBorderColor(LLUI::sColorsGroup->getColor("DefaultHighlightLight")),  	mBackgroundVisible(FALSE),  	mBorderVisible(FALSE), -	mDropshadowVisible(TRUE), +	mFontStyle(LLFontGL::DROP_SHADOW_SOFT),  	mBorderDropShadowVisible(FALSE),  	mHPad(0),  	mVPad(0), @@ -343,7 +343,7 @@ void LLTextBox::drawText( S32 x, S32 y, const LLColor4& color )  			S32 line_length = *iter;  			mFontGL->render(mText.getWString(), cur_pos, (F32)x, (F32)y, color,  							mHAlign, mVAlign, -							mDropshadowVisible ? LLFontGL::DROP_SHADOW : LLFontGL::NORMAL, +							mFontStyle,  							line_length, mRect.getWidth(), NULL, TRUE );  			cur_pos += line_length + 1;  			y -= llfloor(mFontGL->getLineHeight()); @@ -353,7 +353,7 @@ void LLTextBox::drawText( S32 x, S32 y, const LLColor4& color )  	{  		mFontGL->render(mText.getWString(), 0, (F32)x, (F32)y, color,  						mHAlign, mVAlign,  -						mDropshadowVisible ? LLFontGL::DROP_SHADOW : LLFontGL::NORMAL, +						mFontStyle,  						S32_MAX, mRect.getWidth(), NULL, TRUE);  	}  } @@ -386,8 +386,6 @@ LLXMLNodePtr LLTextBox::getXML(bool save_children) const  	node->createChild("border_visible", TRUE)->setBoolValue(mBorderVisible); -	node->createChild("drop_shadow_visible", TRUE)->setBoolValue(mDropshadowVisible); -  	node->createChild("border_drop_shadow_visible", TRUE)->setBoolValue(mBorderDropShadowVisible);  	node->createChild("h_pad", TRUE)->setIntValue(mHPad); @@ -427,6 +425,12 @@ LLView* LLTextBox::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *f  	text_box->initFromXML(node, parent); +	LLString font_style; +	if (node->getAttributeString("font-style", font_style)) +	{ +		text_box->mFontStyle = LLFontGL::getStyleFromString(font_style); +	} +  	if(node->hasAttribute("text_color"))  	{  		LLColor4 color; diff --git a/indra/llui/lltextbox.h b/indra/llui/lltextbox.h index 56c00eb8b3..8972450c30 100644 --- a/indra/llui/lltextbox.h +++ b/indra/llui/lltextbox.h @@ -54,7 +54,7 @@ public:  	void			setBackgroundVisible(BOOL visible)		{ mBackgroundVisible = visible; }  	void			setBorderVisible(BOOL visible)			{ mBorderVisible = visible; } -	void			setDropshadowVisible(BOOL visible)		{ mDropshadowVisible = visible; } +	void			setFontStyle(U8 style)					{ mFontStyle = style; }  	void			setBorderDropshadowVisible(BOOL visible){ mBorderDropShadowVisible = visible; }  	void			setHPad(S32 pixels)						{ mHPad = pixels; }  	void			setVPad(S32 pixels)						{ mVPad = pixels; } @@ -92,7 +92,7 @@ protected:  	BOOL			mBackgroundVisible;  	BOOL			mBorderVisible; -	BOOL			mDropshadowVisible;	// Draws black dropshadow below and to the right of the text. +	U8				mFontStyle; // style bit flags for font  	BOOL			mBorderDropShadowVisible;  	S32				mHPad; diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index a589bf29f9..e6bce27ce2 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -34,8 +34,12 @@  #include "indra_constants.h"  // culled from winuser.h +#ifndef WM_MOUSEWHEEL /* Added to be compatible with later SDK's */  const S32	WM_MOUSEWHEEL = 0x020A; +#endif +#ifndef WHEEL_DELTA /* Added to be compatible with later SDK's */  const S32	WHEEL_DELTA = 120;     /* Value for rolling one detent */ +#endif  const S32	MAX_MESSAGE_PER_UPDATE = 20;  const S32	BITS_PER_PIXEL = 32;  const S32	MAX_NUM_RESOLUTIONS = 32; diff --git a/indra/newview/llfloatertos.cpp b/indra/newview/llfloatertos.cpp index b71772bd93..f7bf4de34f 100644 --- a/indra/newview/llfloatertos.cpp +++ b/indra/newview/llfloatertos.cpp @@ -162,7 +162,6 @@ BOOL LLFloaterTOS::postBuild()  	childSetValue("tos_text", LLSD(mMessage));	  #endif -  	return TRUE;  } diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp index 5c32f8d90a..4fde8988f5 100644 --- a/indra/newview/llnetmap.cpp +++ b/indra/newview/llnetmap.cpp @@ -83,7 +83,7 @@ LLNetMap::LLNetMap(  	LLRect major_dir_rect(  0, DIR_HEIGHT, DIR_WIDTH, 0 );  	mTextBoxNorth = new LLTextBox( "N", major_dir_rect ); -	mTextBoxNorth->setDropshadowVisible( TRUE ); +	mTextBoxNorth->setFontStyle(LLFontGL::DROP_SHADOW_SOFT);  	addChild( mTextBoxNorth );  	LLColor4 minor_color( 1.f, 1.f, 1.f, .7f ); diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp index 30adea7d73..724ef8a847 100644 --- a/indra/newview/llpanelcontents.cpp +++ b/indra/newview/llpanelcontents.cpp @@ -87,9 +87,13 @@ void LLPanelContents::getState(LLViewerObject *objectp )  		return;  	} +	LLUUID group_id;			// used for SL-23488 +	gSelectMgr->selectGetGroup(group_id);  // sets group_id as a side effect SL-23488 +  	// BUG? Check for all objects being editable?  	BOOL editable = gAgent.isGodlike() -					|| (objectp->permModify() && objectp->permYouOwner()); +					|| (objectp->permModify() +					       && ( objectp->permYouOwner() || ( !group_id.isNull() && gAgent.isInGroup(group_id) )));  // solves SL-23488  	BOOL all_volume = gSelectMgr->selectionAllPCode( LL_PCODE_VOLUME );  	// Edit script button - ok if object is editable and there's an diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 4cf103508d..51ead9c532 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -503,7 +503,7 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate)  			mLiveHelpTimer.stop();  		}  	} -	else +	else if (immediate)  	{  		setHelpPage("");  	} diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index cb4077b21b..23e1ab6664 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1124,16 +1124,8 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task)  	if (from_task)  	{  		args["[OBJECTFROMNAME]"] = info->mFromName; -		if (name_found) -		{ -			LLNotifyBox::showXml("ObjectGiveItem", args, -								&inventory_offer_callback, (void*)info); -		} -		else -		{ -			LLNotifyBox::showXml("ObjectGiveItemUnknownUser", args, -								&inventory_offer_callback, (void*)info); -		} +		LLNotifyBox::showXml(name_found ? "ObjectGiveItem" : "ObjectGiveItemUnknownUser", +							args, &inventory_offer_callback, (void*)info);  	}  	else  	{ @@ -1633,10 +1625,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  			}  			else  			{ -				if (dialog == IM_TASK_INVENTORY_OFFERED) -					inventory_offer_handler(info, TRUE); -				else -					inventory_offer_handler(info, FALSE); +				inventory_offer_handler(info, dialog == IM_TASK_INVENTORY_OFFERED);  			}  		}  		break; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index f276999380..a9ed98e9db 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1708,7 +1708,7 @@ void LLViewerWindow::initBase()  	mToolTip->setBorderVisible( FALSE );  	mToolTip->setBackgroundColor( gColors.getColor( "ToolTipBgColor" ) );  	mToolTip->setBackgroundVisible( TRUE ); -	mToolTip->setDropshadowVisible( FALSE ); +	mToolTip->setFontStyle(LLFontGL::NORMAL);  	mToolTip->setBorderDropshadowVisible( TRUE );  	mToolTip->setVisible( FALSE ); diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp index 9d2fb122e5..6c99d99732 100644 --- a/indra/newview/llworldmapview.cpp +++ b/indra/newview/llworldmapview.cpp @@ -158,7 +158,6 @@ LLWorldMapView::LLWorldMapView(const std::string& name, const LLRect& rect )  	LLRect major_dir_rect(  0, DIR_HEIGHT, DIR_WIDTH, 0 );  	mTextBoxNorth = new LLTextBox( "N", major_dir_rect ); -	mTextBoxNorth->setDropshadowVisible( TRUE );  	addChild( mTextBoxNorth );  	LLColor4 minor_color( 1.f, 1.f, 1.f, .7f ); diff --git a/indra/test/llhttpclient_tut.cpp b/indra/test/llhttpclient_tut.cpp index 17bad4bc14..25626719ac 100644 --- a/indra/test/llhttpclient_tut.cpp +++ b/indra/test/llhttpclient_tut.cpp @@ -14,6 +14,10 @@  #include <tut/tut.h>  #include "linden_common.h" + +// These are too slow on Windows to actually include in the build. JC +#if !LL_WINDOWS +  #include "lltut.h"  #include "llhttpclient.h"  #include "llformat.h" @@ -313,4 +317,7 @@ namespace tut  		LLSD body = result["body"];  		ensure_equals("echoed result matches", body.size(), expected.size());  	} +  } + +#endif	// !LL_WINDOWS diff --git a/indra/test/lltut.cpp b/indra/test/lltut.cpp index 5a6ccabec2..0e9a886bb8 100644 --- a/indra/test/lltut.cpp +++ b/indra/test/lltut.cpp @@ -20,6 +20,8 @@ namespace tut  	void ensure_equals(const char* msg, const LLDate& actual,  		const LLDate& expected)  	{ +		std::cout << "ensure_equals " << msg << std::endl; +  		ensure_equals(msg,  			actual.secondsSinceEpoch(), expected.secondsSinceEpoch());  	} @@ -28,6 +30,8 @@ namespace tut  	void ensure_equals(const char* msg, const LLURI& actual,  		const LLURI& expected)  	{ +		std::cout << "ensure_equals " << msg << std::endl; +  		ensure_equals(msg,  			actual.asString(), expected.asString());  	} @@ -36,6 +40,8 @@ namespace tut  	void ensure_equals(const char* msg,  		const std::vector<U8>& actual, const std::vector<U8>& expected)  	{ +		std::cout << "ensure_equals " << msg << std::endl; +  		std::string s(msg);  		ensure_equals(s + " size", actual.size(), expected.size()); @@ -54,6 +60,8 @@ namespace tut  	void ensure_equals(const char* m, const LLSD& actual,  		const LLSD& expected)  	{ +		std::cout << "ensure_equals " << m << std::endl; +  		const std::string& msg = m;  		ensure_equals(msg + " type", actual.type(), expected.type()); @@ -129,6 +137,7 @@ namespace tut  	void ensure_starts_with(const std::string& msg,  		const std::string& actual, const std::string& expectedStart)  	{ +		std::cout << "ensure_starts_with " << msg << std::endl;  		if( actual.find(expectedStart, 0) != 0 )  		{  			std::stringstream ss; @@ -141,6 +150,7 @@ namespace tut  	void ensure_ends_with(const std::string& msg,  		const std::string& actual, const std::string& expectedEnd)  	{ +		std::cout << "ensure_ends_with " << msg << std::endl;  		if( actual.size() < expectedEnd.size()  			|| actual.rfind(expectedEnd)  				!= (actual.size() - expectedEnd.size()) ) @@ -155,6 +165,7 @@ namespace tut  	void ensure_contains(const std::string& msg,  		const std::string& actual, const std::string& expectedSubString)  	{ +		std::cout << "ensure_contains " << msg << std::endl;  		if( actual.find(expectedSubString, 0) == std::string::npos )  		{  			std::stringstream ss; @@ -167,6 +178,7 @@ namespace tut  	void ensure_does_not_contain(const std::string& msg,  		const std::string& actual, const std::string& expectedSubString)  	{ +		std::cout << "ensure_does_not_contain " << msg << std::endl;  		if( actual.find(expectedSubString, 0) != std::string::npos )  		{  			std::stringstream ss; | 
