blob: 0bc0cb9a19d9a55aecf83d3072f9e2b736bdff28 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
#include "style.h"
namespace WeexCore {
bool WXCoreMargin::setMargin(const WXCoreMarginEdge &edge, float margin) {
bool dirty = false;
switch (edge) {
case kMarginALL:
if (mMarginLeft != margin
|| mMarginTop != margin
|| mMarginRight != margin
|| mMarginBottom != margin) {
mMarginLeft = margin;
mMarginTop = margin;
mMarginRight = margin;
mMarginBottom = margin;
dirty = true;
}
break;
case kMarginLeft:
if (mMarginLeft != margin) {
mMarginLeft = margin;
dirty = true;
}
break;
case kMarginTop:
if (mMarginTop != margin) {
mMarginTop = margin;
dirty = true;
}
break;
case kMarginRight:
if (mMarginRight != margin) {
mMarginRight = margin;
dirty = true;
}
break;
case kMarginBottom:
if (mMarginBottom != margin) {
mMarginBottom = margin;
dirty = true;
}
break;
}
return dirty;
}
float WXCoreMargin::getMargin(const WXCoreMarginEdge &edge)const {
float margin = 0;
switch (edge) {
case kMarginLeft:
margin = mMarginLeft;
break;
case kMarginTop:
margin = mMarginTop;
break;
case kMarginRight:
margin = mMarginRight;
break;
case kMarginBottom:
margin = mMarginBottom;
break;
default:
break;
}
return margin;
}
bool WXCorePadding::setPadding(const WXCorePaddingEdge &edge, float padding) {
bool dirty = false;
switch (edge) {
case kPaddingALL:
if (mPaddingLeft != padding
|| mPaddingTop != padding
|| mPaddingRight != padding
|| mPaddingBottom != padding) {
mPaddingLeft = padding;
mPaddingTop = padding;
mPaddingRight = padding;
mPaddingBottom = padding;
dirty = true;
}
break;
case kPaddingLeft:
if (mPaddingLeft != padding) {
mPaddingLeft = padding;
dirty = true;
}
break;
case kPaddingTop:
if (mPaddingTop != padding) {
mPaddingTop = padding;
dirty = true;
}
break;
case kPaddingRight:
if (mPaddingRight != padding) {
mPaddingRight = padding;
dirty = true;
}
break;
case kPaddingBottom:
if (mPaddingBottom != padding) {
mPaddingBottom = padding;
dirty = true;
}
break;
}
return dirty;
}
float WXCorePadding::getPadding(const WXCorePaddingEdge &edge)const {
float padding = 0;
switch (edge) {
case kPaddingLeft:
padding = mPaddingLeft;
break;
case kPaddingTop:
padding = mPaddingTop;
break;
case kPaddingRight:
padding = mPaddingRight;
break;
case kPaddingBottom:
padding = mPaddingBottom;
break;
default:
break;
}
return padding;
}
bool WXCoreBorderWidth::setBorderWidth(const WXCoreBorderWidthEdge &edge, float borderWidth) {
bool dirty = false;
switch (edge) {
case kBorderWidthALL:
if (mBorderWidthLeft != borderWidth
|| mBorderWidthTop != borderWidth
|| mBorderWidthRight != borderWidth
|| mBorderWidthBottom != borderWidth) {
mBorderWidthLeft = borderWidth;
mBorderWidthTop = borderWidth;
mBorderWidthRight = borderWidth;
mBorderWidthBottom = borderWidth;
dirty = true;
}
break;
case kBorderWidthLeft:
if (mBorderWidthLeft != borderWidth) {
mBorderWidthLeft = borderWidth;
dirty = true;
}
break;
case kBorderWidthTop:
if (mBorderWidthTop != borderWidth) {
mBorderWidthTop = borderWidth;
dirty = true;
}
break;
case kBorderWidthRight:
if (mBorderWidthRight != borderWidth) {
mBorderWidthRight = borderWidth;
dirty = true;
}
break;
case kBorderWidthBottom:
if (mBorderWidthBottom != borderWidth) {
mBorderWidthBottom = borderWidth;
dirty = true;
}
break;
}
return dirty;
}
float WXCoreBorderWidth::getBorderWidth(const WXCoreBorderWidthEdge &edge)const {
float borderWidth = 0;
switch (edge) {
case kBorderWidthLeft:
borderWidth = mBorderWidthLeft;
break;
case kBorderWidthTop:
borderWidth = mBorderWidthTop;
break;
case kBorderWidthRight:
borderWidth = mBorderWidthRight;
break;
case kBorderWidthBottom:
borderWidth = mBorderWidthBottom;
break;
default:
break;
}
return borderWidth;
}
bool WXCorePosition::setPosition(const WXCorePositionEdge &edge, float position) {
bool dirty = false;
switch (edge) {
case kPositionEdgeLeft:
if (mLeft != position) {
mLeft = position;
dirty = true;
}
break;
case kPositionEdgeTop:
if (mTop != position) {
mTop = position;
dirty = true;
}
break;
case kPositionEdgeRight:
if (mRight != position) {
mRight = position;
dirty = true;
}
break;
case kPositionEdgeBottom:
if (mBottom != position) {
mBottom = position;
dirty = true;
}
break;
}
return dirty;
}
float WXCorePosition::getPosition(const WXCorePositionEdge &edge) {
float position = 0;
switch (edge) {
case kPositionEdgeLeft:
position = mLeft;
break;
case kPositionEdgeTop:
position = mTop;
break;
case kPositionEdgeRight:
position = mRight;
break;
case kPositionEdgeBottom:
position = mBottom;
break;
}
return position;
}
}