# Copyright (c) 2006 Ralph Carrie <cralph@semsek2.ham.nw.schule.de>
# Teilweise wurde Code von Dr. L. Humbert und I. Linkweiler verwendet
# Stifte und Maeuse S60: Buntstift
# Version: 1.0
# Datum: 15.05.2006

# Importiere benutzte Module
from stift import *
import math

# Konstanten
weiss=(255,255,255)
schwarz=(0,0,0)
rot=(255,0,0)
gruen=(0,255,0)
blau=(0,0,255)
gelb=(255,255,0)
grau=(100,100,100)
WEISS=(255,255,255)
SCHWARZ=(0,0,0)
ROT=(255,0,0)
GRUEN=(0,255,0)
BLAU=(0,0,255)
GELB=(255,255,0)
GRAU=(100,100,100)

###################################
# Buntstift
###################################

class Buntstift(Stift):

    def setzeStandard(self):
        # Stiftposition
        self.zstiftx=0
        self.zstifty=0
        # Stiftzustand
        self.zhoch=1         # true
        # Normalmodus
        self.zschreibmodus = 0 	
        self.farbe=weiss
        self.Linienbreite=1

	# Farbe setzen.
    def setzeFarbe(self,neue_farbe):
        self.farbe=neue_farbe
        
	# Linienbreite setzen.
    def setzeLinienbreite(self,breite):
        self.Linienbreite=breite
    
	# Linie zeichnen.
    def zeichneLinie(self, x1, y1, x2, y2):
      	  self.meinBildschirm.stelleLinieDar(x1, y1, x2, y2,self.farbe,self.Linienbreite)
		
	  # Text schreiben
    def schreibe(self, ps):
        ps=str(ps)
      	self.meinBildschirm.schreibeText(self.zstiftx,self.zstifty,self.farbe,ps)
      
	# Methode zum Zeichnen eines Kreises (in Farbe)
    def zeichneKreis(self, pradius):
	self.meinBildschirm.stelleKreisDar(self.zstiftx, self.zstifty,pradius,self.farbe,self.Linienbreite)
	
	# Methode zum Zeichnen eines Rechtecks (in Farbe)
    def zeichneRechteck(self, pHoehe, pBreite):
	self.meinBildschirm.stelleRechteckDar(self.zstiftx, self.zstifty, self.zstiftx + pBreite, self.zstifty + pHoehe, self.farbe,self.Linienbreite)
	
	# Linie zeichnen, wenn Stift unten, sonst nur Stift bewegen
    def bewegeBis(self,px,py):
	if not self.zhoch:
		self.meinBildschirm.stelleLinieDar(px, py, self.zstiftx, self.zstifty, self.farbe,self.Linienbreite)
	self.zstiftx = px
	self.zstifty = py

