mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2024-12-25 14:36:13 +01:00
49 lines
No EOL
732 B
Text
49 lines
No EOL
732 B
Text
function draw_text_cut(x, y, str, w) {
|
|
draw_text(x, y, string_cut(str, w));
|
|
}
|
|
|
|
function string_cut(str, w, tail = "...") {
|
|
var ww = 0;
|
|
var ind = 1;
|
|
var ss = "";
|
|
var tw = string_width(tail);
|
|
if(string_width(str) <= w) return str;
|
|
|
|
while(ind <= string_length(str)) {
|
|
var ch = string_char_at(str, ind);
|
|
var _w = string_width(ch);
|
|
|
|
if(ww + _w + tw >= w) {
|
|
ss += tail;
|
|
break;
|
|
} else
|
|
ss += ch;
|
|
|
|
ww += _w;
|
|
|
|
ind++;
|
|
}
|
|
|
|
return ss;
|
|
}
|
|
|
|
function string_cut_line(str, w) {
|
|
var i = 1;
|
|
var ss = "";
|
|
var ww = 0;
|
|
|
|
while(i <= string_length(str) ) {
|
|
var _chr = string_char_at(str, i);
|
|
ss += _chr;
|
|
|
|
ww += string_width(_chr);
|
|
if(ww > w) {
|
|
ww = 0;
|
|
ss += "\n";
|
|
}
|
|
|
|
i++;
|
|
}
|
|
|
|
return ss;
|
|
} |