@@ -20,32 +20,59 @@ config HAVE_LIBJPEG
2020choice
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
2427config 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
2835config 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
3241config 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
3547config 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.
3753endchoice
3854
3955choice
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
4362config 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
4669config 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
5077endchoice
5178
@@ -54,16 +81,27 @@ menu "Features"
5481config 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
5888config 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
6398config 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
68106comment "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
76117config 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
80124config 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
86133config 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
92142config 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
98152endmenu
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
107164config 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
112172config 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
116179config 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
120186endmenu
121187
@@ -124,47 +190,81 @@ menu "Demo Applications"
124190config 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
128197config 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
133205config 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
138213config 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
143222config 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
148231config 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
153240config 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
158249config 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
163258config 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
169269endmenu
170270
@@ -173,20 +273,35 @@ menu "Tools"
173273config 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
177281config 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
182289config 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
187298config 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
192307endmenu
0 commit comments