@@ -200,7 +200,6 @@ public float DrawText(SpriteBatch batch, float x, float y, StringSegment str)
200
200
float originX = 0.0f ;
201
201
float originY = 0.0f ;
202
202
203
-
204
203
originY += GetVertAlign ( font , Alignment , isize ) ;
205
204
for ( int i = 0 ; i < str . Length ; i += Char . IsSurrogatePair ( str . String , i + str . Location ) ? 2 : 1 )
206
205
{
@@ -211,12 +210,19 @@ public float DrawText(SpriteBatch batch, float x, float y, StringSegment str)
211
210
GetQuad ( font , prevGlyphIndex , glyph , scale , Spacing , ref originX ,
212
211
ref originY , & q ) ;
213
212
if ( _vertsNumber + 6 > 1024 )
213
+ {
214
214
Flush ( batch ) ;
215
+ }
216
+
217
+ q . X0 = ( int ) ( q . X0 * Scale . X ) ;
218
+ q . X1 = ( int ) ( q . X1 * Scale . X ) ;
219
+ q . Y0 = ( int ) ( q . Y0 * Scale . Y ) ;
220
+ q . Y1 = ( int ) ( q . Y1 * Scale . Y ) ;
215
221
216
- AddVertex ( new Rectangle ( ( int ) ( x + q . X0 * Scale . X ) ,
217
- ( int ) ( y + q . Y0 * Scale . Y ) ,
218
- ( int ) ( ( q . X1 - q . X0 ) * Scale . X ) ,
219
- ( int ) ( ( q . Y1 - q . Y0 ) * Scale . Y ) ) ,
222
+ AddVertex ( new Rectangle ( ( int ) ( x + q . X0 ) ,
223
+ ( int ) ( y + q . Y0 ) ,
224
+ ( int ) ( q . X1 - q . X0 ) ,
225
+ ( int ) ( q . Y1 - q . Y0 ) ) ,
220
226
new Rectangle ( ( int ) ( q . S0 * _params_ . Width ) ,
221
227
( int ) ( q . T0 * _params_ . Height ) ,
222
228
( int ) ( ( q . S1 - q . S0 ) * _params_ . Width ) ,
0 commit comments