Merge remote-tracking branch 'origin/master'

master
Beq 2025-10-15 14:31:01 +01:00
commit 763f7b7f9a
31 changed files with 507 additions and 341 deletions

View File

@ -38,9 +38,10 @@ endif ()
# windows) and CMAKE_BUILD_TYPE on Makefile based generators (like linux). The reason for this is
# that CMAKE_BUILD_TYPE is essentially meaningless at configuration time for IDE generators and
# CMAKE_CFG_INTDIR is meaningless at build time for Makefile generators
link_directories(${AUTOBUILD_INSTALL_DIR}/lib/$<LOWER_CASE:$<CONFIG>>)
link_directories(${AUTOBUILD_INSTALL_DIR}/lib/release)
if(NOT DARWIN)
link_directories(${AUTOBUILD_INSTALL_DIR}/lib/$<LOWER_CASE:$<CONFIG>>)
link_directories(${AUTOBUILD_INSTALL_DIR}/lib/release)
endif(NOT DARWIN)
add_library( ll::oslibraries INTERFACE IMPORTED )
@ -74,6 +75,8 @@ else()
find_library(APPKIT_LIBRARY AppKit)
find_library(COREAUDIO_LIBRARY CoreAudio)
find_library(COREGRAPHICS_LIBRARY CoreGraphics)
find_library(AUDIOTOOLBOX_LIBRARY AudioToolbox)
target_link_libraries( ll::oslibraries INTERFACE
${COCOA_LIBRARY}
@ -82,6 +85,8 @@ else()
${CARBON_LIBRARY}
${APPKIT_LIBRARY}
${COREAUDIO_LIBRARY}
${AUDIOTOOLBOX_LIBRARY}
${COREGRAPHICS_LIBRARY}
)
endif()

View File

@ -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 ;

View File

@ -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;

View File

@ -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);

View File

@ -1495,6 +1495,10 @@ void freePeerConnection(LLWebRTCPeerConnectionInterface* peer_connection)
void init(LLWebRTCLogCallback* logCallback)
{
if (gWebRTCImpl)
{
return;
}
gWebRTCImpl = new LLWebRTCImpl(logCallback);
gWebRTCImpl->init();
}

View File

@ -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();
}

View File

@ -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]
}
}

View File

@ -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++)
{

View File

@ -3150,7 +3150,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]
}
}

View File

@ -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);

View File

@ -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
//---

View File

