Commit 6e9da5ca588a2deae1cc5e9cd840eac32ca152b8

Authored by dg
1 parent 8b3e8abf

Added very slight shadow to most UI texts, making them more readable

Modules can enable text shadows on the UI by doing: require("engine.ui.Base"):setTextShadow(0.6)


git-svn-id: http://svn.net-core.org/repos/t-engine4@3324 51575b47-30f0-44d4-a5cc-537603b46e54
... ... @@ -153,3 +153,7 @@ function _M:drawFrame(f, x, y, r, g, b, a)
153 153 f.b9.t:toScreenFull(x + f.w - f.b9.w, y, f.b9.w, f.b9.h, f.b9.tw, f.b9.th, r, g, b, a)
154 154 f.b3.t:toScreenFull(x + f.w - f.b3.w, y + f.h - f.b3.h, f.b3.w, f.b3.h, f.b3.tw, f.b3.th, r, g, b, a)
155 155 end
  156 +
  157 +function _M:setTextShadow(v)
  158 + self.text_shadow = v
  159 +end
... ...
... ... @@ -74,10 +74,8 @@ function _M:display(x, y, nb_keyframes, ox, oy)
74 74 if self.focused then
75 75 if button == 1 and mx > ox and mx < ox+self.w and my > oy and my < oy+self.h then
76 76 self:drawFrame(self.frame, x, y, 0, 1, 0, 1)
77   - self.tex[1]:toScreenFull(x-frame_ox1, y-frame_oy1, self.rw, self.rh, self.tex[2], self.tex[3])
78 77 else
79 78 self:drawFrame(self.frame_sel, x, y)
80   - self.tex[1]:toScreenFull(x-frame_ox1, y-frame_oy1, self.rw, self.rh, self.tex[2], self.tex[3])
81 79 end
82 80 else
83 81 self:drawFrame(self.frame, x, y)
... ... @@ -86,6 +84,7 @@ function _M:display(x, y, nb_keyframes, ox, oy)
86 84 self.focus_decay = self.focus_decay - nb_keyframes
87 85 if self.focus_decay <= 0 then self.focus_decay = nil end
88 86 end
89   - self.tex[1]:toScreenFull(x-frame_ox1, y-frame_oy1, self.rw, self.rh, self.tex[2], self.tex[3])
90 87 end
  88 + if self.text_shadow then self.tex[1]:toScreenFull(x-frame_ox1+1, y-frame_oy1+1, self.rw, self.rh, self.tex[2], self.tex[3], 0, 0, 0, self.text_shadow) end
  89 + self.tex[1]:toScreenFull(x-frame_ox1, y-frame_oy1, self.rw, self.rh, self.tex[2], self.tex[3])
91 90 end
... ...
... ... @@ -69,6 +69,7 @@ function _M:select()
69 69 end
70 70
71 71 function _M:display(x, y, nb_keyframes)
  72 + if self.text_shadow then self.tex[1]:toScreenFull(x+1, y+1 + (self.h - self.title_h) / 2, self.title_w, self.title_h, self.tex[2], self.tex[3], 0, 0, 0, self.text_shadow) end
72 73 self.tex[1]:toScreenFull(x, y + (self.h - self.title_h) / 2, self.title_w, self.title_h, self.tex[2], self.tex[3])
73 74 if self.focused then
74 75 self.check.t:toScreenFull(x + self.title_w, y, self.check.w, self.check.h, self.check.tw, self.check.th)
... ...
... ... @@ -168,6 +168,7 @@ function _M:display(x, y, nb_keyframes)
168 168 if item.focus_decay <= 0 then item.focus_decay = nil end
169 169 end
170 170 end
  171 + if self.text_shadow then item._tex[1]:toScreenFull(x+1 + self.frame_sel.b4.w, y+1, self.fw, self.fh, item._tex[2], item._tex[3], 0, 0, 0, self.text_shadow) end
171 172 item._tex[1]:toScreenFull(x + self.frame_sel.b4.w, y, self.fw, self.fh, item._tex[2], item._tex[3])
172 173 y = y + self.fh
173 174 end
... ...
... ... @@ -270,6 +270,7 @@ function _M:display(x, y, nb_keyframes, screen_x, screen_y)
270 270 if col.direct_draw then
271 271 col.direct_draw(item, x, y, col.fw, self.fh)
272 272 else
  273 + if self.text_shadow then item._tex[j][1]:toScreenFull(x+1, y+1, col.fw, self.fh, item._tex[j][2], item._tex[j][3], 0, 0, 0, self.text_shadow) end
