***** NOTE ***** Font Name slider now updates its position correctly when PREV and NEXT buttons are used.
Code: Select all
''
FontView 2 by rbytes
September 2017
View all of the fonts on your device
at any size you wish.
''
' hide the control menu
'#.scrview(#.normal)
x,y = #.scrsize()
z = 46
q = 0
base = 0
#.scrclear(.8,.8,.8)
#.drawcolor(0,0,1)
#.fillcolor(.8,.8,.8)
p = #.array(300)
e = "The Quick Brown Fox Jumps Over The Lazy Dog"
l = #.fontlist()
n = #.size(l,1)
'#.output(n)
#.drawsize(2)
#.drawrect(20,20,360,366)
t = #.textbox
> g, 1..n
d += g+": "+ l[g] + #.lf
<
t.width = 360
t.height = 346
t.text = d
t.x = 20
t.y = 20
t.multi = 1
#.show(t)
' create button template
h = #.button
h.height = 50
h.width = 100
h.y = 70
' create buttons from template
f,j,k = h
f.x = 600
j.x = 750
k.x = 900
f.text = "S T O P"
j.text = "P R E V"
k.text = "N E X T"
#.show(f,j,k)
' create sliders
sh,sv = #.slider ' font name slider and size slider
sh.x = 350
sh.y = 710
sh.size = 600
sv.x = 350
sv.y = 760
sv.value = 18
sv.size = 600
#.show(sh,sv)
#.drawtext(200,695,"FONT NAME")
#.drawtext(200,745,"FONT SIZE")
' show first font in list
#.drawrect(450,265,1200,365)
#.fontname(l[1])
#.fontsize(46)
#.drawtext(460,275,l[1])
#.drawtext(20,400+base,e)
'#.drawtext(20,420,e)
' show font reference number and point size
#.drawrect(450,205,1200,265)
#.fontsize(35)
#.fontname(#.default)
#.drawline(825,205,825,265)
#.drawtext(460,205,"Font Ref. #:")
#.drawtext(835,205,"Font Size:")
#.drawtext(685,205,q+1)
#.drawtext(1050,205,z)
' main program loop
>
? #.act(sh) ' font name slider
q = (sh.value*(n-1))/100
print <->
.
? #.act(sv) ' size slider
z = sv.value*2 + 10
print <->
''
#.fillrect(0,400,x,y-140)
#.fontsize(z)
e = "The Quick Brown Fox Jumps Over The Lazy Dog"
#.drawtext(20,400,e)
#.fontsize(35)
#.fillrect(1010,210,1198,260)
#.drawtext(1050,205,z)
''
.
? #.act(f) ' stop button
#.end()
.
? #.act(j) ' prev button
? q > 0
q -= 1
sh.value=(q*100)/(n-1)
print <->
.
.
? #.act(k) ' next button
? q < n -1
q += 1
sh.value=(q*100)/(n-1)
print <->
.
.
<
:print ' draw font subroutine
#.fillrect(452,267,1198,363)
#.fontsize(46)
#.fontname(l[q+1])
? l[q+1] = "Gabriola" & z > 120
base=-90
!
base=0
.
#.drawtext(460,275,l[q+1])
#.fillrect(0,390,x,y-120)
#.fontsize(z)
#.drawtext(20,400+base,e)
#.fillrect(670,210,820,260)
#.fillrect(1010,210,1198,260)
#.fontsize(35)
#.fontname(#.default)
#.drawtext(685,205,#.int(q+1))
#.drawtext(1050,205,z)
<-