code enhancement

Changes to be committed:
	modified:   src/ltui/label.lua
	modified:   src/ltui/textedit.lua
This commit is contained in:
laelnasan
2020-12-05 11:58:19 -03:00
parent 17045d8631
commit 96f1aa0cdf
2 changed files with 7 additions and 6 deletions

View File

@@ -129,7 +129,7 @@ function label:splitext(text, width)
while #line > width do
local size = 0
for i = 1, #line do
if line:byte(i) < 0x80 or line:byte(i) >= 0xc0 then
if (line:byte(i) & 0xc0) ~= 0x80 then
size = size + 1
if size > width then
table.insert(result, line:sub(1, i - 1))

View File

@@ -77,7 +77,7 @@ function textedit:on_event(e)
-- update text
if e.type == event.ev_keyboard then
if e.key_code > 0x1f and e.key_code < 0x100 then
if e.key_code > 0x1f and e.key_code < 0x100 then
self:text_set(self:text() .. string.char(e.key_code))
return true
elseif e.key_name == "Enter" and self:option("multiline") then
@@ -86,11 +86,12 @@ function textedit:on_event(e)
elseif e.key_name == "Backspace" then
local text = self:text()
if #text > 0 then
local ch_size = -1
while text:byte(ch_size) > 0x7f and text:byte(ch_size) < 0xc0 do
ch_size = ch_size - 1
local size = 1
-- while continuation byte
while (text:byte(#text - size) & 0xc0) == 0x80 do
size = size + 1
end
self:text_set(text:sub(1, #text + ch_size))
self:text_set(text:sub(1, #text - size))
end
return true
elseif e.key_name == "CtrlV" then