def _add_event_compression_workaround(self, tdw): """Adds a workaround for the motion event compression bug""" drawstate = self._get_drawing_state(tdw) win = tdw.get_window() msg_prefix = "Add motion event compression workaround: " if (EVCOMPRESSION_WORKAROUND_ALLOW_DISABLE_VIA_API and self._event_compression_supported): workaround_used = EVCOMPRESSION_WORKAROUND_DISABLE_VIA_API was_enabled = win.get_event_compression() logger.debug( msg_prefix + "using set_event_compression(False) (%r) (was %r)", tdw, was_enabled, ) drawstate.event_compression_was_enabled = was_enabled win.set_event_compression(False) elif EVCOMPRESSION_WORKAROUND_ALLOW_EVHACK_FILTER: workaround_used = EVCOMPRESSION_WORKAROUND_EVHACK_FILTER assert drawstate.evhack_data is None data = (tdw, self) logger.warning(msg_prefix + "using evhack filter %r", data) mypaintlib.evhack_gdk_window_add_filter(win, data) drawstate.evhack_data = data drawstate.evhack_positions = [] else: workaround_used = EVCOMPRESSION_WORKAROUND_NONE logger.warning(msg_prefix + "not using any workaround") drawstate.event_compression_workaround = workaround_used
def _add_evhack(self, tdw): drawstate = self._get_drawing_state(tdw) assert drawstate.evhack_data is None win = tdw.get_window() data = (tdw, self) logger.debug("Adding evhack filter %r", data) mypaintlib.evhack_gdk_window_add_filter(win, data) drawstate.evhack_data = data drawstate.evhack_positions = []
def _add_evhack(self, tdw): drawstate = self._get_drawing_state(tdw) assert drawstate.evhack_data is None win = tdw.get_window() if hasattr(win, 'set_event_compression'): # GTK+ 3.12 and above logger.info("evhack: using set_event_compression(True) instead " "of evhack") win.set_event_compression(False) drawstate.evhack_data = True else: logger.info("evhack: set_event_compression() is not available, " "adding evhack") data = (tdw, self) logger.debug("Adding evhack filter %r", data) mypaintlib.evhack_gdk_window_add_filter(win, data) drawstate.evhack_data = data drawstate.evhack_positions = []
def _add_evhack(self, tdw): drawstate = self._get_drawing_state(tdw) assert drawstate.evhack_data is None win = tdw.get_window() if hasattr(win, 'set_event_compression'): # GTK+ 3.12 and above logger.info("evhack: using set_event_compression(True) instead " "of evhack") win.set_event_compression(False); drawstate.evhack_data = True else: logger.info("evhack: set_event_compression() is not available, " "adding evhack") data = (tdw, self) logger.debug("Adding evhack filter %r", data) mypaintlib.evhack_gdk_window_add_filter(win, data) drawstate.evhack_data = data drawstate.evhack_positions = []