本文整理汇总了C++中MultiColumnList::getVertScrollbar方法的典型用法代码示例。如果您正苦于以下问题:C++ MultiColumnList::getVertScrollbar方法的具体用法?C++ MultiColumnList::getVertScrollbar怎么用?C++ MultiColumnList::getVertScrollbar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MultiColumnList
的用法示例。
在下文中一共展示了MultiColumnList::getVertScrollbar方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getListRenderArea
Rectf FalagardMultiColumnList::getListRenderArea(void) const
{
MultiColumnList* w = (MultiColumnList*)d_window;
// get WidgetLookFeel for the assigned look.
const WidgetLookFeel& wlf = getLookNFeel();
bool v_visible = w->getVertScrollbar()->isVisible();
bool h_visible = w->getHorzScrollbar()->isVisible();
// if either of the scrollbars are visible, we might want to use another item rendering area
if (v_visible || h_visible)
{
String area_name("ItemRenderingArea");
if (h_visible)
{
area_name += "H";
}
if (v_visible)
{
area_name += "V";
}
area_name += "Scroll";
if (wlf.isNamedAreaDefined(area_name))
{
return wlf.getNamedArea(area_name).getArea().getPixelRect(*w);
}
}
// default to plain ItemRenderingArea
return wlf.getNamedArea("ItemRenderingArea").getArea().getPixelRect(*w);
}
示例2: render
void FalagardMultiColumnList::render()
{
MultiColumnList* w = (MultiColumnList*)d_window;
const ListHeader* header = w->getListHeader();
const Scrollbar* vertScrollbar = w->getVertScrollbar();
const Scrollbar* horzScrollbar = w->getHorzScrollbar();
// render general stuff before we handle the items
cacheListboxBaseImagery();
//
// Render list items
//
Vector3f itemPos;
Sizef itemSize;
Rectf itemClipper, itemRect;
// calculate position of area we have to render into
Rectf itemsArea(getListRenderArea());
// set up initial positional details for items
itemPos.d_y = itemsArea.top() - vertScrollbar->getScrollPosition();
itemPos.d_z = 0.0f;
const float alpha = w->getEffectiveAlpha();
// loop through the items
for (uint i = 0; i < w->getRowCount(); ++i)
{
// set initial x position for this row.
itemPos.d_x = itemsArea.left() - horzScrollbar->getScrollPosition();
// calculate height for this row.
itemSize.d_height = w->getHighestRowItemHeight(i);
// loop through the columns in this row
for (uint j = 0; j < w->getColumnCount(); ++j)
{
// allow item to use full width of the column
itemSize.d_width = CoordConverter::asAbsolute(header->getColumnWidth(j), header->getPixelSize().d_width);
ListboxItem* item = w->getItemAtGridReference(MCLGridRef(i,j));
// is the item for this column set?
if (item)
{
// calculate destination area for this item.
itemRect.left(itemPos.d_x);
itemRect.top(itemPos.d_y);
itemRect.setSize(itemSize);
itemClipper = itemRect.getIntersection(itemsArea);
// skip this item if totally clipped
if (itemClipper.getWidth() == 0)
{
itemPos.d_x += itemSize.d_width;
continue;
}
// draw this item
item->draw(w->getGeometryBuffer(), itemRect, alpha, &itemClipper);
}
// update position for next column.
itemPos.d_x += itemSize.d_width;
}
// update position ready for next row
itemPos.d_y += itemSize.d_height;
}
}