Better icon alignment, improve appearance of preview
This commit is contained in:
parent
f86f2a9997
commit
adf7a3c720
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,6 +12,7 @@ build/*
|
||||
stamps/*
|
||||
Saves/*
|
||||
generated/*
|
||||
generate
|
||||
Makefile.me
|
||||
PowderToypp.xcodeproj/*
|
||||
.DS_Store
|
||||
|
@ -599,6 +599,7 @@ void Graphics::textsize(const char * s, int & width, int & height)
|
||||
|
||||
void Graphics::draw_icon(int x, int y, Icon icon)
|
||||
{
|
||||
y--;
|
||||
switch(icon)
|
||||
{
|
||||
case IconOpen:
|
||||
|
@ -90,13 +90,13 @@ void Button::Draw(const Point& screenPos)
|
||||
{
|
||||
g->fillrect(Position.X+1, Position.Y+1, Size.X-2, Size.Y-2, Appearance.BackgroundActive.Red, Appearance.BackgroundActive.Green, Appearance.BackgroundActive.Blue, 255);
|
||||
g->drawrect(Position.X, Position.Y, Size.X, Size.Y, Appearance.BorderActive.Red, Appearance.BorderActive.Green, Appearance.BorderActive.Blue, 255);
|
||||
g->drawtext(Position.X+textPosition.X, Position.Y+textPosition.Y+1, buttonDisplayText, Appearance.TextActive.Red, Appearance.TextActive.Green, Appearance.TextActive.Blue, 255);
|
||||
g->drawtext(Position.X+textPosition.X, Position.Y+textPosition.Y, buttonDisplayText, Appearance.TextActive.Red, Appearance.TextActive.Green, Appearance.TextActive.Blue, 255);
|
||||
}
|
||||
else
|
||||
{
|
||||
g->fillrect(Position.X+1, Position.Y+1, Size.X-2, Size.Y-2, Appearance.BackgroundInactive.Red, Appearance.BackgroundInactive.Green, Appearance.BackgroundInactive.Blue, 255);
|
||||
g->drawrect(Position.X, Position.Y, Size.X, Size.Y, Appearance.BorderInactive.Red, Appearance.BorderInactive.Green, Appearance.BorderInactive.Blue, 255);
|
||||
g->drawtext(Position.X+textPosition.X, Position.Y+textPosition.Y+1, buttonDisplayText, Appearance.TextInactive.Red, Appearance.TextInactive.Green, Appearance.TextInactive.Blue, 255);
|
||||
g->drawtext(Position.X+textPosition.X, Position.Y+textPosition.Y, buttonDisplayText, Appearance.TextInactive.Red, Appearance.TextInactive.Green, Appearance.TextInactive.Blue, 255);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -44,7 +44,7 @@ PreviewView::PreviewView():
|
||||
}
|
||||
};
|
||||
|
||||
favButton = new ui::Button(ui::Point(51, Size.Y-19), ui::Point(51, 19), "Fav.");
|
||||
favButton = new ui::Button(ui::Point(50, Size.Y-19), ui::Point(51, 19), "Fav.");
|
||||
favButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; favButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
favButton->SetIcon(IconFavourite);
|
||||
favButton->SetActionCallback(new FavAction(this));
|
||||
@ -71,7 +71,7 @@ PreviewView::PreviewView():
|
||||
new TextPrompt("Report Save", "Reason for reporting", true, new ReportPromptCallback(v));
|
||||
}
|
||||
};
|
||||
reportButton = new ui::Button(ui::Point(102, Size.Y-19), ui::Point(51, 19), "Report");
|
||||
reportButton = new ui::Button(ui::Point(100, Size.Y-19), ui::Point(51, 19), "Report");
|
||||
reportButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; reportButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
reportButton->SetIcon(IconReport);
|
||||
reportButton->SetActionCallback(new ReportAction(this));
|
||||
@ -88,7 +88,7 @@ PreviewView::PreviewView():
|
||||
}
|
||||
};
|
||||
|
||||
browserOpenButton = new ui::Button(ui::Point((XRES/2)-108, Size.Y-19), ui::Point(108, 19), "Open in browser");
|
||||
browserOpenButton = new ui::Button(ui::Point((XRES/2)-107, Size.Y-19), ui::Point(108, 19), "Open in browser");
|
||||
browserOpenButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; browserOpenButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
browserOpenButton->SetIcon(IconOpen);
|
||||
browserOpenButton->SetActionCallback(new BrowserOpenAction(this));
|
||||
@ -121,22 +121,32 @@ void PreviewView::OnDraw()
|
||||
{
|
||||
g->draw_image(savePreview->Data, (Position.X+1)+(((XRES/2)-savePreview->Size.X)/2), (Position.Y+1)+(((YRES/2)-savePreview->Size.Y)/2), savePreview->Size.X, savePreview->Size.Y, 255);
|
||||
}
|
||||
g->drawrect(Position.X, Position.Y, XRES/2, YRES/2, 255, 255, 255, 100);
|
||||
g->draw_line(Position.X+XRES/2, Position.Y, Position.X+XRES/2, Position.Y+Size.Y, 255, 255, 255, XRES+BARSIZE);
|
||||
g->drawrect(Position.X, Position.Y, (XRES/2)+1, (YRES/2)+1, 255, 255, 255, 100);
|
||||
g->draw_line(Position.X+XRES/2, Position.Y+1, Position.X+XRES/2, Position.Y+Size.Y-2, 200, 200, 200, 255);
|
||||
|
||||
|
||||
g->draw_line(Position.X+1, Position.Y+10+YRES/2, Position.X-2+XRES/2, Position.Y+10+YRES/2, 100, 100, 100, XRES+BARSIZE);
|
||||
g->draw_line(Position.X+1, Position.Y+12+YRES/2, Position.X-1+XRES/2, Position.Y+12+YRES/2, 100, 100, 100,255);
|
||||
float factor;
|
||||
if(!votesUp && !votesDown)
|
||||
return;
|
||||
else
|
||||
factor = (float)(((float)(XRES/2)-2)/((float)(votesUp+votesDown)));
|
||||
g->fillrect(1+Position.X, 1+Position.Y+YRES/2, (XRES/2)-2, 8, 200, 50, 50, 255);
|
||||
g->fillrect(1+Position.X, 1+Position.Y+YRES/2, (int)(((float)votesUp)*factor), 8, 50, 200, 50, 255);
|
||||
g->fillrect(1+Position.X, 1+Position.Y+(YRES/2), 14, 8, 0, 0, 0, 100);
|
||||
g->fillrect(Position.X+(XRES/2)-15, 1+Position.Y+(YRES/2), 14, 8, 0, 0, 0, 100);
|
||||
g->draw_icon(1+Position.X+2, Position.Y+(YRES/2)+2, IconVoteUp);
|
||||
g->draw_icon(Position.X+(XRES/2)-12, Position.Y+(YRES/2)-1, IconVoteDown);
|
||||
g->fillrect(1+Position.X, 2+Position.Y+YRES/2, (XRES/2)-2, 9, 200, 50, 50, 255);
|
||||
g->fillrect(1+Position.X, 2+Position.Y+YRES/2, (int)(((float)votesUp)*factor), 9, 50, 200, 50, 255);
|
||||
g->fillrect(1+Position.X, 2+Position.Y+(YRES/2), 14, 9, 0, 0, 0, 100);
|
||||
g->fillrect(Position.X+(XRES/2)-15, 2+Position.Y+(YRES/2), 14, 9, 0, 0, 0, 100);
|
||||
g->draw_icon(1+Position.X+2, Position.Y+(YRES/2)+4, IconVoteUp);
|
||||
g->draw_icon(Position.X+(XRES/2)-12, Position.Y+(YRES/2)+1, IconVoteDown);
|
||||
|
||||
for(int i = 0; i < commentTextComponents.size(); i++)
|
||||
{
|
||||
g->draw_line(
|
||||
Position.X+XRES/2,
|
||||
Position.Y+commentTextComponents[i]->Position.Y+commentTextComponents[i]->Size.Y+4,
|
||||
Position.X+Size.X-1,
|
||||
Position.Y+commentTextComponents[i]->Position.Y+commentTextComponents[i]->Size.Y+4,
|
||||
100, 100, 100, 255);
|
||||
}
|
||||
}
|
||||
|
||||
void PreviewView::OnTick(float dt)
|
||||
@ -184,6 +194,7 @@ void PreviewView::NotifyCommentsChanged(PreviewModel * sender)
|
||||
delete commentComponents[i];
|
||||
}
|
||||
commentComponents.clear();
|
||||
commentTextComponents.clear();
|
||||
|
||||
int currentY = 0;
|
||||
ui::Label * tempUsername;
|
||||
@ -213,6 +224,7 @@ void PreviewView::NotifyCommentsChanged(PreviewModel * sender)
|
||||
AddComponent(tempComment);
|
||||
commentComponents.push_back(tempUsername);
|
||||
AddComponent(tempUsername);
|
||||
commentTextComponents.push_back(tempComment);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ class PreviewView: public ui::Window {
|
||||
ui::Label * authorDateLabel;
|
||||
ui::Textblock * saveDescriptionTextblock;
|
||||
std::vector<ui::Component*> commentComponents;
|
||||
std::vector<ui::Component*> commentTextComponents;
|
||||
int votesUp;
|
||||
int votesDown;
|
||||
public:
|
||||
|
@ -28,7 +28,7 @@ SearchView::SearchView():
|
||||
}
|
||||
};
|
||||
searchField = new ui::Textbox(ui::Point(60, 10), ui::Point((XRES+BARSIZE)-226, 16), "");
|
||||
searchField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; searchField->Appearance.VerticalAlign = ui::Appearance::AlignBottom;
|
||||
searchField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; searchField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
searchField->SetActionCallback(new SearchAction(this));
|
||||
|
||||
class SortAction : public ui::ButtonAction
|
||||
@ -43,7 +43,7 @@ SearchView::SearchView():
|
||||
};
|
||||
sortButton = new ui::Button(ui::Point(XRES+BARSIZE-140, 10), ui::Point(60, 16), "Sort");
|
||||
sortButton->SetActionCallback(new SortAction(this));
|
||||
sortButton->Appearance.HorizontalAlign = ui::Appearance::AlignCentre; sortButton->Appearance.VerticalAlign = ui::Appearance::AlignBottom;
|
||||
sortButton->Appearance.HorizontalAlign = ui::Appearance::AlignCentre; sortButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
AddComponent(sortButton);
|
||||
|
||||
class MyOwnAction : public ui::ButtonAction
|
||||
@ -61,7 +61,7 @@ SearchView::SearchView():
|
||||
ownButton->SetActionCallback(new MyOwnAction(this));
|
||||
if(!Client::Ref().GetAuthUser().ID)
|
||||
ownButton->Enabled = false;
|
||||
ownButton->Appearance.HorizontalAlign = ui::Appearance::AlignCentre; ownButton->Appearance.VerticalAlign = ui::Appearance::AlignBottom;
|
||||
ownButton->Appearance.HorizontalAlign = ui::Appearance::AlignCentre; ownButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
AddComponent(ownButton);
|
||||
|
||||
class FavAction : public ui::ButtonAction
|
||||
@ -80,7 +80,7 @@ SearchView::SearchView():
|
||||
favButton->SetActionCallback(new FavAction(this));
|
||||
if(!Client::Ref().GetAuthUser().ID)
|
||||
favButton->Enabled = false;
|
||||
favButton->Appearance.HorizontalAlign = ui::Appearance::AlignCentre; favButton->Appearance.VerticalAlign = ui::Appearance::AlignBottom;
|
||||
favButton->Appearance.HorizontalAlign = ui::Appearance::AlignCentre; favButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
AddComponent(favButton);
|
||||
|
||||
class NextPageAction : public ui::ButtonAction
|
||||
@ -94,7 +94,7 @@ SearchView::SearchView():
|
||||
}
|
||||
};
|
||||
nextButton->SetActionCallback(new NextPageAction(this));
|
||||
nextButton->Appearance.HorizontalAlign = ui::Appearance::AlignRight; nextButton->Appearance.VerticalAlign = ui::Appearance::AlignBottom;
|
||||
nextButton->Appearance.HorizontalAlign = ui::Appearance::AlignRight; nextButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
class PrevPageAction : public ui::ButtonAction
|
||||
{
|
||||
SearchView * v;
|
||||
@ -106,7 +106,7 @@ SearchView::SearchView():
|
||||
}
|
||||
};
|
||||
previousButton->SetActionCallback(new PrevPageAction(this));
|
||||
previousButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; previousButton->Appearance.VerticalAlign = ui::Appearance::AlignBottom;
|
||||
previousButton->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; previousButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
AddComponent(nextButton);
|
||||
AddComponent(previousButton);
|
||||
AddComponent(searchField);
|
||||
@ -116,7 +116,7 @@ SearchView::SearchView():
|
||||
AddComponent(loadingSpinner);
|
||||
|
||||
ui::Label * searchPrompt = new ui::Label(ui::Point(10, 10), ui::Point(50, 16), "Search:");
|
||||
searchPrompt->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; searchPrompt->Appearance.VerticalAlign = ui::Appearance::AlignBottom;
|
||||
searchPrompt->Appearance.HorizontalAlign = ui::Appearance::AlignLeft; searchPrompt->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
|
||||
AddComponent(searchPrompt);
|
||||
|
||||
class RemoveSelectedAction : public ui::ButtonAction
|
||||
|
Loading…
Reference in New Issue
Block a user