diff options
| author | Brad Linden <brad@lindenlab.com> | 2024-05-23 11:31:19 -0700 | 
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2024-05-23 11:31:19 -0700 | 
| commit | a1f49564d670a2c41bfa25c833bba2564b9b7f48 (patch) | |
| tree | 1d205e51bc37621916a17d459ad83782fe41f975 /indra/newview/llfloatercamera.cpp | |
| parent | 6af5db09faf5ea33a2d4c47b64e76f42edae178a (diff) | |
| parent | 6377610f6587989c126b00f490dfc8d527a1c2ce (diff) | |
Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into brad/merge-maint-a-to-dev
Diffstat (limited to 'indra/newview/llfloatercamera.cpp')
| -rw-r--r-- | indra/newview/llfloatercamera.cpp | 724 | 
1 files changed, 362 insertions, 362 deletions
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp index dde4b6ff0e..4a5a755696 100644 --- a/indra/newview/llfloatercamera.cpp +++ b/indra/newview/llfloatercamera.cpp @@ -1,25 +1,25 @@ -/**  +/**   * @file llfloatercamera.cpp   * @brief Container for camera control buttons (zoom, pan, orbit)   *   * $LicenseInfo:firstyear=2001&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2010, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -49,7 +49,7 @@  static LLDefaultChildRegistry::Register<LLPanelCameraItem> r("panel_camera_item"); -const F32 NUDGE_TIME = 0.25f;		// in seconds +const F32 NUDGE_TIME = 0.25f;       // in seconds  const F32 ORBIT_NUDGE_RATE = 0.05f; // fraction of normal speed  // constants @@ -63,102 +63,102 @@ bool LLFloaterCamera::sAppearanceEditing = false;  // Zoom the camera in and out  class LLPanelCameraZoom -:	public LLPanel +:   public LLPanel  { -	LOG_CLASS(LLPanelCameraZoom); +    LOG_CLASS(LLPanelCameraZoom);  public: -	struct Params : public LLInitParam::Block<Params, LLPanel::Params> {}; +    struct Params : public LLInitParam::Block<Params, LLPanel::Params> {}; -	LLPanelCameraZoom() { onCreate(); } +    LLPanelCameraZoom() { onCreate(); } -	/* virtual */ bool	postBuild(); -	/* virtual */ void	draw(); +    /* virtual */ bool  postBuild(); +    /* virtual */ void  draw();  protected: -	LLPanelCameraZoom(const Params& p) { onCreate(); } +    LLPanelCameraZoom(const Params& p) { onCreate(); } -	void	onCreate(); -	void	onZoomPlusHeldDown(); -	void	onZoomMinusHeldDown(); -	void	onSliderValueChanged(); -	void	onCameraTrack(); -	void	onCameraRotate(); -	F32		getOrbitRate(F32 time); +    void    onCreate(); +    void    onZoomPlusHeldDown(); +    void    onZoomMinusHeldDown(); +    void    onSliderValueChanged(); +    void    onCameraTrack(); +    void    onCameraRotate(); +    F32     getOrbitRate(F32 time);  private: -	LLButton*	mPlusBtn { nullptr }; -	LLButton*	mMinusBtn{ nullptr }; -	LLSlider*	mSlider{ nullptr }; +    LLButton*   mPlusBtn { nullptr }; +    LLButton*   mMinusBtn{ nullptr }; +    LLSlider*   mSlider{ nullptr }; -	friend class LLUICtrlFactory; +    friend class LLUICtrlFactory;  };  LLPanelCameraItem::Params::Params() -:	icon_over("icon_over"), -	icon_selected("icon_selected"), -	picture("picture"), -	text("text"), -	selected_picture("selected_picture"), -	mousedown_callback("mousedown_callback") +:   icon_over("icon_over"), +    icon_selected("icon_selected"), +    picture("picture"), +    text("text"), +    selected_picture("selected_picture"), +    mousedown_callback("mousedown_callback")  {  }  LLPanelCameraItem::LLPanelCameraItem(const LLPanelCameraItem::Params& p) -:	LLPanel(p) +:   LLPanel(p)  { -	LLIconCtrl::Params icon_params = p.picture; -	mPicture = LLUICtrlFactory::create<LLIconCtrl>(icon_params); -	addChild(mPicture); +    LLIconCtrl::Params icon_params = p.picture; +    mPicture = LLUICtrlFactory::create<LLIconCtrl>(icon_params); +    addChild(mPicture); -	icon_params = p.icon_over; -	mIconOver = LLUICtrlFactory::create<LLIconCtrl>(icon_params); -	addChild(mIconOver); +    icon_params = p.icon_over; +    mIconOver = LLUICtrlFactory::create<LLIconCtrl>(icon_params); +    addChild(mIconOver); -	icon_params = p.icon_selected; -	mIconSelected = LLUICtrlFactory::create<LLIconCtrl>(icon_params); -	addChild(mIconSelected); +    icon_params = p.icon_selected; +    mIconSelected = LLUICtrlFactory::create<LLIconCtrl>(icon_params); +    addChild(mIconSelected); -	icon_params = p.selected_picture; -	mPictureSelected = LLUICtrlFactory::create<LLIconCtrl>(icon_params); -	addChild(mPictureSelected); +    icon_params = p.selected_picture; +    mPictureSelected = LLUICtrlFactory::create<LLIconCtrl>(icon_params); +    addChild(mPictureSelected); -	LLTextBox::Params text_params = p.text; -	mText = LLUICtrlFactory::create<LLTextBox>(text_params); -	addChild(mText); +    LLTextBox::Params text_params = p.text; +    mText = LLUICtrlFactory::create<LLTextBox>(text_params); +    addChild(mText); -	if (p.mousedown_callback.isProvided()) -	{ -		setCommitCallback(initCommitCallback(p.mousedown_callback)); -	} +    if (p.mousedown_callback.isProvided()) +    { +        setCommitCallback(initCommitCallback(p.mousedown_callback)); +    }  }  void set_view_visible(LLView* parent, const std::string& name, bool visible)  { -	parent->getChildView(name)->setVisible(visible); +    parent->getChildView(name)->setVisible(visible);  }  bool LLPanelCameraItem::postBuild()  { -	setMouseEnterCallback(boost::bind(set_view_visible, this, "hovered_icon", true)); -	setMouseLeaveCallback(boost::bind(set_view_visible, this, "hovered_icon", false)); -	setMouseDownCallback(boost::bind(&LLPanelCameraItem::onAnyMouseClick, this)); -	setRightMouseDownCallback(boost::bind(&LLPanelCameraItem::onAnyMouseClick, this)); -	return true; +    setMouseEnterCallback(boost::bind(set_view_visible, this, "hovered_icon", true)); +    setMouseLeaveCallback(boost::bind(set_view_visible, this, "hovered_icon", false)); +    setMouseDownCallback(boost::bind(&LLPanelCameraItem::onAnyMouseClick, this)); +    setRightMouseDownCallback(boost::bind(&LLPanelCameraItem::onAnyMouseClick, this)); +    return true;  }  void LLPanelCameraItem::onAnyMouseClick()  { -	if (mCommitSignal) (*mCommitSignal)(this, LLSD()); +    if (mCommitSignal) (*mCommitSignal)(this, LLSD());  }  void LLPanelCameraItem::setValue(const LLSD& value)  { -	if (!value.isMap()) return;; -	if (!value.has("selected")) return; -	getChildView("selected_icon")->setVisible( value["selected"]); -	getChildView("picture")->setVisible( !value["selected"]); -	getChildView("selected_picture")->setVisible( value["selected"]); +    if (!value.isMap()) return;; +    if (!value.has("selected")) return; +    getChildView("selected_icon")->setVisible( value["selected"]); +    getChildView("picture")->setVisible( !value["selected"]); +    getChildView("selected_picture")->setVisible( value["selected"]);  }  static LLPanelInjector<LLPanelCameraZoom> t_camera_zoom_panel("camera_zoom_panel"); @@ -169,81 +169,81 @@ static LLPanelInjector<LLPanelCameraZoom> t_camera_zoom_panel("camera_zoom_panel  void LLPanelCameraZoom::onCreate()  { -	mCommitCallbackRegistrar.add("Zoom.minus", boost::bind(&LLPanelCameraZoom::onZoomMinusHeldDown, this)); -	mCommitCallbackRegistrar.add("Zoom.plus", boost::bind(&LLPanelCameraZoom::onZoomPlusHeldDown, this)); -	mCommitCallbackRegistrar.add("Slider.value_changed", boost::bind(&LLPanelCameraZoom::onSliderValueChanged, this)); -	mCommitCallbackRegistrar.add("Camera.track", boost::bind(&LLPanelCameraZoom::onCameraTrack, this)); -	mCommitCallbackRegistrar.add("Camera.rotate", boost::bind(&LLPanelCameraZoom::onCameraRotate, this)); +    mCommitCallbackRegistrar.add("Zoom.minus", boost::bind(&LLPanelCameraZoom::onZoomMinusHeldDown, this)); +    mCommitCallbackRegistrar.add("Zoom.plus", boost::bind(&LLPanelCameraZoom::onZoomPlusHeldDown, this)); +    mCommitCallbackRegistrar.add("Slider.value_changed", boost::bind(&LLPanelCameraZoom::onSliderValueChanged, this)); +    mCommitCallbackRegistrar.add("Camera.track", boost::bind(&LLPanelCameraZoom::onCameraTrack, this)); +    mCommitCallbackRegistrar.add("Camera.rotate", boost::bind(&LLPanelCameraZoom::onCameraRotate, this));  }  bool LLPanelCameraZoom::postBuild()  { -	mPlusBtn  = getChild<LLButton>("zoom_plus_btn"); -	mMinusBtn = getChild<LLButton>("zoom_minus_btn"); -	mSlider   = getChild<LLSlider>("zoom_slider"); -	return LLPanel::postBuild(); +    mPlusBtn  = getChild<LLButton>("zoom_plus_btn"); +    mMinusBtn = getChild<LLButton>("zoom_minus_btn"); +    mSlider   = getChild<LLSlider>("zoom_slider"); +    return LLPanel::postBuild();  }  void LLPanelCameraZoom::draw()  { -	mSlider->setValue(gAgentCamera.getCameraZoomFraction()); -	LLPanel::draw(); +    mSlider->setValue(gAgentCamera.getCameraZoomFraction()); +    LLPanel::draw();  }  void LLPanelCameraZoom::onZoomPlusHeldDown()  { -	F32 val = mSlider->getValueF32(); -	F32 inc = mSlider->getIncrement(); -	mSlider->setValue(val - inc); -	F32 time = mPlusBtn->getHeldDownTime(); -	gAgentCamera.unlockView(); -	gAgentCamera.setOrbitInKey(getOrbitRate(time)); +    F32 val = mSlider->getValueF32(); +    F32 inc = mSlider->getIncrement(); +    mSlider->setValue(val - inc); +    F32 time = mPlusBtn->getHeldDownTime(); +    gAgentCamera.unlockView(); +    gAgentCamera.setOrbitInKey(getOrbitRate(time));  }  void LLPanelCameraZoom::onZoomMinusHeldDown()  { -	F32 val = mSlider->getValueF32(); -	F32 inc = mSlider->getIncrement(); -	mSlider->setValue(val + inc); -	F32 time = mMinusBtn->getHeldDownTime(); -	gAgentCamera.unlockView(); -	gAgentCamera.setOrbitOutKey(getOrbitRate(time)); +    F32 val = mSlider->getValueF32(); +    F32 inc = mSlider->getIncrement(); +    mSlider->setValue(val + inc); +    F32 time = mMinusBtn->getHeldDownTime(); +    gAgentCamera.unlockView(); +    gAgentCamera.setOrbitOutKey(getOrbitRate(time));  }  void LLPanelCameraZoom::onCameraTrack()  { -	// EXP-202 when camera panning activated, remove the hint -	LLFirstUse::viewPopup( false ); +    // EXP-202 when camera panning activated, remove the hint +    LLFirstUse::viewPopup( false );  }  void LLPanelCameraZoom::onCameraRotate()  { -	// EXP-202 when camera rotation activated, remove the hint -	LLFirstUse::viewPopup( false ); +    // EXP-202 when camera rotation activated, remove the hint +    LLFirstUse::viewPopup( false );  }  F32 LLPanelCameraZoom::getOrbitRate(F32 time)  { -	if( time < NUDGE_TIME ) -	{ -		F32 rate = ORBIT_NUDGE_RATE + time * (1 - ORBIT_NUDGE_RATE)/ NUDGE_TIME; -		return rate; -	} -	else -	{ -		return 1; -	} +    if( time < NUDGE_TIME ) +    { +        F32 rate = ORBIT_NUDGE_RATE + time * (1 - ORBIT_NUDGE_RATE)/ NUDGE_TIME; +        return rate; +    } +    else +    { +        return 1; +    }  }  void  LLPanelCameraZoom::onSliderValueChanged()  { -	F32 zoom_level = mSlider->getValueF32(); -	gAgentCamera.setCameraZoomFraction(zoom_level); +    F32 zoom_level = mSlider->getValueF32(); +    gAgentCamera.setCameraZoomFraction(zoom_level);  }  void activate_camera_tool()  { -	LLToolMgr::getInstance()->setTransientTool(LLToolCamera::getInstance()); +    LLToolMgr::getInstance()->setTransientTool(LLToolCamera::getInstance());  };  class LLCameraInfoPanel : public LLPanel @@ -321,29 +321,29 @@ private:  // static  bool LLFloaterCamera::inFreeCameraMode()  { -	LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); -	if (floater_camera && floater_camera->mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA && gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK) -	{ -		return true; -	} -	return false; +    LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); +    if (floater_camera && floater_camera->mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA && gAgentCamera.getCameraMode() != CAMERA_MODE_MOUSELOOK) +    { +        return true; +    } +    return false;  }  // static  void LLFloaterCamera::resetCameraMode()  { -	LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); -	if (!floater_camera) return; -	floater_camera->switchMode(CAMERA_CTRL_MODE_PAN); +    LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); +    if (!floater_camera) return; +    floater_camera->switchMode(CAMERA_CTRL_MODE_PAN);  }  // static  void LLFloaterCamera::onAvatarEditingAppearance(bool editing)  { -	sAppearanceEditing = editing; -	LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); -	if (!floater_camera) return; -	floater_camera->handleAvatarEditingAppearance(editing); +    sAppearanceEditing = editing; +    LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); +    if (!floater_camera) return; +    floater_camera->handleAvatarEditingAppearance(editing);  }  // static @@ -381,358 +381,358 @@ void LLFloaterCamera::handleAvatarEditingAppearance(bool editing)  void LLFloaterCamera::update()  { -	ECameraControlMode mode = determineMode(); -	if (mode != mCurrMode) -	{ -		setMode(mode); -	} +    ECameraControlMode mode = determineMode(); +    if (mode != mCurrMode) +    { +        setMode(mode); +    }  }  void LLFloaterCamera::toPrevMode()  { -	switchMode(mPrevMode); +    switchMode(mPrevMode);  }  // static  void LLFloaterCamera::onLeavingMouseLook()  { -	LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); -	if (floater_camera) -	{ -		floater_camera->updateItemsSelection(); -		if(floater_camera->inFreeCameraMode()) -		{ -			activate_camera_tool(); -		} -	} +    LLFloaterCamera* floater_camera = LLFloaterCamera::findInstance(); +    if (floater_camera) +    { +        floater_camera->updateItemsSelection(); +        if(floater_camera->inFreeCameraMode()) +        { +            activate_camera_tool(); +        } +    }  }  LLFloaterCamera* LLFloaterCamera::findInstance()  { -	return LLFloaterReg::findTypedInstance<LLFloaterCamera>("camera"); +    return LLFloaterReg::findTypedInstance<LLFloaterCamera>("camera");  }  void LLFloaterCamera::onOpen(const LLSD& key)  { -	LLFirstUse::viewPopup(); +    LLFirstUse::viewPopup(); -	mZoom->onOpen(key); +    mZoom->onOpen(key); -	// Returns to previous mode, see EXT-2727(View tool should remember state). -	// In case floater was just hidden and it isn't reset the mode -	// just update state to current one. Else go to previous. -	if ( !mClosed ) -		updateState(); -	else -		toPrevMode(); -	mClosed = false; +    // Returns to previous mode, see EXT-2727(View tool should remember state). +    // In case floater was just hidden and it isn't reset the mode +    // just update state to current one. Else go to previous. +    if ( !mClosed ) +        updateState(); +    else +        toPrevMode(); +    mClosed = false; -	populatePresetCombo(); +    populatePresetCombo(); -	showDebugInfo(LLView::sDebugCamera); +    showDebugInfo(LLView::sDebugCamera);  }  void LLFloaterCamera::onClose(bool app_quitting)  { -	//We don't care of camera mode if app is quitting -	if (app_quitting) -		return; -	// It is necessary to reset mCurrMode to CAMERA_CTRL_MODE_PAN so  -	// to avoid seeing an empty floater when reopening the control. -	if (mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA) -		mCurrMode = CAMERA_CTRL_MODE_PAN; -	// When mCurrMode is in CAMERA_CTRL_MODE_PAN -	// switchMode won't modify mPrevMode, so force it here. -	// It is needed to correctly return to previous mode on open, see EXT-2727. -	if (mCurrMode == CAMERA_CTRL_MODE_PAN) -		mPrevMode = CAMERA_CTRL_MODE_PAN; +    //We don't care of camera mode if app is quitting +    if (app_quitting) +        return; +    // It is necessary to reset mCurrMode to CAMERA_CTRL_MODE_PAN so +    // to avoid seeing an empty floater when reopening the control. +    if (mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA) +        mCurrMode = CAMERA_CTRL_MODE_PAN; +    // When mCurrMode is in CAMERA_CTRL_MODE_PAN +    // switchMode won't modify mPrevMode, so force it here. +    // It is needed to correctly return to previous mode on open, see EXT-2727. +    if (mCurrMode == CAMERA_CTRL_MODE_PAN) +        mPrevMode = CAMERA_CTRL_MODE_PAN; -	switchMode(CAMERA_CTRL_MODE_PAN); -	mClosed = true; +    switchMode(CAMERA_CTRL_MODE_PAN); +    mClosed = true; -	gAgent.setMovementLocked(false); +    gAgent.setMovementLocked(false);  }  LLFloaterCamera::LLFloaterCamera(const LLSD& val) -:	LLFloater(val), -	mClosed(false), -	mCurrMode(CAMERA_CTRL_MODE_PAN), -	mPrevMode(CAMERA_CTRL_MODE_PAN) +:   LLFloater(val), +    mClosed(false), +    mCurrMode(CAMERA_CTRL_MODE_PAN), +    mPrevMode(CAMERA_CTRL_MODE_PAN)  { -	LLHints::getInstance()->registerHintTarget("view_popup", getHandle()); -	mCommitCallbackRegistrar.add("CameraPresets.ChangeView", boost::bind(&LLFloaterCamera::onClickCameraItem, _2)); -	mCommitCallbackRegistrar.add("CameraPresets.Save", boost::bind(&LLFloaterCamera::onSavePreset, this)); -	mCommitCallbackRegistrar.add("CameraPresets.ShowPresetsList", boost::bind(&LLFloaterReg::showInstance, "camera_presets", LLSD(), false)); +    LLHints::getInstance()->registerHintTarget("view_popup", getHandle()); +    mCommitCallbackRegistrar.add("CameraPresets.ChangeView", boost::bind(&LLFloaterCamera::onClickCameraItem, _2)); +    mCommitCallbackRegistrar.add("CameraPresets.Save", boost::bind(&LLFloaterCamera::onSavePreset, this)); +    mCommitCallbackRegistrar.add("CameraPresets.ShowPresetsList", boost::bind(&LLFloaterReg::showInstance, "camera_presets", LLSD(), false));  }  // virtual  bool LLFloaterCamera::postBuild()  { -	updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730) +    updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730) -	mControls = getChild<LLPanel>("controls"); -	mAgentCameraInfo = getChild<LLPanel>("agent_camera_info"); -	mViewerCameraInfo = getChild<LLPanel>("viewer_camera_info"); -	mRotate = getChild<LLJoystickCameraRotate>(ORBIT); -	mZoom = getChild<LLPanelCameraZoom>(ZOOM); -	mTrack = getChild<LLJoystickCameraTrack>(PAN); -	mPresetCombo = getChild<LLComboBox>("preset_combo"); -	mPreciseCtrls = getChild<LLTextBox>("precise_ctrs_label"); +    mControls = getChild<LLPanel>("controls"); +    mAgentCameraInfo = getChild<LLPanel>("agent_camera_info"); +    mViewerCameraInfo = getChild<LLPanel>("viewer_camera_info"); +    mRotate = getChild<LLJoystickCameraRotate>(ORBIT); +    mZoom = getChild<LLPanelCameraZoom>(ZOOM); +    mTrack = getChild<LLJoystickCameraTrack>(PAN); +    mPresetCombo = getChild<LLComboBox>("preset_combo"); +    mPreciseCtrls = getChild<LLTextBox>("precise_ctrs_label"); -	mPreciseCtrls->setShowCursorHand(false); -	mPreciseCtrls->setSoundFlags(LLView::MOUSE_UP); -	mPreciseCtrls->setClickedCallback(boost::bind(&LLFloaterReg::showInstance, "prefs_view_advanced", LLSD(), false)); +    mPreciseCtrls->setShowCursorHand(false); +    mPreciseCtrls->setSoundFlags(LLView::MOUSE_UP); +    mPreciseCtrls->setClickedCallback(boost::bind(&LLFloaterReg::showInstance, "prefs_view_advanced", LLSD(), false)); -	mPresetCombo->setCommitCallback(boost::bind(&LLFloaterCamera::onCustomPresetSelected, this)); -	LLPresetsManager::getInstance()->setPresetListChangeCameraCallback(boost::bind(&LLFloaterCamera::populatePresetCombo, this)); +    mPresetCombo->setCommitCallback(boost::bind(&LLFloaterCamera::onCustomPresetSelected, this)); +    LLPresetsManager::getInstance()->setPresetListChangeCameraCallback(boost::bind(&LLFloaterCamera::populatePresetCombo, this)); -	update(); +    update(); -	// ensure that appearance mode is handled while building. See EXT-7796. -	handleAvatarEditingAppearance(sAppearanceEditing); +    // ensure that appearance mode is handled while building. See EXT-7796. +    handleAvatarEditingAppearance(sAppearanceEditing); -	return LLFloater::postBuild(); +    return LLFloater::postBuild();  } -F32	LLFloaterCamera::getCurrentTransparency() +F32 LLFloaterCamera::getCurrentTransparency()  { -	static LLCachedControl<F32> camera_opacity(gSavedSettings, "CameraOpacity"); -	static LLCachedControl<F32> active_floater_transparency(gSavedSettings, "ActiveFloaterTransparency"); -	return llmin(camera_opacity(), active_floater_transparency()); +    static LLCachedControl<F32> camera_opacity(gSavedSettings, "CameraOpacity"); +    static LLCachedControl<F32> active_floater_transparency(gSavedSettings, "ActiveFloaterTransparency"); +    return llmin(camera_opacity(), active_floater_transparency());  }  void LLFloaterCamera::fillFlatlistFromPanel (LLFlatListView* list, LLPanel* panel)  { -	// copying child list and then iterating over a copy, because list itself -	// is changed in process -	const child_list_t child_list = *panel->getChildList(); -	child_list_t::const_reverse_iterator iter = child_list.rbegin(); -	child_list_t::const_reverse_iterator end = child_list.rend(); -	for ( ; iter != end; ++iter) -	{ -		LLView* view = *iter; -		LLPanel* item = dynamic_cast<LLPanel*>(view); -		if (panel) -			list->addItem(item); -	} +    // copying child list and then iterating over a copy, because list itself +    // is changed in process +    const child_list_t child_list = *panel->getChildList(); +    child_list_t::const_reverse_iterator iter = child_list.rbegin(); +    child_list_t::const_reverse_iterator end = child_list.rend(); +    for ( ; iter != end; ++iter) +    { +        LLView* view = *iter; +        LLPanel* item = dynamic_cast<LLPanel*>(view); +        if (panel) +            list->addItem(item); +    }  }  ECameraControlMode LLFloaterCamera::determineMode()  { -	if (sAppearanceEditing) -	{ -		// this is the only enabled camera mode while editing agent appearance. -		return CAMERA_CTRL_MODE_PAN; -	} +    if (sAppearanceEditing) +    { +        // this is the only enabled camera mode while editing agent appearance. +        return CAMERA_CTRL_MODE_PAN; +    } -	LLTool* curr_tool = LLToolMgr::getInstance()->getCurrentTool(); -	if (curr_tool == LLToolCamera::getInstance()) -	{ -		return CAMERA_CTRL_MODE_FREE_CAMERA; -	}  +    LLTool* curr_tool = LLToolMgr::getInstance()->getCurrentTool(); +    if (curr_tool == LLToolCamera::getInstance()) +    { +        return CAMERA_CTRL_MODE_FREE_CAMERA; +    } -	if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK) -	{ -		return CAMERA_CTRL_MODE_PRESETS; -	} +    if (gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK) +    { +        return CAMERA_CTRL_MODE_PRESETS; +    } -	return CAMERA_CTRL_MODE_PAN; +    return CAMERA_CTRL_MODE_PAN;  }  void clear_camera_tool()  { -	LLToolMgr* tool_mgr = LLToolMgr::getInstance(); -	if (tool_mgr->usingTransientTool() &&  -		tool_mgr->getCurrentTool() == LLToolCamera::getInstance()) -	{ -		tool_mgr->clearTransientTool(); -	} +    LLToolMgr* tool_mgr = LLToolMgr::getInstance(); +    if (tool_mgr->usingTransientTool() && +        tool_mgr->getCurrentTool() == LLToolCamera::getInstance()) +    { +        tool_mgr->clearTransientTool(); +    }  }  void LLFloaterCamera::setMode(ECameraControlMode mode)  { -	if (mode != mCurrMode) -	{ -		mPrevMode = mCurrMode; -		mCurrMode = mode; -	} -	 -	updateState(); +    if (mode != mCurrMode) +    { +        mPrevMode = mCurrMode; +        mCurrMode = mode; +    } + +    updateState();  }  void LLFloaterCamera::switchMode(ECameraControlMode mode)  { -	switch (mode) -	{ -	case CAMERA_CTRL_MODE_PRESETS: -	case CAMERA_CTRL_MODE_PAN: -		sFreeCamera = false; -		setMode(mode); // depends onto sFreeCamera -		clear_camera_tool(); -		break; - -	case CAMERA_CTRL_MODE_FREE_CAMERA: -		sFreeCamera = true; -		setMode(mode); -		activate_camera_tool(); -		break; - -	default: -		//normally we won't occur here -		llassert_always(false); -	} +    switch (mode) +    { +    case CAMERA_CTRL_MODE_PRESETS: +    case CAMERA_CTRL_MODE_PAN: +        sFreeCamera = false; +        setMode(mode); // depends onto sFreeCamera +        clear_camera_tool(); +        break; + +    case CAMERA_CTRL_MODE_FREE_CAMERA: +        sFreeCamera = true; +        setMode(mode); +        activate_camera_tool(); +        break; + +    default: +        //normally we won't occur here +        llassert_always(false); +    }  }  void LLFloaterCamera::updateState()  { -	updateItemsSelection(); +    updateItemsSelection(); -	if (CAMERA_CTRL_MODE_FREE_CAMERA == mCurrMode) -	{ -		return; -	} +    if (CAMERA_CTRL_MODE_FREE_CAMERA == mCurrMode) +    { +        return; +    } -	//updating buttons -	std::map<ECameraControlMode, LLButton*>::const_iterator iter = mMode2Button.begin(); -	for (; iter != mMode2Button.end(); ++iter) -	{ -		iter->second->setToggleState(iter->first == mCurrMode); -	} +    //updating buttons +    std::map<ECameraControlMode, LLButton*>::const_iterator iter = mMode2Button.begin(); +    for (; iter != mMode2Button.end(); ++iter) +    { +        iter->second->setToggleState(iter->first == mCurrMode); +    }  }  void LLFloaterCamera::updateItemsSelection()  { -	ECameraPreset preset = (ECameraPreset) gSavedSettings.getU32("CameraPresetType"); -	LLSD argument; -	argument["selected"] = (preset == CAMERA_PRESET_REAR_VIEW) && !sFreeCamera; -	getChild<LLPanelCameraItem>("rear_view")->setValue(argument); -	argument["selected"] = (preset == CAMERA_PRESET_GROUP_VIEW) && !sFreeCamera; -	getChild<LLPanelCameraItem>("group_view")->setValue(argument); -	argument["selected"] = (preset == CAMERA_PRESET_FRONT_VIEW) && !sFreeCamera; -	getChild<LLPanelCameraItem>("front_view")->setValue(argument); -	argument["selected"] = gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK; -	getChild<LLPanelCameraItem>("mouselook_view")->setValue(argument); -	argument["selected"] = mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA; -	getChild<LLPanelCameraItem>("object_view")->setValue(argument); +    ECameraPreset preset = (ECameraPreset) gSavedSettings.getU32("CameraPresetType"); +    LLSD argument; +    argument["selected"] = (preset == CAMERA_PRESET_REAR_VIEW) && !sFreeCamera; +    getChild<LLPanelCameraItem>("rear_view")->setValue(argument); +    argument["selected"] = (preset == CAMERA_PRESET_GROUP_VIEW) && !sFreeCamera; +    getChild<LLPanelCameraItem>("group_view")->setValue(argument); +    argument["selected"] = (preset == CAMERA_PRESET_FRONT_VIEW) && !sFreeCamera; +    getChild<LLPanelCameraItem>("front_view")->setValue(argument); +    argument["selected"] = gAgentCamera.getCameraMode() == CAMERA_MODE_MOUSELOOK; +    getChild<LLPanelCameraItem>("mouselook_view")->setValue(argument); +    argument["selected"] = mCurrMode == CAMERA_CTRL_MODE_FREE_CAMERA; +    getChild<LLPanelCameraItem>("object_view")->setValue(argument);  }  // static  void LLFloaterCamera::onClickCameraItem(const LLSD& param)  { -	std::string name = param.asString(); - -	if ("mouselook_view" == name) -	{ -		gAgentCamera.changeCameraToMouselook(); -	} -	else if ("object_view" == name) -	{ -		LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance(); -		if (camera_floater) -		{ -			camera_floater->switchMode(CAMERA_CTRL_MODE_FREE_CAMERA); -			camera_floater->updateItemsSelection(); -		} -	} -	else -	{ -		LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance(); -		if (camera_floater) -			camera_floater->switchMode(CAMERA_CTRL_MODE_PAN); -		switchToPreset(name); -	} +    std::string name = param.asString(); + +    if ("mouselook_view" == name) +    { +        gAgentCamera.changeCameraToMouselook(); +    } +    else if ("object_view" == name) +    { +        LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance(); +        if (camera_floater) +        { +            camera_floater->switchMode(CAMERA_CTRL_MODE_FREE_CAMERA); +            camera_floater->updateItemsSelection(); +        } +    } +    else +    { +        LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance(); +        if (camera_floater) +            camera_floater->switchMode(CAMERA_CTRL_MODE_PAN); +        switchToPreset(name); +    }  }  // static  void LLFloaterCamera::switchToPreset(const std::string& name)  { -	sFreeCamera = false; -	clear_camera_tool(); -	if (PRESETS_REAR_VIEW == name) -	{ -		gAgentCamera.switchCameraPreset(CAMERA_PRESET_REAR_VIEW); -	} -	else if (PRESETS_SIDE_VIEW == name) -	{ -		gAgentCamera.switchCameraPreset(CAMERA_PRESET_GROUP_VIEW); -	} -	else if (PRESETS_FRONT_VIEW == name) -	{ -		gAgentCamera.switchCameraPreset(CAMERA_PRESET_FRONT_VIEW); -	} -	else -	{ -		gAgentCamera.switchCameraPreset(CAMERA_PRESET_CUSTOM); -	} -	 -	if (gSavedSettings.getString("PresetCameraActive") != name) -	{ -		LLPresetsManager::getInstance()->loadPreset(PRESETS_CAMERA, name); -	} - -	if (isAgentAvatarValid() && gAgentAvatarp->getParent()) -	{ -		LLQuaternion sit_rot(gSavedSettings.getLLSD("AvatarSitRotation")); -		if (sit_rot != LLQuaternion()) -		{ -			gAgent.rotate(~gAgent.getFrameAgent().getQuaternion()); -			gAgent.rotate(sit_rot); -		} -		else -		{ -			gAgentCamera.rotateToInitSitRot(); -		} -	} -	gAgentCamera.resetCameraZoomFraction(); - -	LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance(); -	if (camera_floater) -	{ -		camera_floater->updateItemsSelection(); -		camera_floater->switchMode(CAMERA_CTRL_MODE_PRESETS); -	} +    sFreeCamera = false; +    clear_camera_tool(); +    if (PRESETS_REAR_VIEW == name) +    { +        gAgentCamera.switchCameraPreset(CAMERA_PRESET_REAR_VIEW); +    } +    else if (PRESETS_SIDE_VIEW == name) +    { +        gAgentCamera.switchCameraPreset(CAMERA_PRESET_GROUP_VIEW); +    } +    else if (PRESETS_FRONT_VIEW == name) +    { +        gAgentCamera.switchCameraPreset(CAMERA_PRESET_FRONT_VIEW); +    } +    else +    { +        gAgentCamera.switchCameraPreset(CAMERA_PRESET_CUSTOM); +    } + +    if (gSavedSettings.getString("PresetCameraActive") != name) +    { +        LLPresetsManager::getInstance()->loadPreset(PRESETS_CAMERA, name); +    } + +    if (isAgentAvatarValid() && gAgentAvatarp->getParent()) +    { +        LLQuaternion sit_rot(gSavedSettings.getLLSD("AvatarSitRotation")); +        if (sit_rot != LLQuaternion()) +        { +            gAgent.rotate(~gAgent.getFrameAgent().getQuaternion()); +            gAgent.rotate(sit_rot); +        } +        else +        { +            gAgentCamera.rotateToInitSitRot(); +        } +    } +    gAgentCamera.resetCameraZoomFraction(); + +    LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance(); +    if (camera_floater) +    { +        camera_floater->updateItemsSelection(); +        camera_floater->switchMode(CAMERA_CTRL_MODE_PRESETS); +    }  }  void LLFloaterCamera::populatePresetCombo()  { -	LLPresetsManager::getInstance()->setPresetNamesInComboBox(PRESETS_CAMERA, mPresetCombo, EDefaultOptions::DEFAULT_HIDE); -	std::string active_preset_name = gSavedSettings.getString("PresetCameraActive"); -	if (active_preset_name.empty()) -	{ -		gSavedSettings.setU32("CameraPresetType", CAMERA_PRESET_CUSTOM); -		updateItemsSelection(); -		mPresetCombo->setLabel(getString("inactive_combo_text")); -	} -	else if ((ECameraPreset)gSavedSettings.getU32("CameraPresetType") == CAMERA_PRESET_CUSTOM) -	{ -		mPresetCombo->selectByValue(active_preset_name); -	} -	else -	{ -		mPresetCombo->setLabel(getString("inactive_combo_text")); -	} -	updateItemsSelection(); +    LLPresetsManager::getInstance()->setPresetNamesInComboBox(PRESETS_CAMERA, mPresetCombo, EDefaultOptions::DEFAULT_HIDE); +    std::string active_preset_name = gSavedSettings.getString("PresetCameraActive"); +    if (active_preset_name.empty()) +    { +        gSavedSettings.setU32("CameraPresetType", CAMERA_PRESET_CUSTOM); +        updateItemsSelection(); +        mPresetCombo->setLabel(getString("inactive_combo_text")); +    } +    else if ((ECameraPreset)gSavedSettings.getU32("CameraPresetType") == CAMERA_PRESET_CUSTOM) +    { +        mPresetCombo->selectByValue(active_preset_name); +    } +    else +    { +        mPresetCombo->setLabel(getString("inactive_combo_text")); +    } +    updateItemsSelection();  }  void LLFloaterCamera::onSavePreset()  { -	LLFloaterReg::hideInstance("delete_pref_preset", PRESETS_CAMERA); -	LLFloaterReg::hideInstance("load_pref_preset", PRESETS_CAMERA); -	 -	LLFloaterReg::showInstance("save_camera_preset"); +    LLFloaterReg::hideInstance("delete_pref_preset", PRESETS_CAMERA); +    LLFloaterReg::hideInstance("load_pref_preset", PRESETS_CAMERA); + +    LLFloaterReg::showInstance("save_camera_preset");  }  void LLFloaterCamera::onCustomPresetSelected()  { -	std::string selected_preset = mPresetCombo->getSelectedItemLabel(); -	if (getString("inactive_combo_text") != selected_preset) -	{ -		switchToPreset(selected_preset); -	} +    std::string selected_preset = mPresetCombo->getSelectedItemLabel(); +    if (getString("inactive_combo_text") != selected_preset) +    { +        switchToPreset(selected_preset); +    }  }  | 
