64 lines
1.6 KiB
Plaintext
64 lines
1.6 KiB
Plaintext
draw_settings_menu = function()
|
|
App.color(Menu_background)
|
|
local w,h = 200, 130+2*Line_height
|
|
local x,y = Safe_width-30-w, Menu_bottom
|
|
Settings_menu_area = {x=x, y=y, w=w, h=h}
|
|
love.graphics.rectangle('fill', x,y, w,h)
|
|
App.color(Normal_color)
|
|
-- font size slider
|
|
love.graphics.print('font size', x+10,y+10)
|
|
y = y+10+Line_height
|
|
local sx = x+Font:getWidth('bg')+50 -- align all sliders
|
|
slider(Global_state, 'font', {
|
|
fg=Normal_color,
|
|
-- x limits
|
|
x0=sx+20, x1=Safe_width-30-10,
|
|
-- central y
|
|
y0=y+10,
|
|
-- slider knob dimensions
|
|
w=10, h=10,
|
|
-- extremes
|
|
lo=12, hi=40, -- font sizes
|
|
value=Current_pane.editor_state.font_height,
|
|
update=update_font_settings,
|
|
})
|
|
y = y+10
|
|
-- colors
|
|
love.graphics.print('colors', x+10,y+10)
|
|
y = y+10+Line_height
|
|
-- colors/foreground
|
|
love.graphics.print('fg', x+20, y)
|
|
App.color(Foreground_color)
|
|
love.graphics.rectangle('fill', sx-20,y+5, 20,20)
|
|
local prev = Global_state.slider_handlers.font
|
|
for _,color in ipairs{'r', 'g', 'b'} do
|
|
slider(Global_state, 'fg/'..color, {
|
|
fg=Normal_color,
|
|
x0=prev.x0, x1=prev.x1,
|
|
y0=y,
|
|
w=prev.w, h=prev.h,
|
|
lo=0, hi=1,
|
|
value=Foreground_color[color],
|
|
update=function(v) Foreground_color[color] = v end,
|
|
})
|
|
y = y+15
|
|
end
|
|
y = y+5
|
|
-- colors/background
|
|
love.graphics.print('bg', x+20, y)
|
|
App.color(Background_color)
|
|
love.graphics.rectangle('fill', sx-20,y+5, 20,20)
|
|
for _,color in ipairs{'r', 'g', 'b'} do
|
|
slider(Global_state, 'bg/'..color, {
|
|
fg=Normal_color,
|
|
x0=prev.x0, x1=prev.x1,
|
|
y0=y,
|
|
w=prev.w, h=prev.h,
|
|
lo=0, hi=1,
|
|
value=Background_color[color],
|
|
update=function(v) Background_color[color] = v end,
|
|
})
|
|
y = y+15
|
|
end
|
|
end
|