本文整理汇总了C++中UIElement::GetSize方法的典型用法代码示例。如果您正苦于以下问题:C++ UIElement::GetSize方法的具体用法?C++ UIElement::GetSize怎么用?C++ UIElement::GetSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UIElement
的用法示例。
在下文中一共展示了UIElement::GetSize方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetBatches
void Window::GetBatches(PODVector<UIBatch>& batches, PODVector<float>& vertexData, const IntRect& currentScissor)
{
if (modal_)
{
// Modal shade
if (modalShadeColor_ != Color::TRANSPARENT)
{
UIElement* rootElement = GetRoot();
const IntVector2& rootSize = rootElement->GetSize();
UIBatch batch(rootElement, BLEND_ALPHA, IntRect(0, 0, rootSize.x_, rootSize.y_), 0, &vertexData);
batch.AddQuad(0, 0, rootSize.x_, rootSize.y_, 0, 0, 0, 0, modalShadeColor_);
UIBatch::AddOrMerge(batch, batches);
}
// Modal frame
if (modalFrameColor_ != Color::TRANSPARENT && modalFrameSize_ != IntVector2::ZERO)
{
UIBatch batch(this, BLEND_ALPHA, currentScissor, 0, &vertexData);
int x = GetIndentWidth();
IntVector2 size = GetSize();
size.x_ -= x;
batch.AddQuad(x - modalFrameSize_.x_, -modalFrameSize_.y_, size.x_ + 2 * modalFrameSize_.x_, size.y_ + 2 * modalFrameSize_.y_, 0, 0, 0, 0, modalFrameColor_);
UIBatch::AddOrMerge(batch, batches);
}
}
BorderImage::GetBatches(batches, vertexData, currentScissor);
}
示例2: HandleItemClicked
void DropDownList::HandleItemClicked(StringHash eventType, VariantMap& eventData)
{
// Resize the selection placeholder to match the selected item
UIElement* selectedItem = GetSelectedItem();
if (selectedItem)
placeholder_->SetSize(selectedItem->GetSize());
// Close and defocus the popup. This will actually send the selection forward
if (listView_->HasFocus())
GetSubsystem<UI>()->SetFocusElement(focusMode_ < FM_FOCUSABLE ? nullptr : this);
ShowPopup(false);
}
示例3: HandleItemSelected
void DropDownList::HandleItemSelected(StringHash eventType, VariantMap& eventData)
{
// Resize the selection placeholder to match the selected item
UIElement* selectedItem = GetSelectedItem();
if (selectedItem)
placeholder_->SetSize(selectedItem->GetSize());
// Close the popup as the selection was made
if (GetShowPopup())
ShowPopup(false);
// Send the event forward
using namespace ItemSelected;
VariantMap newEventData;
newEventData[P_ELEMENT] = (void*)this;
newEventData[P_SELECTION] = GetSelection();
SendEvent(E_ITEMSELECTED, newEventData);
}
示例4: OnShowPopup
void DropDownList::OnShowPopup()
{
// Resize the popup to match the size of the list content, and optionally match the button width
UIElement* content = listView_->GetContentElement();
content->UpdateLayout();
const IntVector2& contentSize = content->GetSize();
const IntRect& border = popup_->GetLayoutBorder();
popup_->SetSize(resizePopup_ ? GetWidth() : contentSize.x_ + border.left_ + border.right_, contentSize.y_ + border.top_ +
border.bottom_);
// Check if popup fits below the button. If not, show above instead
bool showAbove = false;
UIElement* root = GetRoot();
if (root)
{
const IntVector2& screenPos = GetScreenPosition();
if (screenPos.y_ + GetHeight() + popup_->GetHeight() > root->GetHeight() && screenPos.y_ - popup_->GetHeight() >= 0)
showAbove = true;
}
SetPopupOffset(0, showAbove ? -popup_->GetHeight() : GetHeight());
}