本文整理汇总了C++中LLColor4::setAlpha方法的典型用法代码示例。如果您正苦于以下问题:C++ LLColor4::setAlpha方法的具体用法?C++ LLColor4::setAlpha怎么用?C++ LLColor4::setAlpha使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLColor4
的用法示例。
在下文中一共展示了LLColor4::setAlpha方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
//.........这里部分代码省略.........
S32 left, top, right, bottom;
S32 x, y;
S32 margin = 10;
S32 texth = (S32)LLFontGL::sMonospace->getLineHeight();
S32 xleft = margin;
S32 ytop = height - margin;
S32 labelwidth = 0;
S32 maxmaxbytes = 1;
// Make sure all timers are accounted for
// Set 'MT_OTHER' to unaccounted ticks last frame
{
S32 display_memtypes[LLMemType::MTYPE_NUM_TYPES];
for (S32 i=0; i < LLMemType::MTYPE_NUM_TYPES; i++)
{
display_memtypes[i] = 0;
}
for (S32 i=0; i < MTV_DISPLAY_NUM; i++)
{
S32 tidx = mtv_display_table[i].memtype;
display_memtypes[tidx]++;
}
LLMemType::sMemCount[LLMemType::MTYPE_OTHER] = 0;
LLMemType::sMaxMemCount[LLMemType::MTYPE_OTHER] = 0;
for (S32 tidx = 0; tidx < LLMemType::MTYPE_NUM_TYPES; tidx++)
{
if (display_memtypes[tidx] == 0)
{
LLMemType::sMemCount[LLMemType::MTYPE_OTHER] += LLMemType::sMemCount[tidx];
LLMemType::sMaxMemCount[LLMemType::MTYPE_OTHER] += LLMemType::sMaxMemCount[tidx];
}
}
}
// Labels
{
LLGLSTexture gls_texture;
y = ytop;
S32 peak = 0;
for (S32 i=0; i<MTV_DISPLAY_NUM; i++)
{
x = xleft;
int tidx = mtv_display_table[i].memtype;
S32 bytes = LLMemType::sMemCount[tidx];
S32 maxbytes = LLMemType::sMaxMemCount[tidx];
maxmaxbytes = llmax(maxbytes, maxmaxbytes);
peak += maxbytes;
S32 mbytes = bytes >> 20;
tdesc = llformat("%s [%4d MB]",mtv_display_table[i].desc,mbytes);
LLFontGL::sMonospace->renderUTF8(tdesc, 0, x, y, LLColor4::white, LLFontGL::LEFT, LLFontGL::TOP);
y -= (texth + 2);
S32 textw = LLFontGL::sMonospace->getWidth(tdesc);
if (textw > labelwidth)
labelwidth = textw;
}
x = xleft;
tdesc = llformat("Total Bytes: %d MB Overhead: %d KB",
LLMemType::sTotalMem >> 20, LLMemType::sOverheadMem >> 10);
LLFontGL::sMonospace->renderUTF8(tdesc, 0, x, y, LLColor4::white, LLFontGL::LEFT, LLFontGL::TOP);
}
// Bars
y = ytop;
labelwidth += 8;
S32 barw = width - labelwidth - xleft - margin;
for (S32 i=0; i<MTV_DISPLAY_NUM; i++)
{
x = xleft + labelwidth;
int tidx = mtv_display_table[i].memtype;
S32 bytes = LLMemType::sMemCount[tidx];
F32 frac = (F32)bytes / (F32)maxmaxbytes;
S32 w = (S32)(frac * (F32)barw);
left = x; right = x + w;
top = y; bottom = y - texth;
gl_rect_2d(left, top, right, bottom, *mtv_display_table[i].color);
S32 maxbytes = LLMemType::sMaxMemCount[tidx];
F32 frac2 = (F32)maxbytes / (F32)maxmaxbytes;
S32 w2 = (S32)(frac2 * (F32)barw);
left = x + w + 1; right = x + w2;
top = y; bottom = y - texth;
LLColor4 tcolor = *mtv_display_table[i].color;
tcolor.setAlpha(.5f);
gl_rect_2d(left, top, right, bottom, tcolor);
y -= (texth + 2);
}
#endif
LLView::draw();
}
示例2: draw
//.........这里部分代码省略.........
!mImagep->mIsFetching ? LAST_STATE+5 :
mImagep->mFetchState;
state = llclamp(state,0,fetch_state_desc_size-1);
LLFontGL::sMonospace->renderUTF8(fetch_state_desc[state].desc, 0, title_x2, getRect().getHeight(),
fetch_state_desc[state].color,
LLFontGL::LEFT, LLFontGL::TOP);
LLGLSNoTexture gls_no_texture;
// Draw the progress bar.
S32 bar_width = 100;
S32 bar_left = 280;
left = bar_left;
right = left + bar_width;
gGL.color4f(0.f, 0.f, 0.f, 0.75f);
gl_rect_2d(left, top, right, bottom);
F32 data_progress = mImagep->mDownloadProgress;
if (data_progress > 0.0f)
{
// Downloaded bytes
right = left + llfloor(data_progress * (F32)bar_width);
if (right > left)
{
gGL.color4f(0.f, 0.f, 1.f, 0.75f);
gl_rect_2d(left, top, right, bottom);
}
}
S32 pip_width = 6;
S32 pip_space = 14;
S32 pip_x = title_x3 + pip_space/2;
// Draw the packet pip
F32 last_event = mImagep->mLastPacketTimer.getElapsedTimeF32();
if (last_event < 1.f)
{
clr = LLColor4::white;
}
else
{
last_event = mImagep->mRequestDeltaTime;
if (last_event < 1.f)
{
clr = LLColor4::green;
}
else
{
last_event = mImagep->mFetchDeltaTime;
if (last_event < 1.f)
{
clr = LLColor4::yellow;
}
}
}
if (last_event < 1.f)
{
clr.setAlpha(1.f - last_event);
gGL.color4fv(clr.mV);
gl_rect_2d(pip_x, top, pip_x + pip_width, bottom);
}
pip_x += pip_width + pip_space;
// we don't want to show bind/resident pips for textures using the default texture
if (mImagep->getHasGLTexture())
{
// Draw the bound pip
last_event = mImagep->sLastFrameTime - mImagep->mLastBindTime;
if (last_event < 1.f)
{
clr = mImagep->getMissed() ? LLColor4::red : LLColor4::magenta1;
clr.setAlpha(1.f - last_event);
gGL.color4fv(clr.mV);
gl_rect_2d(pip_x, top, pip_x + pip_width, bottom);
}
}
pip_x += pip_width + pip_space;
{
LLGLSUIDefault gls_ui;
// draw the packet data
// {
// std::string num_str = llformat("%3d/%3d", mImagep->mLastPacket+1, mImagep->mPackets);
// LLFontGL::sMonospace->renderUTF8(num_str, 0, bar_left + 100, getRect().getHeight(), color,
// LLFontGL::LEFT, LLFontGL::TOP);
// }
// draw the image size at the end
{
std::string num_str = llformat("%3dx%3d (%d) %7d", mImagep->getWidth(), mImagep->getHeight(),
mImagep->getDiscardLevel(), mImagep->mTextureMemory);
LLFontGL::sMonospace->renderUTF8(num_str, 0, title_x4, getRect().getHeight(), color,
LLFontGL::LEFT, LLFontGL::TOP);
}
}
}