273 274 item._tex[j][1]:toScreenFull(x, y, col.fw, self.fh, item._tex[j][2], item._tex[j][3])
274 275 end
275 276 item.last_display_x = screen_x + (x - bx)
... ...
... ... @@ -151,6 +151,7 @@ function _M:updateText(v)
151 151 end
152 152
153 153 function _M:display(x, y, nb_keyframes)
  154 + if self.text_shadow then self.tex:toScreenFull(x+1, y+1, self.title_w, self.h, self.tex_w, self.tex_h, 0, 0, 0, self.text_shadow) end
154 155 self.tex:toScreenFull(x, y, self.title_w, self.h, self.tex_w, self.tex_h)
155 156 if self.focused then
156 157 self:drawFrame(self.frame_sel, x + self.title_w, y)
... ... @@ -163,5 +164,6 @@ function _M:display(x, y, nb_keyframes)
163 164 if self.focus_decay <= 0 then self.focus_decay = nil end
164 165 end
165 166 end
  167 + if self.text_shadow then self.text_tex:toScreenFull(x+1 + self.text_x, y+1 + self.text_y, self.fw, self.fh, self.text_tex_w, self.text_tex_h, 0, 0, 0, self.text_shadow) end
166 168 self.text_tex:toScreenFull(x + self.text_x, y + self.text_y, self.fw, self.fh, self.text_tex_w, self.text_tex_h)
167 169 end
... ...
... ... @@ -98,7 +98,6 @@ function _M:display(x, y, nb_keyframes)
98 98 y = y + 4
99 99 if self.selected then
100 100 self:drawFrame(self.frame_sel, x, y)
101   - self.tex[1]:toScreenFull(x-frame_ox1, y-frame_oy1, self.rw, self.rh, self.tex[2], self.tex[3])
102 101 elseif not self.focused then
103 102 self:drawFrame(self.frame, x, y, 1, 1, 1, 1)
104 103 if self.focus_decay then
... ... @@ -106,9 +105,9 @@ function _M:display(x, y, nb_keyframes)
106 105 self.focus_decay = self.focus_decay - nb_keyframes
107 106 if self.focus_decay <= 0 then self.focus_decay = nil end
108 107 end
109   - self.tex[1]:toScreenFull(x-frame_ox1, y-frame_oy1, self.rw, self.rh, self.tex[2], self.tex[3])
110 108 else
111 109 self:drawFrame(self.frame_sel, x, y, 1, 0.5, 0.5, 1)
112   - self.tex[1]:toScreenFull(x-frame_ox1, y-frame_oy1, self.rw, self.rh, self.tex[2], self.tex[3])
113 110 end
  111 + if self.text_shadow then self.tex[1]:toScreenFull(x+1-frame_ox1, y+1-frame_oy1, self.rw, self.rh, self.tex[2], self.tex[3], 0, 0, 0, self.text_shadow) end
  112 + self.tex[1]:toScreenFull(x-frame_ox1, y-frame_oy1, self.rw, self.rh, self.tex[2], self.tex[3])
114 113 end
... ...
... ... @@ -136,6 +136,7 @@ function _M:updateText()
136 136 end
137 137
138 138 function _M:display(x, y, nb_keyframes)
  139 + if self.text_shadow then self.tex:toScreenFull(x+1, y+1, self.title_w, self.h, self.tex_w, self.tex_h, 0, 0, 0, self.text_shadow) end
139 140 self.tex:toScreenFull(x, y, self.title_w, self.h, self.tex_w, self.tex_h)
140 141 if self.focused then
141 142 self:drawFrame(self.frame_sel, x + self.title_w, y)
... ... @@ -148,5 +149,6 @@ function _M:display(x, y, nb_keyframes)
148 149 if self.focus_decay <= 0 then self.focus_decay = nil end
149 150 end
150 151 end
  152 + if self.text_shadow then self.text_tex:toScreenFull(x+1 + self.text_x, y+1 + self.text_y, self.fw, self.fh, self.text_tex_w, self.text_tex_h, 0, 0, 0, self.text_shadow) end
