# NanoGUI Experiments ![NanoGUI Knobs example app](nanogui_knobs.png) ## Quickstart ```con python3 -m venv venv source venv/bin/activate (venv) pip install -r requirenments.txt (venv) python3 nanogui_helloworld.py ``` ## Knobs Example ```con (venv) python3 nanogui_knobs.py ``` ### Key and Mouse Bindings | | | | | ----------------------------------------- | -------------------- |------------------------ | | Mouse click-and-drag knob | coarse in-/decrement | +/- one 100th / pixel | | Shift + mouse click-and-drag knob | fine in-/decrement | +/- 0.1 / pixel | | Mouse wheel scroll over knob | coarse in-/decrement | one 100th / click * 2.0 | | Shift + mouse wheel scroll over knob | fine in-/decrement | +/- 0.1 / click | | Mouse wheel scroll over value entry | fine in-/decrement | +/- 0.1 | | Ctrl + left click on knob | set to default value | | | Up/down key while mouse over knob | coarse in-/decrement | +/- one 100th | | Shift + up/down key while mouse over knob | fine in-/decrement | +/- 0.1 | | Page up/down key while mouse over knob | fine in-/decrement | +/- one 10th | | Mouse click on value entry up/down arrow | fine in-/decrement | +/- 0.1 | | Return/Enter while editing value entry | accept & set value | | | Escape key | quit | | ### Notes * No support for scaling or re-layouting on window resize yet. * Only the knob value gauge color can currently be specified on instantation, the knob gradient and outline colors are currently hard-coded.