FlattenPictureTest: aestethic changes.
Add a header with the columns description. Style fixes Change-Id: I14b66dd1c9cfff13ad8ba3ff1907dcb0696593f8
This commit is contained in:
parent
54333f5172
commit
ae09eb30c5
@ -21,6 +21,7 @@
|
||||
#include "PictureTestWindow.h"
|
||||
#include "TestResultItem.h"
|
||||
|
||||
|
||||
PictureTestWindow::PictureTestWindow()
|
||||
: Inherited(BRect(10, 30, 630, 470), "Bitmap Drawing Tests", B_DOCUMENT_WINDOW, 0)
|
||||
, fFailedTests(0)
|
||||
@ -61,7 +62,7 @@ void PictureTestWindow::BuildGUI()
|
||||
|
||||
BRect b = Bounds();
|
||||
b.top = mb->Bounds().bottom + 1;
|
||||
|
||||
|
||||
fHeader = new BStringView(b, "header",
|
||||
"X", B_FOLLOW_LEFT | B_FOLLOW_RIGHT | B_FOLLOW_TOP);
|
||||
float width, height;
|
||||
@ -69,7 +70,7 @@ void PictureTestWindow::BuildGUI()
|
||||
fHeader->ResizeTo(b.Width(), height);
|
||||
backdrop->AddChild(fHeader);
|
||||
b.top = fHeader->Frame().bottom + 1;
|
||||
|
||||
|
||||
b.right -= B_V_SCROLL_BAR_WIDTH;
|
||||
b.bottom -= B_H_SCROLL_BAR_HEIGHT;
|
||||
fListView = new BListView(b, "Results", B_SINGLE_SELECTION_LIST,
|
||||
@ -83,8 +84,8 @@ void PictureTestWindow::BuildGUI()
|
||||
void
|
||||
PictureTestWindow::UpdateHeader()
|
||||
{
|
||||
BString text("Direct Drawing, Picture Drawing, Restored Picture Drawing, Test Name, Error Message");
|
||||
text << " (failures = " << fFailedTests << ", tests =" << fNumberOfTests << ")";
|
||||
BString text;
|
||||
text << "failures = " << fFailedTests << ", tests =" << fNumberOfTests;
|
||||
fHeader->SetText(text.String());
|
||||
}
|
||||
|
||||
@ -144,7 +145,7 @@ PictureTestWindow::RunTests(color_space *colorSpaces, int32 n)
|
||||
fListView->AddItem(new BStringItem(text.String()));
|
||||
RunTests(testIndex, colorSpaces, n);
|
||||
}
|
||||
|
||||
|
||||
UpdateHeader();
|
||||
}
|
||||
|
||||
@ -179,6 +180,10 @@ PictureTestWindow::RunTests(int32 testIndex, color_space *colorSpaces, int32 n)
|
||||
text += csText;
|
||||
fListView->AddItem(new BStringItem(text.String()));
|
||||
|
||||
BRect frame(0, 0, 100, 30);
|
||||
fListView->AddItem(new HeaderListItem("Direct Drawing", "Picture Drawing",
|
||||
"Restored Picture", "", "Test Name", "Error Message", frame));
|
||||
|
||||
RunTests(testIndex, colorSpace);
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
#include "TestResultItem.h"
|
||||
|
||||
const float distance = 5;
|
||||
const float kDistance = 5;
|
||||
|
||||
TestResultItem::TestResultItem(const char* name, BRect bitmapSize)
|
||||
: fName(name)
|
||||
@ -39,12 +39,10 @@ TestResultItem::DrawItem(BView *owner, BRect itemRect, bool drawEverthing)
|
||||
if (IsSelected()) {
|
||||
rgb_color lowColor = owner->LowColor();
|
||||
owner->SetHighColor(tint_color(lowColor, B_DARKEN_2_TINT));
|
||||
}
|
||||
else if (fOk) {
|
||||
} else if (fOk) {
|
||||
// green background color on success
|
||||
owner->SetHighColor(200, 255, 200);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// red background color on failure
|
||||
owner->SetHighColor(255, 200, 200);
|
||||
}
|
||||
@ -57,23 +55,23 @@ TestResultItem::DrawItem(BView *owner, BRect itemRect, bool drawEverthing)
|
||||
if (fDirectBitmap != NULL) {
|
||||
owner->DrawBitmap(fDirectBitmap);
|
||||
}
|
||||
owner->MovePenBy(fBitmapSize.Width() + distance, 0);
|
||||
owner->MovePenBy(fBitmapSize.Width() + kDistance, 0);
|
||||
|
||||
if (fOriginalBitmap != NULL) {
|
||||
owner->DrawBitmap(fOriginalBitmap);
|
||||
}
|
||||
owner->MovePenBy(fBitmapSize.Width() + distance, 0);
|
||||
owner->MovePenBy(fBitmapSize.Width() + kDistance, 0);
|
||||
|
||||
if (fArchivedBitmap != NULL) {
|
||||
owner->DrawBitmap(fArchivedBitmap);
|
||||
}
|
||||
owner->MovePenBy(fBitmapSize.Width() + distance, 0);
|
||||
owner->MovePenBy(fBitmapSize.Width() + kDistance, 0);
|
||||
|
||||
owner->DrawBitmap(fDirectBitmap);
|
||||
owner->SetDrawingMode(B_OP_SUBTRACT);
|
||||
owner->DrawBitmap(fOriginalBitmap);
|
||||
|
||||
owner->MovePenBy(fBitmapSize.Width() + distance, 0);
|
||||
owner->MovePenBy(fBitmapSize.Width() + kDistance, 0);
|
||||
|
||||
owner->SetDrawingMode(B_OP_OVER);
|
||||
BFont font;
|
||||
@ -90,11 +88,12 @@ TestResultItem::DrawItem(BView *owner, BRect itemRect, bool drawEverthing)
|
||||
font.SetFace(B_ITALIC_FACE);
|
||||
owner->SetFont(&font);
|
||||
owner->SetHighColor(255, 0, 0);
|
||||
owner->MovePenBy(distance, 0);
|
||||
owner->MovePenBy(kDistance, 0);
|
||||
owner->DrawString(fErrorMessage.String());
|
||||
owner->PopState();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TestResultItem::Update(BView *owner, const BFont *font)
|
||||
{
|
||||
@ -103,18 +102,18 @@ TestResultItem::Update(BView *owner, const BFont *font)
|
||||
float height = 0.0;
|
||||
|
||||
width += font->StringWidth(fName.String());
|
||||
width += distance;
|
||||
width += kDistance;
|
||||
width += font->StringWidth(fErrorMessage.String());
|
||||
|
||||
width += 3 * distance;
|
||||
|
||||
width += 3 * kDistance;
|
||||
width += 3 * fBitmapSize.Width();
|
||||
|
||||
height = fBitmapSize.Height();
|
||||
|
||||
|
||||
// border of two pixels
|
||||
width += 4;
|
||||
height += 4;
|
||||
|
||||
|
||||
if (width > Width())
|
||||
SetWidth(width);
|
||||
|
||||
@ -122,3 +121,78 @@ TestResultItem::Update(BView *owner, const BFont *font)
|
||||
SetHeight(height);
|
||||
}
|
||||
|
||||
|
||||
// HeaderListItem
|
||||
HeaderListItem::HeaderListItem(const char* label1, const char* label2,
|
||||
const char* label3, const char* label4, const char* label5,
|
||||
const char* label6, BRect rect)
|
||||
:
|
||||
fRect(rect)
|
||||
{
|
||||
fLabels[0] = label1;
|
||||
fLabels[1] = label2;
|
||||
fLabels[2] = label3;
|
||||
fLabels[3] = label4;
|
||||
fLabels[4] = label5;
|
||||
fLabels[5] = label6;
|
||||
}
|
||||
|
||||
|
||||
/* virtual */
|
||||
void
|
||||
HeaderListItem::DrawItem(BView *owner, BRect itemRect, bool drawEverthing)
|
||||
{
|
||||
owner->SetDrawingMode(B_OP_COPY);
|
||||
|
||||
owner->PushState();
|
||||
if (IsSelected()) {
|
||||
rgb_color lowColor = owner->LowColor();
|
||||
owner->SetHighColor(tint_color(lowColor, B_DARKEN_2_TINT));
|
||||
owner->FillRect(itemRect);
|
||||
}
|
||||
|
||||
owner->PopState();
|
||||
|
||||
itemRect.InsetBy(0, 1);
|
||||
owner->StrokeRect(itemRect);
|
||||
|
||||
itemRect.InsetBy(1, 0);
|
||||
|
||||
owner->SetDrawingMode(B_OP_OVER);
|
||||
|
||||
BFont font;
|
||||
owner->GetFont(&font);
|
||||
float baseLine = itemRect.top + (itemRect.IntegerHeight() / 2 + font.Size() / 2);
|
||||
|
||||
for (int32 c = 0; c < sizeof(fLabels) / sizeof(fLabels[0]); c++) {
|
||||
owner->MovePenTo(itemRect.left + 1 + (fRect.Width() + kDistance) * c, baseLine);
|
||||
owner->DrawString(fLabels[c]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* virtual */
|
||||
void
|
||||
HeaderListItem::Update(BView *owner, const BFont *font)
|
||||
{
|
||||
BListItem::Update(owner, font);
|
||||
float width = 0.0;
|
||||
float height = 0.0;
|
||||
|
||||
for (int32 c = 0; c < sizeof(fLabels) / sizeof(fLabels[0]); c++) {
|
||||
width += font->StringWidth(fLabels[c].String());
|
||||
}
|
||||
|
||||
width += kDistance * (sizeof(fLabels) / sizeof(fLabels[0]) - 1);
|
||||
|
||||
height = fRect.Height();
|
||||
|
||||
// border of two pixels
|
||||
width += 4;
|
||||
height += 4;
|
||||
|
||||
if (width > Width())
|
||||
SetWidth(width);
|
||||
if (height > Height())
|
||||
SetHeight(height);
|
||||
}
|
||||
|
@ -39,4 +39,19 @@ private:
|
||||
BBitmap *fArchivedBitmap;
|
||||
};
|
||||
|
||||
|
||||
class HeaderListItem : public BListItem {
|
||||
public:
|
||||
HeaderListItem(const char* label1, const char* label2,
|
||||
const char* label3, const char* label4, const char* label5,
|
||||
const char* label6, BRect rect);
|
||||
virtual void DrawItem(BView *owner, BRect itemRect, bool drawEverthing);
|
||||
virtual void Update(BView *owner, const BFont *font);
|
||||
|
||||
private:
|
||||
BString fLabels[6];
|
||||
BRect fRect;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user