Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
#
# All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE.txt file.
import nanogui
import math
import gc
from nanogui import Screen, FormHelper
bvar = True
ivar = 12345678
dvar = math.pi
strvar = "A string"
enumvar = 1
colvar = nanogui.Color(.5, .5, .7, 1)
def make_accessors(name):
def setter(value):
globals()[name] = value
def getter():
return globals()[name]
return setter, getter
nanogui.init()
use_gl_4_1 = False # Set to True to create an OpenGL 4.1 context.
if use_gl_4_1:
# NanoGUI presents many options for you to utilize at your discretion.
# See include/nanogui/screen.h for what all of the options are.
def keyboardEvent(self, key, scancode, action, modifiers):
if super(TestApp, self).keyboardEvent(key, scancode,
action, modifiers):
return True
if key == glfw.KEY_ESCAPE and action == glfw.PRESS:
self.setVisible(False)
return True
return False
if __name__ == "__main__":
nanogui.init()
test = TestApp()
test.drawAll()
test.setVisible(True)
nanogui.mainloop()
del test
gc.collect()
nanogui.shutdown()
def keyboardEvent(self, key, scancode, action, modifiers):
if super(TestApp, self).keyboardEvent(key, scancode,
action, modifiers):
return True
if key == glfw.KEY_ESCAPE and action == glfw.PRESS:
self.setVisible(False)
return True
return False
if __name__ == "__main__":
nanogui.init()
test = TestApp()
test.drawAll()
test.setVisible(True)
nanogui.mainloop()
del test
gc.collect()
nanogui.shutdown()
def cb2():
self.setVisible(False)
b.setCallback(cb2)
self.performLayout()
if __name__ == "__main__":
nanogui.init()
test = TestApp()
test.drawAll()
test.setVisible(True)
print("Launching detached mainloop")
h = nanogui.mainloop(detach=test)
print("Back in Python context")
for i in range(10):
print(i)
time.sleep(1)
if not nanogui.active():
break
h.join()
nanogui.shutdown()
def keyboardEvent(self, key, scancode, action, modifiers):
if super(TestApp, self).keyboardEvent(key, scancode,
action, modifiers):
return True
if key == glfw.KEY_ESCAPE and action == glfw.PRESS:
self.setVisible(False)
return True
return False
if __name__ == "__main__":
nanogui.init()
test = TestApp()
test.drawAll()
test.setVisible(True)
nanogui.mainloop()
del test
gc.collect()
nanogui.shutdown()
layout.setColAlignment(
[Alignment.Maximum, Alignment.Fill])
layout.setSpacing(0, 10)
window.setLayout(layout)
Label(window, "Floating point :", "sans-bold")
floatBox = TextBox(window)
floatBox.setEditable(True)
floatBox.setFixedSize((100, 20))
floatBox.setValue("50")
floatBox.setUnits("GiB")
floatBox.setDefaultValue("0.0")
floatBox.setFontSize(16)
floatBox.setFormat("[-]?[0-9]*\\.?[0-9]+")
Label(window, "Positive integer :", "sans-bold")
intBox = IntBox(window)
intBox.setEditable(True)
intBox.setFixedSize((100, 20))
intBox.setValue(50)
intBox.setUnits("Mhz")
intBox.setDefaultValue("0")
intBox.setFontSize(16)
intBox.setFormat("[1-9][0-9]*")
intBox.setSpinnable(True)
intBox.setMinValue(1)
intBox.setValueIncrement(2)
Label(window, "Checkbox :", "sans-bold")
cb = CheckBox(window, "Check me")
cb.setFontSize(16)
layout = GridLayout(Orientation.Horizontal, 2,
Alignment.Middle, 15, 5)
layout.setColAlignment(
[Alignment.Maximum, Alignment.Fill])
layout.setSpacing(0, 10)
window.setLayout(layout)
window.setPosition((425, 500))
Label(window, "Combined: ");
b = Button(window, "ColorWheel", entypo.ICON_500PX)
Label(window, "Red: ")
redIntBox = IntBox(window)
redIntBox.setEditable(False)
Label(window, "Green: ")
greenIntBox = IntBox(window)
greenIntBox.setEditable(False)
Label(window, "Blue: ")
blueIntBox = IntBox(window)
blueIntBox.setEditable(False)
Label(window, "Alpha: ")
alphaIntBox = IntBox(window)
def cp_fast_cb(color):
b.setBackgroundColor(color)
b.setTextColor(color.contrastingColor())
red = int(color.r * 255.0)
redIntBox.setValue(red)
green = int(color.g * 255.0)
greenIntBox.setValue(green)
blue = int(color.b * 255.0)
blueIntBox.setValue(blue)
alpha = int(color.w * 255.0)
alphaIntBox.setValue(alpha)
intBox.setValue(50)
intBox.setUnits("Mhz")
intBox.setDefaultValue("0")
intBox.setFontSize(16)
intBox.setFormat("[1-9][0-9]*")
intBox.setSpinnable(True)
intBox.setMinValue(1)
intBox.setValueIncrement(2)
Label(window, "Checkbox :", "sans-bold")
cb = CheckBox(window, "Check me")
cb.setFontSize(16)
cb.setChecked(True)
Label(window, "Combo box :", "sans-bold")
cobo = ComboBox(window, ["Item 1", "Item 2", "Item 3"])
cobo.setFontSize(16)
cobo.setFixedSize((100, 20))
Label(window, "Color picker :", "sans-bold");
cp = ColorPicker(window, Color(255, 120, 0, 255));
cp.setFixedSize((100, 20));
def cp_final_cb(color):
print(
"ColorPicker Final Callback: [{0}, {1}, {2}, {3}]".format(color.r,
color.g,
color.b,
color.w)
)
layout.setColAlignment(
[Alignment.Maximum, Alignment.Fill])
layout.setSpacing(0, 10)
window.setLayout(layout)
Label(window, "Floating point :", "sans-bold")
floatBox = TextBox(window)
floatBox.setEditable(True)
floatBox.setFixedSize((100, 20))
floatBox.setValue("50")
floatBox.setUnits("GiB")
floatBox.setDefaultValue("0.0")
floatBox.setFontSize(16)
floatBox.setFormat("[-]?[0-9]*\\.?[0-9]+")
Label(window, "Positive integer :", "sans-bold")
intBox = IntBox(window)
intBox.setEditable(True)
intBox.setFixedSize((100, 20))
intBox.setValue(50)
intBox.setUnits("Mhz")
intBox.setDefaultValue("0")
intBox.setFontSize(16)
intBox.setFormat("[1-9][0-9]*")
intBox.setSpinnable(True)
intBox.setMinValue(1)
intBox.setValueIncrement(2)
Label(window, "Checkbox :", "sans-bold")
cb = CheckBox(window, "Check me")
cb.setFontSize(16)
Label(window, "Toggle buttons", "sans-bold")
b = Button(window, "Toggle me")
b.setFlags(Button.Flags.ToggleButton)
def change_cb(state):
print("Toggle button state: %s" % str(state))
b.setChangeCallback(change_cb)
Label(window, "Radio buttons", "sans-bold")
b = Button(window, "Radio button 1")
b.setFlags(Button.Flags.RadioButton)
b = Button(window, "Radio button 2")
b.setFlags(Button.Flags.RadioButton)
Label(window, "A tool palette", "sans-bold")
tools = Widget(window)
tools.setLayout(BoxLayout(Orientation.Horizontal,
Alignment.Middle, 0, 6))
ToolButton(tools, entypo.ICON_CLOUD)
ToolButton(tools, entypo.ICON_CONTROLLER_FAST_FORWARD)
ToolButton(tools, entypo.ICON_COMPASS)
ToolButton(tools, entypo.ICON_INSTALL)
Label(window, "Popup buttons", "sans-bold")
popupBtn = PopupButton(window, "Popup", entypo.ICON_EXPORT)
popup = popupBtn.popup()
popup.setLayout(GroupLayout())
Label(popup, "Arbitrary widgets can be placed here")
CheckBox(popup, "A check box")
# popup right