Advertisement
Guest User

Untitled

a guest
Dec 25th, 2014
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import gtk
  4. import cairo
  5. import math
  6.  
  7. class draw:
  8.  
  9. def __init__(self):
  10. self.gladefile = "c1.glade"
  11. self.builder = gtk.Builder()
  12. self.builder.add_from_file(self.gladefile)
  13. self.builder.connect_signals(self)
  14. self.window = self.builder.get_object("window1")
  15. self.window.resize(400, 400)
  16. self.window.set_title("Simple drawing")
  17. self.window.set_position(gtk.WIN_POS_CENTER)
  18. self.draw_container = self.builder.get_object('hbox1')
  19.  
  20. darea = gtk.DrawingArea()
  21. darea.connect("expose-event", self.expose)
  22. #self.window.add(darea)
  23. self.draw_container.add(darea)
  24.  
  25. self.window.show_all()
  26.  
  27. def expose(self, widget, event):
  28. cr = widget.window.cairo_create()
  29.  
  30. cr.set_line_width(1)
  31. cr.save()
  32.  
  33. cr.set_line_width(3)
  34. cr.set_source_rgb(0, 0, 0)
  35. cr.set_dash([],0)
  36. cr.save()
  37.  
  38. cr.set_line_width(1)
  39. cr.set_source_rgb(255, 0, 0)
  40. cr.set_dash([10,20,5,10])
  41. cr.save()
  42.  
  43. cr.translate(0, event.area.height/2)
  44. cr.scale(event.area.width/10, event.area.height/10)
  45. cr.move_to(event.area.x,0)
  46. cr.line_to(10.125,0)
  47. cr.restore()
  48. cr.stroke()
  49.  
  50. cr.translate(0, event.area.height/2)
  51. cr.scale(event.area.width/10, event.area.height/10)
  52. cr.rectangle(0,-2.5,1,5)
  53. cr.restore()
  54. cr.stroke()
  55.  
  56. cr.translate(0, event.area.height/2)
  57. cr.scale(event.area.width/10, event.area.height/10)
  58. cr.arc(7, 0, 1, math.radians(0), math.radians(90))
  59. cr.line_to(5, 1)
  60. cr.arc_negative(5, 2, 1, math.radians(270), math.radians(180))
  61. cr.restore()
  62. cr.stroke()
  63.  
  64. """
  65. def on_gtk_quit_activate(self, menuitem, data=None):
  66. print "quit from menu"
  67. gtk.main_quit()
  68. """
  69.  
  70. def on_window1_destroy(self, object, data=None):
  71. gtk.main_quit()
  72.  
  73.  
  74. if __name__ == "__main__":
  75. main = draw()
  76. gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement