[DEVÂ] add parameter at color test border

This commit is contained in:
Edouard DUPIN 2016-02-06 22:35:32 +01:00
parent 6e2fdccb98
commit 1490c4324a
4 changed files with 25 additions and 33 deletions

View File

@ -70,8 +70,8 @@ void ewol::widget::CheckBox::calculateMinMaxSize() {
float boxSize = m_shaper->getConfigNumber(m_shaperIdSize);
padding.setXLeft(padding.xLeft()*2.0f + boxSize);
calculateMinMaxSizePadded(padding);
if (m_size.y() < padding.y()+boxSize) {
m_size.setY(padding.y()+boxSize);
if (m_minSize.y() < padding.y()+boxSize) {
m_minSize.setY(padding.y()+boxSize);
}
}

View File

@ -13,7 +13,11 @@
#define __class__ "SizerColor"
appl::widget::SizerColor::SizerColor() :
m_borderColor(*this, "border-color", etk::color::none, "Color of the border") {
m_borderColor(*this, "border-color", etk::color::none, "Color of the border"),
m_leftColor(*this, "color-left", etk::color::purple),
m_rightColor(*this, "color-right", etk::color::orange),
m_topColor(*this, "color-top", etk::color::cyan),
m_buttomColor(*this, "color-buttom", etk::color::brown) {
addObjectType("appl::widget::SizerColor");
}
@ -74,13 +78,13 @@ void appl::widget::SizerColor::onRegenerateDisplay() {
if (size.y() < localWidgetSize.y()) {
// under
if ((uint32_t(m_gravity) & uint32_t(ewol::gravity_buttom)) == 0) {
m_draw.setColor(etk::Color<>(0xFF, 0xFF, 0x00, 0xA0));
m_draw.setColor(m_buttomColor);
m_draw.setPos(vec2(origin.x(), localWidgetOrigin.y()) - m_origin);
m_draw.rectangleWidth(vec2(it->getSize().x(), origin.y()-localWidgetOrigin.y()) );
}
// upper
if ((uint32_t(m_gravity) & uint32_t(ewol::gravity_top)) == 0) {
m_draw.setColor(etk::color::orange);
m_draw.setColor(m_topColor);
float startDraw = origin.y()+it->getSize().y() - m_origin.y();
m_draw.setPos(vec2(origin.x()-m_origin.x(), startDraw));
m_draw.rectangleWidth(vec2(it->getSize().x(), localWidgetSize.y()-startDraw+tmpBorderSize.y()) );
@ -90,13 +94,13 @@ void appl::widget::SizerColor::onRegenerateDisplay() {
if (size.x() < localWidgetSize.x()) {
// left
if ((uint32_t(m_gravity) & uint32_t(ewol::gravity_left)) == 0) {
m_draw.setColor(etk::Color<>(0xFF, 0xFF, 0x00, 0xA0));
m_draw.setColor(m_leftColor);
m_draw.setPos(vec2(localWidgetOrigin.x(), origin.y()) - m_origin);
m_draw.rectangleWidth(vec2(origin.x()-localWidgetOrigin.x(), it->getSize().y()) );
}
// right
if ((uint32_t(m_gravity) & uint32_t(ewol::gravity_right)) == 0) {
m_draw.setColor(etk::color::orange);
m_draw.setColor(m_rightColor);
float startDraw = origin.x()+it->getSize().x() - m_origin.x();
m_draw.setPos(vec2(startDraw, origin.y()-m_origin.y()));
m_draw.rectangleWidth(vec2(localWidgetSize.x()-startDraw+tmpBorderSize.x(), it->getSize().y()) );
@ -109,13 +113,13 @@ void appl::widget::SizerColor::onRegenerateDisplay() {
if (underSize.x() < localWidgetSize.x()) {
// left
if ((uint32_t(m_gravity) & uint32_t(ewol::gravity_left)) == 0) {
m_draw.setColor(etk::color::purple);
m_draw.setColor(m_leftColor);
m_draw.setPos(localWidgetOrigin - m_origin);
m_draw.rectangleWidth(vec2(underOrigin.x()-localWidgetOrigin.x(), localWidgetSize.y()) );
}
// right
if ((uint32_t(m_gravity) & uint32_t(ewol::gravity_right)) == 0) {
m_draw.setColor(etk::color::cyan);
m_draw.setColor(m_rightColor);
float startDraw = underOrigin.x() + underSize.x() - m_origin.x();
m_draw.setPos(vec2(startDraw, localWidgetOrigin.y()-m_origin.y()));
m_draw.rectangleWidth(vec2(localWidgetSize.x()-startDraw+tmpBorderSize.x(), localWidgetSize.y()) );
@ -125,13 +129,13 @@ void appl::widget::SizerColor::onRegenerateDisplay() {
if (underSize.y() < localWidgetSize.y()) {
// under
if ((uint32_t(m_gravity) & uint32_t(ewol::gravity_buttom)) == 0) {
m_draw.setColor(etk::color::purple);
m_draw.setColor(m_buttomColor);
m_draw.setPos(localWidgetOrigin - m_origin);
m_draw.rectangleWidth(vec2(localWidgetSize.x(), underOrigin.y()-localWidgetOrigin.y()) );
}
// upper
if ((uint32_t(m_gravity) & uint32_t(ewol::gravity_top)) == 0) {
m_draw.setColor(etk::color::cyan);
m_draw.setColor(m_topColor);
float startDraw = underOrigin.y() + underSize.y() - m_origin.y();
m_draw.setPos(vec2(localWidgetOrigin.x()-m_origin.x(), startDraw));
m_draw.rectangleWidth(vec2(localWidgetSize.x(), localWidgetSize.y()-startDraw+tmpBorderSize.y()) );

View File

@ -35,21 +35,10 @@ namespace appl {
virtual ~SizerColor();
private:
ewol::parameter::Value<etk::Color<>> m_borderColor; //!< Border color.
public:
/**
* @brief Set the current border color:
* @param[in] _value The border color to set @ref etk::color::none : no color
*/
void setBorderColor(const etk::Color<>& _value) {
m_borderColor.set(_value);
}
/**
* @brief get the current border size of the current element:
* @return the border size (0 if not used)
*/
const etk::Color<>& getBorderColor() const {
return m_borderColor;
};
ewol::parameter::Value<etk::Color<>> m_leftColor; //!< Left color.
ewol::parameter::Value<etk::Color<>> m_rightColor; //!< Right color.
ewol::parameter::Value<etk::Color<>> m_topColor; //!< Top color.
ewol::parameter::Value<etk::Color<>> m_buttomColor; //!< Buttom color.
private:
ewol::compositing::Drawing m_draw; //!< Compositing drawing element for display the border.
public:

View File

@ -49,18 +49,17 @@
fill="true,true"
border="10px"
border-color="#F008"
back-color-right="light-green"
back-color-left="magenta"
back-color-buttom="purple"
back-color-top="cyan"
color-right="blueViolet"
color-left="magenta"
color-buttom="purple"
color-top="cyan"
name="appl-upper-test-widget">
<!--
<spacer expand="false,true" fill="true,true" min-size="12%" color="red"/>
<spacer expand="false,false" fill="true,true" min-size="12%" color="green"/>
<spacer expand="false,false" fill="true,true" min-size="12%" color="blue"/>
<!-->
<label name="[TEST]TO-TEST" expand="true" fill="true">No widget</label>
-->
<label name="[TEST]TO-TEST" expand="true" fill="true">No widget</label>
</sizerColor>
</sizer>
</sizer>