mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/shared] Change rendering of interactive zoom in graph view
Change-Id: If18fd9d9b46d473b5f5e16be646a328f66e1e9d9
This commit is contained in:
@@ -93,14 +93,12 @@ CurveView * ZoomParameterController::ContentView::curveView() {
|
||||
/* Legend View */
|
||||
|
||||
ZoomParameterController::ContentView::LegendView::LegendView() :
|
||||
m_legends{MessageTextView(KDText::FontSize::Small, I18n::Message::TopCapital, 0.0f, 0.5f, KDColorBlack, Palette::GreyBright),
|
||||
MessageTextView(KDText::FontSize::Small, I18n::Message::LeftCapital, 0.0f, 0.5f, KDColorBlack, Palette::GreyBright),
|
||||
MessageTextView(KDText::FontSize::Small, I18n::Message::ZoomCapital, 0.5f, 0.5f, KDColorBlack, Palette::GreyBright),
|
||||
MessageTextView(KDText::FontSize::Small, I18n::Message::BottomCapital, 1.0f, 0.5f, KDColorBlack, Palette::GreyBright),
|
||||
MessageTextView(KDText::FontSize::Small, I18n::Message::RightCapital, 1.0f, 0.5f, KDColorBlack, Palette::GreyBright)},
|
||||
m_legendPictograms{KeyView(KeyView::Type::Up), KeyView(KeyView::Type::Left),
|
||||
KeyView(KeyView::Type::Plus), KeyView(KeyView::Type::Minus),
|
||||
KeyView(KeyView::Type::Down), KeyView(KeyView::Type::Right)}
|
||||
m_legends{MessageTextView(KDText::FontSize::Small, I18n::Message::Move, 1.0f, 0.5f, KDColorBlack, Palette::GreyBright),
|
||||
MessageTextView(KDText::FontSize::Small, I18n::Message::ToZoom, 1.0f, 0.5f, KDColorBlack, Palette::GreyBright),
|
||||
MessageTextView(KDText::FontSize::Small, I18n::Message::Or, 0.5f, 0.5f, KDColorBlack, Palette::GreyBright)},
|
||||
m_legendPictograms{KeyView(KeyView::Type::Up), KeyView(KeyView::Type::Down),
|
||||
KeyView(KeyView::Type::Left), KeyView(KeyView::Type::Right),
|
||||
KeyView(KeyView::Type::Plus), KeyView(KeyView::Type::Minus)}
|
||||
{
|
||||
}
|
||||
|
||||
@@ -109,31 +107,35 @@ void ZoomParameterController::ContentView::LegendView::drawRect(KDContext * ctx,
|
||||
}
|
||||
|
||||
int ZoomParameterController::ContentView::LegendView::numberOfSubviews() const {
|
||||
return 2*k_numberOfLegends-1;
|
||||
return k_numberOfLegends+k_numberOfTokens;
|
||||
}
|
||||
|
||||
View * ZoomParameterController::ContentView::LegendView::subviewAtIndex(int index) {
|
||||
assert(index >= 0 && index < 2*k_numberOfLegends);
|
||||
if (index < k_numberOfLegends-1) {
|
||||
assert(index >= 0 && index < k_numberOfTokens+k_numberOfLegends);
|
||||
if (index < k_numberOfLegends) {
|
||||
return &m_legends[index];
|
||||
}
|
||||
return &m_legendPictograms[index-k_numberOfLegends+1];
|
||||
return &m_legendPictograms[index-k_numberOfLegends];
|
||||
}
|
||||
|
||||
void ZoomParameterController::ContentView::LegendView::layoutSubviews() {
|
||||
KDCoordinate width = bounds().width();
|
||||
KDCoordinate height = bounds().height();
|
||||
for (int row = 0; row < 2; row++) {
|
||||
m_legends[row].setFrame(KDRect(k_tokenWidth, row*height/2, width/3 - k_tokenWidth, height/2));
|
||||
m_legends[3+row].setFrame(KDRect(2*width/3, row*height/2, width/3 - k_tokenWidth, height/2));
|
||||
KDCoordinate xOrigin = 0;
|
||||
KDCoordinate legendWidth = m_legends[0].minimalSizeForOptimalDisplay().width();
|
||||
m_legends[0].setFrame(KDRect(xOrigin, 0, legendWidth, height));
|
||||
xOrigin += legendWidth;
|
||||
for (int i = 0; i < k_numberOfTokens - 2; i++) {
|
||||
m_legendPictograms[i].setFrame(KDRect(xOrigin, 0, k_tokenWidth, height));
|
||||
xOrigin += k_tokenWidth;
|
||||
}
|
||||
m_legends[2].setFrame(KDRect(width/3, 0, width/3, height));
|
||||
for (int row = 0; row < 2; row++) {
|
||||
m_legendPictograms[row].setFrame(KDRect(0, row*height/2, k_tokenWidth, height/2));
|
||||
m_legendPictograms[4+row].setFrame(KDRect(width-k_tokenWidth, row*height/2, k_tokenWidth, height/2));
|
||||
xOrigin = bounds().width()/2;
|
||||
for (int i = 1; i < k_numberOfLegends; i++) {
|
||||
KDCoordinate legendWidth = m_legends[i].minimalSizeForOptimalDisplay().width();
|
||||
m_legends[i].setFrame(KDRect(xOrigin, 0, legendWidth, height));
|
||||
xOrigin += legendWidth;
|
||||
m_legendPictograms[k_numberOfTokens - 3 + i].setFrame(KDRect(xOrigin, 0, k_tokenWidth, height));
|
||||
xOrigin += k_tokenWidth;
|
||||
}
|
||||
m_legendPictograms[2].setFrame(KDRect(width/3, 0, k_tokenWidth, height));
|
||||
m_legendPictograms[3].setFrame(KDRect(2*width/3-k_tokenWidth, 0, k_tokenWidth, height));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user