本文整理汇总了C++中BListItem::Width方法的典型用法代码示例。如果您正苦于以下问题:C++ BListItem::Width方法的具体用法?C++ BListItem::Width怎么用?C++ BListItem::Width使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BListItem
的用法示例。
在下文中一共展示了BListItem::Width方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ComputeDimens
void ArpOutlineListView::ComputeDimens(ArpDimens& cur_dimens)
{
float min_w=0, min_h=0;
float pref_w=0, pref_h=0;
int32 num = CountItems();
int32 max_num = 4;
for( int32 i=0; i<num; i++ ) {
BListItem* item = ItemAt(i);
if( item ) {
item->Update(this,BasicFont());
float w = item->Width();
float h = item->Height();
min_h = max(min_h,h);
pref_w = max(pref_w,w);
if( max_num > 0 ) pref_h += h;
max_num--;
}
}
pref_h+=2;
float fw = BasicFont()->StringWidth("WWWW");
font_height fhs;
BasicFont()->GetHeight(&fhs);
float fh = fhs.ascent+fhs.descent+fhs.leading;
min_w = max(min_w,fw);
min_h = max(min_h,fh);
pref_w = max(pref_w,min_w);
pref_h = max(pref_h,min_h);
cur_dimens.X().SetTo(0, min_w, pref_w, ArpAnySize, 0);
cur_dimens.Y().SetTo(0, min_h, pref_h, ArpAnySize, 0);
}
示例2:
void
MediaWindow::_UpdateListViewMinWidth()
{
float width = 0;
for (int32 i = 0; i < fListView->CountItems(); i++) {
BListItem* item = fListView->ItemAt(i);
width = max_c(width, item->Width());
}
fListView->SetExplicitMinSize(BSize(width, B_SIZE_UNSET));
fListView->InvalidateLayout();
}