private static void ZeichneGummiband(Control woBinIch, Graphics zeichenFlaeche, LevelArchitekturPfad architekturPfad) { var grafikPfad = LevelZeichner.AlsPfad(woBinIch, architekturPfad); if (architekturPfad.IstRechteck || architekturPfad.IstGefuellt) { /* gefüllt geht nur als geschlossene kurva */ if (architekturPfad.IstGefuellt) { zeichenFlaeche.FillClosedCurve( Farbverwaltung.BuersteVonMedium(architekturPfad.terrainMaterial), grafikPfad.PathPoints, FillMode.Alternate, 0.62f ); } zeichenFlaeche.DrawClosedCurve( Farbverwaltung.StiftVonMedium(architekturPfad.terrainMaterial, architekturPfad.StiftDicke), grafikPfad.PathPoints, 0.62f, FillMode.Alternate ); } else { zeichenFlaeche.DrawCurve( Farbverwaltung.StiftVonMedium(architekturPfad.terrainMaterial, architekturPfad.StiftDicke), grafikPfad.PathPoints, 0.62f ); } }
private static void ZeichneEi(Control woBinIch, Graphics zeichenFlaeche, LevelArchitekturPfad architekturPfad) { var grafikPfad = LevelZeichner.AlsPfad(woBinIch, architekturPfad); if (architekturPfad.IstGefuellt) { zeichenFlaeche.FillEllipse( Farbverwaltung.BuersteVonMedium(architekturPfad.terrainMaterial), grafikPfad.PathPoints[0].X, grafikPfad.PathPoints[0].Y, Math.Abs(grafikPfad.PathPoints[1].X - grafikPfad.PathPoints[0].X) + 1, Math.Abs(grafikPfad.PathPoints[1].Y - grafikPfad.PathPoints[0].Y) + 1 ); } zeichenFlaeche.DrawEllipse( Farbverwaltung.StiftVonMedium(architekturPfad.terrainMaterial, architekturPfad.StiftDicke), grafikPfad.PathPoints[0].X, grafikPfad.PathPoints[0].Y, Math.Abs(grafikPfad.PathPoints[1].X - grafikPfad.PathPoints[0].X) + 1, Math.Abs(grafikPfad.PathPoints[1].Y - grafikPfad.PathPoints[0].Y) + 1 ); }
private static void ZeichnePfad(Control woBinIch, Graphics zeichenFlaeche, LevelArchitekturPfad architekturPfad) { var grafikPfad = LevelZeichner.AlsPfad(woBinIch, architekturPfad); if (architekturPfad.IstPunkt) { zeichenFlaeche.DrawLine( Farbverwaltung.StiftVonMedium(architekturPfad.terrainMaterial, architekturPfad.StiftDicke), grafikPfad.PathPoints[0], grafikPfad.PathPoints[0] ); } else if (architekturPfad.IstLinie) { if (architekturPfad.IstRechteck) { if (architekturPfad.IstGefuellt) { zeichenFlaeche.FillRectangle( Farbverwaltung.BuersteVonMedium(architekturPfad.terrainMaterial), grafikPfad.PathPoints[0].X, grafikPfad.PathPoints[0].Y, Math.Abs(grafikPfad.PathPoints[1].X - grafikPfad.PathPoints[0].X) + 1, Math.Abs(grafikPfad.PathPoints[1].Y - grafikPfad.PathPoints[0].Y) + 1 ); } zeichenFlaeche.DrawRectangle( Farbverwaltung.StiftVonMedium(architekturPfad.terrainMaterial, architekturPfad.StiftDicke), grafikPfad.PathPoints[0].X, grafikPfad.PathPoints[0].Y, Math.Abs(grafikPfad.PathPoints[1].X - grafikPfad.PathPoints[0].X) + 1, Math.Abs(grafikPfad.PathPoints[1].Y - grafikPfad.PathPoints[0].Y) + 1 ); } else { zeichenFlaeche.DrawLine( Farbverwaltung.StiftVonMedium(architekturPfad.terrainMaterial, architekturPfad.StiftDicke), grafikPfad.PathPoints[0], grafikPfad.PathPoints[1] ); } } else { if (architekturPfad.IstGefuellt) { zeichenFlaeche.FillPath( Farbverwaltung.BuersteVonMedium(architekturPfad.terrainMaterial), grafikPfad ); } else { zeichenFlaeche.DrawPath( Farbverwaltung.StiftVonMedium(architekturPfad.terrainMaterial, architekturPfad.StiftDicke), grafikPfad ); } } }