add bgcolor/fgcolor for TextWidget

pull/122/head
chrox 11 years ago
parent 2a72ae03c2
commit e947c9b4b2

@ -8,7 +8,8 @@ A TextWidget puts a string on a single line
TextWidget = Widget:new{
text = nil,
face = nil,
color = 15,
bgcolor = 0.0, -- [0.0, 1.0]
fgcolor = 1.0, -- [0.0, 1.0]
_bb = nil,
_length = 0,
_height = 0,
@ -44,7 +45,8 @@ function TextWidget:paintTo(bb, x, y)
--end
--bb:blitFrom(self._bb, x, y, 0, 0, self._length, self._bb:getHeight())
--@TODO Don't use kerning for monospaced fonts. (houqp)
renderUtf8Text(bb, x, y+self._height*0.7, self.face, self.text, true)
renderUtf8Text(bb, x, y+self._height*0.7, self.face, self.text,
true, self.bgcolor, self.fgcolor)
end
function TextWidget:free()
@ -60,7 +62,8 @@ A TextWidget that handles long text wrapping
TextBoxWidget = Widget:new{
text = nil,
face = nil,
color = 15,
bgcolor = 0.0, -- [0.0, 1.0]
fgcolor = 1.0, -- [0.0, 1.0]
width = 400, -- in pixels
line_height = 0.3, -- in em
v_list = nil,
@ -124,7 +127,8 @@ function TextBoxWidget:_render()
for _,w in ipairs(l) do
--@TODO Don't use kerning for monospaced fonts. (houqp)
-- refert to cb25029dddc42693cc7aaefbe47e9bd3b7e1a750 in master tree
renderUtf8Text(self._bb, pen_x, y*0.8, self.face, w.word, true)
renderUtf8Text(self._bb, pen_x, y*0.8, self.face, w.word,
true, self.bgcolor, self.fgcolor)
local is_ascii = not w.word:match("[%z\194-\244][\128-\191]*")
pen_x = pen_x + w.width + (is_ascii and space_w or 0)
end
@ -176,7 +180,6 @@ function FixedTextWidget:getSize()
end
function FixedTextWidget:paintTo(bb, x, y)
renderUtf8Text(bb, x, y+self._height, self.face, self.text, true)
renderUtf8Text(bb, x, y+self._height, self.face, self.text,
true, self.bgcolor, self.fgcolor)
end

Loading…
Cancel
Save