diff options
| author | Dave Parks <davep@lindenlab.com> | 2010-06-17 20:47:41 -0500 | 
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2010-06-17 20:47:41 -0500 | 
| commit | cb50a2395bc37f1f7833171a976f67af9f2df66d (patch) | |
| tree | 57822487f245e369fcc03b311256b3f398226a03 | |
| parent | e90c1399bc859d828988905968167c179c32432b (diff) | |
| parent | 9ed825fe5abd569e0e41016b19e3a040bfb09e7a (diff) | |
merge
| -rw-r--r-- | indra/llcommon/llfasttimer_class.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 37 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 12 | ||||
| -rw-r--r-- | indra/newview/llchatbar.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llface.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llfloaterhardwaresettings.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llfloaterpreference.cpp | 27 | ||||
| -rw-r--r-- | indra/newview/llnearbychatbar.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llstartup.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llstartup.h | 3 | ||||
| -rw-r--r-- | indra/newview/lltoolbar.cpp | 27 | ||||
| -rw-r--r-- | indra/newview/lltoolgrab.cpp | 22 | ||||
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 12 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 282 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.h | 18 | 
15 files changed, 53 insertions, 408 deletions
| diff --git a/indra/llcommon/llfasttimer_class.cpp b/indra/llcommon/llfasttimer_class.cpp index 20727dd76e..dfbae09864 100644 --- a/indra/llcommon/llfasttimer_class.cpp +++ b/indra/llcommon/llfasttimer_class.cpp @@ -238,7 +238,8 @@ U64 LLFastTimer::countsPerSecond() // counts per second for the *32-bit* timer  #else // windows or x86-mac or x86-linux or x86-solaris  U64 LLFastTimer::countsPerSecond() // counts per second for the *32-bit* timer  { -	static U64 sCPUClockFrequency = U64(LLProcessorInfo().getCPUFrequency()); +	//getCPUFrequency returns MHz and sCPUClockFrequency wants to be in Hz +	static U64 sCPUClockFrequency = U64(LLProcessorInfo().getCPUFrequency()*1000000.0);  	// we drop the low-order byte in our timers, so report a lower frequency  	return sCPUClockFrequency >> 8; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index fe6bd8eef0..2244f05104 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3589,17 +3589,6 @@        <key>Value</key>        <integer>0</integer>      </map> -    <key>FullScreen</key> -    <map> -      <key>Comment</key> -      <string>Run SL in fullscreen mode</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>Boolean</string> -      <key>Value</key> -      <integer>0</integer> -    </map>      <key>FullScreenAspectRatio</key>      <map>        <key>Comment</key> @@ -3609,7 +3598,7 @@        <key>Type</key>        <string>F32</string>        <key>Value</key> -      <real>1.33329999447</real> +      <real>3</real>      </map>      <key>FullScreenAutoDetectAspectRatio</key>      <map> @@ -3620,29 +3609,7 @@        <key>Type</key>        <string>Boolean</string>        <key>Value</key> -      <integer>1</integer> -    </map> -    <key>FullScreenHeight</key> -    <map> -      <key>Comment</key> -      <string>Fullscreen resolution in height</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>768</integer> -    </map> -    <key>FullScreenWidth</key> -    <map> -      <key>Comment</key> -      <string>Fullscreen resolution in width</string> -      <key>Persist</key> -      <integer>1</integer> -      <key>Type</key> -      <string>S32</string> -      <key>Value</key> -      <integer>1024</integer> +      <integer>0</integer>      </map>      <key>GesturesMarketplaceURL</key>      <map> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 7be69ba04d..1ed63555b0 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2366,16 +2366,9 @@ bool LLAppViewer::initWindow()  	LLNotificationsUI::LLNotificationManager::getInstance(); -	if (gSavedSettings.getBOOL("FullScreen")) -	{ -		// request to go full screen... which will be delayed until login -		gViewerWindow->toggleFullscreen(FALSE); -	} -	  	if (gSavedSettings.getBOOL("WindowMaximized"))  	{  		gViewerWindow->mWindow->maximize(); -		gViewerWindow->getWindow()->setNativeAspectRatio(gSavedSettings.getF32("FullScreenAspectRatio"));  	}  	if (!gNoRender) @@ -2449,11 +2442,10 @@ void LLAppViewer::cleanupSavedSettings()  		}  	} -	// save window position if not fullscreen +	// save window position if not maximized  	// as we don't track it in callbacks -	BOOL fullscreen = gViewerWindow->mWindow->getFullscreen();  	BOOL maximized = gViewerWindow->mWindow->getMaximized(); -	if (!fullscreen && !maximized) +	if (!maximized)  	{  		LLCoordScreen window_pos; diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp index 67d5d21b2a..cd279fa10a 100644 --- a/indra/newview/llchatbar.cpp +++ b/indra/newview/llchatbar.cpp @@ -149,7 +149,6 @@ BOOL LLChatBar::handleKeyHere( KEY key, MASK mask )  {  	BOOL handled = FALSE; -	// ALT-RETURN is reserved for windowed/fullscreen toggle  	if( KEY_RETURN == key )  	{  		if (mask == MASK_CONTROL) diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index e0e5b32299..dbbcb6e7c4 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -862,11 +862,14 @@ void LLFace::updateRebuildFlags()  	}  } +static LLFastTimer::DeclareTimer FTM_FACE_GET_GEOM("Face Geom"); +  BOOL LLFace::getGeometryVolume(const LLVolume& volume,  							   const S32 &f,  								const LLMatrix4& mat_vert, const LLMatrix3& mat_normal,  								const U16 &index_offset)  { +	LLFastTimer t(FTM_FACE_GET_GEOM);  	const LLVolumeFace &vf = volume.getVolumeFace(f);  	S32 num_vertices = (S32)vf.mVertices.size();  	S32 num_indices = LLPipeline::sUseTriStrips ? (S32)vf.mTriStrip.size() : (S32) vf.mIndices.size(); diff --git a/indra/newview/llfloaterhardwaresettings.cpp b/indra/newview/llfloaterhardwaresettings.cpp index b2564eb2b6..480e4ce3a4 100644 --- a/indra/newview/llfloaterhardwaresettings.cpp +++ b/indra/newview/llfloaterhardwaresettings.cpp @@ -143,10 +143,9 @@ void LLFloaterHardwareSettings::apply()  		LLWindow* window = gViewerWindow->getWindow();  		LLCoordScreen size;  		window->getSize(&size); -		gViewerWindow->changeDisplaySettings(window->getFullscreen(),  -														size, -														gSavedSettings.getBOOL("DisableVerticalSync"), -														logged_in); +		gViewerWindow->changeDisplaySettings(size, +											gSavedSettings.getBOOL("DisableVerticalSync"), +											logged_in);  	}  	else if (old_anisotropic != LLImageGL::sGlobalUseAnisotropic)  	{ diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 2299cd719c..f450b199c8 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -465,8 +465,6 @@ void LLFloaterPreference::apply()  			gAgent.sendAgentUpdateUserInfo(new_im_via_email,mDirectoryVisibility);  		}  	} - -	applyResolution();  }  void LLFloaterPreference::cancel() @@ -1213,31 +1211,6 @@ void LLFloaterPreference::updateSliderText(LLSliderCtrl* ctrl, LLTextBox* text_b  	}  } -void LLFloaterPreference::applyResolution() -{ -	gGL.flush(); -	 -	// Screen resolution -	S32 num_resolutions; -	LLWindow::LLWindowResolution* supported_resolutions =  -	gViewerWindow->getWindow()->getSupportedResolutions(num_resolutions); -	S32 resIndex = getChild<LLComboBox>("fullscreen combo")->getCurrentIndex(); -	if (resIndex == -1) -	{ -		// use highest resolution if nothing selected -		resIndex = num_resolutions - 1; -	} -	gSavedSettings.setS32("FullScreenWidth", supported_resolutions[resIndex].mWidth); -	gSavedSettings.setS32("FullScreenHeight", supported_resolutions[resIndex].mHeight); -	 -	gViewerWindow->requestResolutionUpdate(gSavedSettings.getBOOL("FullScreen")); -	 -	send_agent_update(TRUE); -	 -	// Update enable/disable -	refresh(); -} -  void LLFloaterPreference::onChangeMaturity()  {  	U8 sim_access = gSavedSettings.getU32("PreferredMaturity"); diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 46f531fdd9..a300e15edd 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -433,7 +433,6 @@ BOOL LLNearbyChatBar::handleKeyHere( KEY key, MASK mask )  {  	BOOL handled = FALSE; -	// ALT-RETURN is reserved for windowed/fullscreen toggle  	if( KEY_RETURN == key && mask == MASK_CONTROL)  	{  		// shout diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 3ef190f766..d25e8444cf 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2639,12 +2639,6 @@ void reset_login()  //--------------------------------------------------------------------------- - -bool LLStartUp::canGoFullscreen() -{ -	return gStartupState >= STATE_WORLD_INIT; -} -  // Initialize all plug-ins except the web browser (which was initialized  // early, before the login screen). JC  void LLStartUp::multimediaInit() diff --git a/indra/newview/llstartup.h b/indra/newview/llstartup.h index e1e108ca6a..b2868378bc 100644 --- a/indra/newview/llstartup.h +++ b/indra/newview/llstartup.h @@ -81,9 +81,6 @@ extern LLPointer<LLViewerTexture> gStartTexture;  class LLStartUp  {  public: -	static bool canGoFullscreen(); -		// returns true if we are far enough along in startup to allow -		// going full screen  	// Always use this to set gStartupState so changes are logged  	static void setStartupState( EStartupState state ); diff --git a/indra/newview/lltoolbar.cpp b/indra/newview/lltoolbar.cpp index 404eab9249..d45915499a 100644 --- a/indra/newview/lltoolbar.cpp +++ b/indra/newview/lltoolbar.cpp @@ -212,23 +212,16 @@ void LLToolBar::layoutButtons()  	// this function may be called before postBuild(), in which case mResizeHandle won't have been set up yet.  	if(mResizeHandle != NULL)  	{ -		if(!gViewerWindow->getWindow()->getFullscreen()) -		{ -			// Only when running in windowed mode on the Mac, leave room for a resize widget on the right edge of the bar. -			width -= RESIZE_HANDLE_WIDTH; - -			LLRect r; -			r.mLeft = width - pad; -			r.mBottom = 0; -			r.mRight = r.mLeft + RESIZE_HANDLE_WIDTH; -			r.mTop = r.mBottom + RESIZE_HANDLE_HEIGHT; -			mResizeHandle->setRect(r); -			mResizeHandle->setVisible(TRUE); -		} -		else -		{ -			mResizeHandle->setVisible(FALSE); -		} +		// Only when running in windowed mode on the Mac, leave room for a resize widget on the right edge of the bar. +		width -= RESIZE_HANDLE_WIDTH; + +		LLRect r; +		r.mLeft = width - pad; +		r.mBottom = 0; +		r.mRight = r.mLeft + RESIZE_HANDLE_WIDTH; +		r.mTop = r.mBottom + RESIZE_HANDLE_HEIGHT; +		mResizeHandle->setRect(r); +		mResizeHandle->setVisible(TRUE);  	}  #endif // LL_DARWIN  } diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp index cae5e93545..9bd08287f3 100644 --- a/indra/newview/lltoolgrab.cpp +++ b/indra/newview/lltoolgrab.cpp @@ -886,28 +886,6 @@ void LLToolGrab::handleHoverNonPhysical(S32 x, S32 y, MASK mask)  // Not dragging.  Just showing affordances  void LLToolGrab::handleHoverInactive(S32 x, S32 y, MASK mask)  { -	const F32 ROTATE_ANGLE_PER_SECOND = 40.f * DEG_TO_RAD; -	const F32 rotate_angle = ROTATE_ANGLE_PER_SECOND / gFPSClamped; - -	// Look for cursor against the edge of the screen -	// Only works in fullscreen -	if (gSavedSettings.getBOOL("FullScreen")) -	{ -		if (gAgentCamera.cameraThirdPerson() ) -		{ -			if (x == 0) -			{ -				gAgent.yaw(rotate_angle); -				//gAgent.setControlFlags(AGENT_CONTROL_YAW_POS); -			} -			else if (x == (gViewerWindow->getWorldViewWidthScaled() - 1) ) -			{ -				gAgent.yaw(-rotate_angle); -				//gAgent.setControlFlags(AGENT_CONTROL_YAW_NEG); -			} -		} -	} -  	// JC - TODO - change cursor based on gGrabBtnVertical, gGrabBtnSpin  	lldebugst(LLERR_USER_INPUT) << "hover handled by LLToolGrab (inactive-not over editable object)" << llendl;		  	gViewerWindow->setCursor(UI_CURSOR_TOOLGRAB); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 9290b4c5a6..36650af6cb 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3778,17 +3778,6 @@ class LLViewMouselook : public view_listener_t  	}  }; -class LLViewFullscreen : public view_listener_t -{ -	bool handleEvent(const LLSD& userdata) -	{ -		// we no longer permit full screen mode EXT-6775 -		// gViewerWindow->toggleFullscreen(TRUE); -		llwarns << "full screen mode no longer supported" << llendl; -		return true; -	} -}; -  class LLViewDefaultUISize : public view_listener_t  {  	bool handleEvent(const LLSD& userdata) @@ -7783,7 +7772,6 @@ void initialize_menus()  	view_listener_t::addMenu(new LLZoomer(1.2f), "View.ZoomOut");  	view_listener_t::addMenu(new LLZoomer(1/1.2f), "View.ZoomIn");  	view_listener_t::addMenu(new LLZoomer(DEFAULT_FIELD_OF_VIEW, false), "View.ZoomDefault"); -	view_listener_t::addMenu(new LLViewFullscreen(), "View.Fullscreen");  	view_listener_t::addMenu(new LLViewDefaultUISize(), "View.DefaultUISize");  	view_listener_t::addMenu(new LLViewEnableMouselook(), "View.EnableMouselook"); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index c4135f9409..c9c0b72528 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1118,28 +1118,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated)  		mActive = TRUE;  		send_agent_resume();  		gAgent.clearAFK(); -		if (mWindow->getFullscreen() && !mIgnoreActivate) -		{ -			if (!LLApp::isExiting() ) -			{ -				if (LLStartUp::getStartupState() >= STATE_STARTED) -				{ -					// if we're in world, show a progress bar to hide reloading of textures -					llinfos << "Restoring GL during activate" << llendl; -					restoreGL(LLTrans::getString("ProgressRestoring")); -				} -				else -				{ -					// otherwise restore immediately -					restoreGL(); -				} -			} -			else -			{ -				llwarns << "Activating while quitting" << llendl; -			} -		} - +		  		// Unmute audio  		audio_update_volume();  	} @@ -1159,12 +1138,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated)  		}  		send_agent_pause(); -		 -		if (mWindow->getFullscreen() && !mIgnoreActivate) -		{ -			llinfos << "Stopping GL during deactivation" << llendl; -			stopGL(); -		} +	  		// Mute audio  		audio_update_volume();  	} @@ -1331,12 +1305,10 @@ LLViewerWindow::LLViewerWindow(  	const std::string& title, const std::string& name,  	S32 x, S32 y,  	S32 width, S32 height, -	BOOL fullscreen, BOOL ignore_pixel_depth) +	BOOL fullscreen, BOOL ignore_pixel_depth) // fullscreen is no longer used  	:  	mWindow(NULL),  	mActive(TRUE), -	mWantFullscreen(fullscreen), -	mShowFullscreenProgress(FALSE),  	mWindowRectRaw(0, height, width, 0),  	mWindowRectScaled(0, height, width, 0),  	mWorldViewRectRaw(0, height, width, 0), @@ -1351,7 +1323,6 @@ LLViewerWindow::LLViewerWindow(  	mIgnoreActivate( FALSE ),  	mResDirty(false),  	mStatesDirty(false), -	mIsFullscreenChecked(false),  	mCurrResolutionIndex(0),      mViewerWindowListener(new LLViewerWindowListener(this)),  	mProgressView(NULL) @@ -1911,24 +1882,17 @@ void LLViewerWindow::reshape(S32 width, S32 height)  		sendShapeToSim(); - -		// store the mode the user wants (even if not there yet) -		gSavedSettings.setBOOL("FullScreen", mWantFullscreen); -  		// store new settings for the mode we are in, regardless -		if (!mWindow->getFullscreen()) -		{ -			// Only save size if not maximized -			BOOL maximized = mWindow->getMaximized(); -			gSavedSettings.setBOOL("WindowMaximized", maximized); +		// Only save size if not maximized +		BOOL maximized = mWindow->getMaximized(); +		gSavedSettings.setBOOL("WindowMaximized", maximized); -			LLCoordScreen window_size; -			if (!maximized -				&& mWindow->getSize(&window_size)) -			{ -				gSavedSettings.setS32("WindowWidth", window_size.mX); -				gSavedSettings.setS32("WindowHeight", window_size.mY); -			} +		LLCoordScreen window_size; +		if (!maximized +			&& mWindow->getSize(&window_size)) +		{ +			gSavedSettings.setS32("WindowWidth", window_size.mX); +			gSavedSettings.setS32("WindowHeight", window_size.mY);  		}  		LLViewerStats::getInstance()->setStat(LLViewerStats::ST_WINDOW_WIDTH, (F64)width); @@ -3806,18 +3770,7 @@ void LLViewerWindow::movieSize(S32 new_width, S32 new_height)  		BORDERHEIGHT = size.mY- y;  		LLCoordScreen new_size(new_width + BORDERWIDTH,   							   new_height + BORDERHEIGHT); -		BOOL disable_sync = gSavedSettings.getBOOL("DisableVerticalSync"); -		if (gViewerWindow->mWindow->getFullscreen()) -		{ -			gViewerWindow->changeDisplaySettings(FALSE,  -												new_size,  -												disable_sync,  -												TRUE); -		} -		else -		{ -			gViewerWindow->mWindow->setSize(new_size); -		} +		gViewerWindow->mWindow->setSize(new_size);  	}  } @@ -4603,51 +4556,12 @@ void LLViewerWindow::initFonts(F32 zoom_factor)  	LLFontGL::loadDefaultFonts();  } -void LLViewerWindow::toggleFullscreen(BOOL show_progress) -{ -	if (mWindow) -	{ -		mWantFullscreen = mWindow->getFullscreen() ? FALSE : TRUE; -		mIsFullscreenChecked =  mWindow->getFullscreen() ? FALSE : TRUE; -		mShowFullscreenProgress = show_progress; -	} -} - -void LLViewerWindow::getTargetWindow(BOOL& fullscreen, S32& width, S32& height) const -{ -	fullscreen = mWantFullscreen; -	 -	if (mWindow -	&&  mWindow->getFullscreen() == mWantFullscreen) -	{ -		width = getWindowWidthRaw(); -		height = getWindowHeightRaw(); -	} -	else if (mWantFullscreen) -	{ -		width = gSavedSettings.getS32("FullScreenWidth"); -		height = gSavedSettings.getS32("FullScreenHeight"); -	} -	else -	{ -		width = gSavedSettings.getS32("WindowWidth"); -		height = gSavedSettings.getS32("WindowHeight"); -	} -} -  void LLViewerWindow::requestResolutionUpdate()  {  	mResDirty = true;  } -void LLViewerWindow::requestResolutionUpdate(bool fullscreen_checked) -{ -	mResDirty = true; -	mWantFullscreen = fullscreen_checked; -	mIsFullscreenChecked = fullscreen_checked; -} - -BOOL LLViewerWindow::checkSettings() +void LLViewerWindow::checkSettings()  {  	if (mStatesDirty)  	{ @@ -4659,70 +4573,9 @@ BOOL LLViewerWindow::checkSettings()  	// We want to update the resolution AFTER the states getting refreshed not before.  	if (mResDirty)  	{ -		if (gSavedSettings.getBOOL("FullScreenAutoDetectAspectRatio")) -		{ -			getWindow()->setNativeAspectRatio(0.f); -		} -		else -		{ -			getWindow()->setNativeAspectRatio(gSavedSettings.getF32("FullScreenAspectRatio")); -		} -		  		reshape(getWindowWidthRaw(), getWindowHeightRaw()); - -		// force aspect ratio -		if (mIsFullscreenChecked) -		{ -			LLViewerCamera::getInstance()->setAspect( getWorldViewAspectRatio() ); -		} -  		mResDirty = false; -	} -		 -	BOOL is_fullscreen = mWindow->getFullscreen(); -	if(mWantFullscreen) -	{ -		LLCoordScreen screen_size; -		LLCoordScreen desired_screen_size(gSavedSettings.getS32("FullScreenWidth"), -								   gSavedSettings.getS32("FullScreenHeight")); -		getWindow()->getSize(&screen_size); -		if(!is_fullscreen ||  -		    screen_size.mX != desired_screen_size.mX  -			|| screen_size.mY != desired_screen_size.mY) -		{ -			if (!LLStartUp::canGoFullscreen()) -			{ -				return FALSE; -			} -			 -			LLGLState::checkStates(); -			LLGLState::checkTextureChannels(); -			changeDisplaySettings(TRUE,  -								  desired_screen_size, -								  gSavedSettings.getBOOL("DisableVerticalSync"), -								  mShowFullscreenProgress); - -			LLGLState::checkStates(); -			LLGLState::checkTextureChannels(); -			mStatesDirty = true; -			return TRUE; -		} -	} -	else -	{ -		if(is_fullscreen) -		{ -			// Changing to windowed mode. -			changeDisplaySettings(FALSE,  -								  LLCoordScreen(gSavedSettings.getS32("WindowWidth"), -												gSavedSettings.getS32("WindowHeight")), -								  TRUE, -								  mShowFullscreenProgress); -			mStatesDirty = true; -			return TRUE; -		} -	} -	return FALSE; +	}	  }  void LLViewerWindow::restartDisplay(BOOL show_progress_bar) @@ -4739,38 +4592,23 @@ void LLViewerWindow::restartDisplay(BOOL show_progress_bar)  	}  } -BOOL LLViewerWindow::changeDisplaySettings(BOOL fullscreen, LLCoordScreen size, BOOL disable_vsync, BOOL show_progress_bar) +BOOL LLViewerWindow::changeDisplaySettings(LLCoordScreen size, BOOL disable_vsync, BOOL show_progress_bar)  {  	BOOL was_maximized = gSavedSettings.getBOOL("WindowMaximized"); -	mWantFullscreen = fullscreen; -	mShowFullscreenProgress = show_progress_bar; -	gSavedSettings.setBOOL("FullScreen", mWantFullscreen);  	//gResizeScreenTexture = TRUE; -	BOOL old_fullscreen = mWindow->getFullscreen(); -	if (!old_fullscreen && fullscreen && !LLStartUp::canGoFullscreen()) -	{ -		// Not allowed to switch to fullscreen now, so exit early. -		// *NOTE: This case should never be reached, but just-in-case. -		return TRUE; -	} -  	U32 fsaa = gSavedSettings.getU32("RenderFSAASamples");  	U32 old_fsaa = mWindow->getFSAASamples(); -	// going from windowed to windowed -	if (!old_fullscreen && !fullscreen) +	// if not maximized, use the request size +	if (!mWindow->getMaximized())  	{ -		// if not maximized, use the request size -		if (!mWindow->getMaximized()) -		{ -			mWindow->setSize(size); -		} +		mWindow->setSize(size); +	} -		if (fsaa == old_fsaa) -		{ -			return TRUE; -		} +	if (fsaa == old_fsaa) +	{ +		return TRUE;  	}  	// Close floaters that don't handle settings change @@ -4787,23 +4625,15 @@ BOOL LLViewerWindow::changeDisplaySettings(BOOL fullscreen, LLCoordScreen size,  	LLCoordScreen old_size;  	LLCoordScreen old_pos;  	mWindow->getSize(&old_size); -	BOOL got_position = mWindow->getPosition(&old_pos); -	if (!old_fullscreen && fullscreen && got_position) -	{ -		// switching from windowed to fullscreen, so save window position -		gSavedSettings.setS32("WindowX", old_pos.mX); -		gSavedSettings.setS32("WindowY", old_pos.mY); -	} -	  	mWindow->setFSAASamples(fsaa); -	result_first_try = mWindow->switchContext(fullscreen, size, disable_vsync); +	result_first_try = mWindow->switchContext(false, size, disable_vsync);  	if (!result_first_try)  	{  		// try to switch back  		mWindow->setFSAASamples(old_fsaa); -		result_second_try = mWindow->switchContext(old_fullscreen, old_size, disable_vsync); +		result_second_try = mWindow->switchContext(false, old_size, disable_vsync);  		if (!result_second_try)  		{ @@ -4835,19 +4665,8 @@ BOOL LLViewerWindow::changeDisplaySettings(BOOL fullscreen, LLCoordScreen size,  	}  	BOOL success = result_first_try || result_second_try; -	if (success) -	{ -#if LL_WINDOWS -		// Only trigger a reshape after switching to fullscreen; otherwise rely on the windows callback -		// (otherwise size is wrong; this is the entire window size, reshape wants the visible window size) -		if (fullscreen && result_first_try) -#endif -		{ -			reshape(size.mX, size.mY); -		} -	} -	if (!mWindow->getFullscreen() && success) +	if (success)  	{  		// maximize window if was maximized, else reposition  		if (was_maximized) @@ -4865,45 +4684,14 @@ BOOL LLViewerWindow::changeDisplaySettings(BOOL fullscreen, LLCoordScreen size,  	mIgnoreActivate = FALSE;  	gFocusMgr.setKeyboardFocus(keyboard_focus); -	mWantFullscreen = mWindow->getFullscreen(); -	mShowFullscreenProgress = FALSE;  	return success;  } - -F32 LLViewerWindow::getDisplayAspectRatio() const -{ -	if (mWindow->getFullscreen()) -	{ -		if (gSavedSettings.getBOOL("FullScreenAutoDetectAspectRatio")) -		{ -			return mWindow->getNativeAspectRatio();	 -		} -		else -		{ -			return gSavedSettings.getF32("FullScreenAspectRatio"); -		} -	} -	else -	{ -		return mWindow->getNativeAspectRatio(); -	} -} - -  F32	LLViewerWindow::getWorldViewAspectRatio() const  {  	F32 world_aspect = (F32)mWorldViewRectRaw.getWidth() / (F32)mWorldViewRectRaw.getHeight(); -	//F32 window_aspect = (F32)mWindowRectRaw.getWidth() / (F32)mWindowRectRaw.getHeight(); -	if (mWindow->getFullscreen()) -	{ -		return world_aspect * mWindow->getPixelAspectRatio(); -	} -	else -	{ -		return world_aspect; -	} +	return world_aspect;  }  void LLViewerWindow::calcDisplayScale() @@ -4911,27 +4699,13 @@ void LLViewerWindow::calcDisplayScale()  	F32 ui_scale_factor = gSavedSettings.getF32("UIScaleFactor");  	LLVector2 display_scale;  	display_scale.setVec(llmax(1.f / mWindow->getPixelAspectRatio(), 1.f), llmax(mWindow->getPixelAspectRatio(), 1.f)); -	F32 height_normalization = gSavedSettings.getBOOL("UIAutoScale") ? ((F32)mWindowRectRaw.getHeight() / display_scale.mV[VY]) / 768.f : 1.f; -	if(mWindow->getFullscreen()) -	{ -		display_scale *= (ui_scale_factor * height_normalization); -	} -	else -	{ -		display_scale *= ui_scale_factor; -	} +	display_scale *= ui_scale_factor;  	// limit minimum display scale  	if (display_scale.mV[VX] < MIN_DISPLAY_SCALE || display_scale.mV[VY] < MIN_DISPLAY_SCALE)  	{  		display_scale *= MIN_DISPLAY_SCALE / llmin(display_scale.mV[VX], display_scale.mV[VY]);  	} - -	if (mWindow->getFullscreen()) -	{ -		display_scale.mV[0] = llround(display_scale.mV[0], 2.0f/(F32) mWindowRectRaw.getWidth()); -		display_scale.mV[1] = llround(display_scale.mV[1], 2.0f/(F32) mWindowRectRaw.getHeight()); -	}  	if (display_scale != mDisplayScale)  	{ diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 410445d97f..1e0200a075 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -262,10 +262,6 @@ public:  	// Is window of our application frontmost?  	BOOL			getActive() const			{ return mActive; } -	void			getTargetWindow(BOOL& fullscreen, S32& width, S32& height) const; -		// The 'target' is where the user wants the window to be. It may not be -		// there yet, because we may be supressing fullscreen prior to login. -  	const std::string&	getInitAlert() { return mInitAlert; }  	// @@ -380,17 +376,12 @@ public:  	// Prints window implementation details  	void			dumpState(); -	// Request display setting changes	 -	void			toggleFullscreen(BOOL show_progress); -  	// handle shutting down GL and bringing it back up -	void			requestResolutionUpdate(bool fullscreen_checked); -	void			requestResolutionUpdate(); // doesn't affect fullscreen -	BOOL			checkSettings(); +	void			requestResolutionUpdate(); +	void			checkSettings();  	void			restartDisplay(BOOL show_progress_bar); -	BOOL			changeDisplaySettings(BOOL fullscreen, LLCoordScreen size, BOOL disable_vsync, BOOL show_progress_bar); +	BOOL			changeDisplaySettings(LLCoordScreen size, BOOL disable_vsync, BOOL show_progress_bar);  	BOOL			getIgnoreDestroyWindow() { return mIgnoreActivate; } -	F32				getDisplayAspectRatio() const;  	F32				getWorldViewAspectRatio() const;  	const LLVector2& getDisplayScale() const { return mDisplayScale; }  	void			calcDisplayScale(); @@ -415,8 +406,6 @@ public:  protected:  	BOOL			mActive; -	BOOL			mWantFullscreen; -	BOOL			mShowFullscreenProgress;  	LLRect			mWindowRectRaw;				// whole window, including UI  	LLRect			mWindowRectScaled;			// whole window, scaled by UI size @@ -470,7 +459,6 @@ protected:  	bool			mResDirty;  	bool			mStatesDirty; -	bool			mIsFullscreenChecked; // Did the user check the fullscreen checkbox in the display settings  	U32			mCurrResolutionIndex;      boost::scoped_ptr<LLViewerWindowListener> mViewerWindowListener; | 
