def update(self, dt): imgui.new_frame() self.crosshair() if self.showTestWindow: self.testWindow() if self.showDrawTools: # show Drawing Tools window self.drawTools() if self.showLayers: self.layers() if imgui.begin_main_menu_bar(): # stat menu bar (top bar) if imgui.begin_menu("File", True): # start menu bar entry: File clicked_quit, selected_quit = imgui.menu_item( # start File menu entry: Quit "Quit", 'Cmd+Q', False, True # Name label, Shortcut label, Check bool, Enabled bool ) if clicked_quit: # event: if entry quit is clicked exit(1) if selected_quit: pass imgui.end_menu() # end File menu if imgui.begin_menu("Draw", True): clicked_draw, selected_draw = imgui.menu_item( "Draw Tools", "", self.showDrawTools, True) if clicked_draw: if self.showDrawTools: self.showDrawTools = False else: self.showDrawTools = True clicked_layers, selected_layers = imgui.menu_item( "Layers", "", self.showLayers, True) if clicked_layers: if self.showLayers: self.showLayers = False else: self.showLayers = True imgui.end_menu() # Example of a window, check line 59 if imgui.begin_menu("Test", True): # start menu bar entry: Test clicked_test, selected_test = imgui.menu_item( "Test", "Ctrl+Alt+Del", self.showTestWindow, True) if clicked_test: if self.showTestWindow: self.showTestWindow = False else: self.showTestWindow = True imgui.end_menu() # end Test menu imgui.end_main_menu_bar()
def draw(self): flags = imgui.WINDOW_MENU_BAR imgui.begin("Child Window - File Browser", flags=flags) if imgui.begin_menu_bar(): if imgui.begin_menu('File'): imgui.menu_item('Close') imgui.end_menu() imgui.end_menu_bar() imgui.end()
def update(dt): imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() show_test_window() #imgui.show_test_window() imgui.begin("Custom window", True) imgui.text("Bar") imgui.text_colored("Eggs", 0.2, 1., 0.) imgui.text_ansi("B\033[31marA\033[mnsi ") imgui.text_ansi_colored("Eg\033[31mgAn\033[msi ", 0.2, 1., 0.) imgui.end()
def update(dt): # Start rendering a new frame imgui.new_frame() ### MENU BAR BEGIN ### if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", "Esc", False, True) if clicked_quit: exit(1) imgui.end_menu() # End rendering the menu bar imgui.end_main_menu_bar() if quit_the_app: exit(1) ### MENU BAR END ### # Show a basic test window, if you want # show_test_window() # TODO: Do any imgui stuff you want here. Here's a simple example... # imgui.begin("My Cool Sub-Window", True) # start rendering a sub-window # imgui.set_window_size(window_width / 2, window_height) # take up half the screen # imgui.text("Here's some awesome text!") # render some text # if imgui.button("Click Me!"): # buttons are rendered and checked for clicks in one line! # imgui.text("Button clicked!") # imgui.end() # end the sub-window # Clear the OpenGL buffer for the background color. gl.glClearColor(1, 1, 1, 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT)
def main(recfile): imgui.create_context() window = impl_glfw_init() impl = GlfwRenderer(window) slamgui = SLAMGUI(recfile) while not glfw.window_should_close(window): glfw.poll_events() impl.process_inputs() imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, _ = imgui.menu_item("Quit", 'Cmd+Q', False, True) if clicked_quit: exit(0) imgui.end_menu() imgui.end_main_menu_bar() slamgui.render() gl.glClearColor(0, 0, 0, 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT) imgui.render() impl.render(imgui.get_draw_data()) glfw.swap_buffers(window) impl.shutdown() glfw.terminate()
def draw(self, *args, **kwargs): imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() imgui.show_test_window() imgui.begin("Custom window", True) imgui.text("Bar") imgui.text_colored("Eggs", 0.2, 1., 0.) imgui.end() gl.glClearColor(1., 1., 1., 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT) imgui.render()
def render_ui(self, time, rotation, translation, model): imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", '', False, True ) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() # imgui.show_test_window() imgui.begin("Custom window", True) value = self.slider_value changed, changed_value = imgui.slider_int( "slide ints", value, min_value=0, max_value=100, format="%d" ) if changed: self.slider_value = changed_value imgui.text(string("time: \n", time)) imgui.text(string("rotation: \n", rotation)) imgui.text(string("translation: \n", translation)) imgui.text(string("model = translation * rotation: \n", model)) imgui.end() imgui.render() self.imgui.render(imgui.get_draw_data())
def render(self): # Clear frame. glClearColor(0.2, 0.3, 0.3, 1.0) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) # Draw. # self.draw_grid() # Menu. self.imgui_impl.process_inputs() imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() imgui.render() self.imgui_impl.render(imgui.get_draw_data())
def render_ui(self): """Render the UI""" imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() imgui.show_test_window() imgui.begin("Custom window", True) imgui.text("Bar") imgui.text_colored("Eggs", 0.2, 1., 0.) imgui.end() # Create window with the framebuffer image imgui.begin("Custom window with Image", True) # Create an image control by passing in the OpenGL texture ID (glo) # and pass in the image size as well. # The texture needs to he registered using register_texture for this to work imgui.image(self.fbo.color_attachments[0].glo, *self.fbo.size) imgui.end() imgui.render() self.imgui.render(imgui.get_draw_data())
def render_callback(self, time: float, frametime: float): if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True ) if clicked_quit: exit(1) imgui.end_menu() changed, value = imgui.input_text("", self.input_text, 30) if changed: imgui.set_next_window_position(imgui.get_item_rect_min().x, imgui.get_item_rect_max().y) imgui.set_next_window_size(imgui.get_item_rect_size().x, 0) if imgui.begin("##popup", False, imgui.WINDOW_NO_TITLE_BAR | imgui.WINDOW_NO_MOVE | imgui.WINDOW_NO_RESIZE): for index, row in symbol_list.iterrows(): if value.upper() in row[0]: opened, selected = imgui.selectable(row[0] + " - " + row[2]) if imgui.is_item_clicked(): input_text = row[0] selected_symbol = row[0] imgui.end() if imgui.button("download"): yfc.download(self.selected_symbol, symbol_data_file()) imgui.end_main_menu_bar() pass
def menu_bar(self): if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: self.cleanup() exit(0) imgui.end_menu() changed, value = imgui.input_text("", self.input_text, 30) if changed: imgui.set_next_window_position(imgui.get_item_rect_min().x, imgui.get_item_rect_max().y) imgui.set_next_window_size(imgui.get_item_rect_size().x, 0) if imgui.begin( "##popup", False, imgui.WINDOW_NO_TITLE_BAR | imgui.WINDOW_NO_MOVE | imgui.WINDOW_NO_RESIZE): for index, row in self.symbol_list.iterrows(): if value.upper() in row[0]: _, _ = imgui.selectable(row[0] + " - " + row[2]) if imgui.is_item_clicked(): self.input_text = row[0] self.load_symbol(str(row[0]).lower()) imgui.end() imgui.end_main_menu_bar()
def draw(self): imgui.new_frame() imgui.set_next_window_position(16, 32, imgui.ONCE) imgui.set_next_window_size(512, 512, imgui.ONCE) if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() imgui.show_test_window() imgui.begin("Custom window", True) imgui.text("Bar") imgui.text_colored("Eggs", 0.2, 1., 0.) imgui.end() imgui.end_frame() imgui.render() self.renderer.render(imgui.get_draw_data())
def draw_menu(self): if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True ) if clicked_quit: exit(1) imgui.end_menu() if imgui.begin_menu("Controls", True): clicked_scene, selected_scene = imgui.menu_item( "Scene", "Cmd+S", False, True ) if clicked_scene: self.scene_controls = True imgui.end_menu() imgui.end_main_menu_bar()
def moduleMenuBar(self, modules): if (imgui.begin_menu(self.name)): main_c, _ = imgui.menu_item("Main Interface") if main_c: for _, moduleToDisable in modules.items(): moduleToDisable.interfaceActive = False self.interfaceActive = not self.interfaceActive self.activeInterface = "main" banList_c, _ = imgui.menu_item("Ban List") if banList_c: for _, moduleToDisable in modules.items(): moduleToDisable.interfaceActive = False self.interfaceActive = not self.interfaceActive self.activeInterface = "ban" imgui.end_menu()
def draw_menu(self): if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True ) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar()
def _show_custom_ui(self): super()._show_custom_ui() if imgui.button("choose file"): imgui.open_popup("choose_file") if imgui.begin_popup("choose_file"): for i, path in enumerate(self._files): if imgui.menu_item(path, "", False, True)[0]: self.set_state({"index": i}) imgui.end_popup()
def draw_mainmenu(self): if imgui.begin_main_menu_bar(): # File if imgui.begin_menu('File', True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) imgui.end_menu() # View if imgui.begin_menu('View', True): clicked_metrics, self.window.view_metrics = imgui.menu_item( "Metrics", 'Cmd+M', self.window.view_metrics, True) imgui.end_menu() imgui.end_main_menu_bar()
def replay(fname): imgui.create_context() window = impl_glfw_init() impl = GlfwRenderer(window) replaygui = ReplayGUI(fname) while not glfw.window_should_close(window): glfw.poll_events() impl.process_inputs() imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, _ = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(0) imgui.end_menu() if imgui.begin_menu("View", True): _, replaygui.show_frontview = imgui.menu_item( "Front view", selected=replaygui.show_frontview) imgui.end_menu() if imgui.begin_menu("Tools", True): clicked, _ = imgui.menu_item("Learn control params") if clicked: replaygui.learn_controls = True clicked, _ = imgui.menu_item("Lap timer") if clicked: replaygui.lap_timer = True imgui.end_menu() imgui.end_main_menu_bar() replaygui.render() gl.glClearColor(0, 0, 0, 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT) imgui.render() impl.render(imgui.get_draw_data()) glfw.swap_buffers(window) impl.shutdown() glfw.terminate()
def main(): pygame.init() size = 800, 600 pygame.display.set_mode(size, pygame.DOUBLEBUF | pygame.OPENGL | pygame.RESIZABLE) imgui.create_context() impl = PygameRenderer() io = imgui.get_io() io.display_size = size while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() impl.process_event(event) imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True ) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() imgui.show_test_window() imgui.begin("Custom window", True) imgui.text("Bar") #imgui.same_line() imgui.text_colored("Eggs", 0.2, 1., 0.) #imgui.same_line() imgui.bullet_text("bullet_text") # 不换行 #imgui.same_line() imgui.end() # note: cannot use screen.fill((1, 1, 1)) because pygame's screen # does not support fill() on OpenGL sufraces gl.glClearColor(1, 1, 1, 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT) imgui.render() impl.render(imgui.get_draw_data()) pygame.display.flip()
def update(): imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("System", True): for app in app_list: clicked, selected = imgui.menu_item( app.__name__, '', False, True) if clicked: desktop.add(app()) imgui.separator() clicked_quit, selected_quit = imgui.menu_item( "Quit", '', False, True) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() desktop.render()
def menubar(): if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True ) if clicked_quit: exit(1) imgui.end_menu() if imgui.begin_menu("About", True): clicked_about, _ = imgui.menu_item( "About me..", 'F1', True, True ) if clicked_about: imgui.open_popup("about-p") imgui.end_menu() imgui.end_main_menu_bar()
def show(self, value, read_only): clicked, self.show_texture = imgui.checkbox("Show", self.show_texture) if not self.show_texture: return texture = value.value if texture is None: self.texture_aspect = None else: h, w, _ = texture.shape self.texture_aspect = w / h cursor_pos = imgui.get_cursor_screen_pos() imgui.set_next_window_size(500, 500, imgui.ONCE) imgui.set_next_window_size_constraints((0.0, 0.0), (float("inf"), float("inf")), self.window_size_callback) imgui.set_next_window_position(*imgui.get_io().mouse_pos, imgui.ONCE, pivot_x=0.5, pivot_y=0.5) expanded, opened = imgui.begin( "Texture of %s###%s%s" % (self.node.spec.name, id(self.node), id(self)), True, imgui.WINDOW_NO_SCROLLBAR) if not opened: self.show_texture = False if expanded: if texture is None: imgui.text("No texture associated") else: # [::-1] reverses list texture_size = texture.shape[:2][::-1] texture_aspect = texture_size[0] / texture_size[1] window_size = imgui.get_content_region_available() imgui.image(texture._handle, window_size[0], window_size[0] / texture_aspect) if imgui.is_item_hovered() and imgui.is_mouse_clicked(1): # little hack to have first context menu entry under cursor io = imgui.get_io() pos = io.mouse_pos io.mouse_pos = pos[0] - 20, pos[1] - 20 imgui.open_popup("context") io.mouse_pos = pos if imgui.begin_popup("context"): if imgui.menu_item("save")[0]: util.image.save_screenshot(texture.get()) imgui.menu_item("texture handle: %s" % texture._handle, None, False, False) imgui.menu_item("texture dtype: %s" % str(texture.dtype), None, False, False) imgui.menu_item("texture shape: %s" % str(texture.shape), None, False, False) imgui.end_popup() imgui.end()
def draw(self): imgui.new_frame() imgui.set_next_window_position(16, 32, imgui.ONCE) imgui.set_next_window_size(512, 512, imgui.ONCE) if imgui.begin_main_menu_bar(): # first menu dropdown if imgui.begin_menu('File', True): imgui.menu_item('New', 'Ctrl+N', False, True) imgui.menu_item('Open ...', 'Ctrl+O', False, True) # submenu if imgui.begin_menu('Open Recent', True): imgui.menu_item('doc.txt', None, False, True) imgui.end_menu() imgui.end_menu() imgui.end_main_menu_bar() imgui.end_frame() imgui.render() self.renderer.render(imgui.get_draw_data())
def _imgui_pick_file_menu(base_path, wildcard="*"): MAX_FILE_DISPLAY_LENGTH = 60 try: entries = [] for name in os.listdir(base_path): entries.append( (not os.path.isdir(os.path.join(base_path, name)), name)) imgui.text("New:") imgui.same_line() imgui.push_item_width(-1) changed, value = imgui.input_text("", "", 255, imgui.INPUT_TEXT_ENTER_RETURNS_TRUE) if changed: return os.path.join(base_path, value) imgui.separator() for w in WILDCARDS: if imgui.button(w): return os.path.join(base_path, w) imgui.same_line() imgui.dummy(0, 0) imgui.separator() if len(entries) == 0: imgui.dummy(200, 0) for not_is_dir, name in sorted(entries): display_name = name if len(display_name) > MAX_FILE_DISPLAY_LENGTH: display_name = display_name[:MAX_FILE_DISPLAY_LENGTH // 2] + "..." + display_name[ -MAX_FILE_DISPLAY_LENGTH // 2:] if not not_is_dir: if imgui.begin_menu(display_name): selected_path = _imgui_pick_file_menu( os.path.join(base_path, name), wildcard) imgui.end_menu() if selected_path is not None: return os.path.join(base_path, selected_path) else: if not fnmatch.fnmatch(name, wildcard): continue clicked, state = imgui.menu_item(display_name, None, False) if clicked: return os.path.join(base_path, name) imgui.separator() imgui.text("Pick: %s" % wildcard) except: imgui.text("Unable to open dir")
def main(): pygame.init() size = 800, 600 pygame.display.set_mode(size, pygame.DOUBLEBUF | pygame.OPENGL | pygame.RESIZABLE) imgui.create_context() impl = PygameRenderer() io = imgui.get_io() io.display_size = size while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() impl.process_event(event) imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item("Quit", 'Alt+F4', False, True) clicked_save, selected_save = imgui.menu_item("Save", "", False, True) if clicked_save: print("Saved...") if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() gl.glClearColor(1, 1, 1, 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT) imgui.render() impl.render(imgui.get_draw_data()) pygame.display.flip()
def main(): pygame.init() clock = pygame.time.Clock() size = 640, 480 pygame.display.set_mode(size, pygame.HWSURFACE | pygame.DOUBLEBUF | pygame.OPENGL) io = imgui.get_io() io.fonts.add_font_default() io.display_size = size renderer = PygameRenderer() while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() renderer.process_event(event) imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True ) if clicked_quit: pygame.quit() exit(1) imgui.end_menu() imgui.end_main_menu_bar() imgui.show_test_window() imgui.begin("Custom window", True) imgui.text("Bar") imgui.text_colored("Eggs", 0.2, 1., 0.) imgui.end() # note: cannot use screen.fill((1, 1, 1)) because pygame's screen # does not support fill() on OpenGL sufraces gl.glClearColor(1, 1, 1, 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT) imgui.render() pygame.display.flip() clock.tick(60)
def on_frame(): if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() imgui.show_test_window() imgui.begin("Custom window", True) imgui.text("Bar") imgui.text_colored("Eggs", 0.2, 1., 0.) imgui.end()
def main(): window, gl_context = impl_pysdl2_init() impl = SDL2Impl(window) opened = True running = True event = SDL_Event() while running: while SDL_PollEvent(ctypes.byref(event)) != 0: if event.type == SDL_QUIT: running = False break impl.process_event(event) impl.process_inputs() imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() imgui.show_user_guide() imgui.show_test_window() if opened: expanded, opened = imgui.begin("fooo", True) imgui.text("Bar") imgui.text_colored("Eggs", 0.2, 1., 0.) imgui.end() with imgui.styled(imgui.STYLE_ALPHA, 1): imgui.show_metrics_window() gl.glClearColor(114 / 255., 144 / 255., 154 / 255., 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT) imgui.render() SDL_GL_SwapWindow(window) impl.shutdown() SDL_GL_DeleteContext(gl_context) SDL_DestroyWindow(window) SDL_Quit()
def main(): window = impl_glfw_init() impl = GlfwRenderer(window) box1 = box2 = box3 = True while not glfw.window_should_close(window): glfw.poll_events() impl.process_inputs() imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("File", True): clicked_quit, selected_quit = imgui.menu_item( "Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) imgui.end_menu() imgui.end_main_menu_bar() imgui.begin("Scope Test") box1 = imgui.checkbox("Checkbox", box1)[1] with imgui.scope(2): imgui.new_line() imgui.text("Same name, different scope:") box2 = imgui.checkbox("Checkbox", box2)[1] imgui.new_line() imgui.text("Same name, same scope:") imgui.text("(This will not work right)") box3 = imgui.checkbox("Checkbox", box3)[1] imgui.end() gl.glClearColor(1., 1., 1., 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT) imgui.render() glfw.swap_buffers(window) impl.shutdown() imgui.shutdown() glfw.terminate()
def draw(self): imgui.new_frame() imgui.set_next_window_position(16, 32, imgui.ONCE) imgui.set_next_window_size(512, 512, imgui.ONCE) flags = imgui.WINDOW_MENU_BAR imgui.begin("Child Window - File Browser", flags=flags) if imgui.begin_menu_bar(): if imgui.begin_menu('File'): imgui.menu_item('Close') imgui.end_menu() imgui.end_menu_bar() imgui.end() imgui.end_frame() imgui.render() self.renderer.render(imgui.get_draw_data())
def main(): pygame.init() size = 800, 600 pygame.display.set_mode(size, pygame.DOUBLEBUF | pygame.OPENGL) pygame.display.set_caption("GBDev tool window") io = imgui.get_io() io.fonts.add_font_default() io.display_size = size renderer = PygameRenderer() while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() renderer.process_event(event) imgui.new_frame() if imgui.begin_main_menu_bar(): if imgui.begin_menu("Menu", True): open_gbtd, selected_none = imgui.menu_item("Open GBTD", None, False, True) open_gbtk, selected_none = imgui.menu_item("Open GBTK", None, False, True) export_json, selected_none = imgui.menu_item("Export Default Json", None, False, True) clicked_quit, selected_quit = imgui.menu_item("Quit", 'Cmd+Q', False, True) if clicked_quit: exit(1) if open_gbtd: os.system("wine tools/GBTD/GBTD.EXE &") if open_gbtk: os.system("wine tools/GBTK.exe &") if export_json: tools.json2c.default_use() imgui.end_menu() imgui.end_main_menu_bar() imgui.begin("Data", True) img_path = "data/img" onlyfiles = [f for f in listdir(img_path) if isfile(join(img_path, f))] #print(onlyfiles) for file in onlyfiles: imgui_image_menu(img_path+"/"+file) imgui.end() imgui.begin("Images", True) imgs_id = [] for img_filename in onlyfiles: if img_filename.split(".")[-1] == "png": imgs_id.append((img_path+"/"+img_filename, img_manager.load_image(img_path+"/"+img_filename))) for img in imgs_id: img_size = img_manager.get_image_size(img[0]) if img[1] is not 0 and img_size is not (): imgui.image(img[1], img_size[0]*2, img_size[1]*2, (0,1), (1,0)) imgui.same_line() imgui.end() # note: cannot use screen.fill((1, 1, 1)) because pygame's screen # does not support fill() on OpenGL sufraces gl.glClearColor(1, 1, 1, 1) gl.glClear(gl.GL_COLOR_BUFFER_BIT) imgui.render() pygame.display.flip()