def __current_window(self): bimpy.set_next_window_pos(bimpy.Vec2(5, 393 + 128), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(345, 110), bimpy.Condition.Once) bimpy.begin("Current", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Current") bimpy.pop_font() bimpy.separator() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(25, 0) bimpy.text("{:.2f}".format(self.data.voltage).rjust(6, "0")) bimpy.pop_font() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.same_line(215, 0) bimpy.text("Amp") bimpy.pop_font() bimpy.end()
def retrival(self): ###########UI########### size = bimpy.Vec2(500, 750) bimpy.set_next_window_size(size, bimpy.Condition.Once) if bimpy.begin_popup_modal('{}: {}'.format(LANG.retrieve, self.select_label)) \ and self.select_label != '' and self.first_init: for idx, file in enumerate( self.r.label2pic[self.select_label.lower()]): if idx != 0: bimpy.separator() img = self.r.get_thumbnail(file) bimpy.text(file) bimpy.image(img) bimpy.separator() if bimpy.button(LANG.retrieve_close): bimpy.clode_current_popup() bimpy.end_popup() ######################## t = { 'x': bimpy.get_window_pos().x, 'y': bimpy.get_window_pos().y, 'w': bimpy.get_window_size().x, 'h': bimpy.get_window_size().y, 'self': self, } return t
def __distance_window(self): bimpy.set_next_window_pos(bimpy.Vec2(5, 120 + 128), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(345, 110), bimpy.Condition.Once) bimpy.begin("Distance", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Distance Traveled") bimpy.pop_font() bimpy.separator() if self.data.distance <= 1.1: distance_formatted_data = str(int(self.data.distance * 1000)) distance_formatted_data = distance_formatted_data.rjust(4, "0") scalar = "m" else: distance_formatted_data = "{:.2f}".format(self.data.distance) distance_formatted_data = distance_formatted_data.rjust(6, "0") scalar = "Km" bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(38, -1) bimpy.text(distance_formatted_data) bimpy.same_line(245, 0) bimpy.text(scalar) bimpy.pop_font() bimpy.end()
def __rpm_window(self): bimpy.set_next_window_pos(bimpy.Vec2(705, 278 + 128), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(305, 225), bimpy.Condition.Once) bimpy.begin("RPM", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "RPM") bimpy.pop_font() bimpy.separator() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(25, 0) bimpy.text(str(int(self.data.rpm)).rjust(4, "0")) bimpy.pop_font() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.same_line(175, 0) bimpy.text("RPM") bimpy.pop_font() self.rpm_datas.append(self.data.rpm) self.rpm_datas.pop(0) self.rpm_datas.reverse() bimpy.plot_lines("", self.rpm_datas, graph_size=bimpy.Vec2(288, 112)) self.rpm_datas.reverse() bimpy.end()
def __calories_burtn_window(self): bimpy.set_next_window_pos(bimpy.Vec2(355, 5 + 128), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(345, 110), bimpy.Condition.Once) bimpy.begin("Calories Burnt", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Calories Burnt") bimpy.pop_font() bimpy.separator() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(25, 0) if self.data.calories_burned >= 0: bimpy.text("{:.2f}".format(self.data.calories_burned).rjust( 7, "0")) else: bimpy.text("0.00".rjust(7, "0")) bimpy.pop_font() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.same_line(250, 0) bimpy.text("cal") bimpy.pop_font() bimpy.end()
def __speed_window(self): bimpy.set_next_window_pos(bimpy.Vec2(355, 120 + 128), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(345, 110), bimpy.Condition.Once) bimpy.begin("Speed", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Speed") bimpy.pop_font() bimpy.separator() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(25, 0) bimpy.text(str(int(self.data.speed[0])).rjust(4, " ")) bimpy.pop_font() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.same_line(200, 0) bimpy.text("Km/H") bimpy.pop_font() bimpy.end()
def __voltage_window(self): bimpy.set_next_window_pos(bimpy.Vec2(5, 278 + 128), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(345, 110), bimpy.Condition.Once) bimpy.begin("Voltage", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Voltage") bimpy.pop_font() bimpy.separator() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(25, 0) if self.data.voltage >= 0: bimpy.text("{:.2f}".format(self.data.voltage).rjust(6, "0")) else: bimpy.text("-" + "{:.2f}".format(self.data.voltage).rjust(5, "0")) bimpy.pop_font() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.same_line(220, 0) bimpy.text("Volt") bimpy.pop_font() bimpy.end()
def main(): global CTX ctx = bimpy.Context() ctx.init(1200, 1200, "Image") with ctx: bimpy.themes.set_light_theme() socket_thread = threading.Thread(target = thread_socket_func, args = (8883, )) socket_thread.start() message_thread = threading.Thread(target = message_thread_func) message_thread.start() previous_n_points = 0 clear_flag = False while not ctx.should_close(): with ctx: bimpy.set_next_window_pos(bimpy.Vec2(120, 120), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(400, 400), bimpy.Condition.Once) bimpy.begin("Window #1") bimpy.text("This is text!") if bimpy.button("Send A Lot Of Messages"): temp_messages = [make_message_text("log", "Message #" + str(i)) for i in range(560)] send_messages(CTX.message_pipeline, temp_messages) if bimpy.button("Send A Lot Of Random Points"): temp_messages = [make_message_point("point", (random.randrange(400 + i), random.randrange(400 + i))) for i in range(20)] send_messages(CTX.message_pipeline, temp_messages) if bimpy.button("Clear Flag"): clear_flag = not clear_flag bimpy.text("Text from events:\n%s" % (CTX.data.text)) bimpy.end() draw_window_drawing(ctx, 400, 400, "Sample Drawing", CTX.data.points) log("Exited rendering thread") log("Sending exit to message_thread") send_message_text(CTX.message_pipeline, "exit", "") log("Waiting for message_thread") message_thread.join() CTX.server_socket_running = False if CTX.server_socket: for c, info in CTX.server_socket.connections: c.send(b'exit') log("Waiting for socket_thread") socket_thread.join() log("Bye")
def begin_root(name="root", menu=False): bp.set_next_window_pos(bp.Vec2(0, 0)) bp.set_next_window_size(bp.io.display_size) bp.push_style_var(bp.Style.WindowRounding, 0) flags = bp.WindowFlags.NoDecoration | bp.WindowFlags.NoMove if menu: flags = flags | bp.WindowFlags.MenuBar bp.begin("name", flags=flags) bp.pop_style_var()
def __separator_name_window(self): bimpy.set_next_window_pos(bimpy.Vec2(5, 90), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(1005, 38), bimpy.Condition.Once) bimpy.begin("Separator Name", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.separator() bimpy.text("") bimpy.separator() bimpy.end()
def main(): selected_compiler = bimpy.Int() ctx = bimpy.Context() ctx.init(WIDTH, HEIGHT, "Virtual enviroment manager") environments = getAvailableEnviroments() compilers_list = list(data.compilers.keys()) show_new_env_menu = False while (not ctx.should_close()): with ctx: bimpy.set_next_window_pos(bimpy.Vec2(0, 0), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(WIDTH, HEIGHT), bimpy.Condition.Once) bimpy.begin("Enviroments",bimpy.Bool(True), \ bimpy.WindowFlags.NoCollapse and bimpy.WindowFlags.NoResize) bimpy.text(sys.version) bimpy.columns(2) for enviroment in environments: if bimpy.button(enviroment): compiler = list(data.compilers.values())[ selected_compiler. value] if selected_compiler.value != 0 else "" subprocess.call( ['start', environments[enviroment], compiler], shell=True) bimpy.next_column() if bimpy.button("O##" + enviroment): subprocess.Popen(r'explorer /select,' + os.path.dirname(environments[enviroment])) #os.startfile(os.path.realpath(os.path.dirname(environments[enviroment]))) bimpy.next_column() bimpy.columns(1) if bimpy.combo("Compiler", selected_compiler, compilers_list): pass # if bimpy.button("Add new enviroment"): # new_env_ctx = BimpyContext(WIDTH, HEIGHT, "New enviroment menu") # while(not new_env_ctx.ctx.should_close()): # with new_env_ctx.ctx: # bimpy.begin("dsad") # bimpy.text("d") # bimpy.end() # if bimpy.button("Create new enviroment"): bimpy.end()
def __heart_rate_window(self): bimpy.set_next_window_pos(bimpy.Vec2(705, 5 + 128), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(305, 225), bimpy.Condition.Once) bimpy.begin("Heart Rate", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Heart Rate") bimpy.pop_font() bimpy.separator() bimpy.text("") bimpy.same_line(30, -1) bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text(str(int(self.data.heart_rate)).rjust(3, "0")) bimpy.pop_font() bimpy.same_line(140, 20) bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text("BPM") bimpy.pop_font() if (time.time() - self.heart_rate_start_monitor) >= (self.data.heart_rate / 60): self.heart_rate_data.append(-0.7) self.heart_rate_data.append(1) self.heart_rate_start_monitor = time.time() self.heart_rate_data.pop(0) else: self.heart_rate_data.append(0) self.heart_rate_data.pop(0) self.heart_rate_data.reverse() bimpy.plot_lines("", self.heart_rate_data, graph_size=bimpy.Vec2(288, 112), scale_min=-1.0, scale_max=1.3) self.heart_rate_data.reverse() bimpy.end()
def render(self, config_server): if self.ctx.should_close(): return 0 self.ctx.new_frame() bimpy.set_next_window_pos(bimpy.Vec2(0, 0), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(self.width, self.height), bimpy.Condition.Once) bimpy.begin("", flags=bimpy.WindowFlags.NoResize | bimpy.WindowFlags.NoTitleBar | bimpy.WindowFlags.NoMove) self.draw_gui(config_server) bimpy.end() self.ctx.render() return 1
def draw_window_drawing(ctx, w, h, name, points): bimpy.set_next_window_pos(bimpy.Vec2(w + 20, h + 20), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(w, h), bimpy.Condition.Once) bimpy.begin(name) window_zero = bimpy.get_window_pos() + bimpy.Vec2(100 + temp_separation_test.value, 100 + temp_separation_test.value) window_one = bimpy.get_window_pos() + bimpy.Vec2(w - 100 - temp_separation_test.value, h - 100 - temp_separation_test.value) bimpy.add_circle_filled(window_zero, 5.0, 0xFF000000 + 0xc88200, 100) bimpy.add_circle_filled(window_one, 5.0, 0xFF000000 + 0x4bb43c, 100) for x,y in points: point = bimpy.get_window_pos() + bimpy.Vec2(x, y) bimpy.add_circle_filled(point, 5.0, 0xFF000000 + 0x4bb43c, 100) bimpy.slider_float("separation", temp_separation_test, 0.0, 100.0) bimpy.end()
def __age_window(self): bimpy.set_next_window_pos(bimpy.Vec2(900, 5), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(110, 80), bimpy.Condition.Once) bimpy.begin("Age", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Age") bimpy.pop_font() bimpy.separator() bimpy.push_font(self.fonts.fonts[16]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(38, 0) bimpy.text(str(self.data.age)) bimpy.pop_font() bimpy.end()
def __gender_window(self): bimpy.set_next_window_pos(bimpy.Vec2(729, 5), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(166, 80), bimpy.Condition.Once) bimpy.begin("Gender", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Gender") bimpy.pop_font() bimpy.separator() bimpy.push_font(self.fonts.fonts[16]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(38, 0) bimpy.text("Female" if self.data.gender else "Male") bimpy.pop_font() bimpy.end()
def __time_window(self): bimpy.set_next_window_pos(bimpy.Vec2(5, 5 + 128), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(345, 110), bimpy.Condition.Once) bimpy.begin("Time Elapsed", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Time Elapsed") bimpy.pop_font() bimpy.separator() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(38, 0) bimpy.text( str(datetime.timedelta(seconds=self.data.exercize_time))[:-4]) bimpy.pop_font() bimpy.end()
def __power_window(self): bimpy.set_next_window_pos(bimpy.Vec2(355, 278 + 128), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(345, 225), bimpy.Condition.Once) bimpy.begin("Power", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Power") bimpy.pop_font() bimpy.separator() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.text("") bimpy.same_line(25, 0) bimpy.text("{:.2f}".format(self.data.power).rjust(6, "0")) bimpy.pop_font() bimpy.push_font(self.fonts.fonts[44]["ext_bold_ital"]) bimpy.same_line(212, 0) bimpy.text("Watts") bimpy.pop_font() self.power_datas.append(self.data.power) self.power_datas.pop(0) self.power_datas.reverse() bimpy.plot_lines("", self.power_datas, graph_size=bimpy.Vec2(329, 112), scale_min=-1.0, scale_max=500.0) self.power_datas.reverse() bimpy.end()
def render(self): if not self._size: self._size = bimpy.Vec2(400, 600) bimpy.set_next_window_size(self._size) if bimpy.begin(self.name, self.opened, flags=bimpy.WindowFlags.NoCollapse | bimpy.WindowFlags.MenuBar): if bimpy.begin_menu_bar(): bimpy.menu_item('Reload', 'Cmd+R', self.click_states['reload']) bimpy.end_menu_bar() for folder_name, folder_files in self.tree.items(): if bimpy.collapsing_header(folder_name): for item, button_name in folder_files: if bimpy.button(button_name): item_path = '{0}/{1}'.format(folder_name, item) try: new_savegame = SaveGameFrame( PS2WrappedBinBackend, item_path, self) self.child_frames.append(new_savegame) except KeyboardInterrupt as e: raise e except Exception as e: print(e) bimpy.same_line() bimpy.text(item) bimpy.end() for child_frame in self.child_frames: child_frame.render()
position = np.random.rand(2) * 5 rotation = np.array([[np.cos(alpha), np.sin(alpha)], [-np.sin(alpha), np.cos(alpha)]]) x = np.matmul(x, scale) x = np.matmul(x, rotation) x += position datapoints.append((x, rotation, position, scale)) axis = x = np.array([[-1, 0], [1, 0], [0, -1], [0, 1]]) while not ctx.should_close(): ctx.new_frame() bimpy.set_next_window_pos(bimpy.Vec2(20, 20), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(800, 600), bimpy.Condition.Once) bimpy.begin("Drawings") window_pos = bimpy.get_window_pos() center = bimpy.Vec2(100, 100) + window_pos m = 100.0 for i in range(len(datapoints)): (x, R, P, S) = datapoints[i] for j in range(x.shape[0]): point = bimpy.Vec2(x[j, 0], x[j, 1]) bimpy.add_circle_filled(point * m + center, 5, 0xAF000000 + colors[i], 100) axis_ = np.matmul(axis, S * 2.0)
def turn_right(): print("Turned Right -90°") #movementController.write("turn_right") def spinMe(): print("Hui") # start the main loop while not ctx.should_close(): # create a new frame ctx.new_frame() # setup first win pos and win size bimpy.set_next_window_pos(bimpy.Vec2(20, 20), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(winWidth - 520, winHeight-40), bimpy.Condition.Once) # begin the window bimpy.begin("Chess View", flags=bimpy.NoMove | bimpy.NoCollapse) # add more flags like this: | bimpy.NoResize | bimpy.NoTitleBar if bimpy.button("General", bimpy.Vec2(150, 25)): menu_tab = 1 bimpy.same_line() if bimpy.button("Path Finder", bimpy.Vec2(150, 25)): menu_tab = 2 if menu_tab == 1: drawMainTab() elif menu_tab == 2: drawPathFinder() # end the window bimpy.end()
### Create a function to that fetches every temp and put it in a dict or anything else. ### Then run that function on a second thread ## AKA # import threading # def fetchTempFunction(): # return to array and use the array to fill in the values # cool_thread = threading.Thread(target = fetchTempFunction()) # cool_thread.start() if __name__ == "__main__": while(not ctx.should_close()): with ctx: bimpy.set_next_window_pos(bimpy.Vec2(58, 15), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(720, 80), bimpy.Condition.Once) bimpy.begin("Hardware-Rating") bimpy.text("Welcome to Hardware-Rating,") bimpy.same_line() bimpy.text(f.realUser) bimpy.text("Below are your listed computer components and any other useful information per device.") bimpy.set_next_window_pos(bimpy.Vec2(58, 105), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(400, 315), bimpy.Condition.Once) bimpy.begin("CPU") bimpy.text("Your CPU is a(n):") #try: bimpy.text(f.cpu.name)
system_user = getpass.getuser() # gui setup with bimpy # render new window ctx = bimpy.Context() # init main window ctx.init(1280, 720, "Haus Management") max_height = ctx.height() max_width = ctx.width() string = bimpy.String() f = bimpy.Float() i = bimpy.Int() while (not ctx.should_close()): # display new window and set pos and size ctx.new_frame() bimpy.set_next_window_pos(bimpy.Vec2(10, 10), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(max_width - 20, max_height - 20), bimpy.Condition.Once) bimpy.begin("Willkommen {} es ist der {}".format( system_user, datetime.now().strftime('%d.%m.%Y um %H:%M:%S'))) bimpy.input_text('Besitzer', string, 25) bimpy.end() ctx.render()
def __buttons_window(self): bimpy.set_next_window_pos(bimpy.Vec2(5, 635), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(1005, 128), bimpy.Condition.Once) bimpy.begin("Exercise Control", flags=bimpy.WindowFlags(4) | bimpy.WindowFlags(1) | bimpy.WindowFlags(2)) bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text_colored(bimpy.Vec4(1, 0, 0, 1), "Controls") bimpy.separator() bimpy.pop_font() bimpy.push_font(self.fonts.fonts[16]["cond"]) bimpy.text("") bimpy.same_line(0, 150) if self.pause_button_state == 1: bimpy.push_style_color(bimpy.Colors(0), bimpy.Vec4(0, 0, 0, 1)) bimpy.push_style_color(bimpy.Colors(21), bimpy.Vec4(0.8, 0.8, 0, 1)) bimpy.push_style_color(bimpy.Colors(22), bimpy.Vec4(1, 1, 0, 1)) bimpy.push_style_color(bimpy.Colors(23), bimpy.Vec4(0.5, 0.5, 0, 1)) pause_button_text = "Pause Exercise" elif self.pause_button_state == 0: bimpy.push_style_color(bimpy.Colors(0), bimpy.Vec4(0, 0, 0, 1)) bimpy.push_style_color(bimpy.Colors(21), bimpy.Vec4(0.0, 0.8, 0.0, 1)) bimpy.push_style_color(bimpy.Colors(22), bimpy.Vec4(0.0, 1, 0.0, 1)) bimpy.push_style_color(bimpy.Colors(23), bimpy.Vec4(0.0, 0.5, 0.0, 1)) pause_button_text = "Resume Exercise" elif self.pause_button_state == -1: bimpy.push_style_color(bimpy.Colors(0), bimpy.Vec4(0, 0, 0, 1)) bimpy.push_style_color(bimpy.Colors(21), bimpy.Vec4(0.4, 0.4, 0.4, 1)) bimpy.push_style_color(bimpy.Colors(22), bimpy.Vec4(0.4, 0.4, 0.4, 1)) bimpy.push_style_color(bimpy.Colors(23), bimpy.Vec4(0.4, 0.4, 0.4, 1)) pause_button_text = "------ -------" if bimpy.button(pause_button_text, bimpy.Vec2(250, 75)): if self.pause_button_state == 1: self.pause_button_state = 0 self.data.is_exercising = False elif self.pause_button_state == 0: self.pause_button_state = 1 self.data.is_exercising = True bimpy.pop_style_color() bimpy.pop_style_color() bimpy.pop_style_color() bimpy.pop_style_color() bimpy.same_line(450, 150) if self.stop_button_enabled: bimpy.push_style_color(bimpy.Colors(0), bimpy.Vec4(0, 0, 0, 1)) bimpy.push_style_color(bimpy.Colors(21), bimpy.Vec4(0.8, 0, 0, 1)) bimpy.push_style_color(bimpy.Colors(22), bimpy.Vec4(1, 0, 0, 1)) bimpy.push_style_color(bimpy.Colors(23), bimpy.Vec4(0.5, 0, 0, 1)) else: bimpy.push_style_color(bimpy.Colors(0), bimpy.Vec4(0, 0, 0, 1)) bimpy.push_style_color(bimpy.Colors(21), bimpy.Vec4(0.4, 0.4, 0.4, 1)) bimpy.push_style_color(bimpy.Colors(22), bimpy.Vec4(0.4, 0.4, 0.4, 1)) bimpy.push_style_color(bimpy.Colors(23), bimpy.Vec4(0.4, 0.4, 0.4, 1)) self.pause_button_state = -1 if bimpy.button("Stop Exercise", bimpy.Vec2(250, 75)): self.data.is_exercising = False self.stop_button_enabled = False bimpy.pop_style_color() bimpy.pop_style_color() bimpy.pop_style_color() bimpy.pop_style_color() bimpy.pop_font() bimpy.end()
def main(): parser = ArgumentParser(description="Preview animations") parser.add_argument("--version", action="version", version="%(prog)s " + __version__) parser.add_argument("--width", dest="width", type=int, default=DEF_WIDTH, help="frame width (default: %s)" % DEF_WIDTH) parser.add_argument("--height", dest="height", type=int, default=DEF_HEIGHT, help="frame height (default: %s)" % DEF_HEIGHT) parser.add_argument("--scale", dest="scale", type=int, default=DEF_SCALE, help="scale preview (default: %s)" % DEF_SCALE) parser.add_argument("--double-w", dest="dw", action="store_true", help="double width for 2:1") parser.add_argument( "--mtime", dest="mtime", type=int, default=DEF_MTIME, help="seconds between checks for changes (default: %s)" % DEF_MTIME) parser.add_argument("image", help="image to convert") args = parser.parse_args() def load_image(filename): @with_retry def load(): return Image.open(filename).convert("RGB") try: image = load() except IOError: parser.error("failed to open the image") (w, h) = image.size if w % args.width or h % args.height: parser.error("%s size is not multiple of tile size (%s, %s)" % (filename, args.width, args.height)) frames = [] for y in range(0, h, args.height): for x in range(0, w, args.width): frames.append((x, y, x + args.width, y + args.height)) return image, frames image, frames = load_image(args.image) frame_list = list(range(len(frames))) def scale_image(scale, frameno): scale_w = scale if not args.dw else scale * 2 current = image.resize((args.width * scale_w, args.height * scale), box=frames[frame_list[frameno]], resample=0) return bimpy.Image(current) ctx = bimpy.Context() ctx.init(320, 420, "Preview animation") orig = bimpy.Image(image) scale = bimpy.Int(args.scale) fps = bimpy.Int(args.scale) frame_list_str = bimpy.String(','.join(map(str, frame_list))) im = scale_image(scale.value, 0) cur_frame = 0 paused = False start_time = time() check_mtime = time() last_mtime = os.stat(args.image).st_mtime while (not ctx.should_close()): if time() - check_mtime > args.mtime: if os.stat(args.image).st_mtime != last_mtime: last_mtime = os.stat(args.image).st_mtime image, frames = load_image(args.image) cur_frame = 0 start_time = time() if any([f >= len(frames) for f in frame_list]): frame_list = list(range(len(frames))) frame_list_str = bimpy.String(','.join(map( str, frame_list))) ctx.new_frame() bimpy.set_next_window_pos(bimpy.Vec2(10, 10), bimpy.Condition.Once) bimpy.set_next_window_size(bimpy.Vec2(300, 400), bimpy.Condition.Once) bimpy.begin("Image: %s" % args.image) if not paused: if time() - start_time >= 1. / fps.value: start_time = time() cur_frame += 1 if cur_frame == len(frame_list): cur_frame = 0 im = scale_image(scale.value, cur_frame) bimpy.image(orig) bimpy.image(im) bimpy.text("Frame: %02d" % frame_list[cur_frame]) if bimpy.slider_int("Scale", scale, 1, 20): im = scale_image(scale.value, cur_frame) if bimpy.slider_int("FPS", fps, 1, 30): start_time = time() cur_frame = 0 if bimpy.input_text("Frames", frame_list_str, 64, bimpy.InputTextFlags.EnterReturnsTrue): try: new_frame_list = [ int(i.strip()) for i in frame_list_str.value.split(",") ] frame_list = new_frame_list start_time = time() cur_frame = 0 except Exception as ex: print("Error parsing frame list: %s" % ex) if bimpy.button("Play" if paused else "Pause"): paused = not paused bimpy.end() ctx.render()
glColor3f(1, 0, 0) circle(self.values[0][self.point_index] * self.MULT + +self.ADD_X, self.values[1][self.point_index] * self.MULT + +self.ADD_Y, 5) glPopAttrib() #Draws point coordinates. glut_string( 0, 2, 'Current Point: {}, {}'.format(self.values[0][self.point_index], self.values[1][self.point_index])) while (not ctx.should_close()): ctx.new_frame() bimpy.set_next_window_size(bimpy.Vec2(269, 58), bimpy.Condition.Once) bimpy.begin( '', flags=(bimpy.WindowFlags.AlwaysAutoResize | bimpy.WindowFlags.NoTitleBar | bimpy.WindowFlags.NoMove)) bimpy.input_text('Equation', equation, 256) bimpy.input_float('X Min Boundary', x_min) bimpy.input_float('X Max Boundary', x_max) if bimpy.button('Draw graph'): graph_window(equation.value, -5, 5, width=700, height=600, caption='Graph Display') pyglet.app.run()
def render(self): bimpy.set_next_window_pos(bimpy.Vec2(765, 30), bimpy.Condition.FirstUseEver) bimpy.set_next_window_size(bimpy.Vec2(410, 750), bimpy.Condition.FirstUseEver) if not bimpy.begin('dash window'): # open fail bimpy.end() return is_lock = any([ self.train_phase_component.if_is_trainning(), self.lines_componnet.if_is_drawing(), self.convex_component.if_is_drawing(), ]) # dash board if bimpy.collapsing_header('convex setting', bimpy.TreeNodeFlags.DefaultOpen): self.convex_component.render(is_lock) bimpy.new_line() if bimpy.collapsing_header('train setting', bimpy.TreeNodeFlags.DefaultOpen): self.lines_componnet.render(is_lock) bimpy.new_line() self.generator_component.render(is_lock) bimpy.new_line() self.optimizer_component.render(is_lock) bimpy.new_line() self.loss_function_component.render(is_lock) bimpy.new_line() self.train_component.render(is_lock) bimpy.new_line() if bimpy.collapsing_header('train phase', bimpy.TreeNodeFlags.DefaultOpen): self.train_phase_component.render(self._is_tranning_runner_running) bimpy.new_line() self.train_result_component.render() bimpy.new_line() # padding for _ in range(5): bimpy.new_line() # trainning runner if self.train_phase_component.if_is_trainning_start(): self.trainning_runner = TrainningRunner() line_data = self.lines_componnet.get_line_data() self.trainning_runner.create_net(width=len(line_data)) self.trainning_runner.set_net_value(line_data) generator = self.generator_component.build_generator() generator.set_data( raw_points=[], convex_points=self.convex_component.get_convex_data()) self.trainning_runner.set_generator(generator) self.trainning_runner.set_optimizer( self.optimizer_component.build_optimizer( self.trainning_runner.get_net())) self.trainning_runner.set_loss_function( self.loss_function_component.build_loss_function()) self.trainning_runner.set_trainning_params( self.train_component.get_train_setting()) self._is_tranning_runner_running = True self.trainning_runner.start() # if self.train_phase_component.if_is_trainning(): if self._is_tranning_runner_running: # self.trainning_runner.run_once() line_data = self.trainning_runner.get_net_value() self.lines_componnet.set_line_data(line_data) # if self.trainning_runner is not None: self.train_phase_component.set_trainning_progress( self.trainning_runner.get_trainning_progress()) self.train_result_component.set_trainning_result( self.trainning_runner.get_tranning_result()) if self.train_phase_component.if_is_trainning_stop(): self.trainning_runner.try_to_stop() if self._is_tranning_runner_running: self.trainning_runner.join(1e-2) self._is_tranning_runner_running = self.trainning_runner.is_alive() bimpy.end()
## AKA # import threading # def fetchTempFunction(): # return to array and use the array to fill in the values # cool_thread = threading.Thread(target = fetchTempFunction()) # cool_thread.start() if __name__ == "__main__": while (not ctx.should_close()): with ctx: w.Sensor() # intro window b.set_next_window_pos(b.Vec2(12, 15), b.Condition.Once) b.set_next_window_size(b.Vec2(765, 80), b.Condition.Once) b.begin("Hardware-Rating") b.text("Welcome to Hardware-Rating,") b.same_line() b.text(realUser) b.text( "Below are your listed computer components and any other useful information per device." ) # CPU window b.set_next_window_pos(b.Vec2(12, 100), b.Condition.Once) b.set_next_window_size(b.Vec2(435, 325), b.Condition.Once) b.begin("CPU") b.text("Your CPU is a(n):")
def render(self): if not self._size: self._size = bimpy.Vec2(400, 600) bimpy.set_next_window_size(self._size)
def render(self, ctx, windows_info): # calculate autoly pos = bimpy.Vec2( windows_info['file_brewswer_ui']['x'] + windows_info['file_brewswer_ui']['w'] + conf.margin, windows_info['image_shower_ui']['y'] + windows_info['image_shower_ui']['h'] + conf.margin) size = bimpy.Vec2(ctx.width() - pos.x - conf.margin, conf.meta_info_height) bimpy.set_next_window_pos(pos, bimpy.Condition.Always) bimpy.set_next_window_size(size, bimpy.Condition.Always) bimpy.begin( "", bimpy.Bool(True), bimpy.WindowFlags.NoCollapse | bimpy.WindowFlags.NoMove | bimpy.WindowFlags.NoResize | bimpy.WindowFlags.NoTitleBar | bimpy.WindowFlags.NoScrollbar) ###########UI########### if self.meta_info is not None: ####LINE1#### self.meta_info.setdefault('ImageWidth', '') self.meta_info.setdefault('ImageLength', '') bimpy.text('{}:{}x{}'.format(LANG.meta_size, self.meta_info['ImageWidth'], self.meta_info['ImageLength'])) bimpy.same_line(size.x / 3) self.meta_info.setdefault('DateTimeOriginal', '') bimpy.text('{}:{}'.format(LANG.meta_date, self.meta_info['DateTimeOriginal'])) bimpy.same_line(size.x / 3 * 2) self.meta_info.setdefault('Make', '') self.meta_info.setdefault('Model', '') bimpy.text('{}:{} {}'.format(LANG.meta_device, self.meta_info['Make'], self.meta_info['Model'])) ####LINE2#### self.meta_info.setdefault('FocalLength', '') bimpy.text('{}:{}'.format(LANG.meta_focal_length, self.meta_info['FocalLength'])) bimpy.same_line(size.x / 3) self.meta_info.setdefault('ExposureTime', '') # truncate too high number try: x, y = self.meta_info['ExposureTime'] self.meta_info['ExposureTime'] = (x % 1000, y % 1000) except: pass bimpy.text('{}:{}'.format(LANG.meta_exposure_time, self.meta_info['ExposureTime'])) bimpy.same_line(size.x / 3 * 2) self.meta_info.setdefault('ISOSpeedRatings', '') bimpy.text('{}:{}'.format(LANG.meta_ISO_speed_ratings, self.meta_info['ISOSpeedRatings'])) ####LINE3#### bimpy.text('{}:({},{})'.format(LANG.meta_GPS, round(self.lat, 1), round(self.lon, 1))) bimpy.same_line(size.x / 3) bimpy.text('{}:{}'.format(LANG.meta_location, self.location)) ######################## t = { 'x': bimpy.get_window_pos().x, 'y': bimpy.get_window_pos().y, 'w': bimpy.get_window_size().x, 'h': bimpy.get_window_size().y, 'self': self, } bimpy.end() return t