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 cb0():
self.canvas.setBackgroundColor(Color(random.random(), random.random(), random.random(), 1.0))
b0.setCallback(cb0)
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)
)
cp.setFinalCallback(cp_final_cb)
# setup a fast callback for the color picker widget on a new window
# for demonstrative purposes
window = Window(self, "Color Picker Fast Callback")
window.setPosition((425, 300))
def __init__(self):
super(TestApp, self).__init__((1024, 768), "NanoGUI Test")
window = Window(self, "Button demo")
window.setPosition((15, 15))
window.setLayout(GroupLayout())
Label(window, "Push buttons", "sans-bold")
b = Button(window, "Plain button")
def cb():
print("pushed!")
b.setCallback(cb)
b = Button(window, "Styled", entypo.ICON_ROCKET)
b.setBackgroundColor(Color(0, 0, 1.0, 0.1))
b.setCallback(cb)
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)
def __init__(self):
super(TestApp, self).__init__((800, 600), "NanoGUI Test", False)
window = Window(self, "GLCanvas Demo")
window.setPosition((15, 15))
window.setLayout(GroupLayout())
self.canvas = MyGLCanvas(window)
self.canvas.setBackgroundColor(Color(0.5, 0.5, 0.5, 1.0))
self.canvas.setSize((400, 400))
self.canvas.rotation = [0.25, 0.5, 0.33]
tools = Widget(window)
tools.setLayout(BoxLayout(Orientation.Horizontal,
Alignment.Middle, 0, 5))
b0 = Button(tools, "Random Color")
def cb0():
self.canvas.setBackgroundColor(Color(random.random(), random.random(), random.random(), 1.0))
b0.setCallback(cb0)
b1 = Button(tools, "Random Rotation")
def cb1():
self.canvas.rotation = [random.random(), random.random(), random.random()]
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)
)
cp.setFinalCallback(cp_final_cb)
# setup a fast callback for the color picker widget on a new window
# for demonstrative purposes
window = Window(self, "Color Picker Fast Callback")
window.setPosition((425, 300))
def __init__(self):
super(TestApp, self).__init__((1024, 768), "NanoGUI Test")
window = Window(self, "Button demo")
window.setPosition((15, 15))
window.setLayout(GroupLayout())
Label(window, "Push buttons", "sans-bold")
b = Button(window, "Plain button")
def cb():
print("pushed!")
b.setCallback(cb)
b = Button(window, "Styled", entypo.ICON_ROCKET)
b.setBackgroundColor(Color(0, 0, 1.0, 0.1))
b.setCallback(cb)
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)