This commit is contained in:
Glenn Maynard
2007-02-09 04:33:15 +00:00
parent 7c5dbab999
commit 6cbc0577e9
+13 -22
View File
@@ -37,6 +37,8 @@ void StreamDisplay::Load(
m_quadMask.SetBlendMode( BLEND_NO_EFFECT ); m_quadMask.SetBlendMode( BLEND_NO_EFFECT );
m_quadMask.SetZWrite( true ); m_quadMask.SetZWrite( true );
m_quadMask.ZoomToWidth( m_fMeterWidth );
m_quadMask.ZoomToHeight( m_fMeterHeight );
RString sGraphicPath; RString sGraphicPath;
RageTextureID ID; RageTextureID ID;
@@ -242,38 +244,27 @@ void StreamDisplay::DrawStrip( float fRightEdgePercent, float fStripWidthInPerce
void StreamDisplay::DrawMask( float fPercent ) void StreamDisplay::DrawMask( float fPercent )
{ {
RectF rect;
int iChamber; int iChamber;
float fChamberOverflowPercent; float fChamberOverflowPercent;
GetChamberIndexAndOverflow( fPercent, iChamber, fChamberOverflowPercent ); GetChamberIndexAndOverflow( fPercent, iChamber, fChamberOverflowPercent );
float fRightPercent = GetRightEdgePercent( iChamber, fChamberOverflowPercent );
// draw mask for vertical chambers
float fHeightPercent = GetHeightPercent( iChamber, fChamberOverflowPercent ); float fHeightPercent = GetHeightPercent( iChamber, fChamberOverflowPercent );
float fChamberLeftPercent = GetChamberLeftPercent( iChamber ); float fChamberLeftPercent = GetChamberLeftPercent( iChamber );
float fChamberRightPercent = GetChamberRightPercent( iChamber ); float fChamberRightPercent = GetChamberRightPercent( iChamber );
m_quadMask.SetCropLeft( fChamberLeftPercent );
// draw mask for vertical chambers m_quadMask.SetCropRight( 1-fChamberRightPercent );
rect.left = -m_fMeterWidth/2 + fChamberLeftPercent*m_fMeterWidth-1; m_quadMask.SetCropTop( 0 );
rect.top = -m_fMeterHeight/2; m_quadMask.SetCropBottom( 1-fHeightPercent );
rect.right = -m_fMeterWidth/2 + fChamberRightPercent*m_fMeterWidth+1;
rect.bottom = -m_fMeterHeight/2 + fHeightPercent*m_fMeterHeight;
rect.left = min( rect.left, + m_fMeterWidth/2 );
rect.right = min( rect.right, + m_fMeterWidth/2 );
m_quadMask.StretchTo( rect );
m_quadMask.Draw(); m_quadMask.Draw();
// draw mask for horizontal chambers // draw mask for horizontal chambers
rect.left = -m_fMeterWidth/2 + fRightPercent*m_fMeterWidth; float fRightPercent = GetRightEdgePercent( iChamber, fChamberOverflowPercent );
rect.top = -m_fMeterHeight/2; m_quadMask.SetCropLeft( fRightPercent );
rect.right = +m_fMeterWidth/2; m_quadMask.SetCropRight( 0 );
rect.bottom = +m_fMeterHeight/2; m_quadMask.SetCropTop( 0 );
m_quadMask.SetCropBottom( 0 );
rect.left = min( rect.left, + m_fMeterWidth/2 );
rect.right = min( rect.right, + m_fMeterWidth/2 );
m_quadMask.StretchTo( rect );
m_quadMask.Draw(); m_quadMask.Draw();
} }