package org.herac.tuxguitar.gui.editors.tab;
import org.herac.tuxguitar.gui.editors.tab.layout.ViewLayout;
public abstract class TGSpacing {
public static final int SCORE = 0x01;
public static final int TABLATURE = 0x02;
private int flags;
private int[] spacing;
private int[][] positions;
public TGSpacing(ViewLayout layout, int[][] positions, int len){
this.flags = 0;
this.flags |= ((layout.getStyle() & ViewLayout.DISPLAY_SCORE) != 0 ? SCORE : 0 );
this.flags |= ((layout.getStyle() & ViewLayout.DISPLAY_TABLATURE) != 0 ? TABLATURE : 0 );
this.positions = positions;
this.spacing = new int[len];
}
public void clear(){
for(int i = 0; i < this.spacing.length; i ++){
this.spacing[i] = 0;
}
}
public void setSize(int index,int size){
if( size > this.spacing[ this.positions [this.flags -1] [index] ] ){
this.spacing[ this.positions [this.flags -1] [index] ] = size;
}
}
public int getSize(int index){
return this.spacing[ this.positions [this.flags -1] [index] ];
}
public int getSize(){
int spacing = 0;
for(int i = 0;i < this.spacing.length; i ++){
spacing += this.spacing[i];
}
return spacing;
}
public int getPosition(int index){
int spacing = 0;
for(int i = 0;i < this.positions[this.flags -1][index]; i ++){
spacing += this.spacing[i];
}
return spacing;
}
}