def modal_end(self, context): ''' finish up stuff, as our tool is leaving modal mode ''' self.end(context) SpaceView3D.draw_handler_remove(self.cb_pv_handle, "WINDOW") context.area.header_text_set()
def modal(self, context, event): addon_prefs = context.preferences.addons["rotate_an_hdri"].preferences shading = context.space_data.shading if event.type == 'MOUSEMOVE': hdri = get_hdri(context) delta = self.first_mouse_x - event.mouse_x rotation_speed = 0.001 * addon_prefs.rotation_speed if hdri == 'MAT_PREVIEW': hdri_angle = self.first_value if shading.studiolight_rotate_z == LIMIT_NEG: self.first_value = LIMIT_POS self.first_mouse_x = event.mouse_x if shading.studiolight_rotate_z == LIMIT_POS: self.first_value = LIMIT_NEG self.first_mouse_x = event.mouse_x shading.studiolight_rotate_z = hdri_angle + delta * rotation_speed if hdri == 'NODE': mapping_node_rotation = get_mapping_node_rotation(context) if mapping_node_rotation: hdri_angle = self.first_value if mapping_node_rotation[Z] < LIMIT_NEG: self.first_value = LIMIT_POS self.first_mouse_x = event.mouse_x if mapping_node_rotation[Z] > LIMIT_POS: self.first_value = LIMIT_NEG self.first_mouse_x = event.mouse_x current_angle = hdri_angle + delta * rotation_speed mapping_node_rotation[Z] = current_angle if event.type in {'LEFTMOUSE', 'RIGHTMOUSE', 'ESC'}: update_gaffer_rotation_property(context) SpaceView3D.draw_handler_remove(self._handle, 'WINDOW') return {'FINISHED'} return {'RUNNING_MODAL'}
def handle_add(self, context): if ShowHideViewportButton._handle is None: ShowHideViewportButton._handle = SpaceView3D.draw_handler_add( draw_callback_px, (self, context), 'WINDOW', 'POST_PIXEL') ShowHideViewportButton._handle3d = SpaceView3D.draw_handler_add( draw_callback_3d, (self, context), 'WINDOW', 'POST_VIEW') context.window_manager.measureit_arch_run_opengl = True
def handle_remove(self, context): if ShowHideViewportButton._handle is not None: SpaceView3D.draw_handler_remove(ShowHideViewportButton._handle, 'WINDOW') SpaceView3D.draw_handler_remove(ShowHideViewportButton._handle3d, 'WINDOW') ShowHideViewportButton._handle = None context.window_manager.measureit_arch_run_opengl = False
def execute(self, context): if speedometre.draw_handle: SpaceView3D.draw_handler_remove(speedometre.draw_handle, 'WINDOW') speedometre.draw_handle = None for i in speedometre.callback: del handlers.frame_change_post[i] speedometre.callback = set() return {'FINISHED'}
def handle_remove(self, context): """Remove Pivot Point Graphic if diaplayed. Takes: self, context Removes 7 element Pivot Point Graphic Return: Nothing.""" if PDT_OT_ModalDrawOperator._handle is not None: SpaceView3D.draw_handler_remove(PDT_OT_ModalDrawOperator._handle, 'WINDOW') PDT_OT_ModalDrawOperator._handle = None context.window_manager.pdt_run_opengl = False
def ui_start(self): # # report something useful to user # bpy.context.area.header_text_set("Click & drag to add bricks (+'ALT' to remove). Press 'RETURN' to commit changes") # update dpi prefs = get_preferences(bpy.context) ui_scale = prefs.view.ui_scale pixel_size = prefs.system.pixel_size self.dpi = int(72 * ui_scale * pixel_size) # add callback handlers self.cb_pr_handle = SpaceView3D.draw_handler_add( self.draw_callback_preview, (bpy.context, ), 'WINDOW', 'PRE_VIEW') # self.cb_pv_handle = SpaceView3D.draw_handler_add(self.draw_callback_postview, (bpy.context, ), 'WINDOW', 'POST_VIEW') # self.cb_pp_handle = SpaceView3D.draw_handler_add(self.draw_callback_postpixel, (bpy.context, ), 'WINDOW', 'POST_PIXEL') # darken other spaces self.spaces = [ bpy.types.SpaceClipEditor, bpy.types.SpaceConsole, bpy.types.SpaceDopeSheetEditor, bpy.types.SpaceFileBrowser, bpy.types.SpaceGraphEditor, bpy.types.SpaceImageEditor, bpy.types.SpaceInfo, bpy.types.SpaceLogicEditor, bpy.types.SpaceNLA, bpy.types.SpaceNodeEditor, bpy.types.SpaceOutliner, bpy.types.SpaceProperties, bpy.types.SpaceSequenceEditor, bpy.types.SpaceTextEditor, bpy.types.SpaceTimeline, #bpy.types.SpaceUVEditor, # <- does not exist? bpy.types.SpaceUserPreferences, #'SpaceView3D', # <- specially handled ] self.areas = ['WINDOW', 'HEADER'] # ('WINDOW', 'HEADER', 'CHANNELS', 'TEMPORARY', 'UI', 'TOOLS', 'TOOL_PROPS', 'PREVIEW') # self.cb_pp_tools = SpaceView3D.draw_handler_add(self.draw_callback_cover, (bpy.context, ), 'TOOLS', 'POST_PIXEL') self.cb_pp_props = SpaceView3D.draw_handler_add( self.draw_callback_cover, (bpy.context, ), 'TOOL_PROPS', 'POST_PIXEL') self.cb_pp_ui = SpaceView3D.draw_handler_add(self.draw_callback_cover, (bpy.context, ), 'UI', 'POST_PIXEL') self.cb_pp_header = SpaceView3D.draw_handler_add( self.draw_callback_cover, (bpy.context, ), 'HEADER', 'POST_PIXEL') self.cb_pp_all = [(s, a, s.draw_handler_add(self.draw_callback_cover, (bpy.context, ), a, 'POST_PIXEL')) for s in self.spaces for a in self.areas] self.draw_preview() tag_redraw_areas()
def dispose(self) -> None: if self._draw_handler: # noinspection PyArgumentList SpaceView3D.draw_handler_remove(self._draw_handler, "WINDOW") else: bge.logic.getCurrentScene().post_draw.remove(self.process) bgl.glDeleteTextures(1, self.texture) # noinspection PyTypeChecker bgl.glDeleteBuffers(1, self.texture) super().dispose()
def finish(self, context=None): if hasattr(self, '_handle'): if context is None: SpaceView3D.draw_handler_remove(self._handle, "TOOL_HEADER") bpy.context.preferences.themes[ 0].view_3d.space.header = self.original_color save_actual_ui_state(bpy.context) else: context.preferences.themes[ 0].view_3d.space.header = self.original_color context.space_data.draw_handler_remove(self._handle, 'TOOL_HEADER') save_actual_ui_state(context) self.area.tag_redraw() del self._handle
def execute(self, context): def __get_speed(s, c): if not speedometre.obj: return current_pos = speedometre.obj.matrix_world.to_translation() distance = current_pos - speedometre.last_pos speedometre.last_pos = current_pos delta_time = speedometre.delta_time * abs( speedometre.current_frame - c.scene.frame_current) speedometre.current_frame = c.scene.frame_current speedometre.speed = 0.0 if delta_time == 0.0 else distance.length / delta_time # Get object a_selected = context.selected_objects if len(a_selected) == 0: raise RuntimeError('No object selected !') speedometre.obj = a_selected[0] speedometre.current_frame = context.scene.frame_current speedometre.delta_time = 1.0 / context.scene.render.fps # Set callback args = (self, context) speedometre.draw_handle = SpaceView3D.draw_handler_add( draw_callback_px, args, 'WINDOW', 'POST_PIXEL') handlers.frame_change_post.append(__get_speed) speedometre.callback.add(len(handlers.frame_change_post) - 1) return {'FINISHED'}
def __init__(self, toolkit: BlenderToolkit, look_and_feel: Optional[LookAndFeel] = None, font_options: Optional[FontOptions] = None, window_manager: Optional[WindowManager] = None, error_handler: Optional[ErrorHandler] = None) -> None: super().__init__(toolkit, look_and_feel, font_options, window_manager, error_handler) resolution = Dimension(bge.render.getWindowWidth(), bge.render.getWindowHeight()) self._resolution = BehaviorSubject(resolution) # noinspection PyTypeChecker self.window_size = self._resolution.pipe(ops.distinct_until_changed()) self._shader = cast(GPUShader, gpu.shader.from_builtin("2D_IMAGE")) if use_viewport_render: # noinspection PyArgumentList self._draw_handler = SpaceView3D.draw_handler_add( self.process, (), "WINDOW", "POST_PIXEL") else: self._draw_handler = None bge.logic.getCurrentScene().post_draw.append(self.process) # noinspection PyTypeChecker self._texture = Buffer(bgl.GL_INT, 1) bgl.glGenTextures(1, self.texture)
def modal_start(self, context): ''' get everything ready to be run as modal tool ''' self.fsm_mode = 'main' self.mode_pos = (0, 0) self.cur_pos = (0, 0) self.is_navigating = False self.cb_pv_handle = SpaceView3D.draw_handler_add(self.draw_callback_postview, (context, ), 'WINDOW', 'POST_VIEW') self.cb_pp_handle = SpaceView3D.draw_handler_add(self.draw_callback_postpixel, (context, ), 'WINDOW', 'POST_PIXEL') context.window_manager.modal_handler_add(self) #context.area.header_text_set(self.bl_label) self.footer = '' self.footer_last = '' self.start(context)
def handle_remove(self, context): """Remove Pivot Point Graphic if displayed. Removes 7 element Pivot Point Graphic Args: context: Blender bpy.context instance. Returns: Nothing. """ if PDT_OT_ModalDrawOperator._handle is not None: SpaceView3D.draw_handler_remove(PDT_OT_ModalDrawOperator._handle, "WINDOW") PDT_OT_ModalDrawOperator._handle = None context.window_manager.pdt_run_opengl = False
def handle_add(self, context): """Draw Pivot Point Graphic if not diaplayed. Takes: self, context Draws 7 element Pivot Point Graphic Return: Nothing.""" if PDT_OT_ModalDrawOperator._handle is None: PDT_OT_ModalDrawOperator._handle = SpaceView3D.draw_handler_add( draw_callback_3d, (self, context), 'WINDOW', 'POST_VIEW') context.window_manager.pdt_run_opengl = True
def ui_start(self): # report something useful to user # bpy.context.area.header_text_set('RetopoFlow Mode') # add callback handlers self.cb_pr_handle = SpaceView3D.draw_handler_add(self.draw_callback_preview, (bpy.context, ), 'WINDOW', 'PRE_VIEW') self.cb_pv_handle = SpaceView3D.draw_handler_add(self.draw_callback_postview, (bpy.context, ), 'WINDOW', 'POST_VIEW') self.cb_pp_handle = SpaceView3D.draw_handler_add(self.draw_callback_postpixel, (bpy.context, ), 'WINDOW', 'POST_PIXEL') # darken other spaces self.spaces = [ bpy.types.SpaceClipEditor, bpy.types.SpaceConsole, bpy.types.SpaceDopeSheetEditor, bpy.types.SpaceFileBrowser, bpy.types.SpaceGraphEditor, bpy.types.SpaceImageEditor, bpy.types.SpaceInfo, bpy.types.SpaceLogicEditor, bpy.types.SpaceNLA, bpy.types.SpaceNodeEditor, bpy.types.SpaceOutliner, bpy.types.SpaceProperties, bpy.types.SpaceSequenceEditor, bpy.types.SpaceTextEditor, bpy.types.SpaceTimeline, #bpy.types.SpaceUVEditor, # <- does not exist? bpy.types.SpaceUserPreferences, #'SpaceView3D', # <- specially handled ] self.areas = [ 'WINDOW', 'HEADER' ] # ('WINDOW', 'HEADER', 'CHANNELS', 'TEMPORARY', 'UI', 'TOOLS', 'TOOL_PROPS', 'PREVIEW') self.cb_pp_tools = SpaceView3D.draw_handler_add(self.draw_callback_cover, (bpy.context, ), 'TOOLS', 'POST_PIXEL') self.cb_pp_props = SpaceView3D.draw_handler_add(self.draw_callback_cover, (bpy.context, ), 'TOOL_PROPS', 'POST_PIXEL') self.cb_pp_ui = SpaceView3D.draw_handler_add(self.draw_callback_cover, (bpy.context, ), 'UI', 'POST_PIXEL') self.cb_pp_header = SpaceView3D.draw_handler_add(self.draw_callback_cover, (bpy.context, ), 'HEADER', 'POST_PIXEL') self.cb_pp_all = [ (s, a, s.draw_handler_add(self.draw_callback_cover, (bpy.context,), a, 'POST_PIXEL')) for s in self.spaces for a in self.areas ] self.tag_redraw_all() self.blender_op_context = { 'window': bpy.context.window, 'area': bpy.context.area, 'space_data': bpy.context.space_data, 'region': bpy.context.region, } self.maximize_area = False self.wrap_panels() self.rfctx.timer = bpy.context.window_manager.event_timer_add(1.0 / 120, bpy.context.window) self.drawing = Drawing.get_instance() self.drawing.set_cursor('CROSSHAIR')
def ui_start(self): # # report something useful to user # bpy.context.area.header_text_set("Click & drag to add bricks (+'ALT' to remove). Press 'RETURN' to commit changes") # update dpi ui_scale = get_preferences().view.ui_scale pixel_size = get_preferences().system.pixel_size self.dpi = int(72 * ui_scale * pixel_size) # add callback handlers self.cb_pr_handle = SpaceView3D.draw_handler_add( self.draw_callback_preview, (bpy.context, ), "WINDOW", "PRE_VIEW") # self.cb_pv_handle = SpaceView3D.draw_handler_add(self.draw_callback_postview, (bpy.context, ), "WINDOW", "POST_VIEW") self.cb_pp_handle = SpaceView3D.draw_handler_add( self.draw_callback_postpixel, (bpy.context, ), "WINDOW", "POST_PIXEL") # darken other spaces self.spaces = [ bpy.types.SpaceClipEditor, bpy.types.SpaceConsole, bpy.types.SpaceDopeSheetEditor, bpy.types.SpaceFileBrowser, bpy.types.SpaceGraphEditor, bpy.types.SpaceImageEditor, bpy.types.SpaceInfo, bpy.types.SpaceNLA, bpy.types.SpaceNodeEditor, bpy.types.SpaceOutliner, bpy.types.SpaceProperties, bpy.types.SpaceSequenceEditor, bpy.types.SpaceTextEditor, #"SpaceView3D", # <- specially handled ] if b280(): self.spaces.append(bpy.types.SpacePreferences) self.spaces.append(bpy.types.SpaceUVEditor) else: self.spaces.append(bpy.types.SpaceUserPreferences) self.spaces.append(bpy.types.SpaceLogicEditor) self.spaces.append(bpy.types.SpaceTimeline) self.areas = ("WINDOW", "HEADER") if not b280(): # ("WINDOW", "HEADER", "CHANNELS", "TEMPORARY", "UI", "TOOLS", "TOOL_PROPS", "PREVIEW") self.cb_pp_tools = SpaceView3D.draw_handler_add( self.draw_callback_cover, (bpy.context, ), "TOOLS", "POST_PIXEL") self.cb_pp_props = SpaceView3D.draw_handler_add( self.draw_callback_cover, (bpy.context, ), "TOOL_PROPS", "POST_PIXEL") self.cb_pp_ui = SpaceView3D.draw_handler_add( self.draw_callback_cover, (bpy.context, ), "UI", "POST_PIXEL") self.cb_pp_header = SpaceView3D.draw_handler_add( self.draw_callback_cover, (bpy.context, ), "HEADER", "POST_PIXEL") self.cb_pp_all = [(s, a, s.draw_handler_add(self.draw_callback_cover, (bpy.context, ), a, "POST_PIXEL")) for s in self.spaces for a in self.areas] self.draw_preview() tag_redraw_areas()
def handle_add(self, context): """Draw Pivot Point Graphic if not displayed. Draws 7 element Pivot Point Graphic Args: context: Blender bpy.context instance. Returns: Nothing. """ if PDT_OT_ModalDrawOperator._handle is None: PDT_OT_ModalDrawOperator._handle = SpaceView3D.draw_handler_add( drawCallback3D, (self, context), "WINDOW", "POST_VIEW") context.window_manager.pdt_run_opengl = True
def invoke(self, context, event): wm = context.window_manager shading = context.space_data.shading hdri = get_hdri(context) self.first_mouse_x = event.mouse_x if hdri == 'MAT_PREVIEW': self.first_value = shading.studiolight_rotate_z elif hdri == 'NODE': mapping_node_rotation = get_mapping_node_rotation(context) if mapping_node_rotation: initial_angle = mapping_node_rotation[Z] self.first_value = initial_angle args = (self, context) self._handle = SpaceView3D.draw_handler_add(draw_callback_px, args, 'WINDOW', 'POST_PIXEL') wm.modal_handler_add(self) return {'RUNNING_MODAL'}
def register(): import atexit # Make sure we only register the callback once atexit.unregister(exit.handler) atexit.register(exit.handler) bpy.app.handlers.load_post.append(load_post.handler) bpy.app.handlers.scene_update_post.append(scene_update_post.handler) # args: The arguments for the draw_callback function, in our case no arguments args = () draw_3dview.handle = SpaceView3D.draw_handler_add(draw_3dview.handler, args, 'WINDOW', 'POST_VIEW') args = () draw_imageeditor.handle = SpaceImageEditor.draw_handler_add( draw_imageeditor.handler, args, 'WINDOW', 'POST_PIXEL')
def ui_end(self): if self.maximize_area: self.ui_toggle_maximize_area() if not hasattr(self, 'rfctx'): return # restore states of meshes self.rfctx.rftarget.restore_state() for rfsource in self.rfctx.rfsources: rfsource.restore_state() if self.rfctx.timer: bpy.context.window_manager.event_timer_remove(self.rfctx.timer) self.rfctx.timer = None # remove callback handlers if hasattr(self, 'cb_pr_handle'): SpaceView3D.draw_handler_remove(self.cb_pr_handle, "WINDOW") del self.cb_pr_handle if hasattr(self, 'cb_pv_handle'): SpaceView3D.draw_handler_remove(self.cb_pv_handle, "WINDOW") del self.cb_pv_handle if hasattr(self, 'cb_pp_handle'): SpaceView3D.draw_handler_remove(self.cb_pp_handle, "WINDOW") del self.cb_pp_handle if hasattr(self, 'cb_pp_tools'): SpaceView3D.draw_handler_remove(self.cb_pp_tools, "TOOLS") del self.cb_pp_tools if hasattr(self, 'cb_pp_props'): SpaceView3D.draw_handler_remove(self.cb_pp_props, "TOOL_PROPS") del self.cb_pp_props if hasattr(self, 'cb_pp_ui'): SpaceView3D.draw_handler_remove(self.cb_pp_ui, "UI") del self.cb_pp_ui if hasattr(self, 'cb_pp_header'): SpaceView3D.draw_handler_remove(self.cb_pp_header, "HEADER") del self.cb_pp_header if hasattr(self, 'cb_pp_all'): for s, a, cb in self.cb_pp_all: s.draw_handler_remove(cb, a) del self.cb_pp_all self.tag_redraw_all()
def ui_end(self): if self.maximize_area: self.ui_toggle_maximize_area() if not hasattr(self, 'rfctx'): return # restore states of meshes self.rfctx.rftarget.restore_state() for rfsource in self.rfctx.rfsources: rfsource.restore_state() if self.rfctx.timer: bpy.context.window_manager.event_timer_remove(self.rfctx.timer) self.rfctx.timer = None # remove callback handlers if hasattr(self, 'cb_pr_handle'): SpaceView3D.draw_handler_remove(self.cb_pr_handle, "WINDOW") del self.cb_pr_handle if hasattr(self, 'cb_pv_handle'): SpaceView3D.draw_handler_remove(self.cb_pv_handle, "WINDOW") del self.cb_pv_handle if hasattr(self, 'cb_pp_handle'): SpaceView3D.draw_handler_remove(self.cb_pp_handle, "WINDOW") del self.cb_pp_handle if hasattr(self, 'cb_pp_tools'): SpaceView3D.draw_handler_remove(self.cb_pp_tools, "TOOLS") del self.cb_pp_tools if hasattr(self, 'cb_pp_props'): SpaceView3D.draw_handler_remove(self.cb_pp_props, "TOOL_PROPS") del self.cb_pp_props if hasattr(self, 'cb_pp_ui'): SpaceView3D.draw_handler_remove(self.cb_pp_ui, "UI") del self.cb_pp_ui if hasattr(self, 'cb_pp_header'): SpaceView3D.draw_handler_remove(self.cb_pp_header, "HEADER") del self.cb_pp_header if hasattr(self, 'cb_pp_all'): for s,a,cb in self.cb_pp_all: s.draw_handler_remove(cb, a) del self.cb_pp_all self.tag_redraw_all()
def handle_remove(self, context): if ARCHIMESH_OT_HintDisplay._handle is not None: SpaceView3D.draw_handler_remove(ARCHIMESH_OT_HintDisplay._handle, 'WINDOW') ARCHIMESH_OT_HintDisplay._handle = None context.window_manager.archimesh_run_opengl = False
def _set_draw_handler(self): # Use memory address to get unique key used in draw handler if self.as_pointer() in draw_handler: return draw_handler[self.as_pointer()] = SpaceView3D.draw_handler_add( draw_distance_opengl, (self, bpy.context), 'WINDOW', 'POST_VIEW')
def unregister(): bpy.app.handlers.load_post.remove(load_post.handler) bpy.app.handlers.scene_update_post.remove(scene_update_post.handler) SpaceView3D.draw_handler_remove(draw_3dview.handle, 'WINDOW') SpaceImageEditor.draw_handler_remove(draw_imageeditor.handle, 'WINDOW')
def ui_end(self): # remove callback handlers if hasattr(self, "cb_pr_handle"): SpaceView3D.draw_handler_remove(self.cb_pr_handle, "WINDOW") del self.cb_pr_handle if hasattr(self, "cb_pv_handle"): SpaceView3D.draw_handler_remove(self.cb_pv_handle, "WINDOW") del self.cb_pv_handle if hasattr(self, "cb_pp_handle"): SpaceView3D.draw_handler_remove(self.cb_pp_handle, "WINDOW") del self.cb_pp_handle if hasattr(self, "cb_pp_tools"): SpaceView3D.draw_handler_remove(self.cb_pp_tools, "TOOLS") del self.cb_pp_tools if hasattr(self, "cb_pp_props"): SpaceView3D.draw_handler_remove(self.cb_pp_props, "TOOL_PROPS") del self.cb_pp_props if hasattr(self, "cb_pp_ui"): SpaceView3D.draw_handler_remove(self.cb_pp_ui, "UI") del self.cb_pp_ui if hasattr(self, "cb_pp_header"): SpaceView3D.draw_handler_remove(self.cb_pp_header, "HEADER") del self.cb_pp_header if hasattr(self, "cb_pp_all"): for s, a, cb in self.cb_pp_all: s.draw_handler_remove(cb, a) del self.cb_pp_all tag_redraw_areas()
def handle_remove(self, context): if AchmRunHintDisplayButton._handle is not None: SpaceView3D.draw_handler_remove(AchmRunHintDisplayButton._handle, 'WINDOW') AchmRunHintDisplayButton._handle = None context.window_manager.archimesh_run_opengl = False
def handle_add(self, context): if AchmRunHintDisplayButton._handle is None: AchmRunHintDisplayButton._handle = SpaceView3D.draw_handler_add( draw_callback_px, (self, context), 'WINDOW', 'POST_PIXEL') context.window_manager.archimesh_run_opengl = True
def handle_add(self, context): if BRAND_DISPLAY._handler is None: BRAND_DISPLAY._handler = SpaceView3D.draw_handler_add( self.draw_callback, (context, ), "WINDOW", "POST_PIXEL") context.window_manager.brand_run_opengl = True
def uninstall(cls): try: SpaceView3D.draw_handler_remove(cls.installed, "WINDOW") except ValueError: pass cls.installed = None
def free(self): SpaceView3D.draw_handler_remove(draw_handler[self.as_pointer()], 'WINDOW') _force_redraw_view3d()
def install(cls, context): if cls.installed: cls.uninstall() handler = cls() cls.installed = SpaceView3D.draw_handler_add(handler, (context, ), "WINDOW", "POST_PIXEL")
def handle_remove(self, context): if BRAND_DISPLAY._handler is not None: SpaceView3D.draw_handler_remove(BRAND_DISPLAY._handler, "WINDOW") BRAND_DISPLAY._handler = None context.window_manager.brand_run_opengl = False
def handle_add(self, context): if ARCHIMESH_OT_HintDisplay._handle is None: ARCHIMESH_OT_HintDisplay._handle = SpaceView3D.draw_handler_add(draw_callback_px, (self, context), 'WINDOW', 'POST_PIXEL') context.window_manager.archimesh_run_opengl = True