sokoban.love/0081-draw_settings_menu

100 lines
2.3 KiB
Plaintext
Raw Normal View History

draw_settings_menu = function()
App.color(Menu_background)
2023-11-21 20:11:26 +00:00
local w,h = 200, Font_height*8
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+App.width('bg')+50 -- align all sliders
Settings_font_slider = {
name='font',
-- x limits
2023-11-21 17:08:44 +00:00
x0=sx+20, x1=Safe_width-30-10,
-- central y
y0=y+10,
-- slider knob dimensions
w=10, h=10,
-- extremes
2023-11-23 20:09:07 +00:00
lo=12, hi=40, -- font sizes
value=Current_pane.editor_state.font_height,
}
draw_slider(Settings_font_slider)
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 = Settings_font_slider
Settings_foreground_sliders = {
r = {
name='fg/r',
x0=prev.x0, x1=prev.x1,
y0=y,
w=prev.w, h=prev.h,
lo=0, hi=1,
value=Foreground_color.r,
},
g = {
name='fg/g',
x0=prev.x0, x1=prev.x1,
y0=y+15,
w=prev.w, h=prev.h,
lo=0, hi=1,
value=Foreground_color.g,
},
b = {
name='fg/b',
x0=prev.x0, x1=prev.x1,
y0=y+30,
w=prev.w, h=prev.h,
lo=0, hi=1,
value=Foreground_color.b,
},
}
App.color(Normal_color)
draw_slider(Settings_foreground_sliders.r)
draw_slider(Settings_foreground_sliders.g)
draw_slider(Settings_foreground_sliders.b)
y = y+10+Line_height+10
-- colors/background
love.graphics.print('bg', x+20, y)
App.color(Background_color)
love.graphics.rectangle('fill', sx-20,y+5, 20,20)
App.color(Normal_color)
Settings_background_sliders = {
r = {
name='bg/r',
x0=prev.x0, x1=prev.x1,
y0=y,
w=prev.w, h=prev.h,
lo=0, hi=1,
value=Background_color.r
},
g = {
name='bg/g',
x0=prev.x0, x1=prev.x1,
y0=y+15,
w=prev.w, h=prev.h,
lo=0, hi=1,
value=Background_color.g
},
b = {
name='bg/b',
x0 = prev.x0, x1=prev.x1,
y0 = y+30,
w=prev.w, h=prev.h,
lo = 0, hi=1,
value = Background_color.b
},
}
App.color(Normal_color)
draw_slider(Settings_background_sliders.r)
draw_slider(Settings_background_sliders.g)
draw_slider(Settings_background_sliders.b)
end