Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm
commit
06e8393846
|
|
@ -3030,11 +3030,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>43c5f93517794aeade550e4266b959d1f0cfcb7f</string>
|
||||
<string>f77b90faf4505af9aef5d5356af7442be87ccc39</string>
|
||||
<key>hash_algorithm</key>
|
||||
<string>sha1</string>
|
||||
<key>url</key>
|
||||
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m137.7151.04.20-universal/webrtc-m137.7151.04.20-universal.17630578914-darwin64-17630578914.tar.zst</string>
|
||||
<string>https://github.com/RyeMutt/3p-webrtc-build/releases/download/m137.1/webrtc-m137.1.18519550447-darwin64-18519550447.tar.zst</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>darwin64</string>
|
||||
|
|
@ -3044,11 +3044,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>efc5b176d878cfc16b8f82445d82ddb96815b6ab</string>
|
||||
<string>cd14e4b8320f9f3ece86388f7394dfee11255b0f</string>
|
||||
<key>hash_algorithm</key>
|
||||
<string>sha1</string>
|
||||
<key>url</key>
|
||||
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m137.7151.04.20-universal/webrtc-m137.7151.04.20-universal.17630578914-linux64-17630578914.tar.zst</string>
|
||||
<string>https://github.com/RyeMutt/3p-webrtc-build/releases/download/m137.1/webrtc-m137.1.18519550447-linux64-18519550447.tar.zst</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>linux64</string>
|
||||
|
|
@ -3058,11 +3058,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>1e36f100de32c7c71325497a672fb1659b3f206d</string>
|
||||
<string>952e58eed658d81e54f6137a5fa554e40119fc5d</string>
|
||||
<key>hash_algorithm</key>
|
||||
<string>sha1</string>
|
||||
<key>url</key>
|
||||
<string>https://github.com/secondlife/3p-webrtc-build/releases/download/m137.7151.04.20-universal/webrtc-m137.7151.04.20-universal.17630578914-windows64-17630578914.tar.zst</string>
|
||||
<string>https://github.com/RyeMutt/3p-webrtc-build/releases/download/m137.1/webrtc-m137.1.18519550447-windows64-18519550447.tar.zst</string>
|
||||
</map>
|
||||
<key>name</key>
|
||||
<string>windows64</string>
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ if(NOT DARWIN)
|
|||
link_directories(${AUTOBUILD_INSTALL_DIR}/lib/release)
|
||||
endif(NOT DARWIN)
|
||||
|
||||
|
||||
add_library( ll::oslibraries INTERFACE IMPORTED )
|
||||
|
||||
if (LINUX)
|
||||
|
|
|
|||
|
|
@ -63,6 +63,10 @@ LLGLTexture::~LLGLTexture()
|
|||
void LLGLTexture::init()
|
||||
{
|
||||
mBoostLevel = LLGLTexture::BOOST_NONE;
|
||||
// <FS:minerjr> [FIRE-36016] - Re-added Store/Restore boost levels of selected objects
|
||||
// Added a previous boost level to allow for restoring boost after BOOST_SELECTED is applied
|
||||
mPrevBoostLevel = LLGLTexture::BOOST_NONE;
|
||||
// </FS:minerjr> [FIRE-36016]
|
||||
|
||||
mFullWidth = 0;
|
||||
mFullHeight = 0;
|
||||
|
|
@ -107,6 +111,20 @@ void LLGLTexture::setBoostLevel(S32 level)
|
|||
}
|
||||
}
|
||||
|
||||
// <FS:minerjr> [FIRE-36016] - Re-added Store/Restore boost levels of selected objects
|
||||
// Changes the current boost level back to the previous value
|
||||
void LLGLTexture::restoreBoostLevel()
|
||||
{
|
||||
mBoostLevel = mPrevBoostLevel;
|
||||
}
|
||||
|
||||
// Stores the current boost level in the previous boost
|
||||
void LLGLTexture::storeBoostLevel()
|
||||
{
|
||||
mPrevBoostLevel = mBoostLevel;
|
||||
}
|
||||
// </FS:minerjr> [FIRE-36016]
|
||||
|
||||
void LLGLTexture::forceActive()
|
||||
{
|
||||
mTextureState = ACTIVE ;
|
||||
|
|
|
|||
|
|
@ -101,6 +101,10 @@ public:
|
|||
|
||||
void setBoostLevel(S32 level);
|
||||
S32 getBoostLevel() { return mBoostLevel; }
|
||||
// <FS:minerjr> [FIRE-36016] - Re-added Store/Restore boost levels of selected objects
|
||||
void restoreBoostLevel(); // Now restores the mBoostLevel with the mPrevBoostLevel
|
||||
void storeBoostLevel(); // Stores the current mBoostLevel in mPrevBoostLevel
|
||||
// </FS:minerjr> [FIRE-36016]
|
||||
|
||||
S32 getFullWidth() const { return mFullWidth; }
|
||||
S32 getFullHeight() const { return mFullHeight; }
|
||||
|
|
@ -183,6 +187,9 @@ public:
|
|||
|
||||
protected:
|
||||
S32 mBoostLevel; // enum describing priority level
|
||||
// <FS:minerjr> [FIRE-36016] - Re-added Store/Restore boost levels of selected objects
|
||||
S32 mPrevBoostLevel; // enum describing priority level (Previous Value for BOOST_SELECTION restore)
|
||||
// </FS:minerjr> [FIRE-36016]
|
||||
U32 mFullWidth;
|
||||
U32 mFullHeight;
|
||||
bool mUseMipMaps;
|
||||
|
|
|
|||
|
|
@ -1546,9 +1546,6 @@ void LLShaderMgr::initAttribsAndUniforms()
|
|||
// <FS:Beq> reserved uniforms for snapshot frame
|
||||
mReservedUniforms.push_back("border_color");
|
||||
mReservedUniforms.push_back("border_thickness");
|
||||
mReservedUniforms.push_back("guide_color");
|
||||
mReservedUniforms.push_back("guide_thickness");
|
||||
mReservedUniforms.push_back("guide_style");
|
||||
mReservedUniforms.push_back("frame_rect");
|
||||
// </FS:Beq>
|
||||
|
||||
|
|
@ -1565,4 +1562,3 @@ void LLShaderMgr::initAttribsAndUniforms()
|
|||
dupe_check.insert(mReservedUniforms[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -357,9 +357,6 @@ public:
|
|||
// <FS:Beq> Uniforms for snapshot frame
|
||||
SNAPSHOT_BORDER_COLOR, // "border_color"
|
||||
SNAPSHOT_BORDER_THICKNESS, // "border_thickness"
|
||||
SNAPSHOT_GUIDE_COLOR, // "guide_color"
|
||||
SNAPSHOT_GUIDE_THICKNESS, // "guide_thickness"
|
||||
SNAPSHOT_GUIDE_STYLE, // "guide_style"
|
||||
SNAPSHOT_FRAME_RECT, // "frame_rect"
|
||||
// </FS:Beq>
|
||||
END_RESERVED_UNIFORMS
|
||||
|
|
|
|||
|
|
@ -2464,7 +2464,7 @@ void LLFloater::drawConeToOwner(F32 &context_cone_opacity,
|
|||
LLRect local_rect = getLocalRect();
|
||||
|
||||
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
|
||||
LLGLEnable(GL_CULL_FACE);
|
||||
LLGLEnable cull_face(GL_CULL_FACE);
|
||||
gGL.begin(LLRender::TRIANGLE_STRIP);
|
||||
{
|
||||
gGL.color4f(0.f, 0.f, 0.f, contex_cone_in_alpha * context_cone_opacity);
|
||||
|
|
|
|||
|
|
@ -1495,6 +1495,10 @@ void freePeerConnection(LLWebRTCPeerConnectionInterface* peer_connection)
|
|||
|
||||
void init(LLWebRTCLogCallback* logCallback)
|
||||
{
|
||||
if (gWebRTCImpl)
|
||||
{
|
||||
return;
|
||||
}
|
||||
gWebRTCImpl = new LLWebRTCImpl(logCallback);
|
||||
gWebRTCImpl->init();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26650,6 +26650,28 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Value</key>
|
||||
<real>1.0</real>
|
||||
</map>
|
||||
<key>FSSnapshotGuideVisibility</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>The blend factor used to color the snapshot framing guides</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>F32</string>
|
||||
<key>Value</key>
|
||||
<real>0.5</real>
|
||||
</map>
|
||||
<key>FSSnapshotGuideStyle</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>The framing guide layout to display inside the snapshot frame</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>String</string>
|
||||
<key>Value</key>
|
||||
<string>rule_of_thirds</string>
|
||||
</map>
|
||||
<key>FSManipRotateJointUseNaturalDirection</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -5,9 +5,6 @@ uniform vec2 screen_res;
|
|||
uniform vec4 frame_rect; // x, y, width, height (normalized 0->1)
|
||||
uniform vec3 border_color;
|
||||
uniform float border_thickness; // in pixels
|
||||
uniform vec3 guide_color;
|
||||
uniform float guide_thickness; // in pixels
|
||||
uniform float guide_style; // 0: no guide, 1: rule of thirds, 2: golden spiral
|
||||
|
||||
in vec2 vary_fragcoord;
|
||||
|
||||
|
|
@ -57,20 +54,6 @@ void main()
|
|||
diff.rgb = mix(diff.rgb, border_color, 0.5);
|
||||
}
|
||||
|
||||
// Draw guide based on guide_style
|
||||
if (guide_style == 1)
|
||||
{
|
||||
// Draw rule of thirds guide
|
||||
float third_x = (frame_rect_px.z - frame_rect_px.x) / 3.0;
|
||||
float third_y = (frame_rect_px.w - frame_rect_px.y) / 3.0;
|
||||
if ((tc.x > frame_rect_px.x + third_x - guide_thickness && tc.x < frame_rect_px.x + third_x + guide_thickness) ||
|
||||
(tc.x > frame_rect_px.x + 2.0 * third_x - guide_thickness && tc.x < frame_rect_px.x + 2.0 * third_x + guide_thickness) ||
|
||||
(tc.y > frame_rect_px.y + third_y - guide_thickness && tc.y < frame_rect_px.y + third_y + guide_thickness) ||
|
||||
(tc.y > frame_rect_px.y + 2.0 * third_y - guide_thickness && tc.y < frame_rect_px.y + 2.0 * third_y + guide_thickness))
|
||||
{
|
||||
diff.rgb = mix(diff.rgb, guide_color, 0.05);
|
||||
}
|
||||
}
|
||||
}
|
||||
frag_color = diff;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -603,7 +603,7 @@ void FSManipRotateJoint::renderCenterCircle(const F32 radius, const LLColor4& no
|
|||
LLGLDepthTest gls_depth(GL_FALSE);
|
||||
|
||||
constexpr int segments = 64;
|
||||
glLineWidth(6.0f); // Set the desired line thickness
|
||||
gGL.setLineWidth(6.0f); // Set the desired line thickness
|
||||
|
||||
// Compute a scale factor that already factors in the radius.
|
||||
float scale = radius;
|
||||
|
|
@ -637,7 +637,7 @@ void FSManipRotateJoint::renderCenterCircle(const F32 radius, const LLColor4& no
|
|||
}
|
||||
gGL.end();
|
||||
|
||||
glLineWidth(1.0f); // Reset the line width.
|
||||
gGL.setLineWidth(1.0f); // Reset the line width.
|
||||
}
|
||||
gGL.popMatrix();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@
|
|||
#include "llagent.h"
|
||||
#include "llavataractions.h"
|
||||
#include "llcallingcard.h" // for LLAvatarTracker
|
||||
#include "lllogchat.h"
|
||||
#include "llnetmap.h"
|
||||
#include "llviewermenu.h" // for gMenuHolder
|
||||
#include "rlvactions.h"
|
||||
|
|
@ -83,6 +84,7 @@ LLContextMenu* FSRadarMenu::createMenu()
|
|||
registrar.add("Avatar.Derender", boost::bind(&LLAvatarActions::derender, id, false));
|
||||
registrar.add("Avatar.DerenderPermanent", boost::bind(&LLAvatarActions::derender, id, true));
|
||||
registrar.add("Avatar.AddToContactSet", boost::bind(&FSRadarMenu::addToContactSet, this));
|
||||
registrar.add("Avatar.Calllog", boost::bind(&LLAvatarActions::viewChatHistory, id));
|
||||
registrar.add("Nearby.People.TeleportToAvatar", boost::bind(&FSRadarMenu::teleportToAvatar, this));
|
||||
registrar.add("Nearby.People.TrackAvatar", boost::bind(&FSRadarMenu::onTrackAvatarMenuItemClick, this));
|
||||
registrar.add("Nearby.People.SetRenderMode", boost::bind(&FSRadarMenu::onSetRenderMode, this, _2));
|
||||
|
|
@ -234,6 +236,10 @@ bool FSRadarMenu::enableContextMenuItem(const LLSD& userdata)
|
|||
const LLUUID& id = mUUIDs.front();
|
||||
return RlvActions::canPayAvatar(id);
|
||||
}
|
||||
else if (item == std::string("can_callog"))
|
||||
{
|
||||
return LLLogChat::isTranscriptExist(mUUIDs.front());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -445,10 +445,7 @@ bool LLTaskInvFVBridge::removeItem()
|
|||
return true;
|
||||
}
|
||||
|
||||
LLSD payload;
|
||||
payload["task_id"] = mPanel->getTaskUUID();
|
||||
payload["inventory_ids"].append(mUUID);
|
||||
LLNotificationsUtil::add("RemoveItemWarn", LLSD(), payload, boost::bind(&remove_task_inventory_callback, _1, _2, mPanel));
|
||||
LLNotificationsUtil::add("CantModifyContentInNoModTask");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -471,13 +468,7 @@ void LLTaskInvFVBridge::removeBatch(std::vector<LLFolderViewModelItem*>& batch)
|
|||
|
||||
if (!object->permModify())
|
||||
{
|
||||
LLSD payload;
|
||||
payload["task_id"] = mPanel->getTaskUUID();
|
||||
for (LLFolderViewModelItem* item : batch)
|
||||
{
|
||||
payload["inventory_ids"].append(((LLTaskInvFVBridge*)item)->getUUID());
|
||||
}
|
||||
LLNotificationsUtil::add("RemoveItemWarn", LLSD(), payload, boost::bind(&remove_task_inventory_callback, _1, _2, mPanel));
|
||||
LLNotificationsUtil::add("CantModifyContentInNoModTask");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -605,6 +605,7 @@ void LLViewerFloaterReg::registerFloaters()
|
|||
LLFloaterReg::add("stop_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterNotRunQueue>);
|
||||
LLFloaterReg::add("snapshot", "floater_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSnapshot>);
|
||||
LLFloaterReg::add("simple_snapshot", "floater_simple_snapshot.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSimpleSnapshot>);
|
||||
LLFloaterReg::add("snapshot_guide_settings", "floater_snapshot_guide_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloater>);// <FS:Beq/> photo guide settings
|
||||
// <FS:CR> Search floater is deferred to login now so we can tell what grid we're in.
|
||||
//LLFloaterReg::add("search", "floater_search.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSearch>);
|
||||
LLFloaterReg::add("profile", "floater_profile.xml",(LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterProfile>);
|
||||
|
|
|
|||
|
|
@ -4336,6 +4336,14 @@ void LLViewerObject::boostTexturePriority(bool boost_children /* = true */)
|
|||
S32 tex_count = getNumTEs();
|
||||
for (i = 0; i < tex_count; i++)
|
||||
{
|
||||
// <FS:minerjr> [FIRE-36016] - Re-added Store/Restore boost levels of selected objects
|
||||
// This fixes textures becoming blury (Esepecially with Bias > 1.0f) after an object is selected and unselected.
|
||||
// If this is changing the boost level for the TEImage for the first time, store the boost level before modifying it.
|
||||
if (getTEImage(i)->getBoostLevel() != LLGLTexture::BOOST_SELECTED)
|
||||
{
|
||||
getTEImage(i)->storeBoostLevel();
|
||||
}
|
||||
// </FS:minerjr> [FIRE-36016]
|
||||
getTEImage(i)->setBoostLevel(LLGLTexture::BOOST_SELECTED);
|
||||
}
|
||||
|
||||
|
|
@ -4345,7 +4353,21 @@ void LLViewerObject::boostTexturePriority(bool boost_children /* = true */)
|
|||
if (sculpt_params)
|
||||
{
|
||||
LLUUID sculpt_id = sculpt_params->getSculptTexture();
|
||||
LLViewerTextureManager::getFetchedTexture(sculpt_id, FTT_DEFAULT, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE)->setBoostLevel(LLGLTexture::BOOST_SELECTED);
|
||||
// <FS:minerjr> [FIRE-36016] - Re-added Store/Restore boost levels of selected objects
|
||||
//LLViewerTextureManager::getFetchedTexture(sculpt_id, FTT_DEFAULT, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE)->setBoostLevel(LLGLTexture::BOOST_SELECTED);
|
||||
// This fixes textures becoming blury (Esepecially with Bias > 1.0f) after an object is selected and unselected.
|
||||
// If this is changing the boost level for the sculpted for the first time, store the boost level before modifying it.
|
||||
LLViewerFetchedTexture* sculptedTexture = LLViewerTextureManager::getFetchedTexture(sculpt_id, FTT_DEFAULT, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE);
|
||||
if (sculptedTexture)
|
||||
{
|
||||
// If the texture is already boost selected, don't store the boost level again. Otherwise, it will overwrite the saved boost level with itself.
|
||||
if (sculptedTexture->getBoostLevel() != LLGLTexture::BOOST_SELECTED)
|
||||
{
|
||||
sculptedTexture->storeBoostLevel();
|
||||
}
|
||||
sculptedTexture->setBoostLevel(LLGLTexture::BOOST_SELECTED);
|
||||
}
|
||||
// </FS:minerjr> [FIRE-36016]
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -825,7 +825,7 @@ void LLViewerParcelOverlay::renderPropertyLinesOnMinimap(F32 scale_pixels_per_me
|
|||
const S32 GRIDS_PER_EDGE = mParcelGridsPerEdge;
|
||||
|
||||
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
|
||||
glLineWidth(1.0f);
|
||||
gGL.setLineWidth(1.0f);
|
||||
gGL.color4fv(parcel_outline_color);
|
||||
for (S32 i = 0; i <= GRIDS_PER_EDGE; i++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3191,7 +3191,12 @@ void LLViewerLODTexture::processTextureStats()
|
|||
// unset it immediately after we consume it
|
||||
if (getBoostLevel() == BOOST_SELECTED)
|
||||
{
|
||||
setBoostLevel(BOOST_NONE);
|
||||
// <FS:minerjr> [FIRE-36016] - Re-added Store/Restore boost levels of selected objects
|
||||
//setBoostLevel(BOOST_NONE);
|
||||
// Restore the boost level instead of just setting to BOOST_NONE
|
||||
// Can cause Sculpts and other boosted objects to lose boost and become subject to discard levels with Bias over 1.0f
|
||||
restoreBoostLevel();
|
||||
// </FS:minerjr>> [FIRE-36016]
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -273,6 +273,11 @@ void LLWebRTCVoiceClient::cleanupSingleton()
|
|||
void LLWebRTCVoiceClient::init(LLPumpIO* pump)
|
||||
{
|
||||
// constructor will set up LLVoiceClient::getInstance()
|
||||
initWebRTC();
|
||||
}
|
||||
|
||||
void LLWebRTCVoiceClient::initWebRTC()
|
||||
{
|
||||
llwebrtc::init(this);
|
||||
|
||||
mWebRTCDeviceInterface = llwebrtc::getDeviceInterface();
|
||||
|
|
@ -292,6 +297,7 @@ void LLWebRTCVoiceClient::terminate()
|
|||
|
||||
mVoiceEnabled = false;
|
||||
llwebrtc::terminate();
|
||||
mWebRTCDeviceInterface = nullptr;
|
||||
|
||||
sShuttingDown = true;
|
||||
}
|
||||
|
|
@ -1813,6 +1819,15 @@ void LLWebRTCVoiceClient::onChangeDetailed(const LLMute& mute)
|
|||
}
|
||||
}
|
||||
|
||||
void LLWebRTCVoiceClient::userAuthorized(const std::string& user_id, const LLUUID& agentID)
|
||||
{
|
||||
if (sShuttingDown)
|
||||
{
|
||||
sShuttingDown = false; // was terminated, restart
|
||||
initWebRTC();
|
||||
}
|
||||
}
|
||||
|
||||
void LLWebRTCVoiceClient::predSetUserMute(const LLWebRTCVoiceClient::sessionStatePtr_t &session, const LLUUID &id, bool mute)
|
||||
{
|
||||
session->setUserMute(id, mute);
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ public:
|
|||
//@}
|
||||
|
||||
// authorize the user
|
||||
void userAuthorized(const std::string &user_id, const LLUUID &agentID) override {};
|
||||
void userAuthorized(const std::string &user_id, const LLUUID &agentID) override;
|
||||
|
||||
|
||||
void OnConnectionEstablished(const std::string& channelID, const LLUUID& regionID);
|
||||
|
|
@ -443,6 +443,8 @@ public:
|
|||
boost::signals2::connection mAvatarNameCacheConnection;
|
||||
|
||||
private:
|
||||
// init or restart the WebRTC device interface.
|
||||
void initWebRTC();
|
||||
|
||||
// Coroutine support methods
|
||||
//---
|
||||
|
|
|
|||
|
|
@ -4546,17 +4546,365 @@ void LLPipeline::recordTrianglesDrawn()
|
|||
add(LLStatViewer::TRIANGLES_DRAWN, LLUnits::Triangles::fromValue(count));
|
||||
}
|
||||
|
||||
// <FS:Beq> Rework Snapshot Guide Rendering
|
||||
void LLPipeline::renderSnapshotGuidesOverlay()
|
||||
{
|
||||
if (!mSnapshotGuideState.active || !mSnapshotGuideState.show_guides)
|
||||
{
|
||||
mSnapshotGuideState.active = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!gViewerWindow || !gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
|
||||
{
|
||||
mSnapshotGuideState.active = false;
|
||||
return;
|
||||
}
|
||||
|
||||
LLRect view_rect = gViewerWindow->getWorldViewRectRaw();
|
||||
const F32 width = (F32)view_rect.getWidth();
|
||||
const F32 height = (F32)view_rect.getHeight();
|
||||
if (width <= 0.f || height <= 0.f)
|
||||
{
|
||||
mSnapshotGuideState.active = false;
|
||||
return;
|
||||
}
|
||||
|
||||
const F32 left_norm = llmin(mSnapshotGuideState.left, mSnapshotGuideState.right);
|
||||
const F32 right_norm = llmax(mSnapshotGuideState.left, mSnapshotGuideState.right);
|
||||
const F32 bottom_norm = llmin(mSnapshotGuideState.bottom, mSnapshotGuideState.top);
|
||||
const F32 top_norm = llmax(mSnapshotGuideState.bottom, mSnapshotGuideState.top);
|
||||
|
||||
const F32 left_px = left_norm * width;
|
||||
const F32 right_px = right_norm * width;
|
||||
const F32 bottom_px = bottom_norm * height;
|
||||
const F32 top_px = top_norm * height;
|
||||
|
||||
const F32 frame_width = right_px - left_px;
|
||||
const F32 frame_height = top_px - bottom_px;
|
||||
if (frame_width <= 0.f || frame_height <= 0.f)
|
||||
{
|
||||
mSnapshotGuideState.active = false;
|
||||
return;
|
||||
}
|
||||
|
||||
const F32 alpha = llclamp(mSnapshotGuideState.visibility, 0.f, 1.f);
|
||||
if (alpha <= 0.f)
|
||||
{
|
||||
mSnapshotGuideState.active = false;
|
||||
return;
|
||||
}
|
||||
|
||||
LLGLDisable depth(GL_DEPTH_TEST);
|
||||
LLGLDisable cull(GL_CULL_FACE);
|
||||
LLGLDisable stencil(GL_STENCIL_TEST);
|
||||
LLGLEnable blend(GL_BLEND);
|
||||
gGL.setSceneBlendType(LLRender::BT_ALPHA);
|
||||
|
||||
LLGLSLShader* ui_shader = &gUIProgram;
|
||||
ui_shader->bind();
|
||||
|
||||
if (!LLViewerFetchedTexture::sWhiteImagep.isNull())
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(LLViewerFetchedTexture::sWhiteImagep);
|
||||
}
|
||||
else
|
||||
{
|
||||
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, LLTexUnit::sWhiteTexture);
|
||||
}
|
||||
|
||||
gGL.matrixMode(LLRender::MM_PROJECTION);
|
||||
gGL.pushMatrix();
|
||||
gGL.loadIdentity();
|
||||
gGL.ortho(0.f, width, 0.f, height, -1.f, 1.f);
|
||||
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
gGL.pushMatrix();
|
||||
gGL.loadIdentity();
|
||||
gGLLastMatrix = nullptr;
|
||||
|
||||
const LLColor4 line_color(mSnapshotGuideState.color, alpha);
|
||||
gGL.color4fv(line_color.mV);
|
||||
|
||||
const F32 thickness = llmax(mSnapshotGuideState.thickness, 0.f);
|
||||
const F32 half_thickness = thickness * 0.5f;
|
||||
auto draw_filled_rect = [&](F32 l, F32 b, F32 r, F32 t)
|
||||
{
|
||||
const S32 left_i = ll_round(l);
|
||||
const S32 right_i = ll_round(r);
|
||||
const S32 top_i = ll_round(t);
|
||||
const S32 bottom_i = ll_round(b);
|
||||
gl_rect_2d(left_i, top_i, right_i, bottom_i, line_color, true);
|
||||
};
|
||||
|
||||
auto draw_vertical_norm = [&](F32 norm)
|
||||
{
|
||||
const F32 x = left_px + frame_width * norm;
|
||||
draw_filled_rect(x - half_thickness, bottom_px, x + half_thickness, top_px);
|
||||
};
|
||||
|
||||
auto draw_horizontal_norm = [&](F32 norm)
|
||||
{
|
||||
const F32 y = bottom_px + frame_height * norm;
|
||||
draw_filled_rect(left_px, y - half_thickness, right_px, y + half_thickness);
|
||||
};
|
||||
|
||||
switch (mSnapshotGuideState.style)
|
||||
{
|
||||
case SnapshotGuideState::Style::RuleOfThirds:
|
||||
{
|
||||
constexpr std::array<F32, 2> offsets = { 1.f / 3.f, 2.f / 3.f };
|
||||
for (F32 offset : offsets)
|
||||
{
|
||||
draw_vertical_norm(offset);
|
||||
draw_horizontal_norm(offset);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SnapshotGuideState::Style::GoldenRatio:
|
||||
{
|
||||
constexpr F32 phi = 1.61803398875f;
|
||||
const SnapshotGuideState::GoldenOrientation orientation = mSnapshotGuideState.golden_orientation;
|
||||
|
||||
const F32 scale = llmin(frame_width / phi, frame_height);
|
||||
if (scale <= 0.f)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
const F32 golden_width = phi * scale;
|
||||
const F32 golden_height = scale;
|
||||
const F32 pad_x = frame_width - golden_width;
|
||||
const F32 pad_y = frame_height - golden_height;
|
||||
|
||||
F32 anchor_x = left_px;
|
||||
F32 anchor_y = bottom_px;
|
||||
switch (orientation)
|
||||
{
|
||||
case SnapshotGuideState::GoldenOrientation::TopLeft:
|
||||
anchor_y += pad_y;
|
||||
break;
|
||||
case SnapshotGuideState::GoldenOrientation::TopRight:
|
||||
anchor_x += pad_x;
|
||||
anchor_y += pad_y;
|
||||
break;
|
||||
case SnapshotGuideState::GoldenOrientation::BottomRight:
|
||||
anchor_x += pad_x;
|
||||
break;
|
||||
case SnapshotGuideState::GoldenOrientation::BottomLeft:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
auto map_point = [&](F32 local_x, F32 local_y) -> LLVector2
|
||||
{
|
||||
F32 x = local_x;
|
||||
F32 y = local_y;
|
||||
|
||||
if (orientation == SnapshotGuideState::GoldenOrientation::TopLeft ||
|
||||
orientation == SnapshotGuideState::GoldenOrientation::BottomLeft)
|
||||
{
|
||||
x = golden_width - local_x;
|
||||
}
|
||||
|
||||
if (orientation == SnapshotGuideState::GoldenOrientation::BottomLeft ||
|
||||
orientation == SnapshotGuideState::GoldenOrientation::BottomRight)
|
||||
{
|
||||
y = golden_height - local_y;
|
||||
}
|
||||
|
||||
return LLVector2(anchor_x + x, anchor_y + y);
|
||||
};
|
||||
|
||||
std::vector<std::pair<LLVector2, LLVector2>> line_segments;
|
||||
line_segments.reserve(24);
|
||||
|
||||
auto add_line = [&](F32 x0, F32 y0, F32 x1, F32 y1)
|
||||
{
|
||||
line_segments.emplace_back(map_point(x0, y0), map_point(x1, y1));
|
||||
};
|
||||
|
||||
// Outline of the fitted golden rectangle.
|
||||
add_line(0.f, 0.f, golden_width, 0.f);
|
||||
add_line(0.f, golden_height, golden_width, golden_height);
|
||||
add_line(0.f, 0.f, 0.f, golden_height);
|
||||
add_line(golden_width, 0.f, golden_width, golden_height);
|
||||
|
||||
// Generate subdivision lines while we walk the squares.
|
||||
F32 x0 = 0.f;
|
||||
F32 y0 = 0.f;
|
||||
F32 x1 = golden_width;
|
||||
F32 y1 = golden_height;
|
||||
|
||||
for (U32 step = 0; step < 12; ++step)
|
||||
{
|
||||
const F32 width = x1 - x0;
|
||||
const F32 height = y1 - y0;
|
||||
if (width <= 1.f || height <= 1.f)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
switch (step % 4)
|
||||
{
|
||||
case 0:
|
||||
x0 += height;
|
||||
add_line(x0, y0, x0, y1);
|
||||
break;
|
||||
case 1:
|
||||
y0 += width;
|
||||
add_line(x0, y0, x1, y0);
|
||||
break;
|
||||
case 2:
|
||||
x1 -= height;
|
||||
add_line(x1, y0, x1, y1);
|
||||
break;
|
||||
default:
|
||||
y1 -= width;
|
||||
add_line(x0, y1, x1, y1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
auto draw_golden_spiral = [&](U32 max_depth)
|
||||
{
|
||||
gGL.begin(LLRender::LINE_STRIP);
|
||||
|
||||
F32 spiral_x0 = 0.f;
|
||||
F32 spiral_y0 = 0.f;
|
||||
F32 spiral_x1 = golden_width;
|
||||
F32 spiral_y1 = golden_height;
|
||||
|
||||
for (U32 step = 0; step < max_depth; ++step)
|
||||
{
|
||||
const F32 width = spiral_x1 - spiral_x0;
|
||||
const F32 height = spiral_y1 - spiral_y0;
|
||||
if (width <= 1.f || height <= 1.f)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
F32 size = 0.f;
|
||||
F32 cx = 0.f;
|
||||
F32 cy = 0.f;
|
||||
F32 start_angle = 0.f;
|
||||
F32 end_angle = 0.f;
|
||||
|
||||
switch (step % 4)
|
||||
{
|
||||
case 0: // left square
|
||||
size = height;
|
||||
cx = spiral_x0 + size;
|
||||
cy = spiral_y0 + size;
|
||||
start_angle = F_PI;
|
||||
end_angle = 1.5f * F_PI;
|
||||
spiral_x0 += size;
|
||||
break;
|
||||
case 1: // bottom square
|
||||
size = width;
|
||||
cx = spiral_x0;
|
||||
cy = spiral_y0 + size;
|
||||
start_angle = 1.5f * F_PI;
|
||||
end_angle = 2.f * F_PI;
|
||||
spiral_y0 += size;
|
||||
break;
|
||||
case 2: // right square
|
||||
size = height;
|
||||
cx = spiral_x1 - size;
|
||||
cy = spiral_y0;
|
||||
start_angle = 0.f;
|
||||
end_angle = F_PI_BY_TWO;
|
||||
spiral_x1 -= size;
|
||||
break;
|
||||
case 3: // top square
|
||||
default:
|
||||
size = width;
|
||||
cx = spiral_x0 + size;
|
||||
cy = spiral_y1 - size;
|
||||
start_angle = F_PI_BY_TWO;
|
||||
end_angle = F_PI;
|
||||
spiral_y1 -= size;
|
||||
break;
|
||||
}
|
||||
|
||||
if (size <= 0.f)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
const S32 segments = llclamp((S32)(size / 4.f), 12, 64);
|
||||
for (S32 i = 0; i <= segments; ++i)
|
||||
{
|
||||
const F32 t = start_angle + (end_angle - start_angle) * (F32)i / (F32)segments;
|
||||
const F32 local_x = cx + cosf(t) * size;
|
||||
const F32 local_y = cy + sinf(t) * size;
|
||||
LLVector2 mapped = map_point(local_x, local_y);
|
||||
gGL.vertex2f(mapped.mV[0], mapped.mV[1]);
|
||||
}
|
||||
}
|
||||
|
||||
gGL.end();
|
||||
};
|
||||
|
||||
gGL.flush();
|
||||
const F32 line_width = llmax(thickness, 1.f);
|
||||
gGL.setLineWidth(line_width);
|
||||
draw_golden_spiral(12);
|
||||
gGL.setLineWidth(1.f);
|
||||
|
||||
if (!line_segments.empty())
|
||||
{
|
||||
gGL.flush();
|
||||
gGL.setLineWidth(line_width);
|
||||
gGL.begin(LLRender::LINES);
|
||||
for (const auto& segment : line_segments)
|
||||
{
|
||||
gGL.vertex2f(segment.first.mV[VX], segment.first.mV[VY]);
|
||||
gGL.vertex2f(segment.second.mV[VX], segment.second.mV[VY]);
|
||||
}
|
||||
gGL.end();
|
||||
gGL.setLineWidth(1.f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SnapshotGuideState::Style::Diagonal:
|
||||
{
|
||||
const F32 line_width = llmax(thickness, 1.f);
|
||||
gGL.flush();
|
||||
gGL.setLineWidth(line_width);
|
||||
gGL.begin(LLRender::LINES);
|
||||
gGL.vertex2f(left_px, bottom_px);
|
||||
gGL.vertex2f(right_px, top_px);
|
||||
gGL.vertex2f(left_px, top_px);
|
||||
gGL.vertex2f(right_px, bottom_px);
|
||||
gGL.end();
|
||||
gGL.setLineWidth(1.f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
gGL.popMatrix();
|
||||
gGL.matrixMode(LLRender::MM_PROJECTION);
|
||||
gGL.popMatrix();
|
||||
gGLLastMatrix = nullptr;
|
||||
|
||||
ui_shader->unbind();
|
||||
|
||||
mSnapshotGuideState.active = false;
|
||||
}
|
||||
// </FS:Beq>
|
||||
|
||||
// <FS:Beq> FIRE-32023 Focus Point Rendering
|
||||
void LLPipeline::renderFocusPoint()
|
||||
{
|
||||
|
||||
static LLCachedControl<bool> render_focus_point_crosshair(gSavedSettings, "FSFocusPointRender", false);
|
||||
if ( sDoFEnabled && render_focus_point_crosshair && gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
|
||||
if (sDoFEnabled && render_focus_point_crosshair && gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
|
||||
{
|
||||
gDebugProgram.bind();
|
||||
LLVector3 focus_point = sLastFocusPoint;
|
||||
F32 size = 0.02f;
|
||||
LLGLDepthTest gls_depth(GL_FALSE);
|
||||
LLGLDepthTest gls_depth(GL_FALSE);
|
||||
gGL.pushMatrix();
|
||||
gGL.translatef(focus_point.mV[VX], focus_point.mV[VY], focus_point.mV[VZ]);
|
||||
|
||||
|
|
@ -4571,23 +4919,24 @@ void LLPipeline::renderFocusPoint()
|
|||
}
|
||||
gGL.vertex3f(-size, 0.0f, 0.0f);
|
||||
gGL.vertex3f(size, 0.0f, 0.0f);
|
||||
|
||||
|
||||
// Y-axis (Green)
|
||||
gGL.vertex3f(0.0f, -size, 0.0f);
|
||||
gGL.vertex3f(0.0f, size, 0.0f);
|
||||
|
||||
|
||||
// Z-axis (Blue)
|
||||
gGL.vertex3f(0.0f, 0.0f, -size);
|
||||
gGL.vertex3f(0.0f, 0.0f, size);
|
||||
|
||||
gGL.end();
|
||||
|
||||
|
||||
gGL.popMatrix();
|
||||
gGL.flush();
|
||||
gDebugProgram.unbind();
|
||||
}
|
||||
}
|
||||
}
|
||||
// </FS:Beq>
|
||||
|
||||
void LLPipeline::renderPhysicsDisplay()
|
||||
{
|
||||
if (!hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PHYSICS_SHAPES))
|
||||
|
|
@ -4598,9 +4947,9 @@ void LLPipeline::renderPhysicsDisplay()
|
|||
gGL.flush();
|
||||
gDebugProgram.bind();
|
||||
|
||||
LLGLEnable(GL_POLYGON_OFFSET_LINE);
|
||||
LLGLEnable ploygon_offset_line(GL_POLYGON_OFFSET_LINE);
|
||||
glPolygonOffset(3.f, 3.f);
|
||||
glLineWidth(3.f);
|
||||
gGL.setLineWidth(3.f);
|
||||
LLGLEnable blend(GL_BLEND);
|
||||
gGL.setSceneBlendType(LLRender::BT_ALPHA);
|
||||
|
||||
|
|
@ -4642,7 +4991,7 @@ void LLPipeline::renderPhysicsDisplay()
|
|||
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
|
||||
}
|
||||
}
|
||||
glLineWidth(1.f);
|
||||
gGL.setLineWidth(1.f);
|
||||
gDebugProgram.unbind();
|
||||
|
||||
}
|
||||
|
|
@ -8125,6 +8474,9 @@ bool LLPipeline::renderSnapshotFrame(LLRenderTarget* src, LLRenderTarget* dst)
|
|||
static LLCachedControl<bool> show_frame(gSavedSettings, "FSSnapshotShowCaptureFrame", false);
|
||||
static LLCachedControl<bool> show_guides(gSavedSettings, "FSSnapshotShowGuides", false);
|
||||
|
||||
mSnapshotGuideState.active = false;
|
||||
mSnapshotGuideState.show_guides = false;
|
||||
|
||||
float left = 0.f;
|
||||
float top = 0.f;
|
||||
float right = 1.f;
|
||||
|
|
@ -8135,12 +8487,41 @@ bool LLPipeline::renderSnapshotFrame(LLRenderTarget* src, LLRenderTarget* dst)
|
|||
static LLCachedControl<LLColor3> guide_color(gSavedSettings, "FSSnapshotFrameGuideColor", LLColor3(1.f, 1.f, 0.f));
|
||||
static LLCachedControl<F32> border_thickness(gSavedSettings, "FSSnapshotFrameBorderWidth", 2.0f);
|
||||
static LLCachedControl<F32> guide_thickness(gSavedSettings, "FSSnapshotFrameGuideWidth", 2.0f);
|
||||
static LLCachedControl<F32> guide_visibility(gSavedSettings, "FSSnapshotGuideVisibility", 0.5f);
|
||||
static LLCachedControl<std::string> guide_style_setting(gSavedSettings, "FSSnapshotGuideStyle", std::string("rule_of_thirds"));
|
||||
|
||||
F32 guide_style = 1.f; // 0:off, 1:rule_of_thirds, others maybe in the future
|
||||
if (!show_guides)
|
||||
SnapshotGuideState::Style guide_style = SnapshotGuideState::Style::RuleOfThirds;
|
||||
SnapshotGuideState::GoldenOrientation golden_orientation = SnapshotGuideState::GoldenOrientation::TopLeft;
|
||||
const std::string style_value = guide_style_setting();
|
||||
if (style_value == "golden_ratio" || style_value == "golden_ratio_top_left")
|
||||
{
|
||||
guide_style = 0.f;
|
||||
guide_style = SnapshotGuideState::Style::GoldenRatio;
|
||||
golden_orientation = SnapshotGuideState::GoldenOrientation::TopLeft;
|
||||
}
|
||||
else if (style_value == "golden_ratio_top_right")
|
||||
{
|
||||
guide_style = SnapshotGuideState::Style::GoldenRatio;
|
||||
golden_orientation = SnapshotGuideState::GoldenOrientation::TopRight;
|
||||
}
|
||||
else if (style_value == "golden_ratio_bottom_left")
|
||||
{
|
||||
guide_style = SnapshotGuideState::Style::GoldenRatio;
|
||||
golden_orientation = SnapshotGuideState::GoldenOrientation::BottomLeft;
|
||||
}
|
||||
else if (style_value == "golden_ratio_bottom_right")
|
||||
{
|
||||
guide_style = SnapshotGuideState::Style::GoldenRatio;
|
||||
golden_orientation = SnapshotGuideState::GoldenOrientation::BottomRight;
|
||||
}
|
||||
else if (style_value == "diagonal")
|
||||
{
|
||||
guide_style = SnapshotGuideState::Style::Diagonal;
|
||||
}
|
||||
else
|
||||
{
|
||||
guide_style = SnapshotGuideState::Style::RuleOfThirds;
|
||||
}
|
||||
const F32 guide_visibility_value = show_guides ? (F32)guide_visibility : 0.f;
|
||||
const bool simple_snapshot_visible = LLFloaterReg::instanceVisible("simple_snapshot");
|
||||
const bool flickr_snapshot_visible = LLFloaterReg::instanceVisible("flickr");
|
||||
const bool primfeed_snapshot_visible = LLFloaterReg::instanceVisible("primfeed"); // <FS:Beq/> Primfeed integration
|
||||
|
|
@ -8254,17 +8635,7 @@ bool LLPipeline::renderSnapshotFrame(LLRenderTarget* src, LLRenderTarget* dst)
|
|||
LLShaderMgr::SNAPSHOT_BORDER_THICKNESS,
|
||||
(GLfloat)border_thickness);
|
||||
|
||||
shader->uniform3fv(
|
||||
LLShaderMgr::SNAPSHOT_GUIDE_COLOR,
|
||||
1,
|
||||
guide_color().mV);
|
||||
|
||||
shader->uniform1f(
|
||||
LLShaderMgr::SNAPSHOT_GUIDE_THICKNESS,
|
||||
(GLfloat)guide_thickness);
|
||||
shader->uniform1f(
|
||||
LLShaderMgr::SNAPSHOT_GUIDE_STYLE,
|
||||
(GLfloat)guide_style);
|
||||
// Guides are rendered in a later UI pass; no additional uniforms required here.
|
||||
|
||||
mScreenTriangleVB->setBuffer();
|
||||
mScreenTriangleVB->drawArrays(LLRender::TRIANGLES, 0, 3);
|
||||
|
|
@ -8273,6 +8644,22 @@ bool LLPipeline::renderSnapshotFrame(LLRenderTarget* src, LLRenderTarget* dst)
|
|||
shader->disableTexture(LLShaderMgr::DEFERRED_DIFFUSE, src->getUsage());
|
||||
shader->unbind();
|
||||
dst->flush();
|
||||
|
||||
if (show_frame && show_guides && gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
|
||||
{
|
||||
mSnapshotGuideState.active = true;
|
||||
mSnapshotGuideState.show_guides = true;
|
||||
mSnapshotGuideState.left = left;
|
||||
mSnapshotGuideState.right = right;
|
||||
mSnapshotGuideState.bottom = bottom;
|
||||
mSnapshotGuideState.top = top;
|
||||
mSnapshotGuideState.color = guide_color();
|
||||
mSnapshotGuideState.thickness = guide_thickness();
|
||||
mSnapshotGuideState.visibility = llclamp(guide_visibility_value, 0.f, 1.f);
|
||||
mSnapshotGuideState.style = guide_style;
|
||||
mSnapshotGuideState.golden_orientation = golden_orientation;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
// </FS:Beq>
|
||||
|
|
@ -8663,7 +9050,8 @@ void LLPipeline::renderFinalize()
|
|||
gDeferredPostNoDoFNoiseProgram.unbind();
|
||||
|
||||
gGL.setSceneBlendType(LLRender::BT_ALPHA);
|
||||
|
||||
|
||||
renderSnapshotGuidesOverlay(); // <FS:Beq/> Render snapshot guides as part of UI
|
||||
renderFocusPoint(); // <FS:Beq/> FIRE-32023 render focus point
|
||||
|
||||
if (hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PHYSICS_SHAPES))
|
||||
|
|
|
|||
|
|
@ -354,6 +354,7 @@ public:
|
|||
void renderHighlights();
|
||||
bool renderVignette(LLRenderTarget* src, LLRenderTarget* dst);
|
||||
bool renderSnapshotFrame(LLRenderTarget* src, LLRenderTarget* dst); // <FS:Beq/> Add snapshot frame rendering
|
||||
void renderSnapshotGuidesOverlay(); // <FS:Beq/> Add snapshot composition guide rendering
|
||||
void renderDebug();
|
||||
void renderPhysicsDisplay();
|
||||
|
||||
|
|
@ -1024,6 +1025,39 @@ protected:
|
|||
U32 mLightMask;
|
||||
U32 mLightMovingMask;
|
||||
|
||||
// <FS:Beq> Add snapshot guides as part of UI rendering to avoid issues in compositor
|
||||
struct SnapshotGuideState
|
||||
{
|
||||
enum class Style : U8
|
||||
{
|
||||
RuleOfThirds,
|
||||
GoldenRatio,
|
||||
Diagonal
|
||||
};
|
||||
|
||||
enum class GoldenOrientation : U8
|
||||
{
|
||||
TopLeft,
|
||||
TopRight,
|
||||
BottomLeft,
|
||||
BottomRight
|
||||
};
|
||||
|
||||
bool active = false;
|
||||
bool show_guides = false;
|
||||
F32 left = 0.f;
|
||||
F32 right = 1.f;
|
||||
F32 bottom = 0.f;
|
||||
F32 top = 1.f;
|
||||
LLColor3 color = LLColor3(1.f, 1.f, 1.f);
|
||||
F32 thickness = 0.f;
|
||||
F32 visibility = 0.f;
|
||||
Style style = Style::RuleOfThirds;
|
||||
GoldenOrientation golden_orientation = GoldenOrientation::TopLeft;
|
||||
};
|
||||
|
||||
SnapshotGuideState mSnapshotGuideState;
|
||||
// </FS:Beq>
|
||||
static bool sRenderPhysicalBeacons;
|
||||
static bool sRenderMOAPBeacons;
|
||||
static bool sRenderScriptedTouchBeacons;
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
<menu_item_call label="Yaxınlaşdır" name="zoom_in"/>
|
||||
<menu_item_call label="Qrupa dəvət et" name="GroupInvite"/>
|
||||
<menu_item_call label="Skriptlər haqqında məlumat" name="ScriptInfo"/>
|
||||
<menu_item_call label="Söhbət tarixi..." name="chat_history" />
|
||||
<menu_item_check label="Blokla/Blokdan çıxart" name="Block/Unblock"/>
|
||||
<menu_item_call label="Şikayət" name="report"/>
|
||||
<menu_item_call label="Dondur" name="freeze"/>
|
||||
|
|
|
|||
|
|
@ -60,7 +60,8 @@
|
|||
<combo_box.item label="Tiefe (24 Bit)" name="Depth24"/>
|
||||
</combo_box>
|
||||
<check_box label="Aufnahmerahmen anzeigen" name="show_frame" tool_tip="Zeigt einen Rahmen um den Bereich der Aufnahme an. Teile der Szene, die außerhalb des Aufnahmebereichs liegen, werden entsättigt und leicht verschwommen dargestellt."/>
|
||||
<check_box label="Aufnahme-Guide anzeigen" name="show_guides" tool_tip="Zeigt Aufnahme-Guide (Drittel-Regel) innerhalb des Aufnahmebereichs an."/>
|
||||
<check_box label="Rahmen-Guide anzeigen" name="show_guides" tool_tip="Zeigt Aufnahme-Guide (Drittel-Regel) innerhalb des Aufnahmebereichs an."/>
|
||||
<button tool_tip="Einstellungen für Aufnahmerahmen öffnen" name="guide_settings_btn" width="20" left_pad="9"/>
|
||||
<check_box label="Benutzeroberfläche" name="ui_check"/>
|
||||
<check_box label="L$-Kontostand" name="currency_check"/>
|
||||
<check_box label="HUDs" name="hud_check"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<floater name="snapshot_guide_settings" title="Einstellungen Aufnahmerahmen">
|
||||
<text name="color_and_appearance_label">
|
||||
Rahmen Farbe und Aussehen
|
||||
</text>
|
||||
<spinner label="Dicke (px)" name="guide_thickness"/>
|
||||
<slider label="Deckkraft" name="guide_opacity"/>
|
||||
<text name="style_label">
|
||||
Rahmen Stil
|
||||
</text>
|
||||
<combo_box name="guide_style_combo" tool_tip="Aufnahmerahmen auswählen">
|
||||
<combo_box.item name="rule_of_thirds" label="Drittel-Regel"/>
|
||||
<combo_box.item name="golden_ratio_top_left" label="Goldener Schnitt (Oben-Links)"/>
|
||||
<combo_box.item name="golden_ratio_top_right" label="Goldener Schnitt (Oben-Rechts)"/>
|
||||
<combo_box.item name="golden_ratio_bottom_left" label="Goldener Schnitt (Unten-Links)"/>
|
||||
<combo_box.item name="golden_ratio_bottom_right" label="Goldener Schnitt (Unten-Rechts)"/>
|
||||
<combo_box.item name="diagonal" label="Diagonal"/>
|
||||
</combo_box>
|
||||
</floater>
|
||||
|
|
@ -25,6 +25,7 @@
|
|||
<menu_item_call label="Heranzoomen" name="zoom_in"/>
|
||||
<menu_item_call label="Gruppeneinladung schicken" name="GroupInvite"/>
|
||||
<menu_item_call label="Skript-Info anzeigen" name="ScriptInfo"/>
|
||||
<menu_item_call label="Chatverlauf..." name="chat_history"/>
|
||||
<menu_item_check label="Ignorieren/Freischalten" name="Block/Unblock"/>
|
||||
<menu_item_call label="Missbrauch melden" name="report"/>
|
||||
<menu_item_call label="Einfrieren" name="freeze"/>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,11 @@
|
|||
<text name="working_lbl">
|
||||
Aktualisiere...
|
||||
</text>
|
||||
<panel name="options_panel">
|
||||
<check_box label="Aufnahmerahmen anzeigen" name="show_frame" tool_tip="Zeigt einen Rahmen um den Bereich der Aufnahme an. Teile der Szene, die außerhalb des Aufnahmebereichs liegen, werden entsättigt und leicht verschwommen dargestellt."/>
|
||||
<check_box label="Rahmen-Guide anzeigen" name="show_guides" tool_tip="Zeigt Aufnahme-Guide (Drittel-Regel) innerhalb des Aufnahmebereichs an."/>
|
||||
<button tool_tip="Einstellungen für Aufnahmerahmen öffnen" name="guide_settings_btn"/>
|
||||
</panel>
|
||||
<check_box label="Rahmen anzeigen" name="show_frame" tool_tip="Zeigt einen Rahmen um den Bereich der Aufnahme an. Teile der Szene, die außerhalb des Aufnahmebereichs liegen, werden entsättigt und leicht verschwommen dargestellt."/>
|
||||
<check_box label="Guide anzeigen" name="show_guides" tool_tip="Zeigt Aufnahme-Guide (Drittel-Regel) innerhalb des Aufnahmebereichs an."/>
|
||||
<button label="Aktualisieren" name="new_snapshot_btn" tool_tip="Zum Aktualisieren klicken"/>
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
<check_box label="Avataren des Rückwärtsgehen in der lokalen Ansicht erlauben (SL-Standard)" name="FSDisableTurningAroundWhenWalkingBackwards" tool_tip="Falls aktiviert, gehen Avatare auf dem eigenen Bildschirm beim Rückwärtsgehen rückwärts, anstatt sich umzudrehen und anschließend vorwärts zu gehen. Diese Option hat nur lokalen Effekt und hat keinen Einfluss auf was andere sehen. Dies ist die Standardeinstellung im Second Life Viewer und kann u.U. durch den AO des Avatars übersteuert werden."/>
|
||||
<check_box label="Avatar zum ausgewählten Objekt drehen" name="FSTurnAvatarToSelectedObject" tool_tip="Dreht den Avatar mit dem Gesicht zum aktuell ausgewählten Objekt."/>
|
||||
<slider label_width="180" label="Avatar-Rotationsgeschwindigkeit:" name="av_turn_spd" tool_tip="Veränderte die Rate, mit der der Avatar sich dreht. 0 - 100 als geschätzte Prozent der maximalen Rotationsrate (Standard: 0). Hohe Werte führen zu zackigen und ruckartigen Bewegungen." width="305" />
|
||||
<check_box label="Verbindung zu Nachbarregionen deaktivieren (Achtung: Tooltip lesen!)" name="FSDisableNeighbourRegionConnections" tool_tip="Zeigt/lädt nur die Region, in der Sie sich befinden. Dies kann die Performance und Netzwerkstabilität verbessern, jedoch sind Regionswechsel zu Fuß oder in Fahrzeugen weniger verlässlich und es kann ein manueller Teleport notwendig sein." />
|
||||
<text name="Region_Crossing_Movement_Label" width="245">
|
||||
Bewegungsvorhersage beim Regionswechsel:
|
||||
</text>
|
||||
|
|
|
|||
|
|
@ -11,8 +11,11 @@
|
|||
<text name="working_lbl">
|
||||
Aktualisiere...
|
||||
</text>
|
||||
<check_box label="Rahmen anzeigen" name="show_frame" tool_tip="Zeigt einen Rahmen um den Bereich der Aufnahme an. Teile der Szene, die außerhalb des Aufnahmebereichs liegen, werden entsättigt und leicht verschwommen dargestellt."/>
|
||||
<check_box label="Guide anzeigen" name="show_guides" tool_tip="Zeigt Aufnahme-Guide (Drittel-Regel) innerhalb des Aufnahmebereichs an."/>
|
||||
<panel name="snapshot_frame_panel">
|
||||
<check_box label="Aufnahmerahmen anzeigen" name="show_frame" tool_tip="Zeigt einen Rahmen um den Bereich der Aufnahme an. Teile der Szene, die außerhalb des Aufnahmebereichs liegen, werden entsättigt und leicht verschwommen dargestellt."/>
|
||||
<check_box label="Rahmen-Guide anzeigen" name="show_guides" tool_tip="Zeigt Aufnahme-Guide (Drittel-Regel) innerhalb des Aufnahmebereichs an."/>
|
||||
<button tool_tip="Einstellungen für Aufnahmerahmen öffnen" name="guide_settings_btn"/>
|
||||
</panel>
|
||||
<button label="Aktualisieren" name="new_snapshot_btn" tool_tip="Zum Aktualisieren klicken"/>
|
||||
<button label="Vorschau" name="big_preview_btn" tool_tip="Klicken, um Vorschau ein-/auszuschalten"/>
|
||||
<text name="store_label">
|
||||
|
|
@ -22,16 +25,20 @@
|
|||
<text name="description_label">
|
||||
Beschreibung:
|
||||
</text>
|
||||
<check_box initial_value="true" label="Standort der Beschreibung hinzufügen" name="add_location_cb"/>
|
||||
<check_box label="Zur öffentl. Galerie hinzufügen" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="Kommerzieller Inhalt" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Primfeed-Inhaltseinstufung">
|
||||
<combo_box.item label="Generell" name="GeneralRating"/>
|
||||
<combo_box.item label="Moderat" name="ModerateRating"/>
|
||||
<combo_box.item label="Adult" name="AdultRating"/>
|
||||
<combo_box.item label="Adult+" name="AdultPlusRating"/>
|
||||
</combo_box>
|
||||
<check_box label="Nach posten in Browser öffnen" tool_tip="Öffnet den Primfeed-Post automatisch im Browser." name="primfeed_open_url_on_post"/>
|
||||
<button label="Teilen" name="post_photo_btn"/>
|
||||
<button label="Abbrechen" name="cancel_photo_btn"/>
|
||||
<panel name="options_panel">
|
||||
<check_box initial_value="true" label="Standort der Beschreibung hinzufügen" name="add_location_cb"/>
|
||||
<check_box label="Zur öffentl. Galerie hinzufügen" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="Kommerzieller Inhalt" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Primfeed-Inhaltseinstufung">
|
||||
<combo_box.item label="Generell" name="GeneralRating"/>
|
||||
<combo_box.item label="Moderat" name="ModerateRating"/>
|
||||
<combo_box.item label="Adult" name="AdultRating"/>
|
||||
<combo_box.item label="Adult+" name="AdultPlusRating"/>
|
||||
</combo_box>
|
||||
</panel>
|
||||
<panel name="share_options_panel">
|
||||
<check_box label="Nach posten in Browser öffnen" tool_tip="Öffnet den Primfeed-Post automatisch im Browser." name="primfeed_open_url_on_post"/>
|
||||
<button label="Teilen" name="post_photo_btn"/>
|
||||
<button label="Abbrechen" name="cancel_photo_btn"/>
|
||||
</panel>
|
||||
</panel>
|
||||
|
|
@ -10,10 +10,10 @@
|
|||
single_instance="true"
|
||||
reuse_instance="true"
|
||||
title="Share to Primfeed"
|
||||
height="638"
|
||||
height="650"
|
||||
width="272">
|
||||
<panel
|
||||
height="638"
|
||||
height="650"
|
||||
width="272"
|
||||
visible="true"
|
||||
name="background"
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
tab_height="21"
|
||||
tab_position="top"
|
||||
top="7"
|
||||
height="605"
|
||||
height="625"
|
||||
follows="all"
|
||||
halign="center">
|
||||
<panel
|
||||
|
|
|
|||
|
|
@ -219,14 +219,27 @@
|
|||
layout="topleft"
|
||||
left="30"
|
||||
top_pad="7"
|
||||
width="180"
|
||||
width="150"
|
||||
name="show_guides" />
|
||||
<button
|
||||
enabled_control="FSSnapshotShowCaptureFrame"
|
||||
layout="topleft"
|
||||
left_pad="5"
|
||||
top_delta="-20"
|
||||
width="24"
|
||||
height="24"
|
||||
label="#"
|
||||
font="SansSerifLarge"
|
||||
tool_tip="Open frame guide settings"
|
||||
name="guide_settings_btn">
|
||||
<button.commit_callback function="Floater.Show" parameter="snapshot_guide_settings" />
|
||||
</button>
|
||||
<check_box
|
||||
label="Freeze frame (fullscreen)"
|
||||
layout="topleft"
|
||||
height="16"
|
||||
left="10"
|
||||
top_pad="1"
|
||||
top_pad="9"
|
||||
width="180"
|
||||
name="freeze_frame_check" />
|
||||
<check_box
|
||||
|
|
|
|||
|
|
@ -0,0 +1,106 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<floater
|
||||
name="snapshot_guide_settings"
|
||||
title="Frame Guide Settings"
|
||||
can_dock="false"
|
||||
can_resize="false"
|
||||
width="250"
|
||||
height="120"
|
||||
min_height="140"
|
||||
min_width="280"
|
||||
layout="topleft">
|
||||
<text
|
||||
name="color_and_appearance_label"
|
||||
top="5"
|
||||
left="10"
|
||||
layout="topleft"
|
||||
follows="top|left"
|
||||
height="16">
|
||||
Guide Color and Appearance
|
||||
</text>
|
||||
<color_swatch
|
||||
enabled_control="FSSnapshotShowGuides"
|
||||
control_name="FSSnapshotFrameGuideColor"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="0"
|
||||
width="40"
|
||||
height="65"
|
||||
can_apply_immediately="true"
|
||||
name="guide_color"
|
||||
follows="left|top"
|
||||
label="" />
|
||||
<spinner
|
||||
enabled_control="FSSnapshotShowGuides"
|
||||
control_name="FSSnapshotFrameGuideWidth"
|
||||
layout="topleft"
|
||||
left_pad="10"
|
||||
top_delta="0"
|
||||
width="160"
|
||||
label_width="120"
|
||||
height="20"
|
||||
decimal_digits="1"
|
||||
increment="0.1"
|
||||
min_val="0.0"
|
||||
max_val="20.0"
|
||||
label="Thickness (px)"
|
||||
name="guide_thickness" />
|
||||
<slider
|
||||
enabled_control="FSSnapshotShowGuides"
|
||||
control_name="FSSnapshotGuideVisibility"
|
||||
label="Opacity"
|
||||
layout="topleft"
|
||||
left_pad="-160"
|
||||
top_pad="8"
|
||||
width="160"
|
||||
height="18"
|
||||
initial_value="0.5"
|
||||
min_val="0.0"
|
||||
max_val="1.0"
|
||||
decimal_digits="2"
|
||||
name="guide_opacity" />
|
||||
<text
|
||||
name="style_label"
|
||||
layout="topleft"
|
||||
follows="top|left"
|
||||
left="10"
|
||||
height="16">
|
||||
Guide Style
|
||||
</text>
|
||||
<combo_box
|
||||
enabled_control="FSSnapshotShowGuides"
|
||||
control_name="FSSnapshotGuideStyle"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="4"
|
||||
width="180"
|
||||
height="23"
|
||||
name="guide_style_combo"
|
||||
tool_tip="Choose which framing guide to display">
|
||||
<combo_box.item
|
||||
name="rule_of_thirds"
|
||||
label="Rule of Thirds"
|
||||
value="rule_of_thirds" />
|
||||
<combo_box.item
|
||||
name="golden_ratio_top_left"
|
||||
label="Golden Ratio (Top Left)"
|
||||
value="golden_ratio_top_left" />
|
||||
<combo_box.item
|
||||
name="golden_ratio_top_right"
|
||||
label="Golden Ratio (Top Right)"
|
||||
value="golden_ratio_top_right" />
|
||||
<combo_box.item
|
||||
name="golden_ratio_bottom_left"
|
||||
label="Golden Ratio (Bottom Left)"
|
||||
value="golden_ratio_bottom_left" />
|
||||
<combo_box.item
|
||||
name="golden_ratio_bottom_right"
|
||||
label="Golden Ratio (Bottom Right)"
|
||||
value="golden_ratio_bottom_right" />
|
||||
<combo_box.item
|
||||
name="diagonal"
|
||||
label="Diagonal"
|
||||
value="diagonal" />
|
||||
</combo_box>
|
||||
|
||||
</floater>
|
||||
|
|
@ -187,6 +187,16 @@
|
|||
<menu_item_call.on_enable
|
||||
function="EnableBridgeFunction" />
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="View chat transcripts..."
|
||||
layout="topleft"
|
||||
name="chat_history">
|
||||
<menu_item_call.on_click
|
||||
function="Avatar.Calllog" />
|
||||
<menu_item_call.on_enable
|
||||
function="Avatar.EnableItem"
|
||||
parameter="can_callog"/>
|
||||
</menu_item_call>
|
||||
|
||||
<menu_item_separator />
|
||||
|
||||
|
|
|
|||
|
|
@ -136,24 +136,49 @@
|
|||
width="251">
|
||||
Refreshing...
|
||||
</text>
|
||||
<check_box
|
||||
control_name="FSSnapshotShowCaptureFrame"
|
||||
label="Show capture frame"
|
||||
tool_tip="Show a frame on-screen that surrounds the areas of the snapshot. Parts of the scene that are outside of the snapshot will be de-saturated and slightly blurred."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="7"
|
||||
width="124"
|
||||
name="show_frame" />
|
||||
<check_box
|
||||
enabled_control="FSSnapshotShowCaptureFrame"
|
||||
control_name="FSSnapshotShowGuides"
|
||||
label="Framing guide"
|
||||
tool_tip="Show framing guide (rule of thirds) inside the snapshot frame."
|
||||
layout="topleft"
|
||||
left_pad="10"
|
||||
width="60"
|
||||
name="show_guides" />
|
||||
<panel
|
||||
height="38"
|
||||
width="250"
|
||||
visible="true"
|
||||
name="options_panel"
|
||||
top_pad="3"
|
||||
follows="left|top|right"
|
||||
layout="topleft"
|
||||
right="-10"
|
||||
left="10">
|
||||
<check_box
|
||||
control_name="FSSnapshotShowCaptureFrame"
|
||||
label="Show Snapshot Frame"
|
||||
tool_tip="Show a frame on-screen that surrounds the areas of the snapshot. Parts of the scene that are outside of the snapshot will be de-saturated and slightly blurred."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="8"
|
||||
width="110"
|
||||
name="show_frame" />
|
||||
<check_box
|
||||
top_pad="8"
|
||||
enabled_control="FSSnapshotShowCaptureFrame"
|
||||
control_name="FSSnapshotShowGuides"
|
||||
label="Show Composition Guide"
|
||||
tool_tip="Show composition helper inside the snapshot frame."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
width="110"
|
||||
name="show_guides" />
|
||||
<button
|
||||
enabled_control="FSSnapshotShowCaptureFrame"
|
||||
layout="topleft"
|
||||
left="226"
|
||||
top_delta="-20"
|
||||
width="25"
|
||||
height="25"
|
||||
label="#"
|
||||
font="SansSerifLarge"
|
||||
tool_tip="Open frame guide settings"
|
||||
name="guide_settings_btn">
|
||||
<button.commit_callback function="Floater.Show" parameter="snapshot_guide_settings" />
|
||||
</button>
|
||||
</panel>
|
||||
<view_border
|
||||
bevel_style="in"
|
||||
follows="left|top"
|
||||
|
|
@ -269,7 +294,7 @@
|
|||
<text_editor
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
height="70"
|
||||
height="35"
|
||||
width="249"
|
||||
left="10"
|
||||
length="1"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<panel
|
||||
height="590"
|
||||
height="610"
|
||||
width="272"
|
||||
follows="all"
|
||||
layout="topleft"
|
||||
|
|
@ -137,33 +137,59 @@
|
|||
width="251">
|
||||
Refreshing...
|
||||
</text>
|
||||
<check_box
|
||||
control_name="FSSnapshotShowCaptureFrame"
|
||||
label="Show capture frame"
|
||||
tool_tip="Show a frame on-screen that surrounds the areas of the snapshot. Parts of the scene that are outside of the snapshot will be de-saturated and slightly blurred."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="7"
|
||||
width="124"
|
||||
name="show_frame" />
|
||||
<check_box
|
||||
enabled_control="FSSnapshotShowCaptureFrame"
|
||||
control_name="FSSnapshotShowGuides"
|
||||
label="Framing guide"
|
||||
tool_tip="Show framing guide (rule of thirds) inside the snapshot frame."
|
||||
layout="topleft"
|
||||
left_pad="10"
|
||||
width="60"
|
||||
name="show_guides" />
|
||||
<view_border
|
||||
bevel_style="in"
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
height="1"
|
||||
left="10"
|
||||
name="refresh_border"
|
||||
width="250"
|
||||
top_pad="0" />
|
||||
<panel
|
||||
height="25"
|
||||
width="250"
|
||||
visible="true"
|
||||
name="snapshot_frame_panel"
|
||||
top_pad="3"
|
||||
follows="left|top|right"
|
||||
layout="topleft"
|
||||
right="-10"
|
||||
left="10"
|
||||
>
|
||||
<check_box
|
||||
control_name="FSSnapshotShowCaptureFrame"
|
||||
label="Show Snapshot Frame"
|
||||
tool_tip="Show a frame on-screen that surrounds the areas of the snapshot. Parts of the scene that are outside of the snapshot will be de-saturated and slightly blurred."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
top_pad="8"
|
||||
width="110"
|
||||
name="show_frame" />
|
||||
<check_box
|
||||
top_pad="8"
|
||||
enabled_control="FSSnapshotShowCaptureFrame"
|
||||
control_name="FSSnapshotShowGuides"
|
||||
label="Show Composition Guide"
|
||||
tool_tip="Show composition helper inside the snapshot frame."
|
||||
layout="topleft"
|
||||
left="10"
|
||||
width="110"
|
||||
name="show_guides" />
|
||||
<button
|
||||
enabled_control="FSSnapshotShowCaptureFrame"
|
||||
layout="topleft"
|
||||
left="226"
|
||||
top_delta="-20"
|
||||
width="25"
|
||||
height="25"
|
||||
label="#"
|
||||
font="SansSerifLarge"
|
||||
tool_tip="Open frame guide settings"
|
||||
name="guide_settings_btn">
|
||||
<button.commit_callback function="Floater.Show" parameter="snapshot_guide_settings" />
|
||||
</button>
|
||||
</panel>
|
||||
<view_border
|
||||
bevel_style="in"
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
height="1"
|
||||
left="10"
|
||||
name="refresh_border"
|
||||
width="250"
|
||||
top_pad="14" />
|
||||
<button
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
|
|
@ -242,133 +268,155 @@
|
|||
type="string"
|
||||
word_wrap="true">
|
||||
</text_editor>
|
||||
<check_box
|
||||
follows="left|top"
|
||||
<panel
|
||||
height="90"
|
||||
width="250"
|
||||
visible="true"
|
||||
name="options_panel"
|
||||
top_pad="0"
|
||||
follows="left|top|right"
|
||||
layout="topleft"
|
||||
initial_value="false"
|
||||
label="Include location"
|
||||
name="add_location_cb"
|
||||
left="9"
|
||||
height="16"
|
||||
top_pad="8" />
|
||||
<check_box
|
||||
control_name="FSPrimfeedAddToPublicGallery"
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
initial_value="false"
|
||||
label="Add to public gallery"
|
||||
name="primfeed_add_to_public_gallery"
|
||||
left="9"
|
||||
height="16"
|
||||
top_pad="8" />
|
||||
<button
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
height="16"
|
||||
image_pressed="Info_Press"
|
||||
image_unselected="Info_Over"
|
||||
name="info_btn_pub_gallery"
|
||||
right="-3"
|
||||
top_delta="-2"
|
||||
width="16"
|
||||
commit_callback.function="Primfeed.Info"
|
||||
commit_callback.parameter="https://docs.primfeed.com/featured-content/public-gallery"
|
||||
/>
|
||||
<check_box
|
||||
enabled_control="FSPrimfeedAddToPublicGallery"
|
||||
control_name="FSPrimfeedCommercialContent"
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
initial_value="false"
|
||||
label="Commercial content"
|
||||
name="primfeed_commercial_content"
|
||||
left="9"
|
||||
height="16"
|
||||
top_pad="8" />
|
||||
<button
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
height="16"
|
||||
image_pressed="Info_Press"
|
||||
image_unselected="Info_Over"
|
||||
right="-3"
|
||||
top_delta="-2"
|
||||
name="info_btn_commercial_content"
|
||||
width="16"
|
||||
commit_callback.function="Primfeed.Info"
|
||||
commit_callback.parameter="https://docs.primfeed.com/legal/terms-of-service#commercial-content"
|
||||
/>
|
||||
<combo_box
|
||||
control_name="FSPrimfeedPhotoRating"
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
top_pad="8"
|
||||
left="10"
|
||||
name="rating_combobox"
|
||||
tool_tip="Primfeed content rating"
|
||||
height="21"
|
||||
width="235">
|
||||
<combo_box.item
|
||||
label="General"
|
||||
name="GeneralRating"
|
||||
value="1" />
|
||||
<combo_box.item
|
||||
label="Moderate"
|
||||
name="ModerateRating"
|
||||
value="2" />
|
||||
<combo_box.item
|
||||
label="Adult"
|
||||
name="AdultRating"
|
||||
value="3" />
|
||||
<combo_box.item
|
||||
label="Adult+"
|
||||
name="AdultPlusRating"
|
||||
value="4" />
|
||||
</combo_box>
|
||||
<button
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
height="16"
|
||||
image_pressed="Info_Press"
|
||||
image_unselected="Info_Over"
|
||||
right="-3"
|
||||
name="info_btn_ratings"
|
||||
top_delta="0"
|
||||
width="16"
|
||||
commit_callback.function="Primfeed.Info"
|
||||
commit_callback.parameter="https://docs.primfeed.com/help-and-faq/maturity-ratings"
|
||||
/>
|
||||
<check_box
|
||||
control_name="FSPrimfeedOpenURLOnPost"
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
initial_value="false"
|
||||
label="Open in browser after posting"
|
||||
tool_tip="Automatically open the Primfeed post in your web browser after posting."
|
||||
name="primfeed_open_url_on_post"
|
||||
left="9"
|
||||
height="16"
|
||||
top_pad="8" />
|
||||
<button
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
top_pad="8"
|
||||
left="10"
|
||||
height="23"
|
||||
label="Share"
|
||||
name="post_photo_btn"
|
||||
width="100">
|
||||
<button.commit_callback function="SocialSharing.SendPhoto" />
|
||||
</button>
|
||||
<button
|
||||
follows="right|top"
|
||||
layout="topleft"
|
||||
height="23"
|
||||
label="Cancel"
|
||||
name="cancel_photo_btn"
|
||||
right="-10"
|
||||
top_delta="0"
|
||||
width="100">
|
||||
<button.commit_callback function="SocialSharing.Cancel" />
|
||||
</button>
|
||||
</panel>
|
||||
left="10">
|
||||
<check_box
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
initial_value="false"
|
||||
label="Include location"
|
||||
name="add_location_cb"
|
||||
left="9"
|
||||
height="16"
|
||||
top_pad="4" />
|
||||
<check_box
|
||||
control_name="FSPrimfeedAddToPublicGallery"
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
initial_value="false"
|
||||
label="Add to public gallery"
|
||||
name="primfeed_add_to_public_gallery"
|
||||
left="9"
|
||||
height="16"
|
||||
top_pad="4" />
|
||||
<button
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
height="16"
|
||||
image_pressed="Info_Press"
|
||||
image_unselected="Info_Over"
|
||||
name="info_btn_pub_gallery"
|
||||
right="-3"
|
||||
top_delta="-2"
|
||||
width="16"
|
||||
commit_callback.function="Primfeed.Info"
|
||||
commit_callback.parameter="https://docs.primfeed.com/featured-content/public-gallery"
|
||||
/>
|
||||
<check_box
|
||||
enabled_control="FSPrimfeedAddToPublicGallery"
|
||||
control_name="FSPrimfeedCommercialContent"
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
initial_value="false"
|
||||
label="Commercial content"
|
||||
name="primfeed_commercial_content"
|
||||
left="9"
|
||||
height="16"
|
||||
top_pad="4" />
|
||||
<button
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
height="16"
|
||||
image_pressed="Info_Press"
|
||||
image_unselected="Info_Over"
|
||||
right="-3"
|
||||
top_delta="-2"
|
||||
name="info_btn_commercial_content"
|
||||
width="16"
|
||||
commit_callback.function="Primfeed.Info"
|
||||
commit_callback.parameter="https://docs.primfeed.com/legal/terms-of-service#commercial-content"
|
||||
/>
|
||||
<combo_box
|
||||
control_name="FSPrimfeedPhotoRating"
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
top_pad="4"
|
||||
left="10"
|
||||
name="rating_combobox"
|
||||
tool_tip="Primfeed content rating"
|
||||
height="21"
|
||||
width="215">
|
||||
<combo_box.item
|
||||
label="General"
|
||||
name="GeneralRating"
|
||||
value="1" />
|
||||
<combo_box.item
|
||||
label="Moderate"
|
||||
name="ModerateRating"
|
||||
value="2" />
|
||||
<combo_box.item
|
||||
label="Adult"
|
||||
name="AdultRating"
|
||||
value="3" />
|
||||
<combo_box.item
|
||||
label="Adult+"
|
||||
name="AdultPlusRating"
|
||||
value="4" />
|
||||
</combo_box>
|
||||
<button
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
height="16"
|
||||
image_pressed="Info_Press"
|
||||
image_unselected="Info_Over"
|
||||
right="-3"
|
||||
name="info_btn_ratings"
|
||||
top_delta="0"
|
||||
width="16"
|
||||
commit_callback.function="Primfeed.Info"
|
||||
commit_callback.parameter="https://docs.primfeed.com/help-and-faq/maturity-ratings"
|
||||
/>
|
||||
</panel>
|
||||
<panel
|
||||
height="50"
|
||||
width="250"
|
||||
visible="true"
|
||||
name="share_options_panel"
|
||||
top_pad="0"
|
||||
follows="left|top|right"
|
||||
layout="topleft"
|
||||
right="-10"
|
||||
left="10">
|
||||
<check_box
|
||||
control_name="FSPrimfeedOpenURLOnPost"
|
||||
follows="top|left"
|
||||
layout="topleft"
|
||||
initial_value="false"
|
||||
label="Open in browser after posting"
|
||||
tool_tip="Automatically open the Primfeed post in your web browser after posting."
|
||||
name="primfeed_open_url_on_post"
|
||||
left="0"
|
||||
height="16"
|
||||
top="0"/>
|
||||
<button
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
top_pad="4"
|
||||
left="0"
|
||||
height="23"
|
||||
label="Share"
|
||||
name="post_photo_btn"
|
||||
width="100">
|
||||
<button.commit_callback function="SocialSharing.SendPhoto" />
|
||||
</button>
|
||||
<button
|
||||
follows="right|top"
|
||||
layout="topleft"
|
||||
height="23"
|
||||
label="Cancel"
|
||||
name="cancel_photo_btn"
|
||||
right="-10"
|
||||
top_delta="0"
|
||||
width="100">
|
||||
<button.commit_callback function="SocialSharing.Cancel" />
|
||||
</button>
|
||||
</panel>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
<menu_item_call label="Enfocar" name="zoom_in"/>
|
||||
<menu_item_call label="Invitar a un grupo" name="GroupInvite"/>
|
||||
<menu_item_call label="Obtener información de scripts" name="ScriptInfo"/>
|
||||
<menu_item_call label="Transcripción del chat..." name="chat_history"/>
|
||||
<menu_item_check label="Bloquear/desbloquear" name="Block/Unblock"/>
|
||||
<menu_item_call label="Reportar" name="report"/>
|
||||
<menu_item_call label="Congelar" name="freeze"/>
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
<menu_item_call label="Zoomer" name="zoom_in"/>
|
||||
<menu_item_call label="Inviter dans un groupe" name="GroupInvite"/>
|
||||
<menu_item_call label="Informations sur les scripts" name="ScriptInfo"/>
|
||||
<menu_item_call label="Historique de conversations" name="chat_history"/>
|
||||
<menu_item_check label="Ignorer / Cesser d'ignorer" name="Block/Unblock"/>
|
||||
<menu_item_call label="Signaler" name="report"/>
|
||||
<menu_item_call label="Geler" name="freeze"/>
|
||||
|
|
|
|||
|
|
@ -7,8 +7,10 @@
|
|||
<combo_box name="filters_combobox" tool_tip="Filtres sur l'image"><combo_box.item label="Aucun filtre" name="NoFilter"/></combo_box>
|
||||
<check_box label="Ratio conservé" name="keep_aspect_ratio"/>
|
||||
<text name="working_lbl">Actualisation...</text>
|
||||
<check_box label="Cadre de la photo" tool_tip="Affiche un cadre à l'écran qui entoure la zones de la photo. Les parties de la scène qui se trouvent en dehors de la photo sont dé-saturées et légèrement floues." name="show_frame"/>
|
||||
<check_box label="Guide de cadrage" tool_tip="Affiche le guide de cadrage (règle des tiers) à l'intérieur du cadre de la photo." name="show_guides"/>
|
||||
<panel name="options_panel">
|
||||
<check_box label="Cadre de la photo" tool_tip="Affiche un cadre à l'écran qui entoure la zones de la photo. Les parties de la scène qui se trouvent en dehors de la photo sont dé-saturées et légèrement floues." name="show_frame"/>
|
||||
<check_box label="Guide de cadrage" tool_tip="Affiche le guide de cadrage (règle des tiers) à l'intérieur du cadre de la photo." name="show_guides"/>
|
||||
</panel>
|
||||
<button label="Actualiser" name="new_snapshot_btn" tool_tip="Cliquez pour actualiser"/>
|
||||
<button label="Prévisualiser" name="big_preview_btn" tool_tip="Cliquez pour obtenir un aperçu"/>
|
||||
<text name="title_label">Titre :</text>
|
||||
|
|
|
|||
|
|
@ -11,8 +11,10 @@
|
|||
<text name="working_lbl">
|
||||
Rafraichissement...
|
||||
</text>
|
||||
<check_box label="Cadre de la photo" tool_tip="Affiche un cadre à l'écran qui entoure la zones de la photo. Les parties de la scène qui se trouvent en dehors de la photo sont dé-saturées et légèrement floues." name="show_frame"/>
|
||||
<check_box label="Guide de cadrage" tool_tip="Affiche le guide de cadrage (règle des tiers) à l'intérieur du cadre de la photo." name="show_guides"/>
|
||||
<panel name="snapshot_frame_panel">
|
||||
<check_box label="Cadre de la photo" tool_tip="Affiche un cadre à l'écran qui entoure la zones de la photo. Les parties de la scène qui se trouvent en dehors de la photo sont dé-saturées et légèrement floues." name="show_frame"/>
|
||||
<check_box label="Guide de cadrage" tool_tip="Affiche le guide de cadrage (règle des tiers) à l'intérieur du cadre de la photo." name="show_guides"/>
|
||||
</panel>
|
||||
<button label="Actualiser" name="new_snapshot_btn" tool_tip="Cliquez pour actualiser"/>
|
||||
<button label="Aperçu" name="big_preview_btn" tool_tip="Cliquez pour afficher l'aperçu"/>
|
||||
<text name="store_label">
|
||||
|
|
@ -22,16 +24,20 @@
|
|||
<text name="description_label">
|
||||
Description :
|
||||
</text>
|
||||
<check_box label="Inclure l'emplacement" name="add_location_cb"/>
|
||||
<check_box label="Ajouter à la galerie publique" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="Contenu commercial" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Classification du contenu de Primfeed">
|
||||
<combo_box.item label="Général" name="GeneralRating"/>
|
||||
<combo_box.item label="Modéré" name="ModerateRating"/>
|
||||
<combo_box.item label="Adulte" name="AdultRating"/>
|
||||
<combo_box.item label="Adulte+" name="AdultPlusRating"/>
|
||||
</combo_box>
|
||||
<check_box label="Ouvrir dans le navigateur après l'envoi" tool_tip="Ouvrir automatiquement le message Primfeed dans votre navigateur web après l'avoir publié." name="primfeed_open_url_on_post"/>
|
||||
<button label="Partager" name="post_photo_btn"/>
|
||||
<button label="Annuler" name="cancel_photo_btn"/>
|
||||
<panel name="options_panel">
|
||||
<check_box label="Inclure l'emplacement" name="add_location_cb"/>
|
||||
<check_box label="Ajouter à la galerie publique" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="Contenu commercial" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Classification du contenu de Primfeed">
|
||||
<combo_box.item label="Général" name="GeneralRating"/>
|
||||
<combo_box.item label="Modéré" name="ModerateRating"/>
|
||||
<combo_box.item label="Adulte" name="AdultRating"/>
|
||||
<combo_box.item label="Adulte+" name="AdultPlusRating"/>
|
||||
</combo_box>
|
||||
</panel>
|
||||
<panel name="share_options_panel">
|
||||
<check_box label="Ouvrir dans le navigateur après l'envoi" tool_tip="Ouvrir automatiquement le message Primfeed dans votre navigateur web après l'avoir publié." name="primfeed_open_url_on_post"/>
|
||||
<button label="Partager" name="post_photo_btn"/>
|
||||
<button label="Annuler" name="cancel_photo_btn"/>
|
||||
</panel>
|
||||
</panel>
|
||||
|
|
@ -25,6 +25,7 @@
|
|||
<menu_item_call label="Inquadra" name="zoom_in"/>
|
||||
<menu_item_call label="Invita al gruppo" name="GroupInvite"/>
|
||||
<menu_item_call label="Info sugli script" name="ScriptInfo"/>
|
||||
<menu_item_call label="Cronologia chat" name="chat_history"/>
|
||||
<menu_item_check label="Blocca / Sblocca" name="Block/Unblock"/>
|
||||
<menu_item_call label="Segnala abuso" name="report"/>
|
||||
<menu_item_call label="Congela" name="freeze"/>
|
||||
|
|
|
|||
|
|
@ -11,8 +11,10 @@
|
|||
<text name="working_lbl">
|
||||
Caricamento...
|
||||
</text>
|
||||
<check_box label="Frame di cattura" tool_tip="Mostra una cornice sullo schermo che circonda le aree della foto. Le parti della scena che sono al di fuori della foto saranno desaturate e leggermente sfocate" name="show_frame" />
|
||||
<check_box label="Guida inquadrat." tool_tip="Mostra la guida all'inquadratura (regola dei terzi) all'interno della cornice della foto" name="show_guides" />
|
||||
<panel name="options_panel">
|
||||
<check_box label="Frame di cattura" tool_tip="Mostra una cornice sullo schermo che circonda le aree della foto. Le parti della scena che sono al di fuori della foto saranno desaturate e leggermente sfocate" name="show_frame" />
|
||||
<check_box label="Guida inquadrat." tool_tip="Mostra la guida all'inquadratura (regola dei terzi) all'interno della cornice della foto" name="show_guides" />
|
||||
</panel>
|
||||
<button label="Aggiorna" name="new_snapshot_btn" tool_tip="Fai clic per aggiornare"/>
|
||||
<button label="Anteprima" name="big_preview_btn" tool_tip="Fai clic per alternare l'anteprima"/>
|
||||
<text name="title_label">
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
<columns name="lst_action" value="右へ平行移動"/>
|
||||
</rows>
|
||||
<rows name="jump">
|
||||
<columns name="lst_action" value="ジャンプ/飛行"/>
|
||||
<columns name="lst_action" value="ジャンプ/飛ぶ"/>
|
||||
</rows>
|
||||
<rows name="push_down">
|
||||
<columns name="lst_action" value="下降"/>
|
||||
|
|
|
|||
|
|
@ -494,7 +494,7 @@
|
|||
</text>
|
||||
<color_swatch label="背景" tool_tip="メッシュアップローダーのキャンバス色を指定します。" name="mesh_preview_canvas_color"/>
|
||||
<color_swatch label="モデルの縁" tool_tip="メッシュアップローダーのプレビューウィンドウのモデルの縁の色を指定します。" name="mesh_preview_edge_color"/>
|
||||
<color_swatch label="周辺光" tool_tip="プレビューウィンドウの周囲光レベルを指定します。(アニメーション プレビューなどにも影響します)" name="preview_ambient_color"/>
|
||||
<color_swatch label="周辺光" tool_tip="プレビューウィンドウの周囲光レベルを指定します。(アニメーションプレビューなどにも影響します)" name="preview_ambient_color"/>
|
||||
<text name="physics_settings_label">
|
||||
物理効果:
|
||||
</text>
|
||||
|
|
@ -596,9 +596,9 @@
|
|||
<text name="exploder_label">
|
||||
凸包を広げる
|
||||
</text>
|
||||
<check_box label="ウェイト" name="show_skin_weight"/>
|
||||
<check_box label="関節の位置" name="show_joint_positions" />
|
||||
<check_box label="関節の位置の上書き" name="show_joint_overrides" />
|
||||
<check_box label="スキンのウエイト" name="show_skin_weight"/>
|
||||
<check_box label="ジョイント位置のオーバーライド" name="show_joint_overrides"/>
|
||||
<check_box label="ジョイント数" name="show_joint_positions"/>
|
||||
</panel>
|
||||
<text name="warning_title">
|
||||
ご注意:
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@
|
|||
<check_box label="HUD" name="hud_check"/>
|
||||
<check_box label="キャプチャフレームを表示" tool_tip="スナップショットの領域を囲むフレームを画面上に表示します。スナップショットの外側にあるシーンの部分は彩度が低くなり、わずかにぼやけます。" name="show_frame"/>
|
||||
<check_box label="フレーミングガイドを表示する" tool_tip="スナップショットのフレーム内にフレーミングガイド(三分割法)を表示します。" name="show_guides" />
|
||||
<button label="#" tool_tip="フレームガイド設定を開きます。" name="guide_settings_btn"/>
|
||||
<check_box label="フレームをフリーズ(全画面)" name="freeze_frame_check"/>
|
||||
<check_box label="自動リフレッシュ" name="auto_snapshot_check"/>
|
||||
<check_box label="ポストプロセッシングなし" name="no_post_check"/>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="snapshot_guide_settings" title="フレームガイド設定">
|
||||
<text name="color_and_appearance_label">
|
||||
ガイドの色と外観
|
||||
</text>
|
||||
<spinner label="厚さ (px)" name="guide_thickness"/>
|
||||
<slider label="不透明度" name="guide_opacity"/>
|
||||
<text name="style_label">
|
||||
ガイドスタイル
|
||||
</text>
|
||||
<combo_box name="guide_style_combo" tool_tip="フレームガイドを選択してください。">
|
||||
<combo_box.item name="rule_of_thirds" label="三分割法"/>
|
||||
<combo_box.item name="golden_ratio_top_left" label="黄金比(左上)"/>
|
||||
<combo_box.item name="golden_ratio_top_right" label="黄金比(右上)"/>
|
||||
<combo_box.item name="golden_ratio_bottom_left" label="黄金比(左下)"/>
|
||||
<combo_box.item name="golden_ratio_bottom_right" label="黄金比(右下)"/>
|
||||
<combo_box.item name="diagonal" label="対角線"/>
|
||||
</combo_box>
|
||||
</floater>
|
||||
|
|
@ -25,6 +25,7 @@
|
|||
<menu_item_call label="ズームイン" name="zoom_in"/>
|
||||
<menu_item_call label="グループに招待" name="GroupInvite"/>
|
||||
<menu_item_call label="スクリプト情報取得" name="ScriptInfo"/>
|
||||
<menu_item_call label="チャットの履歴…" name="chat_history"/>
|
||||
<menu_item_check label="ブロック/ブロック解除" name="Block/Unblock"/>
|
||||
<menu_item_call label="報告する" name="report"/>
|
||||
<menu_item_call label="フリーズする" name="freeze"/>
|
||||
|
|
|
|||
|
|
@ -406,7 +406,7 @@
|
|||
<menu_item_check label="ダブルクリックでテレポート" name="DoubleClick Teleport"/>
|
||||
<!-- //[FIX FIRE-1927 - enable DoubleClickTeleport shortcut : SJ] -->
|
||||
<menu_item_check label="常に走る" name="Always Run"/>
|
||||
<menu_item_check label="飛行" name="Fly"/>
|
||||
<menu_item_check label="飛ぶ" name="Fly"/>
|
||||
<menu_item_call label="ウィンドウを閉じる" name="Close Window"/>
|
||||
<menu_item_call label="ウィンドウグループを閉じる" name="Close Window Group"/>
|
||||
<menu_item_call label="全てのウィンドウを閉じる" name="Close All Windows"/>
|
||||
|
|
|
|||
|
|
@ -3936,7 +3936,7 @@ https://wiki.firestormviewer.org/fs_voice
|
|||
サイドパネルから、インベントリや衣装、プロフィールなどに素早くアクセスできます。
|
||||
</notification>
|
||||
<notification label="移動" name="HintMove">
|
||||
歩行や走行は、「移動」パネルを開き、矢印コントロールによって操作します。この操作はキーボードの矢印キーで実行することも可能です。
|
||||
歩いたり走ったりするには、「移動」パネルを開き、矢印コントロールで操作します。この操作はキーボードの矢印キーで実行することも可能です。
|
||||
</notification>
|
||||
<notification name="HintMoveClick">
|
||||
1,クリックで移動
|
||||
|
|
|
|||
|
|
@ -17,10 +17,13 @@
|
|||
<text name="working_lbl">
|
||||
更新しています…
|
||||
</text>
|
||||
<check_box label="フレームキャプチャを表示" tool_tip="スナップショットの領域を囲むフレームを画面上に表示します。スナップショットの外側にあるシーンの部分は彩度が低くなり、わずかにぼやけます。" name="show_frame"/>
|
||||
<check_box label="フレーミングガイド" tool_tip="スナップショットのフレーム内にフレーミングガイド(三分割法)を表示します。" name="show_guides"/>
|
||||
<panel name="options_panel">
|
||||
<check_box label="フレームを表示" tool_tip="スナップショットの領域を囲むフレームを画面上に表示します。スナップショットの外側にあるシーンの部分は彩度が低くなり、わずかにぼやけます。" name="show_frame"/>
|
||||
<check_box label="構図ガイドを表示" tool_tip="スナップショットのフレーム内に構図ヘルパーを表示します。" name="show_guides"/>
|
||||
<button tool_tip="フレームガイド設定を開きます。" name="guide_settings_btn"/>
|
||||
</panel>
|
||||
<button label="更新" name="new_snapshot_btn" tool_tip="クリックして更新"/>
|
||||
<button label="プレビュー" name="big_preview_btn" tool_tip="クリックしてプレビューを切り替える"/>
|
||||
<button label="プレビュー" name="big_preview_btn" tool_tip="クリックしてプレビューを切り替えます。"/>
|
||||
<text name="title_label">
|
||||
タイトル:
|
||||
</text>
|
||||
|
|
|
|||
|
|
@ -20,8 +20,11 @@
|
|||
<text name="working_lbl">
|
||||
リフレッシュしています…
|
||||
</text>
|
||||
<check_box label="フレームを表示" tool_tip="スナップショットの領域を囲むフレームを画面に表示します。スナップショットの外側にあるシーンの一部は彩度が低くなり、わずかにぼやけます。" name="show_frame"/>
|
||||
<check_box label="フレームのガイドを表示" tool_tip="スナップショットフレーム内にフレームのガイド(三分割法)を表示します。" name="show_guides"/>
|
||||
<panel name="snapshot_frame_panel">
|
||||
<check_box label="フレームを表示" tool_tip="スナップショットの領域を囲むフレームを画面上に表示します。スナップショットの外側にあるシーンの部分は彩度が低くなり、わずかにぼやけます。" name="show_frame"/>
|
||||
<check_box label="構図ガイドを表示" tool_tip="スナップショットのフレーム内に構図ヘルパーを表示します。" name="show_guides"/>
|
||||
<button tool_tip="フレームガイド設定を開きます。" name="guide_settings_btn"/>
|
||||
</panel>
|
||||
<button label="リフレッシュ" name="new_snapshot_btn" tool_tip="クリックでリフレッシュします。"/>
|
||||
<button label="プレビュー" name="big_preview_btn" tool_tip="クリックでプレビューを切り替えます。"/>
|
||||
<text name="store_label">
|
||||
|
|
@ -31,11 +34,15 @@
|
|||
<text name="description_label">
|
||||
説明:
|
||||
</text>
|
||||
<check_box label="場所を含める" name="add_location_cb"/>
|
||||
<check_box label="パブリックギャラリーに追加" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="商用コンテンツ" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Primfeedのコンテンツレーティングを指定します。"/>
|
||||
<check_box label="投稿後にブラウザを開きますか?" tool_tip="投稿後、Primfeedの投稿がWebブラウザで自動的に開きます。" name="primfeed_open_url_on_post"/>
|
||||
<button label="シェア" name="post_photo_btn"/>
|
||||
<button label="キャンセル" name="cancel_photo_btn"/>
|
||||
<panel name="options_panel">
|
||||
<check_box label="場所を含める" name="add_location_cb"/>
|
||||
<check_box label="パブリックギャラリーに追加" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="商用コンテンツ" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Primfeedのコンテンツレーティングを指定します。"/>
|
||||
</panel>
|
||||
<panel name="share_options_panel">
|
||||
<check_box label="投稿後にブラウザを開きますか?" tool_tip="投稿後、Primfeedの投稿がWebブラウザで自動的に開きます。" name="primfeed_open_url_on_post"/>
|
||||
<button label="シェア" name="post_photo_btn"/>
|
||||
<button label="キャンセル" name="cancel_photo_btn"/>
|
||||
</panel>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="panel_stand_stop_flying">
|
||||
<button label="立ち上がる" name="stand_btn" tool_tip="ここをクリックして立ち上がります。"/>
|
||||
<button label="飛行停止" name="stop_fly_btn" tool_tip="飛行を停止します。"/>
|
||||
<button label="飛ぶのをやめる" name="stop_fly_btn" tool_tip="飛行を停止します。"/>
|
||||
<button label="フライカム" name="flycam_btn" tool_tip="フライカムモードを停止します。"/>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -5672,7 +5672,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
|
|||
ミニマップ
|
||||
</string>
|
||||
<string name="Command_Move_Label">
|
||||
歩行/走行/飛行
|
||||
歩く/走る/飛ぶ
|
||||
</string>
|
||||
<string name="Command_People_Label">
|
||||
人物
|
||||
|
|
@ -5722,7 +5722,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
|
|||
<string name="Command_Settings_Debug_Label">デバッグ設定</string>
|
||||
<string name="Command_Statistics_Label">統計</string>
|
||||
<string name="Command_Region_Label">リージョン/不動産</string>
|
||||
<string name="Command_Fly_Label">飛行</string>
|
||||
<string name="Command_Fly_Label">飛ぶ</string>
|
||||
<string name="Command_Groundsit_Label">地面に座る</string>
|
||||
<string name="Command_Sound_Explorer_Label">サウンドエクスプローラー</string>
|
||||
<string name="Command_Asset_Blacklist_Label">アセットのブロックリスト</string>
|
||||
|
|
|
|||
|
|
@ -54,7 +54,8 @@
|
|||
<check_box label="Stan L$" name="currency_check"/>
|
||||
<check_box label="Obiekty HUD" name="hud_check" />
|
||||
<check_box label="Ramka migawki" tool_tip="Pokaż na ekranie ramkę otaczającą obszary migawki. Części sceny, które są poza migawką, zostaną odbarwione i lekko rozmyte." name="show_frame" />
|
||||
<check_box label="Prowadnice" tool_tip="Pokaż prowadnicę kadrowania (zasadę trójpodziału) wewnątrz ramki migawki." name="show_guides" />
|
||||
<check_box label="Pomoce" tool_tip="Pokaż pomoce kadrowania (np. zasadę trójpodziału) wewnątrz ramki migawki." name="show_guides" />
|
||||
<button tool_tip="Pokaż opcje pomocy kadrowania" name="guide_settings_btn" />
|
||||
<check_box label="Wstrzymaj (pełny ekran)" name="freeze_frame_check" />
|
||||
<check_box label="Autoodświeżanie" name="auto_snapshot_check" />
|
||||
<check_box label="Bez obróbki końcowej" name="no_post_check" />
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<floater name="snapshot_guide_settings" title="Ustawienia pomocy kadrowania">
|
||||
<text name="color_and_appearance_label">
|
||||
Kolor i wygląd
|
||||
</text>
|
||||
<spinner label="Grubość (px)" name="guide_thickness" />
|
||||
<slider label="Przezroczystość" name="guide_opacity" />
|
||||
<text name="style_label">
|
||||
Styl linii
|
||||
</text>
|
||||
<combo_box name="guide_style_combo" tool_tip="Wybierz, którą pomoc kadrowania wyświetlić">
|
||||
<combo_box.item name="rule_of_thirds" label="Zasada trójpodziału" />
|
||||
<combo_box.item name="golden_ratio_top_left" label="Złoty podział (góra lewa)" />
|
||||
<combo_box.item name="golden_ratio_top_right" label="Złoty podział (góra prawa)" />
|
||||
<combo_box.item name="golden_ratio_bottom_left" label="Złoty podział (dół lewy)" />
|
||||
<combo_box.item name="golden_ratio_bottom_right" label="Złoty podział (dół prawy)" />
|
||||
<combo_box.item name="diagonal" label="Przekątna" />
|
||||
</combo_box>
|
||||
</floater>
|
||||
|
|
@ -25,6 +25,7 @@
|
|||
<menu_item_call label="Przybliż" name="zoom_in"/>
|
||||
<menu_item_call label="Zaproś do grupy" name="GroupInvite"/>
|
||||
<menu_item_call label="Info o skryptach" name="ScriptInfo"/>
|
||||
<menu_item_call label="Logi czatu..." name="chat_history" />
|
||||
<menu_item_check label="Zablokuj/Odblokuj" name="Block/Unblock"/>
|
||||
<menu_item_call label="Zgłoś" name="report"/>
|
||||
<menu_item_call label="Unieruchom" name="freeze"/>
|
||||
|
|
|
|||
|
|
@ -11,8 +11,11 @@
|
|||
<text name="working_lbl">
|
||||
Odświeżanie...
|
||||
</text>
|
||||
<check_box label="Ramka migawki" tool_tip="Pokaż na ekranie ramkę otaczającą obszary migawki. Części sceny, które są poza migawką, zostaną odbarwione i lekko rozmyte." name="show_frame" />
|
||||
<check_box label="Prowadnice" tool_tip="Pokaż prowadnicę kadrowania (zasadę trójpodziału) wewnątrz ramki migawki." name="show_guides" />
|
||||
<panel name="options_panel">
|
||||
<check_box label="Ramka migawki" tool_tip="Pokaż na ekranie ramkę otaczającą obszary migawki. Części sceny, które są poza migawką, zostaną odbarwione i lekko rozmyte." name="show_frame" />
|
||||
<check_box label="Pomoce" tool_tip="Pokaż pomoce kadrowania (np. zasadę trójpodziału) wewnątrz ramki migawki." name="show_guides" />
|
||||
<button tool_tip="Pokaż opcje pomocy kadrowania" name="guide_settings_btn" />
|
||||
</panel>
|
||||
<button label="Odśwież" name="new_snapshot_btn" tool_tip="Kliknij, aby odświeżyć" />
|
||||
<button label="Podgląd" name="big_preview_btn" tool_tip="Kliknij, aby przełączyć podgląd" />
|
||||
<text name="title_label">
|
||||
|
|
|
|||
|
|
@ -11,8 +11,11 @@
|
|||
<text name="working_lbl">
|
||||
Odświeżanie...
|
||||
</text>
|
||||
<check_box label="Ramka migawki" tool_tip="Pokaż na ekranie ramkę otaczającą obszary migawki. Części sceny, które są poza migawką, zostaną odbarwione i lekko rozmyte." name="show_frame" />
|
||||
<check_box label="Prowadnice" tool_tip="Pokaż prowadnicę kadrowania (zasadę trójpodziału) wewnątrz ramki migawki." name="show_guides" />
|
||||
<panel name="snapshot_frame_panel">
|
||||
<check_box label="Ramka migawki" tool_tip="Pokaż na ekranie ramkę otaczającą obszary migawki. Części sceny, które są poza migawką, zostaną odbarwione i lekko rozmyte." name="show_frame" />
|
||||
<check_box label="Pomoce" tool_tip="Pokaż pomoce kadrowania (np. zasadę trójpodziału) wewnątrz ramki migawki." name="show_guides" />
|
||||
<button tool_tip="Pokaż opcje pomocy kadrowania" name="guide_settings_btn" />
|
||||
</panel>
|
||||
<button label="Odśwież" name="new_snapshot_btn" tool_tip="Kliknij, aby odświeżyć" />
|
||||
<button label="Podgląd" name="big_preview_btn" tool_tip="Kliknij, aby przełączyć podgląd" />
|
||||
<text name="store_label">
|
||||
|
|
@ -22,16 +25,20 @@
|
|||
<text name="description_label">
|
||||
Opis:
|
||||
</text>
|
||||
<check_box label="Dołącz lokalizację" name="add_location_cb" />
|
||||
<check_box label="Do publicznej galerii" name="primfeed_add_to_public_gallery" />
|
||||
<check_box label="Treści komercyjne" name="primfeed_commercial_content" />
|
||||
<combo_box name="rating_combobox" tool_tip="Klasyfikacja treści Primfeed">
|
||||
<combo_box.item label="Treść bezpieczna" name="GeneralRating" />
|
||||
<combo_box.item label="Treść umiarkowana" name="ModerateRating" />
|
||||
<combo_box.item label="Dla dorosłych" name="AdultRating" />
|
||||
<combo_box.item label="Dla dorosłych+" name="AdultPlusRating" />
|
||||
</combo_box>
|
||||
<check_box label="Otwórz w przeglądarce po wysłaniu" tool_tip="Automatycznie otwórz post w przeglądarce internetowej po wysłaniu." name="primfeed_open_url_on_post" />
|
||||
<button label="Wyślij" name="post_photo_btn" />
|
||||
<button label="Anuluj" name="cancel_photo_btn" />
|
||||
<panel name="options_panel">
|
||||
<check_box label="Dołącz lokalizację" name="add_location_cb" />
|
||||
<check_box label="Do publicznej galerii" name="primfeed_add_to_public_gallery" />
|
||||
<check_box label="Treści komercyjne" name="primfeed_commercial_content" />
|
||||
<combo_box name="rating_combobox" tool_tip="Klasyfikacja treści Primfeed">
|
||||
<combo_box.item label="Treść bezpieczna" name="GeneralRating" />
|
||||
<combo_box.item label="Treść umiarkowana" name="ModerateRating" />
|
||||
<combo_box.item label="Dla dorosłych" name="AdultRating" />
|
||||
<combo_box.item label="Dla dorosłych+" name="AdultPlusRating" />
|
||||
</combo_box>
|
||||
</panel>
|
||||
<panel name="share_options_panel">
|
||||
<check_box label="Otwórz w przeglądarce po wysłaniu" tool_tip="Automatycznie otwórz post w przeglądarce internetowej po wysłaniu." name="primfeed_open_url_on_post" />
|
||||
<button label="Wyślij" name="post_photo_btn" />
|
||||
<button label="Anuluj" name="cancel_photo_btn" />
|
||||
</panel>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
<menu_item_call label="Приблизить" name="zoom_in"/>
|
||||
<menu_item_call label="Пригласить в группу" name="GroupInvite"/>
|
||||
<menu_item_call label="Информация о скриптах" name="ScriptInfo"/>
|
||||
<menu_item_call label="История чата..." name="chat_history" />
|
||||
<menu_item_check label="Заблокировать/Разблокировать" name="Block/Unblock"/>
|
||||
<menu_item_call label="Жалоба" name="report"/>
|
||||
<menu_item_call label="Заморозить" name="freeze"/>
|
||||
|
|
|
|||
|
|
@ -14,8 +14,10 @@
|
|||
<text name="working_lbl">
|
||||
Обновление...
|
||||
</text>
|
||||
<check_box label="Показать кадр" tool_tip="Показать на экране рамку, окружающую области снимка. Части сцены, находящиеся за пределами снимка, будут обесцвечены и слегка размыты." name="show_frame" />
|
||||
<check_box label="Кадрирование" tool_tip="Показать руководство по кадрированию (правило третей) внутри рамки снимка" name="show_guides" />
|
||||
<panel name="options_panel">
|
||||
<check_box label="Показать кадр" tool_tip="Показать на экране рамку, окружающую области снимка. Части сцены, находящиеся за пределами снимка, будут обесцвечены и слегка размыты." name="show_frame" />
|
||||
<check_box label="Кадрирование" tool_tip="Показать руководство по кадрированию (правило третей) внутри рамки снимка" name="show_guides" />
|
||||
</panel>
|
||||
<button label="Обновить" name="new_snapshot_btn" tool_tip="Щелкните для обновления"/>
|
||||
<button label="Просмотр" name="big_preview_btn" tool_tip="Щелкните для смены вида"/>
|
||||
<text name="title_label">
|
||||
|
|
|
|||
|
|
@ -9,23 +9,29 @@
|
|||
</combo_box>
|
||||
<check_box label="Сохранять соотношение сторон" name="keep_aspect_ratio"/>
|
||||
<text name="working_lbl">Обновляется...</text>
|
||||
<check_box label="Показать кадр захвата" tool_tip="Показать на экране рамку, которая окружает области снимка. Части сцены, находящиеся за пределами снимка, будут лишены насыщенности и слегка размыты." name="show_frame"/>
|
||||
<check_box label="Направляющие кадрирования" tool_tip="Показать направляющую кадрирования (правило третей) внутри рамки снимка." name="show_guides" />
|
||||
<panel name="snapshot_frame_panel">
|
||||
<check_box label="Показать кадр захвата" tool_tip="Показать на экране рамку, которая окружает области снимка. Части сцены, находящиеся за пределами снимка, будут лишены насыщенности и слегка размыты." name="show_frame"/>
|
||||
<check_box label="Направляющие кадрирования" tool_tip="Показать направляющую кадрирования (правило третей) внутри рамки снимка." name="show_guides" />
|
||||
</panel>
|
||||
<button label="Обновить" name="new_snapshot_btn" tool_tip="Нажмите, чтобы обновить"/>
|
||||
<button label="Просмотр" name="big_preview_btn" tool_tip="Нажмите, чтобы переключить предварительный просмотр"/>
|
||||
<text name="store_label">Опубликовать как:</text>
|
||||
<combo_box name="stores_combobox" tool_tip="Если у вас есть один или несколько простых магазинов блогеров, назначенных на Primfeed, они появятся здесь."/>
|
||||
<text name="description_label">Описание:</text>
|
||||
<check_box label="Включить местоположение" name="add_location_cb"/>
|
||||
<check_box label="Добавить в публичную галерею" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="Коммерческий контент" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Primfeed content rating">
|
||||
<combo_box.item label="Общий" name="GeneralRating"/>
|
||||
<combo_box.item label="Умереный" name="ModerateRating"/>
|
||||
<combo_box.item label="Взрослый" name="AdultRating"/>
|
||||
<combo_box.item label="Взрослый+" name="AdultPlusRating"/>
|
||||
</combo_box>
|
||||
<check_box label="Открыть в браузере после публикации" tool_tip="Автоматически открывать публикацию Primfeed в вашем веб-браузере после публикации." name="primfeed_open_url_on_post"/>
|
||||
<button label="Поделиться" name="post_photo_btn"/>
|
||||
<button label="Отмена" name="cancel_photo_btn"/>
|
||||
<panel name="options_panel">
|
||||
<check_box label="Включить местоположение" name="add_location_cb"/>
|
||||
<check_box label="Добавить в публичную галерею" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="Коммерческий контент" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Primfeed content rating">
|
||||
<combo_box.item label="Общий" name="GeneralRating"/>
|
||||
<combo_box.item label="Умереный" name="ModerateRating"/>
|
||||
<combo_box.item label="Взрослый" name="AdultRating"/>
|
||||
<combo_box.item label="Взрослый+" name="AdultPlusRating"/>
|
||||
</combo_box>
|
||||
</panel>
|
||||
<panel name="share_options_panel">
|
||||
<check_box label="Открыть в браузере после публикации" tool_tip="Автоматически открывать публикацию Primfeed в вашем веб-браузере после публикации." name="primfeed_open_url_on_post"/>
|
||||
<button label="Поделиться" name="post_photo_btn"/>
|
||||
<button label="Отмена" name="cancel_photo_btn"/>
|
||||
</panel>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
<menu_item_call label="放大" name="zoom_in" />
|
||||
<menu_item_call label="邀請加入群組" name="GroupInvite" />
|
||||
<menu_item_call label="顯示指令碼資訊" name="ScriptInfo" />
|
||||
<menu_item_call label="聊天歷史……" name="chat_history" />
|
||||
<menu_item_check label="封鎖/解除封鎖" name="Block/Unblock" />
|
||||
<menu_item_call label="檢舉" name="report" />
|
||||
<menu_item_call label="凍結" name="freeze" />
|
||||
|
|
|
|||
|
|
@ -11,8 +11,10 @@
|
|||
<text name="working_lbl">
|
||||
更新...
|
||||
</text>
|
||||
<check_box label="顯示捕捉框架" tool_tip="在螢幕上顯示一個框架,圍繞快照區域。場景中超出快照範圍的部分將被去飽和並稍微模糊。" name="show_frame"/>
|
||||
<check_box label="顯示構圖指南" tool_tip="在快照框架內顯示構圖指南(九宮格規則)" name="show_guides"/>
|
||||
<panel name="options_panel">
|
||||
<check_box label="顯示捕捉框架" tool_tip="在螢幕上顯示一個框架,圍繞快照區域。場景中超出快照範圍的部分將被去飽和並稍微模糊。" name="show_frame"/>
|
||||
<check_box label="顯示構圖指南" tool_tip="在快照框架內顯示構圖指南(九宮格規則)" name="show_guides"/>
|
||||
</panel>
|
||||
<button label="更新" name="new_snapshot_btn" tool_tip="點擊即可更新" />
|
||||
<button label="預覽" name="big_preview_btn" tool_tip="點擊即可切換預覽" />
|
||||
<text name="title_label">
|
||||
|
|
|
|||
|
|
@ -11,8 +11,10 @@
|
|||
<text name="working_lbl">
|
||||
正在更新...
|
||||
</text>
|
||||
<check_box label="顯示邊框" name="show_frame" tool_tip="顯示拍攝區域的邊框。場景中超出拍攝範圍的部分會被消色並輕微模糊處理。"/>
|
||||
<check_box label="顯示指導線" name="show_guides" tool_tip="在拍攝範圍內顯示拍攝指導線(例如三分法)。"/>
|
||||
<panel name="snapshot_frame_panel">
|
||||
<check_box label="顯示邊框" name="show_frame" tool_tip="顯示拍攝區域的邊框。場景中超出拍攝範圍的部分會被消色並輕微模糊處理。"/>
|
||||
<check_box label="顯示指導線" name="show_guides" tool_tip="在拍攝範圍內顯示拍攝指導線(例如三分法)。"/>
|
||||
</panel>
|
||||
<button label="更新" name="new_snapshot_btn" tool_tip="點擊更新"/>
|
||||
<button label="預覽" name="big_preview_btn" tool_tip="點擊切換預覽狀態"/>
|
||||
<text name="store_label">
|
||||
|
|
@ -22,16 +24,20 @@
|
|||
<text name="description_label">
|
||||
描述:
|
||||
</text>
|
||||
<check_box label="添加位置描述" name="add_location_cb"/>
|
||||
<check_box label="添加到公開圖庫" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="商業內容" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Primfeed 內容評級">
|
||||
<combo_box.item label="普級" name="GeneralRating"/>
|
||||
<combo_box.item label="適度成人" name="ModerateRating"/>
|
||||
<combo_box.item label="完全成人" name="AdultRating"/>
|
||||
<combo_box.item label="完全成人+" name="AdultPlusRating"/>
|
||||
</combo_box>
|
||||
<check_box label="發布後在瀏覽器中打開" tool_tip="自動在瀏覽器中打開 Primfeed 發布的內容。" name="primfeed_open_url_on_post"/>
|
||||
<button label="分享" name="post_photo_btn"/>
|
||||
<button label="取消" name="cancel_photo_btn"/>
|
||||
<panel name="options_panel">
|
||||
<check_box label="添加位置描述" name="add_location_cb"/>
|
||||
<check_box label="添加到公開圖庫" name="primfeed_add_to_public_gallery"/>
|
||||
<check_box label="商業內容" name="primfeed_commercial_content"/>
|
||||
<combo_box name="rating_combobox" tool_tip="Primfeed 內容評級">
|
||||
<combo_box.item label="普級" name="GeneralRating"/>
|
||||
<combo_box.item label="適度成人" name="ModerateRating"/>
|
||||
<combo_box.item label="完全成人" name="AdultRating"/>
|
||||
<combo_box.item label="完全成人+" name="AdultPlusRating"/>
|
||||
</combo_box>
|
||||
</panel>
|
||||
<panel name="share_options_panel">
|
||||
<check_box label="發布後在瀏覽器中打開" tool_tip="自動在瀏覽器中打開 Primfeed 發布的內容。" name="primfeed_open_url_on_post"/>
|
||||
<button label="分享" name="post_photo_btn"/>
|
||||
<button label="取消" name="cancel_photo_btn"/>
|
||||
</panel>
|
||||
</panel>
|
||||
Loading…
Reference in New Issue