16224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala/* 26224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * Copyright 2012 AndroidPlot.com 36224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * 46224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * Licensed under the Apache License, Version 2.0 (the "License"); 56224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * you may not use this file except in compliance with the License. 66224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * You may obtain a copy of the License at 76224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * 86224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * http://www.apache.org/licenses/LICENSE-2.0 96224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * 106224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * Unless required by applicable law or agreed to in writing, software 116224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * distributed under the License is distributed on an "AS IS" BASIS, 126224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * See the License for the specific language governing permissions and 146224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * limitations under the License. 156224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala */ 166224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 176224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalapackage com.androidplot.ui; 186224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 196224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalaabstract class LayoutMetric<LayoutType extends Enum> { 226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private LayoutType layoutType; 246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //private LayoutType layoutType; 266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private float value; 276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //private float lastRow; 286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public LayoutMetric(float value, LayoutType layoutType) { 306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala validatePair(value, layoutType); 316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala set(value, layoutType); 326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //setLayoutType(layoutType); 336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //setValue(value); 346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //setLayoutType(layoutType); 356224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 366224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 376224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala /** 386224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * Verifies that the values passed in are valid for the layout algorithm being used. 396224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * @param value 406224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * @param layoutType 416224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala */ 426224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala protected abstract void validatePair(float value, LayoutType layoutType); 436224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 446224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void set(float value, LayoutType layoutType) { 456224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala validatePair(value, layoutType); 466224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.value = value; 476224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.layoutType = layoutType; 486224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 496224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 506224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public float getValue() { 516224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return value; 526224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 536224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 546224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setValue(float value) { 556224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala validatePair(value, layoutType); 566224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.value = value; 576224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 586224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 596224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public abstract float getPixelValue(float size); 606224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 616224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public LayoutType getLayoutType() { 626224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return layoutType; 636224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 646224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 656224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setLayoutType(LayoutType layoutType) { 666224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala validatePair(value, layoutType); 676224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.layoutType = layoutType; 686224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 696224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala} 70