Skip to content

Commit 56d1db7

Browse files
committed
Add help messages to Kconfig options
This enhances Kconfig documentation with help text for all configuration options to improve user understanding and make the build system more accessible.
1 parent 2a5734e commit 56d1db7

File tree

1 file changed

+118
-3
lines changed

1 file changed

+118
-3
lines changed

configs/Kconfig

Lines changed: 118 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,32 +20,59 @@ config HAVE_LIBJPEG
2020
choice
2121
prompt "Backend Selection"
2222
default BACKEND_SDL
23+
help
24+
Select the display backend for window system rendering.
25+
Only one backend can be active at a time.
2326

2427
config BACKEND_FBDEV
2528
bool "Linux framebuffer support"
2629
select CURSOR
30+
help
31+
Direct Linux framebuffer backend for embedded systems.
32+
Renders directly to /dev/fb0 without X11/Wayland.
33+
Requires Linux input subsystem for keyboard/mouse events.
2734

2835
config BACKEND_SDL
2936
bool "SDL video output support"
3037
depends on HAVE_SDL2
38+
help
39+
Cross-platform SDL2 backend for development and testing.
3140

3241
config BACKEND_VNC
3342
bool "VNC server output support"
43+
help
44+
Remote access backend using neatvnc library.
45+
Allows headless operation with VNC client connections.
3446

3547
config BACKEND_HEADLESS
3648
bool "Headless backend"
49+
help
50+
Shared memory backend for testing and automation.
51+
Renders to memory without display hardware or VNC.
52+
Designed for CI/CD pipelines and automated testing.
3753
endchoice
3854

3955
choice
4056
prompt "Renderer Selection"
4157
default RENDERER_BUILTIN
58+
help
59+
Select the rendering engine for graphics operations.
60+
Only one renderer can be active at a time.
4261

4362
config RENDERER_BUILTIN
4463
bool "Built-in pixel manipulation"
64+
help
65+
Native C implementation of rendering primitives.
66+
Zero external dependencies for graphics operations.
67+
Suitable for embedded systems and minimal deployments.
4568

4669
config RENDERER_PIXMAN
4770
bool "Pixman based rendering"
4871
depends on HAVE_PIXMAN
72+
help
73+
Use Pixman library for optimized rendering operations.
74+
Provides SIMD-accelerated compositing and blending.
75+
Better performance for complex graphics workloads.
4976

5077
endchoice
5178

@@ -54,16 +81,27 @@ menu "Features"
5481
config LOGGING
5582
bool "Enable logging"
5683
default y
84+
help
85+
Enable debug and informational logging system.
86+
Provides runtime visibility into system operations.
5787

5888
config LOGGING_COLOR
5989
bool "Use colors for logging"
6090
default y
6191
depends on LOGGING
92+
help
93+
Colorize log output for better readability.
94+
Uses ANSI color codes in terminal output.
95+
Helps distinguish log levels visually.
96+
Disable if output is redirected to files.
6297

6398
config LOGGING_CALLBACK
6499
bool "Enable callback functions"
65100
default y
66101
depends on LOGGING
102+
help
103+
Allow custom callback functions for log handling.
104+
Enables application-specific log processing.
67105

68106
comment "Logging is disabled"
69107
depends on !LOGGING
@@ -72,28 +110,44 @@ config CURSOR
72110
bool "Manipulate cursor"
73111
default n
74112
depends on !BACKEND_VNC
113+
help
114+
Enable custom cursor rendering and manipulation.
115+
Allows application control over cursor appearance.
75116

76117
config DROP_SHADOW
77118
bool "Render drop shadow for active window"
78119
default y
120+
help
121+
Add drop shadow effect to active window.
122+
Provides visual depth and window focus indication.
79123

80124
config HORIZONTAL_OFFSET
81125
int "Horizontal offset"
82126
default 1
83127
range 1 10
84128
depends on DROP_SHADOW
129+
help
130+
Horizontal shadow offset in pixels.
131+
Larger values push shadow further right.
85132

86133
config VERTICAL_OFFSET
87134
int "Vertical offset"
88135
default 1
89136
range 1 10
90137
depends on DROP_SHADOW
138+
help
139+
Vertical shadow offset in pixels.
140+
Larger values push shadow further down.
91141

92142
config SHADOW_BLUR
93143
int "Shadow blur radius"
94144
default 10
95145
range 1 15
96146
depends on DROP_SHADOW
147+
help
148+
Shadow blur kernel size (radius).
149+
Larger values create softer, more diffuse shadows.
150+
Higher values increase rendering cost.
97151

98152
endmenu
99153

@@ -103,19 +157,31 @@ config LOADER_PNG
103157
bool "Enable PNG loader"
104158
depends on HAVE_LIBPNG
105159
default y
160+
help
161+
Enable PNG (Portable Network Graphics) image loading.
162+
Supports true color images with alpha transparency.
106163

