diff options
| author | Richard Nelson <richard@lindenlab.com> | 2009-07-09 01:05:44 +0000 | 
|---|---|---|
| committer | Richard Nelson <richard@lindenlab.com> | 2009-07-09 01:05:44 +0000 | 
| commit | 3c956af81c88faa78d1ce4bd6ce6e361c9eea665 (patch) | |
| tree | 640b41fb9035438c12d7916f00ec0102e09c9d3f /indra/newview | |
| parent | 394b28ce77e5e51c41c1d3d9ca9896812f404810 (diff) | |
DEV-35121 when taking a snapshot without UI, use full window to render world. This solves black bars while logging in problem
merge -r 126570 skinning-15 viewer-2.0.0-3
reviewed by Austin
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 33 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.h | 2 | 
2 files changed, 21 insertions, 14 deletions
| diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index ae8717971f..27311cff42 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2916,27 +2916,31 @@ void LLViewerWindow::updateKeyboardFocus()  } -void LLViewerWindow::updateWorldViewRect() +void LLViewerWindow::updateWorldViewRect(bool use_full_window)  {  	if (!LLSideTray::instanceCreated()) return; +	// start off using whole window to render world  	LLRect new_world_rect = mWindowRect; -	// pull in right side of world view based on sidetray -	LLSideTray* sidetray = LLSideTray::getInstance(); -	if (sidetray->getVisible()) +	if (use_full_window == false)  	{ -		new_world_rect.mRight -= llround((F32)sidetray->getTrayWidth() * mDisplayScale.mV[VX]); -	} +		// pull in right side of world view based on sidetray +		LLSideTray* sidetray = LLSideTray::getInstance(); +		if (sidetray->getVisible()) +		{ +			new_world_rect.mRight -= llround((F32)sidetray->getTrayWidth() * mDisplayScale.mV[VX]); +		} -	// push top of world view below nav bar -	if (LLNavigationBar::getInstance()->getVisible()) -	{ -		LLNavigationBar* barp = LLNavigationBar::getInstance(); -		LLRect nav_bar_rect; -		if(barp->localRectToOtherView(barp->getLocalRect(), &nav_bar_rect, mRootView)) +		// push top of world view below nav bar +		if (LLNavigationBar::getInstance()->getVisible())  		{ -			new_world_rect.mTop = llround((F32)LLNavigationBar::getInstance()->getRect().mBottom * mDisplayScale.mV[VY]); +			LLNavigationBar* barp = LLNavigationBar::getInstance(); +			LLRect nav_bar_rect; +			if(barp->localRectToOtherView(barp->getLocalRect(), &nav_bar_rect, mRootView)) +			{ +				new_world_rect.mTop = llround((F32)LLNavigationBar::getInstance()->getRect().mBottom * mDisplayScale.mV[VY]); +			}  		}  	} @@ -3925,6 +3929,9 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei  	// PRE SNAPSHOT  	gDisplaySwapBuffers = FALSE; +	// if not showing ui, use full window to render world view +	updateWorldViewRect(!show_ui); +  	glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);  	setCursor(UI_CURSOR_WAIT); diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index eae1bf0343..84db40636d 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -278,7 +278,7 @@ public:  	void				updateKeyboardFocus();		  	void				updatePicking(S32 x, S32 y, MASK mask); -	void			updateWorldViewRect(); +	void			updateWorldViewRect(bool use_full_window=false);  	BOOL			handleKey(KEY key, MASK mask);  	void			handleScrollWheel	(S32 clicks); | 
