commit
f9377566b9
|
|
@ -186,7 +186,7 @@ public:
|
|||
{
|
||||
mWStr = LLWString(1, emoji);
|
||||
mEmoji = emoji;
|
||||
mTitle = title;
|
||||
mTitle = utf8str_to_wstring(title);
|
||||
mBegin = begin;
|
||||
mEnd = end;
|
||||
}
|
||||
|
|
@ -204,9 +204,9 @@ public:
|
|||
drawIcon(centerX, centerY - 1, iconWidth);
|
||||
|
||||
static LLColor4 defaultColor(0.75f, 0.75f, 0.75f, 1.0f);
|
||||
LLColor4 textColor = LLUIColorTable::instance().getColor("MenuItemEnabledColor", defaultColor);
|
||||
static LLUIColor textColor = LLUIColorTable::instance().getColor("MenuItemEnabledColor", defaultColor);
|
||||
S32 max_pixels = clientWidth - iconWidth;
|
||||
drawName((F32)iconWidth, centerY, max_pixels, textColor);
|
||||
drawName((F32)iconWidth, centerY, max_pixels, textColor.get());
|
||||
}
|
||||
|
||||
protected:
|
||||
|
|
@ -226,16 +226,16 @@ protected:
|
|||
max_pixels); // max_pixels
|
||||
}
|
||||
|
||||
void drawName(F32 x, F32 y, S32 max_pixels, LLColor4& color)
|
||||
void drawName(F32 x, F32 y, S32 max_pixels, const LLColor4& color)
|
||||
{
|
||||
F32 x0 = x;
|
||||
F32 x1 = (F32)max_pixels;
|
||||
LLFontGL* font = LLFontGL::getFontEmojiLarge();
|
||||
if (mBegin)
|
||||
{
|
||||
std::string text = mTitle.substr(0, mBegin);
|
||||
font->renderUTF8(
|
||||
text, // text
|
||||
LLWString text = mTitle.substr(0, mBegin);
|
||||
font->render(
|
||||
text.c_str(), // text
|
||||
0, // begin_offset
|
||||
x0, // x
|
||||
y, // y
|
||||
|
|
@ -246,14 +246,14 @@ protected:
|
|||
LLFontGL::DROP_SHADOW_SOFT, // shadow
|
||||
static_cast<S32>(text.size()), // max_chars
|
||||
(S32)x1); // max_pixels
|
||||
F32 dx = font->getWidthF32(text);
|
||||
F32 dx = font->getWidthF32(text.c_str());
|
||||
x0 += dx;
|
||||
x1 -= dx;
|
||||
}
|
||||
if (x1 > 0 && mEnd > mBegin)
|
||||
{
|
||||
std::string text = mTitle.substr(mBegin, mEnd - mBegin);
|
||||
font->renderUTF8(
|
||||
LLWString text = mTitle.substr(mBegin, mEnd - mBegin);
|
||||
font->render(
|
||||
text, // text
|
||||
0, // begin_offset
|
||||
x0, // x
|
||||
|
|
@ -265,14 +265,14 @@ protected:
|
|||
LLFontGL::DROP_SHADOW_SOFT, // shadow
|
||||
static_cast<S32>(text.size()), // max_chars
|
||||
(S32)x1); // max_pixels
|
||||
F32 dx = font->getWidthF32(text);
|
||||
F32 dx = font->getWidthF32(text.c_str());
|
||||
x0 += dx;
|
||||
x1 -= dx;
|
||||
}
|
||||
if (x1 > 0 && mEnd < mTitle.size())
|
||||
{
|
||||
std::string text = mEnd ? mTitle.substr(mEnd) : mTitle;
|
||||
font->renderUTF8(
|
||||
LLWString text = mEnd ? mTitle.substr(mEnd) : mTitle;
|
||||
font->render(
|
||||
text, // text
|
||||
0, // begin_offset
|
||||
x0, // x
|
||||
|
|
@ -290,7 +290,7 @@ protected:
|
|||
private:
|
||||
llwchar mEmoji;
|
||||
LLWString mWStr;
|
||||
std::string mTitle;
|
||||
LLWString mTitle;
|
||||
size_t mBegin;
|
||||
size_t mEnd;
|
||||
};
|
||||
|
|
@ -429,6 +429,7 @@ void LLFloaterEmojiPicker::fillGroups()
|
|||
for (LLButton* button : mGroupButtons)
|
||||
{
|
||||
mGroups->removeChild(button);
|
||||
button->die();
|
||||
}
|
||||
mFilteredEmojiGroups.clear();
|
||||
mFilteredEmojis.clear();
|
||||
|
|
@ -442,6 +443,7 @@ void LLFloaterEmojiPicker::fillGroups()
|
|||
rect.mBottom = mBadge->getRect().getHeight();
|
||||
|
||||
// Create button for "All categories"
|
||||
params.name = "all_categories";
|
||||
createGroupButton(params, rect, ALL_EMOJIS_IMAGE_INDEX);
|
||||
|
||||
// Create group and button for "Recently used" and/or "Frequently used"
|
||||
|
|
@ -455,6 +457,7 @@ void LLFloaterEmojiPicker::fillGroups()
|
|||
{
|
||||
mFilteredEmojiGroups.push_back(USED_EMOJIS_GROUP_INDEX);
|
||||
mFilteredEmojis.emplace_back(cats);
|
||||
params.name = "used_categories";
|
||||
createGroupButton(params, rect, USED_EMOJIS_IMAGE_INDEX);
|
||||
}
|
||||
}
|
||||
|
|
@ -472,6 +475,7 @@ void LLFloaterEmojiPicker::fillGroups()
|
|||
{
|
||||
mFilteredEmojiGroups.push_back(i);
|
||||
mFilteredEmojis.emplace_back(cats);
|
||||
params.name = "group_" + std::to_string(i);
|
||||
createGroupButton(params, rect, groups[i].Character);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue