diff options
Diffstat (limited to 'indra/newview/llhudobject.cpp')
-rwxr-xr-x[-rw-r--r--] | indra/newview/llhudobject.cpp | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/indra/newview/llhudobject.cpp b/indra/newview/llhudobject.cpp index 6af0ae2b6a..45fa09e1a1 100644..100755 --- a/indra/newview/llhudobject.cpp +++ b/indra/newview/llhudobject.cpp @@ -4,7 +4,7 @@ * * $LicenseInfo:firstyear=2002&license=viewerlgpl$ * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. + * Copyright (C) 2002-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 @@ -24,9 +24,6 @@ * $/LicenseInfo$ */ -// llhudobject.cpp -// Copyright 2002, Linden Research, Inc. - #include "llviewerprecompiledheaders.h" #include "llhudobject.h" @@ -35,10 +32,11 @@ #include "llhudtext.h" #include "llhudicon.h" #include "llhudeffectbeam.h" +#include "llhudeffectblob.h" #include "llhudeffecttrail.h" #include "llhudeffectlookat.h" #include "llhudeffectpointat.h" - +#include "llhudnametag.h" #include "llvoicevisualizer.h" #include "llagent.h" @@ -66,7 +64,6 @@ LLHUDObject::LLHUDObject(const U8 type) : mVisible = TRUE; mType = type; mDead = FALSE; - mOnHUDAttachment = FALSE; } LLHUDObject::~LLHUDObject() @@ -126,7 +123,7 @@ void LLHUDObject::cleanupHUDObjects() (*object_it)->markDead(); if ((*object_it)->getNumRefs() > 1) { - llinfos << "LLHUDObject " << (LLHUDObject *)(*object_it) << " type " << (S32)(*object_it)->getType() << " has " << (*object_it)->getNumRefs() << " refs!" << llendl; + LL_INFOS() << "LLHUDObject " << (LLHUDObject *)(*object_it) << " type " << (S32)(*object_it)->getType() << " has " << (*object_it)->getNumRefs() << " refs!" << LL_ENDL; } } sHUDObjects.clear(); @@ -145,8 +142,11 @@ LLHUDObject *LLHUDObject::addHUDObject(const U8 type) case LL_HUD_ICON: hud_objectp = new LLHUDIcon(type); break; + case LL_HUD_NAME_TAG: + hud_objectp = new LLHUDNameTag(type); + break; default: - llwarns << "Unknown type of hud object:" << (U32) type << llendl; + LL_WARNS() << "Unknown type of hud object:" << (U32) type << LL_ENDL; } if (hud_objectp) { @@ -238,8 +238,11 @@ LLHUDEffect *LLHUDObject::addHUDEffect(const U8 type) case LL_HUD_EFFECT_POINTAT: hud_objectp = new LLHUDEffectPointAt(type); break; + case LL_HUD_EFFECT_BLOB: + hud_objectp = new LLHUDEffectBlob(type); + break; default: - llwarns << "Unknown type of hud effect:" << (U32) type << llendl; + LL_WARNS() << "Unknown type of hud effect:" << (U32) type << LL_ENDL; } if (hud_objectp) @@ -249,14 +252,15 @@ LLHUDEffect *LLHUDObject::addHUDEffect(const U8 type) return hud_objectp; } -static LLFastTimer::DeclareTimer FTM_HUD_UPDATE("Update Hud"); +static LLTrace::BlockTimerStatHandle FTM_HUD_UPDATE("Update Hud"); // static void LLHUDObject::updateAll() { - LLFastTimer ftm(FTM_HUD_UPDATE); + LL_RECORD_BLOCK_TIME(FTM_HUD_UPDATE); LLHUDText::updateAll(); LLHUDIcon::updateAll(); + LLHUDNameTag::updateAll(); sortObjects(); } @@ -284,7 +288,7 @@ void LLHUDObject::renderAll() } // static -void LLHUDObject::renderAllForSelect() +void LLHUDObject::renderAllForTimer() { LLHUDObject *hud_objp; @@ -299,12 +303,20 @@ void LLHUDObject::renderAllForSelect() } else if (hud_objp->isVisible()) { - hud_objp->renderForSelect(); + hud_objp->renderForTimer(); } } } // static +void LLHUDObject::reshapeAll() +{ + // only hud objects that use fonts care about window size/scale changes + LLHUDText::reshape(); + LLHUDNameTag::reshape(); +} + +// static void LLHUDObject::sortObjects() { sHUDObjects.sort(hud_object_further_away()); |