def draw
text=@textinput.text.slice(0,12)
if self.hasStickyFocus?
pos_x = @x + @theme.font.editable.text_width(@textinput.text[0...@textinput.caret_pos]) + TextPadding
sel_x = @x + @theme.font.editable.text_width(@textinput.text[0...@textinput.selection_start]) + TextPadding
@realwidth+=@theme.font.editable.text_width(text)
if pos_x > @realwidth
pos_x=@realwidth+1
sel_x=@realwidth+1
@textinput.text=text
end
@realwidth-=@theme.font.editable.text_width(text)
if @drawcursor < 18
$window.draw_line(pos_x, @y+@offsety, CaretColor, pos_x, @y+@theme.font.editable.height+@offsety, CaretColor, ZOrder::Text)
elsif @drawcursor > 36
@drawcursor=0
end
@drawcursor+=1
$window.draw_quad(sel_x, @y+@offsety, @theme.font.selcolor, pos_x, @y+@offsety, @theme.font.selcolor, sel_x, @y+@theme.font.editable.height+@offsety, @theme.font.selcolor, pos_x, @y+@theme.font.editable.height+@offsety, @theme.font.selcolor, ZOrder::Text-0.5)
end
@theme.font.editable.draw(text, @x+TextPadding, @y+@offsety, ZOrder::Text, 1, 1, @theme.font.color)
end