151 153 self.text_tex:toScreenFull(x + self.text_x, y + self.text_y, self.fw, self.fh, self.text_tex_w, self.text_tex_h)
152 154 end
... ...
... ... @@ -97,6 +97,7 @@ function _M:display(x, y)
97 97 for i = self.scroll, max do
98 98 local item = self.list[i]
99 99 if not item then break end
  100 + if self.text_shadow then item._tex:toScreenFull(x+1, y+1, self.fw, self.fh, item._tex_w, item._tex_h, 0, 0, 0, self.text_shadow) end
100 101 item._tex:toScreenFull(x, y, self.fw, self.fh, item._tex_w, item._tex_h)
101 102 y = y + self.fh
102 103 end
... ...
... ... @@ -136,6 +136,7 @@ function _M:display(x, y)
136 136 for i = self.scroll, max do
137 137 local item = self.list[i]
138 138 if not item then break end
  139 + if self.text_shadow then item._tex:toScreenFull(x+1, y+1, self.fw, self.fh, item._tex_w, item._tex_h, 0, 0, 0, self.text_shadow) end
139 140 item._tex:toScreenFull(x, y, self.fw, self.fh, item._tex_w, item._tex_h)
140 141 y = y + self.fh
141 142 end
... ...
... ... @@ -294,6 +294,7 @@ function _M:display(x, y, nb_keyframes)
294 294 s.t:toScreenFull(x, y + (self.fh - s.h) / 2, s.w, s.h, s.th, s.th)
295 295 end
296 296
  297 + if self.text_shadow then item.cols[j]._tex:toScreenFull(x+1, y+1, col.width, self.fh, item.cols[j]._tex_w, item.cols[j]._tex_h, 0, 0, 0, self.text_shadow) end
297 298 item.cols[j]._tex:toScreenFull(x, y, col.width, self.fh, item.cols[j]._tex_w, item.cols[j]._tex_h)
298 299 x = x + col.width
299 300 end
... ...
... ... @@ -124,6 +124,7 @@ function _M:display(x, y, nb_keyframes)
124 124 if item.focus_decay <= 0 then item.focus_decay = nil end
125 125 end
126 126 end
  127 + if self.text_shadow then item._tex[1]:toScreenFull(x+1 + self.frame_sel.b4.w, y+1, self.fw, item.fh, item._tex[2], item._tex[3], 0, 0, 0, self.text_shadow) end
127 128 item._tex[1]:toScreenFull(x + self.frame_sel.b4.w, y, self.fw, item.fh, item._tex[2], item._tex[3])
128 129 y = y + item.fh
129 130 end
... ...
... ... @@ -882,13 +882,6 @@ function _M:display(nb_keyframes)
882 882 else
883 883 self:targetDisplayTooltip(self.w, self.h)
884 884 end
885   -
886   - if self.test then
887   - for i = 1, #self.test do
888   - local item = self.test[i]
889   - item._tex:toScreenFull(300, 300 + item.h * i, item.w, item.h, item._tex_w, item._tex_h)
890   - end
891   - end
892 885 end
893 886
894 887 --- Called when a dialog is registered to appear on screen
... ... @@ -944,8 +937,7 @@ function _M:setupCommands()
944 937 -- self.state:debugRandomZone()
945 938 -- local m = game.zone:makeEntity(game.level, "actor", {random_boss=true}, nil, true)
946 939 -- if m then game.zone:addEntity(game.level, m, "actor", game.player.x, game.player.y + 1) end
947   - local font = core.display.newFont("/data/font/Vera.ttf", 18)
948   - self.test = font:draw("test #8810FF#plop #{italic}#zogzog#{normal}##LAST# tolopalak looooooooooooooooooooooooooonnnnng toto\nto\noooo", 200, 255, 255, 255)
  940 + self:registerDialog(require("mod.dialogs.Donation").new())
949 941 end end,
950 942 }
951 943
... ...
... ... @@ -60,6 +60,7 @@ Map.faction_danger_check = function(self, e) return e.rank > 3 end
60 60
61 61 -- Dialog UI
62 62 UIBase.ui = config.settings.tome.ui_theme
  63 +UIBase:setTextShadow(0.6)
63 64
64 65 -- Dialogs fonts
65 66 if config.settings.tome.fonts.type == "fantasy" then
... ...
No preview for this file type