void Bitmap::BreakLines() { int fullWidth = BM_FULL_WIDTH; int currentWidth = 0; MathCell* tmp = m_tree; while (tmp != NULL) { if (!tmp->m_isBroken) { tmp->BreakLine(false); tmp->ResetData(); if (tmp->BreakLineHere() || (currentWidth + tmp->GetWidth() >= fullWidth)) { currentWidth = tmp->GetWidth(); tmp->BreakLine(true); } else currentWidth += (tmp->GetWidth() + MC_CELL_SKIP); } tmp = tmp->m_nextToDraw; } }
void GroupCell::BreakLines(MathCell *cell, int fullWidth) { int currentWidth = m_indent; MathCell *tmp = cell; while (tmp != NULL && !m_hide) { tmp->ResetData(); tmp->BreakLine(false); if (!tmp->m_isBroken) { if (tmp->BreakLineHere() || (currentWidth + tmp->GetWidth() >= fullWidth)) { currentWidth = m_indent + tmp->GetWidth(); tmp->BreakLine(true); } else currentWidth += (tmp->GetWidth() + MC_CELL_SKIP); } tmp = tmp->m_nextToDraw; } }