/******************************************************************************* * Copyright 2010 Simon Mieth * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package org.kabeja.objects; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; import org.kabeja.util.Constants; public class MLineStyle extends DraftObject { protected List lines = new ArrayList(); protected String name = ""; protected String descrition = ""; protected int fillColor = 256; protected int flags = 0; protected double startAngle = 0; protected double endAngle = 0; public String getObjectType() { return Constants.OBJECT_TYPE_MLINESTYLE; } public void addMLineStyleElement(MLineStyleElement e) { this.lines.add(e); } public MLineStyleElement getMLineStyleLElement(int index) { return (MLineStyleElement) this.lines.get(index); } public MLineStyleElement removeMLineStyleLElement(int index) { return (MLineStyleElement) this.lines.remove(index); } public int getMLineStyleLElementCount() { return this.lines.size(); } public void sortMLineStyleElements(Comparator comp) { Collections.sort(this.lines, comp); } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescrition() { return descrition; } public void setDescrition(String descrition) { this.descrition = descrition; } public int getFillColor() { return fillColor; } public void setFillColor(int fillColor) { this.fillColor = fillColor; } public int getFlags() { return flags; } public void setFlags(int flags) { this.flags = flags; } public double getStartAngle() { return startAngle; } public void setStartAngle(double startAngle) { this.startAngle = startAngle; } public double getEndAngle() { return endAngle; } public void setEndAngle(double endAngle) { this.endAngle = endAngle; } public boolean isFilled() { return (this.flags & 1) == 1; } public boolean hasStartSquareCaps() { return (this.flags & 16) == 16; } public boolean hasStartRoundCaps() { return (this.flags & 64) == 64; } public boolean hasStartInnerArcs() { return (this.flags & 32) == 32; } public boolean hasEndSquareCaps() { return (this.flags & 256) == 256; } public boolean hasEndRoundCaps() { return (this.flags & 1024) == 1024; } public boolean hasEndInnderArcs() { return (this.flags & 512) == 512; } public boolean showMiters() { return (this.flags & 2) == 2; } }