heres a function I did. You can draw aligned text with it:
SuperStrict
Rem
The Draw Al Text Function :: Can be used just like drawtext
EndRem
Function DrawAlText(text$, x#, y#, w# = 0, h# = 0, xAl# = 0, yAl# = 0, xoff# = 0, yoff# = 0)
Local tx#, ty#
Select xAl
Case 0
tx = x + xoff
Case 1
tx = (x + (w / 2)) - (TextWidth(text) / 2) + xoff
Case 2
tx = (w - TextWidth(text)) + xoff
End Select
Select yAl
Case 0
ty = y + yoff
Case 1
ty = (y + (h / 2)) - (TextHeight(text) / 2) + yoff
Case 2
ty = (y + (h - TextHeight(text))) + yoff
End Select
DrawText text, tx, ty
End Function
Rem
===========================================================================
D E M O
===========================================================================
EndRem
Graphics 800 , 600
Global curXAl#, curYAl#
While Not KeyDown(KEY_ESCAPE)
Cls
If KeyHit(KEY_RIGHT) Then curXAl:+ 1; If curXAl > 2 Then curXAl = 0
If KeyHit(KEY_LEFT) Then curXAl:- 1; If curXAl < 0 Then curXAl = 2
If KeyHit(KEY_DOWN) Then curYAl:+ 1; If curYAl > 2 Then curYAl = 0
If KeyHit(KEY_UP) Then curYAl:- 1; If curYAl < 0 Then curYAl = 2
DrawAlText("Hello" , 0 , 0 , 800 , 600 , curXAl , curYAl , 0)
Select curXAl
Case 0
DrawAlText("X :: Left" , 10 , 10)
Case 1
DrawAlText("X :: Center" , 10 , 10)
Case 2
DrawAlText("X :: Right" , 10 , 10)
End Select
Select curYAl
Case 0
DrawAlText("Y :: Top" , 10 , 20)
Case 1
DrawAlText("Y :: Center" , 10 , 20)
Case 2
DrawAlText("Y :: Bottom" , 10 , 20)
End Select
Flip
Wend