Spiralling text- rotated characters.

Demonstration of rotating text character orientation while plotting them along a path.


    nomainwin

    WindowWidth  =500
    WindowHeight =500

    open "test" for graphics_nsb as #mg

    #mg "trapclose [quit]"

    hw = hwnd( #mg)

    calldll #user32, "GetDC", hw as ulong, hdc as ulong

    t$ ="This just shows how versatile Liberty BASIC is. Thanks, Carl!"

    #mg "home ; fill darkblue ; color cyan ; backcolor darkblue"
    L =len( t$)

    for i =1 to L
        angle   =0 -10 *int( 360 *i /L)
        weight =600 +10 * i
        height =20 +int( i /2)
        calldll #gdi32, "SelectObject", hdc as ulong, hfont as ulong, oldhfont as ulong
        calldll #gdi32, "CreateFontA", height as long, 0 as long, angle as long, angle as long, weight as long, 0 as long, _
        0 as long, 0 as long, 0 as long, 0 as long, 0 as long, 0 as long, 0 as long, "Ubuntu" as ptr, hfont as ulong
        #mg "place "; 250 +( 150 +i) *sinR( 360 * i /L); " "; 250 -( 150 +i)  *cosR( 360 * i  /L)
        c =int( 100 +i /L *155)
        #mg "color "; c; " 160 "; 255 -c
        #mg "\"; mid$( t$, i, 1)
    next i

    wait

[quit]
    close #mg
    end

function sinR( th)
    sinR =sin( th *3.14159265 /180)
end function

function cosR( th)
    cosR =cos( th *3.14159265 /180)
end function