本文整理汇总了Python中radialnet.core.Coordinate.PolarCoordinate.set_coordinate方法的典型用法代码示例。如果您正苦于以下问题:Python PolarCoordinate.set_coordinate方法的具体用法?Python PolarCoordinate.set_coordinate怎么用?Python PolarCoordinate.set_coordinate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类radialnet.core.Coordinate.PolarCoordinate
的用法示例。
在下文中一共展示了PolarCoordinate.set_coordinate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __move_is_clicked
# 需要导入模块: from radialnet.core.Coordinate import PolarCoordinate [as 别名]
# 或者: from radialnet.core.Coordinate.PolarCoordinate import set_coordinate [as 别名]
def __move_is_clicked(self, pointer):
"""
"""
xc, yc = self.__center_of_widget
pc = PolarCoordinate()
for i in range(8):
pc.set_coordinate(23, 45 * i)
x, y = pc.to_cartesian()
center = (xc + x, yc - y)
if geometry.is_in_circle(pointer, self.__move_radius, center):
return i
return None
示例2: __draw_move_control
# 需要导入模块: from radialnet.core.Coordinate import PolarCoordinate [as 别名]
# 或者: from radialnet.core.Coordinate.PolarCoordinate import set_coordinate [as 别名]
def __draw_move_control(self):
"""
"""
xc, yc = self.__center_of_widget
pc = PolarCoordinate()
self.context.set_dash([1, 1])
self.context.arc(xc, yc, 23, 0, 2 * math.pi)
self.context.set_source_rgb(0.0, 0.0, 0.0)
self.context.set_line_width(1)
self.context.stroke()
for i in range(8):
pc.set_coordinate(23, 45 * i)
x, y = pc.to_cartesian()
self.context.set_dash([1, 1])
self.context.move_to(xc, yc)
self.context.line_to(xc + x, yc - y)
self.context.stroke()
self.context.set_dash([1, 0])
self.context.arc(
xc + x, yc - y, self.__move_radius, 0, 2 * math.pi)
if i == self.__moving:
self.context.set_source_rgb(0.0, 0.0, 0.0)
else:
self.context.set_source_rgb(1.0, 1.0, 1.0)
self.context.fill_preserve()
self.context.set_source_rgb(0.0, 0.0, 0.0)
self.context.set_line_width(1)
self.context.stroke()
self.context.arc(xc, yc, 6, 0, 2 * math.pi)
if self.__centering:
self.context.set_source_rgb(0.0, 0.0, 0.0)
else:
self.context.set_source_rgb(1.0, 1.0, 1.0)
self.context.fill_preserve()
self.context.set_source_rgb(0.0, 0.0, 0.0)
self.context.set_line_width(1)
self.context.stroke()
return False
示例3: ControlNavigation
# 需要导入模块: from radialnet.core.Coordinate import PolarCoordinate [as 别名]
# 或者: from radialnet.core.Coordinate.PolarCoordinate import set_coordinate [as 别名]
class ControlNavigation(gtk.DrawingArea):
"""
"""
def __init__(self, radialnet):
"""
"""
gtk.DrawingArea.__init__(self)
self.radialnet = radialnet
self.__rotate_node = PolarCoordinate()
self.__rotate_node.set_coordinate(40, 90)
self.__center_of_widget = (50, 50)
self.__moving = None
self.__centering = False
self.__rotating = False
self.__move_pass = 100
self.__move_position = (0, 0)
self.__move_addition = [(-1, 0), (-1, -1), (0, -1), (1, -1), (1, 0), (1, 1), (0, 1), (-1, 1)]
self.__move_factor = 1
self.__move_factor_limit = 20
self.__rotate_radius = 6
self.__move_radius = 6
self.__rotate_clicked = False
self.__move_clicked = None
self.connect("expose_event", self.expose)
self.connect("button_press_event", self.button_press)
self.connect("button_release_event", self.button_release)
self.connect("motion_notify_event", self.motion_notify)
self.connect("enter_notify_event", self.enter_notify)
self.connect("leave_notify_event", self.leave_notify)
self.connect("key_press_event", self.key_press)
self.connect("key_release_event", self.key_release)
self.add_events(
gtk.gdk.BUTTON_PRESS_MASK
| gtk.gdk.BUTTON_RELEASE_MASK
| gtk.gdk.ENTER_NOTIFY
| gtk.gdk.LEAVE_NOTIFY
| gtk.gdk.MOTION_NOTIFY
| gtk.gdk.NOTHING
| gtk.gdk.KEY_PRESS_MASK
| gtk.gdk.KEY_RELEASE_MASK
| gtk.gdk.POINTER_MOTION_HINT_MASK
| gtk.gdk.POINTER_MOTION_MASK
)
self.__rotate_node.set_coordinate(40, self.radialnet.get_rotation())
def key_press(self, widget, event):
"""
"""
key = gtk.gdk.keyval_name(event.keyval)
self.queue_draw()
return True
def key_release(self, widget, event):
"""
"""
key = gtk.gdk.keyval_name(event.keyval)
self.queue_draw()
return True
def enter_notify(self, widget, event):
"""
"""
return False
def leave_notify(self, widget, event):
"""
"""
self.queue_draw()
return False
def button_press(self, widget, event):
"""
Drawing callback
@type widget: GtkWidget
@param widget: Gtk widget superclass
@type event: GtkEvent
@param event: Gtk event of widget
@rtype: boolean
@return: Indicator of the event propagation
"""
pointer = self.get_pointer()
direction = False
if self.__rotate_is_clicked(pointer):
#.........这里部分代码省略.........