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 Talvalaimport android.graphics.RectF; 206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala/** 226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * Convenience implementation of {@link BoxModelable}. 236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala */ 246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvalapublic class BoxModel implements BoxModelable{ 256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private float marginLeft; 276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private float marginTop; 286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private float marginRight; 296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private float marginBottom; 306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private float paddingLeft; 336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private float paddingTop; 346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private float paddingRight; 356224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala private float paddingBottom; 366224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //private RectF marginRect; 376224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala //private RectF paddingRect; 386224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 396224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public BoxModel() { 406224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 416224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 426224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 436224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @SuppressWarnings("SameParameterValue") 446224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public BoxModel(float marginLeft, float marginTop, float marginRight, float marginBottom, 456224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala float paddingLeft, float paddingTop, float paddingRight, float paddingBottom) { 466224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.marginLeft = marginLeft; 476224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.marginTop = marginTop; 486224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.marginRight = marginRight; 496224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.marginBottom = marginBottom; 506224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 516224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.paddingLeft = paddingLeft; 526224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.paddingTop = paddingTop; 536224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.paddingRight = paddingRight; 546224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.paddingBottom = paddingBottom; 556224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 566224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 576224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala /** 586224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * Returns a RectF instance describing the inner edge of the margin layer. 596224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * @param boundsRect 606224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * @return 616224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala */ 626224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public RectF getMarginatedRect(RectF boundsRect) { 636224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return new RectF( boundsRect.left + getMarginLeft(), 646224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala boundsRect.top + getMarginTop(), 656224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala boundsRect.right - getMarginRight(), 666224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala boundsRect.bottom - getMarginBottom()); 676224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 686224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 696224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala /** 706224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * Returns a RectF instance describing the inner edge of the padding layer. 716224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * @param marginRect 726224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala * @return 736224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala */ 746224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public RectF getPaddedRect(RectF marginRect) { 756224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return new RectF(marginRect.left + getPaddingLeft(), 766224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala marginRect.top+getPaddingTop(), 776224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala marginRect.right - getPaddingRight(), 786224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala marginRect.bottom - getPaddingBottom()); 796224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 806224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 816224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 826224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setMargins(float left, float top, float right, float bottom) { 836224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala setMarginLeft(left); 846224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala setMarginTop(top); 856224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala setMarginRight(right); 866224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala setMarginBottom(bottom); 876224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 886224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 896224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala @Override 906224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setPadding(float left, float top, float right, float bottom) { 916224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala setPaddingLeft(left); 926224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala setPaddingTop(top); 936224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala setPaddingRight(right); 946224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala setPaddingBottom(bottom); 956224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 966224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 976224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 986224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public float getMarginLeft() { 996224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return marginLeft; 1006224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1016224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1026224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setMarginLeft(float marginLeft) { 1036224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.marginLeft = marginLeft; 1046224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1056224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1066224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public float getMarginTop() { 1076224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return marginTop; 1086224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1096224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1106224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setMarginTop(float marginTop) { 1116224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.marginTop = marginTop; 1126224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1136224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1146224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public float getMarginRight() { 1156224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return marginRight; 1166224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1176224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1186224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setMarginRight(float marginRight) { 1196224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.marginRight = marginRight; 1206224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1216224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1226224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public float getMarginBottom() { 1236224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return marginBottom; 1246224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1256224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1266224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setMarginBottom(float marginBottom) { 1276224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.marginBottom = marginBottom; 1286224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1296224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1306224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public float getPaddingLeft() { 1316224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return paddingLeft; 1326224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1336224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1346224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setPaddingLeft(float paddingLeft) { 1356224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.paddingLeft = paddingLeft; 1366224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1376224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1386224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public float getPaddingTop() { 1396224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return paddingTop; 1406224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1416224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1426224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setPaddingTop(float paddingTop) { 1436224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.paddingTop = paddingTop; 1446224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1456224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1466224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public float getPaddingRight() { 1476224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return paddingRight; 1486224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1496224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1506224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setPaddingRight(float paddingRight) { 1516224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.paddingRight = paddingRight; 1526224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1536224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1546224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public float getPaddingBottom() { 1556224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala return paddingBottom; 1566224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1576224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala 1586224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala public void setPaddingBottom(float paddingBottom) { 1596224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala this.paddingBottom = paddingBottom; 1606224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala } 1616224eda509d436a575f801942337da92a6c18767Eino-Ville Talvala} 162