本文整理汇总了C++中viewer_media_t::setDisabled方法的典型用法代码示例。如果您正苦于以下问题:C++ viewer_media_t::setDisabled方法的具体用法?C++ viewer_media_t::setDisabled怎么用?C++ viewer_media_t::setDisabled使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类viewer_media_t
的用法示例。
在下文中一共展示了viewer_media_t::setDisabled方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setFocusFace
void LLViewerMediaFocus::setFocusFace(LLPointer<LLViewerObject> objectp, S32 face, viewer_media_t media_impl, LLVector3 pick_normal)
{
LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
LLViewerMediaImpl *old_media_impl = getFocusedMediaImpl();
if(old_media_impl)
{
old_media_impl->focus(false);
}
// Always clear the current selection. If we're setting focus on a face, we'll reselect the correct object below.
LLSelectMgr::getInstance()->deselectAll();
mSelection = NULL;
if (media_impl.notNull() && objectp.notNull())
{
bool face_auto_zoom = false;
mFocusedImplID = media_impl->getMediaTextureID();
mFocusedObjectID = objectp->getID();
mFocusedObjectFace = face;
mFocusedObjectNormal = pick_normal;
// Set the selection in the selection manager so we can draw the focus ring.
mSelection = LLSelectMgr::getInstance()->selectObjectOnly(objectp, face);
// Focusing on a media face clears its disable flag.
media_impl->setDisabled(false);
LLTextureEntry* tep = objectp->getTE(face);
if(tep->hasMedia())
{
LLMediaEntry* mep = tep->getMediaData();
face_auto_zoom = mep->getAutoZoom();
if(!media_impl->hasMedia())
{
std::string url = mep->getCurrentURL().empty() ? mep->getHomeURL() : mep->getCurrentURL();
media_impl->navigateTo(url, "", true);
}
}
else
{
// This should never happen.
llwarns << "Can't find media entry for focused face" << llendl;
}
media_impl->focus(true);
gFocusMgr.setKeyboardFocus(this);
// We must do this before processing the media HUD zoom, or it may zoom to the wrong face.
update();
if(mMediaControls.get())
{
if(face_auto_zoom && ! parcel->getMediaPreventCameraZoom())
{
// Zoom in on this face
mMediaControls.get()->resetZoomLevel(false);
mMediaControls.get()->nextZoomLevel();
}
else
{
// Reset the controls' zoom level without moving the camera.
// This fixes the case where clicking focus between two non-autozoom faces doesn't change the zoom-out button back to a zoom-in button.
mMediaControls.get()->resetZoomLevel(false);
}
}
}
else
{
if(hasFocus())
{
gFocusMgr.setKeyboardFocus(NULL);
}
mFocusedImplID = LLUUID::null;
if (objectp.notNull())
{
// Still record the focused object...it may mean we need to load media data.
// This will aid us in determining this object is "important enough"
mFocusedObjectID = objectp->getID();
mFocusedObjectFace = face;
}
else {
mFocusedObjectID = LLUUID::null;
mFocusedObjectFace = 0;
}
}
}