void ewol::widget::Button::onRegenerateDisplay() { ewol::widget::Container2::onRegenerateDisplay(); if (needRedraw() == false) { return; } ewol::Padding padding = m_shaper->getPadding(); m_shaper->setShape(vec2(0,0), m_size, vec2ClipInt32(m_selectableAreaPos+vec2(padding.xLeft(),padding.yButtom()) ), vec2ClipInt32(m_selectableAreaSize-vec2(padding.x(),padding.y()) ) ); }
void ewol::widget::ContextMenu::onRegenerateDisplay() { // call upper class : ewol::widget::Container::onRegenerateDisplay(); if (needRedraw() == false) { return; } m_compositing.clear(); m_shaper->clear(); ewol::Padding padding = m_shaper->getPadding(); if (m_subWidget == nullptr) { return; } vec2 tmpSize = m_subWidget->getSize(); vec2 tmpOrigin = m_subWidget->getOrigin(); // display border ... m_compositing.setColor(m_colorBorder); switch (m_arrawBorder) { case markTop: m_compositing.setPos(vec3(m_arrowPos->x(), m_arrowPos->y(), 0.0f) ); m_compositing.addVertex(); if (m_arrowPos->x() <= tmpOrigin.x() ) { float laking = m_offset - padding.yTop(); m_compositing.setPos(vec3(m_arrowPos->x()+laking, m_arrowPos->y()-laking, 0.0f) ); m_compositing.addVertex(); m_compositing.setPos(vec3(m_arrowPos->x(), m_arrowPos->y()-laking, 0.0f) ); m_compositing.addVertex(); } else { float laking = m_offset - padding.yTop(); m_compositing.setPos(vec3(m_arrowPos->x()+laking, m_arrowPos->y()-laking, 0.0f) ); m_compositing.addVertex(); m_compositing.setPos(vec3(m_arrowPos->x()-laking, m_arrowPos->y()-laking, 0.0f) ); m_compositing.addVertex(); } break; case markButtom: m_compositing.setPos(vec3(m_arrowPos->x(), m_arrowPos->y(), 0) ); m_compositing.addVertex(); if (m_arrowPos->x() <= tmpOrigin.x() ) { int32_t laking = m_offset - padding.yTop(); m_compositing.setPos(vec3(m_arrowPos->x()+laking, m_arrowPos->y()+laking, 0.0f) ); m_compositing.addVertex(); m_compositing.setPos(vec3(m_arrowPos->x(), m_arrowPos->y()+laking, 0.0f) ); m_compositing.addVertex(); } else { int32_t laking = m_offset - padding.yTop(); m_compositing.setPos(vec3(m_arrowPos->x()+laking, m_arrowPos->y()+laking, 0.0f) ); m_compositing.addVertex(); m_compositing.setPos(vec3(m_arrowPos->x()-laking, m_arrowPos->y()+laking, 0.0f) ); m_compositing.addVertex(); } break; default: case markRight: case markLeft: EWOL_TODO("later"); break; } vec2 shaperOrigin = tmpOrigin-vec2(padding.xLeft(), padding.yButtom()); vec2 shaperSize = tmpSize+vec2(padding.x(), padding.y()); m_shaper->setShape(vec2ClipInt32(shaperOrigin), vec2ClipInt32(shaperSize)); }