#!/usr/bin/env python
# -*- coding: utf-8 -*-

barvy = [True, True, True, True, True, True, True, True, True, True, True, True]
maska = [0,1,3,6,10]

def vypis():
	print str(barvy)
	print maska
	
def posunuti_maska(dx):
	global maska, barvy
	nova_maska = []
	for i in maska:
		nova_maska = nova_maska + [(i + dx) % len(barvy)]
	maska = nova_maska
	
def otoceni():
	global maska, barvy
	for i in maska:
		barvy[i] = not(barvy[i])

import pygtk
import gtk
import math
import cairo

class GUI:

	def __init__(self):
		builder = gtk.Builder()
		builder.add_from_file("navrh.xml")
		builder.connect_signals(self)
		self.plocha = builder.get_object("drawingarea1")
		builder.get_object("window1").show()
		self.plocha = self.plocha.window.cairo_create()
		self.prekresleni()

	def vpravo(self,widget,data=None):
		posunuti_maska(1)
		self.prekresleni()

	def vlevo(self,widget,data=None):
		posunuti_maska(-1)
		self.prekresleni()

	def otocit(self,widget,data=None):
		otoceni()
		self.prekresleni()

	def zavreni(self,widget,data=None):
		gtk.main_quit()

	def prekresleni(self,widget=None,data=None):
		for i in range(len(barvy)):
			self.plocha.set_source_rgb(1, 0, 0)
			if barvy[i]:
				self.plocha.set_source_rgb(0, 1, 0)
			self.plocha.arc(250 + (150 * math.sin(i*math.pi/6)), 250 + (150 * math.cos(i*math.pi/6)), 30, 0, 2*math.pi)
			self.plocha.fill()
		for i in range(len(barvy)):
			self.plocha.set_source_rgb(1, 1, 1)
			if i in maska:
				self.plocha.set_source_rgb(0.1, 0.1, 0.1)
			self.plocha.arc(250 + (200 * math.sin(i*math.pi/6)), 250 + (200 * math.cos(i*math.pi/6)), 10, 0, 2*math.pi)
			self.plocha.fill()

GUI()
gtk.main()
