diff --git a/stepmania/src/BitmapText.cpp b/stepmania/src/BitmapText.cpp index 56124739c9..ed3ddeeb4b 100644 --- a/stepmania/src/BitmapText.cpp +++ b/stepmania/src/BitmapText.cpp @@ -583,6 +583,24 @@ bool BitmapText::StringWillUseAlternate( const CString& sText, const CString& sA return true; } +void BitmapText::SetMaxLines( int iNumLines, int iDirection ) +{ + iNumLines = MAX( 0, iNumLines ); + iNumLines = MIN( m_wTextLines.size(), iNumLines ); + if ( iDirection == 0 ) + { + //Crop all bottom lines + m_wTextLines.resize( iNumLines ); + m_iLineWidths.resize( iNumLines ); + } + else + { + m_wTextLines.erase( m_wTextLines.begin(), m_wTextLines.end() - iNumLines ); + m_iLineWidths.erase( m_iLineWidths.begin(), m_iLineWidths.end() - iNumLines ); + } + BuildChars(); +} + void BitmapText::CropToWidth( int iMaxWidthInSourcePixels ) { iMaxWidthInSourcePixels = max( 0, iMaxWidthInSourcePixels ); diff --git a/stepmania/src/BitmapText.h b/stepmania/src/BitmapText.h index 989fc844eb..75f6518c93 100644 --- a/stepmania/src/BitmapText.h +++ b/stepmania/src/BitmapText.h @@ -45,6 +45,7 @@ public: void SetMaxWidth( float fMaxWidth ); void SetMaxHeight( float fMaxHeight ); void SetWrapWidthPixels( int iWrapWidthPixels ); + void SetMaxLines( int iNumLines, int iDirection = 0 ); //Direction: 0 for crop bottom, 1 for crop top void CropToWidth( int iWidthInSourcePixels );