本文整理汇总了C++中BRect::LeftBottom方法的典型用法代码示例。如果您正苦于以下问题:C++ BRect::LeftBottom方法的具体用法?C++ BRect::LeftBottom怎么用?C++ BRect::LeftBottom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BRect
的用法示例。
在下文中一共展示了BRect::LeftBottom方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Draw
void BarView :: Draw( BRect r )
{
r = Bounds() ;
BeginLineArray( 4 ) ;
AddLine( r.LeftTop() ,
( fOrientation == B_VERTICAL ? r.LeftBottom() : r.RightTop() ) ,
Colours::Grey40 ) ;
AddLine( r.RightBottom() ,
( fOrientation == B_VERTICAL ? r.RightTop() : r.LeftBottom() ) ,
Colours::Grey40 ) ;
if( fOrientation == B_VERTICAL )
r.InsetBy(1,0) ;
else
r.InsetBy(0,1) ;
AddLine( r.LeftTop() ,
( fOrientation == B_VERTICAL ? r.LeftBottom() : r.RightTop() ) ,
Colours::White ) ;
AddLine( r.RightBottom() ,
( fOrientation == B_VERTICAL ? r.RightTop() : r.LeftBottom() ) ,
Colours::Grey25 ) ;
EndLineArray() ;
}
示例2: BRect
void
ToolBar::AddButton(BString const& label, BString const& iconName, BMessage* msg)
{
fButton.push_back(label);
fButtonIconName.push_back(iconName);
fButtonIcon.push_back(Tools::LoadBitmap(iconName, fIconWidth));
fButtonMsg.push_back(msg);
BRect rect = BRect(0, 0, StringWidth(label) + fButtonMargin.left +
fButtonMargin.right, fFontHeight.ascent + 2 * fFontHeight.descent +
fButtonMargin.top + fButtonMargin.bottom);
if (fButtonIcon.back() != NULL)
rect.right += fIconWidth;
if (fButtonBounds.empty() == false)
rect.OffsetBy(fButtonBounds.back().RightTop() +
BPoint(fSpacing, 0));
else
rect.OffsetBy(fMargin.LeftTop());
fButtonBounds.push_back(rect);
fIconOffset.push_back(rect.LeftTop() +
BPoint(fButtonMargin.left, (rect.Height() - fIconWidth) / 2));
if (fButtonIcon.back() != NULL)
fTxtOffset.push_back(rect.LeftBottom() + BPoint(fButtonMargin.left +
fIconWidth + fIconSpace, -fButtonMargin.bottom - fFontHeight.descent));
else
fTxtOffset.push_back(rect.LeftBottom() + BPoint(fButtonMargin.left,
-fButtonMargin.bottom - fFontHeight.descent));
}
示例3: if
void
BScrollView::Draw(BRect updateRect)
{
if (fBorder == B_PLAIN_BORDER) {
SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), B_DARKEN_2_TINT));
StrokeRect(Bounds());
return;
} else if (fBorder != B_FANCY_BORDER)
return;
BRect bounds = Bounds();
SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), B_DARKEN_2_TINT));
StrokeRect(bounds.InsetByCopy(1, 1));
if (fHighlighted) {
SetHighColor(ui_color(B_NAVIGATION_BASE_COLOR));
StrokeRect(bounds);
} else {
SetHighColor(tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), B_DARKEN_1_TINT));
StrokeLine(bounds.LeftBottom(), bounds.LeftTop());
bounds.left++;
StrokeLine(bounds.LeftTop(), bounds.RightTop());
SetHighColor(ui_color(B_SHINE_COLOR));
StrokeLine(bounds.LeftBottom(), bounds.RightBottom());
bounds.top++;
bounds.bottom--;
StrokeLine(bounds.RightBottom(), bounds.RightTop());
}
}
示例4: Draw
void HDlogView::Draw(BRect update)
{
BView::Draw(update);
if (fLines.size() > 0)
{
vector<BRect>::iterator ri;
BeginLineArray(fLines.size() * 2);
for (ri = fLines.begin(); ri != fLines.end(); ri++)
{
BRect r = *ri;
if (r.Width() > r.Height())
{
AddLine(r.LeftTop(), r.RightTop(), tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), B_DARKEN_1_TINT));
AddLine(r.LeftBottom(), r.RightBottom(), kWhite);
}
else
{
AddLine(r.LeftTop(), r.LeftBottom(), tint_color(ui_color(B_PANEL_BACKGROUND_COLOR), B_DARKEN_1_TINT));
AddLine(r.RightTop(), r.RightBottom(), kWhite);
}
}
EndLineArray();
}
} /* HDlogView::Draw */
示例5: frame
void
Leaves::StartConfig(BView* view)
{
BRect bounds = view->Bounds();
bounds.InsetBy(10, 10);
BRect frame(0, 0, bounds.Width(), 20);
fDropRateSlider = new BSlider(frame, "drop rate",
B_TRANSLATE("Drop rate:"), new BMessage(MSG_SET_DROP_RATE),
kMinimumDropRate, kMaximumDropRate, B_BLOCK_THUMB,
B_FOLLOW_LEFT_RIGHT | B_FOLLOW_BOTTOM);
fDropRateSlider->SetValue(fDropRate);
fDropRateSlider->ResizeToPreferred();
bounds.bottom -= fDropRateSlider->Bounds().Height() * 1.5;
fDropRateSlider->MoveTo(bounds.LeftBottom());
view->AddChild(fDropRateSlider);
fLeafSizeSlider = new BSlider(frame, "leaf size",
B_TRANSLATE("Leaf size:"), new BMessage(MSG_SET_LEAF_SIZE),
kMinimumLeafSize, kMaximumLeafSize, B_BLOCK_THUMB,
B_FOLLOW_LEFT_RIGHT | B_FOLLOW_BOTTOM);
fLeafSizeSlider->SetValue(fLeafSize);
fLeafSizeSlider->ResizeToPreferred();
bounds.bottom -= fLeafSizeSlider->Bounds().Height() * 1.5;
fLeafSizeSlider->MoveTo(bounds.LeftBottom());
view->AddChild(fLeafSizeSlider);
fSizeVariationSlider = new BSlider(frame, "variation",
B_TRANSLATE("Size variation:"), new BMessage(MSG_SET_SIZE_VARIATION),
0, kMaximumSizeVariation, B_BLOCK_THUMB,
B_FOLLOW_LEFT_RIGHT | B_FOLLOW_BOTTOM);
fSizeVariationSlider->SetValue(fSizeVariation);
fSizeVariationSlider->ResizeToPreferred();
bounds.bottom -= fSizeVariationSlider->Bounds().Height() * 1.5;
fSizeVariationSlider->MoveTo(bounds.LeftBottom());
view->AddChild(fSizeVariationSlider);
BTextView* textView = new BTextView(bounds, B_EMPTY_STRING,
bounds.OffsetToCopy(0., 0.), B_FOLLOW_ALL, B_WILL_DRAW);
textView->SetViewColor(view->ViewColor());
BString name = B_TRANSLATE("Leaves");
BString text = name;
text << "\n\n";
text << B_TRANSLATE("by Deyan Genovski, Geoffry Song");
text << "\n\n";
textView->Insert(text.String());
textView->SetStylable(true);
textView->SetFontAndColor(0, name.Length(), be_bold_font);
textView->MakeEditable(false);
view->AddChild(textView);
BWindow* window = view->Window();
if (window) window->AddHandler(this);
fDropRateSlider->SetTarget(this);
fLeafSizeSlider->SetTarget(this);
fSizeVariationSlider->SetTarget(this);
}
示例6: ViewColor
void
AppGroupView::Draw(BRect updateRect)
{
rgb_color menuColor = ViewColor();
BRect bounds = Bounds();
rgb_color hilite = tint_color(menuColor, B_DARKEN_1_TINT);
rgb_color vlight = tint_color(menuColor, B_LIGHTEN_2_TINT);
bounds.bottom = bounds.top + kHeaderSize;
// Draw the header background
SetHighColor(tint_color(menuColor, 1.22));
SetLowColor(ui_color(B_PANEL_BACKGROUND_COLOR));
StrokeLine(bounds.LeftTop(), bounds.LeftBottom());
uint32 borders = BControlLook::B_TOP_BORDER
| BControlLook::B_BOTTOM_BORDER | BControlLook::B_RIGHT_BORDER;
be_control_look->DrawButtonBackground(this, bounds, bounds, menuColor,
0, borders);
// Draw the buttons
fCollapseRect.top = (kHeaderSize - kExpandSize) / 2;
fCollapseRect.left = kEdgePadding * 2;
fCollapseRect.right = fCollapseRect.left + 1.5 * kExpandSize;
fCollapseRect.bottom = fCollapseRect.top + kExpandSize;
fCloseRect = bounds;
fCloseRect.top = (kHeaderSize - kExpandSize) / 2;
fCloseRect.right -= kEdgePadding * 2;
fCloseRect.left = fCloseRect.right - kCloseSize;
fCloseRect.bottom = fCloseRect.top + kCloseSize;
uint32 arrowDirection = fCollapsed
? BControlLook::B_DOWN_ARROW : BControlLook::B_UP_ARROW;
be_control_look->DrawArrowShape(this, fCollapseRect, fCollapseRect,
LowColor(), arrowDirection, 0, B_DARKEN_3_TINT);
SetPenSize(kPenSize);
// Draw the dismiss widget
BRect closeCross = fCloseRect;
closeCross.InsetBy(kSmallPadding, kSmallPadding);
rgb_color detailCol = ui_color(B_CONTROL_BORDER_COLOR);
detailCol = tint_color(detailCol, B_LIGHTEN_2_TINT);
StrokeRoundRect(fCloseRect, kSmallPadding, kSmallPadding);
StrokeLine(closeCross.LeftTop(), closeCross.RightBottom());
StrokeLine(closeCross.RightTop(), closeCross.LeftBottom());
// Draw the label
SetHighColor(ui_color(B_PANEL_TEXT_COLOR));
BString label = fLabel;
if (fCollapsed)
label << " (" << fInfo.size() << ")";
SetFont(be_bold_font);
DrawString(label.String(), BPoint(fCollapseRect.right + 2 * kEdgePadding,
fCloseRect.bottom));
}
示例7: Draw
/*------------------------------------------------------------------------------*\
( )
-
\*------------------------------------------------------------------------------*/
void BmCaption::Draw( BRect updateRect) {
BRect r = Bounds();
if (mHighlight) {
if (BeamOnDano)
SetLowColor( keyboard_navigation_color());
else {
rgb_color highlightCol = {255, 217, 121, 255};
SetLowColor( highlightCol);
}
}
else
SetLowColor( ui_color( B_PANEL_BACKGROUND_COLOR));
#ifndef __HAIKU__
FillRect( r.InsetByCopy(1.0, 1.0), B_SOLID_LOW);
#else
FillRect( BRect(r.top + 1, r.left + 1, r.right, r.bottom - 1), B_SOLID_LOW);
#endif
SetHighColor( ui_color( B_SHINE_COLOR));
StrokeLine( BPoint(0.0,1.0), BPoint(r.right,1.0));
StrokeLine( BPoint(0.0,1.0), r.LeftBottom());
SetHighColor( BmWeakenColor( B_SHADOW_COLOR, BeShadowMod));
if (BeamOnDano)
StrokeLine( r.RightTop(), r.RightBottom());
#ifndef __HAIKU__
else
// looks better on R5, as it blends with scrollbar:
StrokeLine( r.RightTop(), r.RightBottom(), B_SOLID_LOW);
#endif
StrokeLine( r.LeftTop(), r.RightTop());
StrokeLine( r.LeftBottom(), r.RightBottom());
SetHighColor( ui_color( B_PANEL_TEXT_COLOR));
font_height fInfo;
BFont captionFont;
GetFont(&captionFont);
captionFont.GetHeight( &fInfo);
float offset = (1.0f+r.Height()-(fInfo.ascent+fInfo.descent))/2.0f;
float freeWidth = r.Width();
if (mHighlight && mHighlightLabel.Length()) {
freeWidth -= StringWidth(mHighlightLabel.String())+2;
BPoint pos( 2.0, fInfo.ascent+offset);
DrawString( mHighlightLabel.String(), pos);
}
const char* text = mText.String();
float width;
while(1) {
width = StringWidth(text);
if (width+4.0 < freeWidth)
break;
text++;
while((*text & 0xc0) == 0x80)
text++; // skip UTF8 subsequence chars
if (!*text)
break;
}
BPoint pos( r.Width()-width-2.0f, fInfo.ascent+offset);
DrawString( text, pos);
}
示例8: Draw
void Mover::Draw(BRect rect)
{
/* BRect r = Bounds();
r.top+=1;
r.left+=1;
r.right-=1;
r.bottom-=1;
SetHighColor(192,192,192);
FillRect(r);
r=Bounds();
SetHighColor(255,255,255);
StrokeLine(r.LeftBottom(),r.LeftTop());
StrokeLine(r.LeftTop(),r.RightTop());
SetHighColor(168,168,168);
StrokeLine(r.RightTop(),r.RightBottom());
StrokeLine(r.RightBottom(),r.LeftBottom());
SetHighColor(208,208,208);
StrokeLine(r.LeftBottom(),r.LeftBottom());
StrokeLine(r.RightTop(),r.RightTop());
*/
BRect r = Bounds();
SetHighColor(152,152,152);
if (vertical)
{
StrokeLine(r.LeftTop(),r.LeftBottom());
StrokeLine(r.RightTop()+BPoint(-1,0),r.RightBottom()+BPoint(-1,0));
StrokeLine(r.RightTop(),r.RightBottom());
}
else
{
StrokeLine(r.LeftTop(),r.RightTop());
StrokeLine(r.LeftBottom()+BPoint(0,-1),r.RightBottom()+BPoint(0,-1));
StrokeLine(r.LeftBottom(),r.RightBottom());
}
SetHighColor(255,255,255);
if (vertical)
StrokeLine(r.LeftTop()+BPoint(1,0),r.LeftBottom()+BPoint(1,0));
else
StrokeLine(r.LeftTop()+BPoint(0,1),r.RightTop()+BPoint(0,1));
SetHighColor(232,232,232);
if (vertical)
StrokeLine(r.RightTop()+BPoint(-2,0),r.RightBottom()+BPoint(-2,0));
else
StrokeLine(r.LeftBottom()+BPoint(0,-2),r.RightBottom()+BPoint(0,-2));
}
示例9:
void
_MediaSlider_::UpdateThumb(
bool force)
{
fBitmap->Lock();
BRect bounds = fOffscreenView->Bounds();
bounds.left += 2.0;
bounds.right -= kThumbWidth + 3.0;
BRect thumbRect = fThumbRect;
thumbRect.OffsetTo(bounds.left + (bounds.right * ((float)fCurTime / (float)fTotalTime)), thumbRect.top);
if ((!force) && (thumbRect == fThumbRect)) {
fBitmap->Unlock();
return;
}
fOffscreenView->SetLowColor(kSliderBackgroundColor);
fOffscreenView->FillRect(fThumbRect, B_SOLID_LOW);
BRect drawRect = fThumbRect | thumbRect;
fThumbRect = thumbRect;
fOffscreenView->SetHighColor(kBlack);
fOffscreenView->StrokeRect(thumbRect, B_SOLID_HIGH);
thumbRect.InsetBy(1.0, 1.0);
fOffscreenView->BeginLineArray(4);
fOffscreenView->AddLine(thumbRect.RightTop(), thumbRect.RightBottom(), kThumbDarkColor);
fOffscreenView->AddLine(thumbRect.RightBottom(), thumbRect.LeftBottom(), kThumbDarkColor);
fOffscreenView->AddLine(thumbRect.LeftBottom(), thumbRect.LeftTop(), kThumbLightColor);
fOffscreenView->AddLine(thumbRect.LeftTop(), thumbRect.RightTop(), kThumbLightColor);
fOffscreenView->EndLineArray();
thumbRect.InsetBy(1.0, 1.0);
fOffscreenView->SetHighColor(kThumbBackgroundColor);
fOffscreenView->FillRect(thumbRect, B_SOLID_HIGH);
fOffscreenView->Sync();
fBitmap->Unlock();
BPoint drawLoc(0.0, (Bounds().Height() - kSliderHeight) / 2);
BRect dstRect = drawRect;
dstRect.OffsetBy(drawLoc);
DrawBitmap(fBitmap, drawRect, dstRect);
}
示例10: Bounds
void
_MediaBar_::Draw(
BRect updateRect)
{
BRect bounds = Bounds();
rgb_color viewColor = ViewColor();
rgb_color light = {255, 255, 255, 255};
rgb_color dark = tint_color(viewColor, B_DARKEN_3_TINT);
BeginLineArray(4);
AddLine(bounds.RightTop(), bounds.RightBottom(), dark);
AddLine(bounds.RightBottom(), bounds.LeftBottom(), dark);
AddLine(bounds.LeftBottom(), bounds.LeftTop(), light);
AddLine(bounds.LeftTop(), bounds.RightTop(), light);
EndLineArray();
}
示例11: DrawItem
void CMessageItem::DrawItem(BView *owner, BRect bounds, bool /*complete*/)
{
if (IsSelected())
owner->SetLowColor(gColor[kColorSelection]);
else
owner->SetLowColor(gColor[kColorLow]);
owner->FillRect(bounds, B_SOLID_LOW);
owner->SetHighColor(gColor[kColorText]);
font_height fi;
be_plain_font->GetHeight(&fi);
owner->SetFont(be_plain_font);
BBitmap bm(BRect(0, 0, 11, 11), B_COLOR_8_BIT);
switch (fKind)
{
case msgInfo: bm.SetBits(fInfoIcon, 144, 0, B_COLOR_8_BIT); break;
case msgWarning: bm.SetBits(fWarningIcon, 144, 0, B_COLOR_8_BIT); break;
case msgError: bm.SetBits(fErrorIcon, 144, 0, B_COLOR_8_BIT); break;
}
owner->SetDrawingMode(B_OP_OVER);
owner->DrawBitmap(&bm, BPoint(bounds.left + 1, bounds.top + 1));
owner->SetDrawingMode(B_OP_COPY);
owner->DrawString(fMsg, BPoint(bounds.left + 15, bounds.bottom - 1 - fi.descent));
owner->StrokeLine(bounds.LeftBottom(), bounds.RightBottom(), B_MIXED_COLORS);
} // CMessageItem::DrawItem
示例12:
// SetOrigin
void
DragCornerState::SetOrigin(BPoint origin)
{
fOldTransform = *fParent;
fOldTransform.InverseTransform(&origin);
BRect box = fParent->Box();
switch (fCorner) {
case LEFT_TOP_CORNER:
fOffsetFromCorner = origin - box.LeftTop();
break;
case RIGHT_TOP_CORNER:
fOffsetFromCorner = origin - box.RightTop();
break;
case LEFT_BOTTOM_CORNER:
fOffsetFromCorner = origin - box.LeftBottom();
break;
case RIGHT_BOTTOM_CORNER:
fOffsetFromCorner = origin - box.RightBottom();
break;
}
DragState::SetOrigin(origin);
}
示例13: Draw
void DropView::Draw(BRect update)
{
BRect bounds = Bounds();
//draw our bevel
// top and left edges
SetHighColor(150,150,150,255); // dark grey
StrokeLine(bounds.LeftTop(), bounds.RightTop());
StrokeLine(bounds.LeftTop(), bounds.LeftBottom());
// bottom and right edges
SetHighColor(250,250,250,255); // lightest grey
StrokeLine(bounds.RightBottom(), BPoint(bounds.right, bounds.top - 1.0));
StrokeLine(bounds.RightBottom(), BPoint(bounds.left - 1.0, bounds.bottom));
// draw our highlight, or don't
if (drawHighlight)
{
SetHighColor(highlightColor);
StrokeRect(highlightRect);
}
// draw our icon
if (hasOccupant)
{
SetDrawingMode(B_OP_OVER);
DrawBitmap(iconBitmap, BPoint(3.0, 3.0));
}
else
DrawBitmap(iconBitmapDark, BPoint(3.0, 3.0));
}
示例14: buttonRect
void
AppGroupView::_DrawCloseButton(const BRect& updateRect)
{
PushState();
BRect closeRect = fCloseRect;
rgb_color base = ui_color(B_PANEL_BACKGROUND_COLOR);
float tint = B_DARKEN_2_TINT;
if (fCloseClicked) {
BRect buttonRect(closeRect.InsetByCopy(-4, -4));
be_control_look->DrawButtonFrame(this, buttonRect, updateRect,
base, base,
BControlLook::B_ACTIVATED | BControlLook::B_BLEND_FRAME);
be_control_look->DrawButtonBackground(this, buttonRect, updateRect,
base, BControlLook::B_ACTIVATED);
tint *= 1.2;
closeRect.OffsetBy(1, 1);
}
base = tint_color(base, tint);
SetHighColor(base);
SetPenSize(2);
StrokeLine(closeRect.LeftTop(), closeRect.RightBottom());
StrokeLine(closeRect.LeftBottom(), closeRect.RightTop());
PopState();
}
示例15: DrawItem
void NetListItem::DrawItem(BView *owner, BRect itemRect, bool drawEverything = false)
{
rgb_color bgColor = {255, 255, 255, 255};
switch(fType)
{
case INFO_EVENT:
bgColor.blue = 220;
break;
case DATA_RECEIVED_EVENT:
bgColor.red = 128;
bgColor.green = 128;
break;
case DATA_SENT_EVENT:
bgColor.green = 128;
bgColor.blue = 128;
break;
default:
bgColor = ui_color(B_PANEL_BACKGROUND_COLOR);
break;
}
owner->SetHighColor(bgColor);
owner->FillRect(itemRect);
rgb_color tintedColor = tint_color(bgColor, B_DARKEN_2_TINT);
owner->SetHighColor(tintedColor);
owner->StrokeLine(itemRect.LeftBottom(), itemRect.RightBottom());
owner->StrokeLine(itemRect.RightTop(), itemRect.RightBottom());
tintedColor = tint_color(bgColor, B_LIGHTEN_2_TINT);
owner->SetHighColor(tintedColor);
owner->StrokeLine(itemRect.LeftTop(), itemRect.RightTop());
owner->StrokeLine(itemRect.LeftTop(), itemRect.LeftBottom());
owner->SetLowColor(bgColor);
owner->SetHighColor(0, 0, 0, 255);
BPoint stringPos = itemRect.LeftTop();
stringPos.x += 4;
stringPos.y += fFontAscent + 2;
for(int lineNum = 0; fStartChar[lineNum] > -1; lineNum++)
{
owner->DrawString(&fText[fStartChar[lineNum]], fLineLen[lineNum], stringPos);
stringPos.y += fLineHeight;
}
}