107164
config LOADER_JPEG
108165
bool "Enable JPEG loader"
109166
depends on HAVE_LIBJPEG
110167
default y
168+
help
169+
Enable JPEG/JPG image loading support.
170+
Supports compressed photographic images.
111171

112172
config LOADER_GIF
113173
bool "Enable GIF loader"
114174
default y
175+
help
176+
Enable GIF (Graphics Interchange Format) loading.
177+
Supports animated GIF images and transparency.
115178

116179
config LOADER_TVG
117180
bool "Enable TinyVG (TVG) loader"
118181
default y
182+
help
183+
Enable TinyVG vector graphics format support.
184+
Compact binary format for scalable graphics.
119185

120186
endmenu
121187

@@ -124,47 +190,81 @@ menu "Demo Applications"
124190
config DEMO_APPLICATIONS
125191
bool "Build demo applications"
126192
default y
193+
help
194+
Build demonstration applications showcasing Mado features.
195+
Provides example code and testing targets.
127196

128197
config DEMO_MULTI
129198
bool "Build multi demo"
130199
default y
131200
depends on DEMO_APPLICATIONS
201+
help
202+
Comprehensive demo with multiple windows and widgets.
203+
Demonstrates window management and event handling.
132204

133205
config DEMO_HELLO
134206
bool "Build Hello world demo"
135207
default y
136208
depends on DEMO_APPLICATIONS
209+
help
210+
Simple "Hello World" demonstration program.
211+
Minimal example of Mado window system usage.
137212

138213
config DEMO_CLOCK
139214
bool "Build clock demo"
140215
default y
141216
depends on DEMO_APPLICATIONS
217+
help
218+
Analog clock demonstration with real-time updates.
219+
Showcases CORDIC trigonometry functions.
220+
Demonstrates timeout callbacks and redraw logic.
142221

143222
config DEMO_CALCULATOR
144223
bool "Build calculator demo"
145224
default y
146225
depends on DEMO_APPLICATIONS
226+
help
227+
Interactive calculator application.
228+
Demonstrates button widgets and event handling.
229+
Shows layout management and user input processing.
147230

148231
config DEMO_LINE
149232
bool "Build line demo"
150233
default y
151234
depends on DEMO_APPLICATIONS
235+
help
236+
Line drawing demonstration program.
237+
Shows primitive rendering capabilities.
238+
Tests line drawing algorithms and antialiasing.
152239

153240
config DEMO_SPLINE
154241
bool "Build spline demo"
155242
default y
156-
depends on DEMO_APPLICATIONS
243+
depends on DEMO_APPLICATIONS
244+
help
245+
Bezier spline curve demonstration.
246+
Shows advanced path rendering capabilities.
247+
Demonstrates curve smoothing algorithms.
157248

158249
config DEMO_ANIMATION
159250
bool "Build animation demo"
160251
default y
161-
depends on DEMO_APPLICATIONS
252+
depends on DEMO_APPLICATIONS
253+
help
254+
Animation demonstration with moving objects.
255+
Shows frame-based animation techniques.
256+
Demonstrates work queue and timeout systems.
162257

163258
config DEMO_IMAGE
164259
bool "Build scalable image demo"
165260
select LOADER_TVG
166261
default y
167-
depends on DEMO_APPLICATIONS
262+
depends on DEMO_APPLICATIONS
263+
help
264+
Scalable vector graphics demonstration.
265+
Shows TinyVG format rendering capabilities.
266+
Automatically enables TVG loader.
267+
Demonstrates resolution-independent graphics.
168268

169269
endmenu
170270

@@ -173,20 +273,35 @@ menu "Tools"
173273
config TOOLS
174274
bool "Build tools"
175275
default y
276+
help
277+
Build development and utility tools.
278+
Provides additional programs for testing and development.
279+
Individual tools can be selected below.
176280

177281
config TOOL_FONTEDIT
178282
bool "Build scalable font editor"
179283
default y
180284
depends on TOOLS && HAVE_SDL2
285+
help
286+
Interactive font editor for Twin font format.
287+
Allows creation and modification of scalable fonts.
181288

182289
config PERF_TEST
183290
bool "Build performance tester"
184291
default y
185292
depends on TOOLS
293+
help
294+
Performance benchmarking utility.
295+
Measures rendering and system performance metrics.
296+
Useful for validating optimizations and comparing backends.
186297

187298
config TOOL_HEADLESS_CTL
188299
bool "Build headless backend control tool"
189300
default y
190301
depends on TOOLS && BACKEND_HEADLESS
302+
help
303+
Control utility for headless backend operations.
304+
Enables programmatic interaction with headless instances.
305+
Communicates via shared memory protocol.
191306

192307
endmenu

0 commit comments

Comments
 (0)