fix stroke preview, add license messages, fix node scroll

This commit is contained in:
2019-01-29 22:33:40 +01:00
parent 36d034dfd9
commit 56fa1079c6
9 changed files with 64 additions and 9 deletions

View File

@@ -36,15 +36,21 @@ void NodeScroll::draw()
{
NodeBorder::draw();
glm::vec4 rect = get_children_rect();
if (rect.x == 0 || rect.w < m_size.y)
glm::vec4 pad = GetPadding();
float sz = m_size.y - (pad[0] + pad[2]);
if (rect.w == 0 || rect.w <= sz)
{
YGNodeStyleSetPadding(y_node, YGEdgeRight, 5);
return;
float h = m_size.y / rect.w * m_size.y;
float offset_percent = m_offset.y / (rect.w - m_size.y);
}
YGNodeStyleSetPadding(y_node, YGEdgeRight, 35);
float h = sz / rect.w * sz;
float offset_percent = m_offset.y / (rect.w - sz);
float pr = YGNodeLayoutGetPadding(y_node, YGEdgeRight) - 5;
glDisable(GL_BLEND);
ShaderManager::use(kShader::Color);
ShaderManager::u_mat4(kShaderUniform::MVP, m_proj
* glm::translate(glm::vec3(m_pos.x + m_size.x - pr, m_pos.y - offset_percent * (m_size.y - h), 0))
* glm::translate(glm::vec3(m_pos.x + m_size.x - pr, m_pos.y - offset_percent * (sz - h) + pad[0], 0))
* glm::scale(glm::vec3(pr, h, 1))
* glm::translate(glm::vec3(.5, .5, 0))
);
@@ -71,7 +77,10 @@ kEventResult NodeScroll::handle_event(Event* e)
case kEventType::MouseMove:
if (m_dragging)
{
m_offset = m_offset_start + (me->m_pos - m_drag_start) * m_mask * m_scroll_dir;
glm::vec4 rect = get_children_rect();
glm::vec4 pad = GetPadding();
float speed = rect.w / (m_size.y - (pad[0] + pad[2]));
m_offset = m_offset_start + (me->m_pos - m_drag_start) * m_mask * m_scroll_dir * speed;
fix_scroll();
}
break;