本文整理汇总了C++中BFont::SetFalseBoldWidth方法的典型用法代码示例。如果您正苦于以下问题:C++ BFont::SetFalseBoldWidth方法的具体用法?C++ BFont::SetFalseBoldWidth怎么用?C++ BFont::SetFalseBoldWidth使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BFont
的用法示例。
在下文中一共展示了BFont::SetFalseBoldWidth方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Read
status_t
CanvasMessage::ReadFontState(BFont& font)
{
uint8 encoding, spacing;
uint16 face;
uint32 flags, familyAndStyle;
font_direction direction;
float falseBoldWidth, rotation, shear, size;
Read(direction);
Read(encoding);
Read(flags);
Read(spacing);
Read(shear);
Read(rotation);
Read(falseBoldWidth);
Read(size);
Read(face);
status_t result = Read(familyAndStyle);
if (result != B_OK)
return result;
font.SetFamilyAndStyle(familyAndStyle);
font.SetEncoding(encoding);
font.SetFlags(flags);
font.SetSpacing(spacing);
font.SetShear(shear);
font.SetRotation(rotation);
font.SetFalseBoldWidth(falseBoldWidth);
font.SetSize(size);
font.SetFace(face);
return B_OK;
}
示例2: if
void
BTextWidget::Draw(BRect eraseRect, BRect textRect, float, BPoseView *view,
BView *drawView, bool selected, uint32 clipboardMode, BPoint offset, bool direct)
{
textRect.OffsetBy(offset);
if (direct) {
#ifdef __HAIKU__
// draw selection box if selected
if (selected) {
#else
// erase area we're going to draw in
// NOTE: WidgetTextOutline() is reused for
// erasing background on R5 here
if (view->WidgetTextOutline() || selected) {
#endif
drawView->SetDrawingMode(B_OP_COPY);
eraseRect.OffsetBy(offset);
// drawView->FillRect(eraseRect, B_SOLID_LOW);
drawView->FillRect(textRect, B_SOLID_LOW);
} else
drawView->SetDrawingMode(B_OP_OVER);
// set high color
rgb_color highColor;
if (view->IsDesktopWindow()) {
if (selected)
highColor = kWhite;
else
highColor = view->DeskTextColor();
} else if (selected && view->Window()->IsActive()) {
highColor = kWhite;
} else
highColor = kBlack;
if (clipboardMode == kMoveSelectionTo && !selected) {
drawView->SetDrawingMode(B_OP_ALPHA);
drawView->SetBlendingMode(B_PIXEL_ALPHA, B_ALPHA_OVERLAY);
highColor.alpha = 64;
}
drawView->SetHighColor(highColor);
}
BPoint loc;
loc.y = textRect.bottom - view->FontInfo().descent;
loc.x = textRect.left + 1;
const char* fittingText = fText->FittingText(view);
#ifdef __HAIKU__
// TODO: Comparing view and drawView here to avoid rendering
// the text outline when producing a drag bitmap. The check is
// not fully correct, since an offscreen view is also used in some
// other rare cases (something to do with columns). But for now, this
// fixes the broken drag bitmaps when dragging icons from the Desktop.
if (!selected && view == drawView && view->WidgetTextOutline()) {
// draw a halo around the text by using the "false bold"
// feature for text rendering. Either black or white is used for
// the glow (whatever acts as contrast) with a some alpha value,
drawView->SetDrawingMode(B_OP_ALPHA);
drawView->SetBlendingMode(B_CONSTANT_ALPHA, B_ALPHA_OVERLAY);
BFont font;
drawView->GetFont(&font);
rgb_color textColor = drawView->HighColor();
if (textColor.red + textColor.green + textColor.blue < 128 * 3) {
// dark text on light outline
rgb_color glowColor = kWhite;
font.SetFalseBoldWidth(2.0);
drawView->SetFont(&font, B_FONT_FALSE_BOLD_WIDTH);
glowColor.alpha = 30;
drawView->SetHighColor(glowColor);
drawView->DrawString(fittingText, loc);
font.SetFalseBoldWidth(1.0);
drawView->SetFont(&font, B_FONT_FALSE_BOLD_WIDTH);
glowColor.alpha = 65;
drawView->SetHighColor(glowColor);
drawView->DrawString(fittingText, loc);
font.SetFalseBoldWidth(0.0);
drawView->SetFont(&font, B_FONT_FALSE_BOLD_WIDTH);
} else {
// light text on dark outline
rgb_color outlineColor = kBlack;
font.SetFalseBoldWidth(1.0);
drawView->SetFont(&font, B_FONT_FALSE_BOLD_WIDTH);
outlineColor.alpha = 30;
drawView->SetHighColor(outlineColor);
drawView->DrawString(fittingText, loc);
font.SetFalseBoldWidth(0.0);
drawView->SetFont(&font, B_FONT_FALSE_BOLD_WIDTH);
//.........这里部分代码省略.........
示例3: backgroundFrame
void
ActivityView::Draw(BRect updateRect)
{
bool drawBackground = true;
if (Parent() && (Parent()->Flags() & B_DRAW_ON_CHILDREN) != 0)
drawBackground = false;
_DrawHistory(drawBackground);
if (!fShowLegend)
return;
// draw legend
BRect legendFrame = _LegendFrame();
SetLowColor(fLegendBackgroundColor);
if (drawBackground) {
BRect backgroundFrame(legendFrame);
backgroundFrame.bottom += kDraggerSize;
FillRect(backgroundFrame, B_SOLID_LOW);
}
BAutolock _(fSourcesLock);
font_height fontHeight;
GetFontHeight(&fontHeight);
for (int32 i = 0; i < fSources.CountItems(); i++) {
DataSource* source = fSources.ItemAt(i);
DataHistory* values = fValues.ItemAt(i);
BRect frame = _LegendFrameAt(legendFrame, i);
// draw color box
BRect colorBox = _LegendColorFrameAt(legendFrame, i);
BRect rect = colorBox;
uint32 flags = BControlLook::B_BLEND_FRAME;
be_control_look->DrawTextControlBorder(this, rect,
rect, fLegendBackgroundColor, flags);
SetHighColor(source->Color());
FillRect(rect);
// show current value and label
float y = frame.top + ceilf(fontHeight.ascent);
int64 value = values->ValueAt(values->End());
BString text;
source->Print(text, value);
float width = StringWidth(text.String());
BString label = source->Label();
float possibleLabelWidth = frame.right - colorBox.right - 12 - width;
// TODO: TruncateString() is broken... remove + 5 when fixed!
if (ceilf(StringWidth(label.String()) + 5) > possibleLabelWidth)
label = source->ShortLabel();
TruncateString(&label, B_TRUNCATE_MIDDLE, possibleLabelWidth);
if (drawBackground)
SetHighColor(ui_color(B_CONTROL_TEXT_COLOR));
else {
rgb_color c = Parent()->ViewColor();
rgb_color textColor = c.red + c.green * 1.5f + c.blue * 0.50f
>= 300 ? kBlack : kWhite;
int32 mask;
bool tmpOutline = false;
bool outline = fCachedOutline;
int8 indice = 0;
if (fCachedWorkspace != current_workspace()) {
while (fBackgroundInfo.FindInt32("be:bgndimginfoworkspaces",
indice, &mask) == B_OK
&& fBackgroundInfo.FindBool("be:bgndimginfoerasetext",
indice, &tmpOutline) == B_OK) {
if (((1 << current_workspace()) & mask) != 0) {
outline = tmpOutline;
fCachedWorkspace = current_workspace();
fCachedOutline = outline;
break;
}
indice++;
}
}
if (outline) {
SetDrawingMode(B_OP_ALPHA);
SetBlendingMode(B_CONSTANT_ALPHA, B_ALPHA_OVERLAY);
BFont font;
GetFont(&font);
if (textColor == kBlack) {
// Black text with white halo/glow
rgb_color glowColor = kWhite;
font.SetFalseBoldWidth(2.0);
SetFont(&font, B_FONT_FALSE_BOLD_WIDTH);
glowColor.alpha = 30;
SetHighColor(glowColor);
DrawString(label.String(), BPoint(6 + colorBox.right, y));
DrawString(text.String(), BPoint(frame.right - width, y));
font.SetFalseBoldWidth(1.0);
//.........这里部分代码省略.........