@ -4614,7 +4614,7 @@ void LLPipeline::renderSnapshotGuidesOverlay()
gGL.matrixMode(LLRender::MM_MODELVIEW);
gGL.pushMatrix();
gGL.loadIdentity();
gGLLastMatrix = NULL;
gGLLastMatrix = nullptr;
const LLColor4 line_color(mSnapshotGuideState.color, alpha);
gGL.color4fv(line_color.mV);
@ -4644,261 +4644,260 @@ void LLPipeline::renderSnapshotGuidesOverlay()
switch (mSnapshotGuideState.style)
{
case SnapshotGuideState::Style::RuleOfThirds:
{
const F32 offsets[] = { 1.f / 3.f, 2.f / 3.f };
for (F32 offset : offsets)
case SnapshotGuideState::Style::RuleOfThirds:
{
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)
constexpr std::array<F32, 2> offsets = { 1.f / 3.f, 2.f / 3.f };
for (F32 offset : offsets)
{
x = golden_width - local_x;
draw_vertical_norm(offset);
draw_horizontal_norm(offset);
}
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)
break;
}
case SnapshotGuideState::Style::GoldenRatio:
{
line_segments.emplace_back(map_point(x0, y0), map_point(x1, y1));
};
constexpr F32 phi = 1.61803398875f;
const SnapshotGuideState::GoldenOrientation orientation = mSnapshotGuideState.golden_orientation;
// 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)
const F32 scale = llmin(frame_width / phi, frame_height);
if (scale <= 0.f)
{
break;
}
if (step % 4 == 0)
{
x0 += height;
add_line(x0, y0, x0, y1);
}
else if (step % 4 == 1)
{
y0 += width;
add_line(x0, y0, x1, y0);
}
else if (step % 4 == 2)
{
x1 -= height;
add_line(x1, y0, x1, y1);
}
else
{
y1 -= width;
add_line(x0, y1, x1, y1);
}
}
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;
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)
F32 anchor_x = left_px;
F32 anchor_y = bottom_px;
switch (orientation)
{
const F32 width = spiral_x1 - spiral_x0;
const F32 height = spiral_y1 - spiral_y0;
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;
}
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]);
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;
}
}
gGL.end();
};
gGL.flush();
const F32 line_width = llmax(thickness, 1.f);
glLineWidth(line_width);
draw_golden_spiral(12);
glLineWidth(1.f);
if (!line_segments.empty())
{
gGL.flush();
glLineWidth(line_width);
gGL.begin(LLRender::LINES);
for (const auto& segment : line_segments)
auto draw_golden_spiral = [&](U32 max_depth)
{
gGL.vertex2f(segment.first.mV[0], segment.first.mV[1]);
gGL.vertex2f(segment.second.mV[0], segment.second.mV[1]);
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);
}
gGL.end();
glLineWidth(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;
}
break;
}
case SnapshotGuideState::Style::Diagonal:
{
const F32 line_width = llmax(thickness, 1.f);
gGL.flush();
glLineWidth(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();
glLineWidth(1.f);
break;
}
}
gGL.matrixMode(LLRender::MM_MODELVIEW);
gGL.popMatrix();
gGL.matrixMode(LLRender::MM_PROJECTION);
gGL.popMatrix();
gGLLastMatrix = NULL;
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]);
@ -4913,23 +4912,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))
@ -4940,9 +4940,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);
@ -4984,7 +4984,7 @@ void LLPipeline::renderPhysicsDisplay()
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
}
}
glLineWidth(1.f);
gGL.setLineWidth(1.f);
gDebugProgram.unbind();
}

View File

@ -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"/>

View File

@ -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>

View File

@ -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"/>

View File

@ -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>

View File

@ -5,24 +5,16 @@
can_dock="false"
can_resize="false"
width="250"
height="140"
height="120"
min_height="140"
min_width="280"
layout="topleft"
translate="false">
<panel
follows="all"
border="false"
top="20"
left="10"
right="-10"
bottom="-10"
layout="topleft">
layout="topleft">
<text
top="0"
name="color_and_appearance_label"
top="5"
left="10"
layout="topleft"
follows="top|left"
left="0"
height="16">
Guide Color and Appearance
</text>
@ -30,7 +22,7 @@
enabled_control="FSSnapshotShowGuides"
control_name="FSSnapshotFrameGuideColor"
layout="topleft"
left="0"
left="10"
top_pad="0"
width="40"
height="65"
@ -68,9 +60,10 @@
decimal_digits="2"
name="guide_opacity" />
<text
name="style_label"
layout="topleft"
follows="top|left"
left="0"
left="10"
height="16">
Guide Style
</text>
@ -78,7 +71,7 @@
enabled_control="FSSnapshotShowGuides"
control_name="FSSnapshotGuideStyle"
layout="topleft"
left="0"
left="10"
top_pad="4"
width="180"
height="23"
@ -110,5 +103,4 @@
value="diagonal" />
</combo_box>
</panel>
</floater>

View File

@ -141,7 +141,7 @@
height="25"
width="250"
visible="true"
name="options_panel"
name="snapshot_frame_panel"
top_pad="3"
follows="left|top|right"
layout="topleft"
@ -379,7 +379,7 @@
height="50"
width="250"
visible="true"
name="options_panel"
name="share_options_panel"
top_pad="0"
follows="left|top|right"
layout="topleft"

View File

@ -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>

View File

@ -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>

View File

@ -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&apos;anteprima"/>
<text name="title_label">

View File

@ -17,8 +17,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">

View File

@ -20,8 +20,10 @@
<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">
@ -31,11 +33,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>

View File

@ -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" />

View File

@ -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>

View File

@ -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">

View File

@ -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>

View File

@ -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">

View File

@ -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>

View File

@ -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">

View File

@ -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>