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