我有一个流程布局。在里面我有大约 900 张桌子。每张桌子都堆叠在一起。我有一个滑块可以调整它们的大小,从而导致流布局也调整大小。
问题是,表格应该线性调整大小。它们的基本尺寸为 200x200。所以当 scale = 1.0 时,表格的 w 和 h 为 200。
这是问题的一个例子:
我的问题是当 delta 是 8 而不是 9 时。我能做些什么来确保我的增长始终是线性的?
void LobbyTableManagaer::changeTableScale( double scale )
{
setTableScale(scale);
}
void LobbyTableManager::setTableScale( double scale )
{
scale += 0.3;
scale *= 2.0;
float scrollRel = m_vScroll->getRelativeValue();
setScale(scale);
rescaleTables();
resizeFlow();
...
double LobbyTableManager::getTableScale() const
{
return (getInnerWidth() / 700.0) * getScale();
}
void LobbyFilterManager::valueChanged( agui::Slider* source,int val )
{
if(source == m_magnifySlider)
{
DISPATCH_LOBBY_EVENT
{
(*it)->changeTableScale((double)val / source->getRange());
}
}
}
简而言之,我想确保表格总是线性增加。我不明白为什么每隔几次 delta 是 8 而不是 9。
谢谢