Пример #1
0
	def is_point_over_marker(self, point):
		result = []
		rect = point + point
		i = 0
		for marker in self.markers:
			if not i == 4 and is_bbox_in_rect(marker, rect):
				result.append(i)
				break
			i += 1
		return result
Пример #2
0
 def is_point_over_marker(self, point):
     result = []
     rect = point + point
     i = 0
     for marker in self.markers:
         if not i == 4 and is_bbox_in_rect(marker, rect):
             result.append(i)
             break
         i += 1
     return result
Пример #3
0
	def select_by_rect(self, rect, flag=False):
		result = []
		model = self.presenter.model
		page = self.presenter.active_page
		layers = page.childs + model.childs[1].childs
		for layer in layers:
			for obj in layer.childs:
				if is_bbox_in_rect(rect, obj.cache_bbox):
					result.append(obj)
		if flag:
			self.add(result)
		else:
			self.set(result)
Пример #4
0
 def select_by_rect(self, rect, flag=False):
     result = []
     model = self.presenter.model
     page = self.presenter.active_page
     layers = page.childs + model.childs[1].childs
     for layer in layers:
         for obj in layer.childs:
             if is_bbox_in_rect(rect, obj.cache_bbox):
                 result.append(obj)
     if flag:
         self.add(result)
     else:
         self.set(result)
Пример #5
0
	def _select_at_point(self, point):
		result = []
		model = self.presenter.model
		page = self.presenter.active_page
		layers = page.childs + model.childs[1].childs
		layers.reverse()
		rect = point + point
		win_point = self.presenter.canvas.doc_to_win(point)
		trafo = self.presenter.canvas.trafo
		for layer in layers:
			if result: break
			objs = [] + layer.childs
			objs.reverse()
			for obj in objs:
				if is_bbox_in_rect(obj.cache_bbox, rect):
					ret = libcairo.is_point_in_path(win_point, trafo, obj,
												 config.stroke_sensitive_size)
					if ret:
						result.append(obj)
						break
		return result
Пример #6
0
 def _select_at_point(self, point):
     result = []
     model = self.presenter.model
     page = self.presenter.active_page
     layers = page.childs + model.childs[1].childs
     layers.reverse()
     rect = point + point
     win_point = self.presenter.canvas.doc_to_win(point)
     trafo = self.presenter.canvas.trafo
     for layer in layers:
         if result: break
         objs = [] + layer.childs
         objs.reverse()
         for obj in objs:
             if is_bbox_in_rect(obj.cache_bbox, rect):
                 ret = libcairo.is_point_in_path(
                     win_point, trafo, obj, config.stroke_sensitive_size)
                 if ret:
                     result.append(obj)
                     break
     return result