mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-21 14:50:44 +01:00
[escher] ELField size should take into account the cursor.
Else, when it is on the extrema, it does not appear. Change-Id: I2a8620ef38773e51d2087f842ec2dade2d8e0bac
This commit is contained in:
@@ -36,7 +36,7 @@ void ExpressionLayoutField::scrollToCursor() {
|
||||
KDCoordinate underBaseline = m_contentView.cursorRect().height() - cursorBaseline;
|
||||
KDCoordinate minAroundBaseline = min(cursorBaseline, underBaseline);
|
||||
minAroundBaseline = min(minAroundBaseline, bounds().height() / 2);
|
||||
KDRect balancedRect(0, m_contentView.cursorRect().y() + cursorBaseline - minAroundBaseline, 1, 2 * minAroundBaseline);
|
||||
KDRect balancedRect(0, m_contentView.cursorRect().y() + cursorBaseline - minAroundBaseline, Poincare::ExpressionLayoutCursor::k_cursorWidth, 2 * minAroundBaseline);
|
||||
scrollToContentRect(balancedRect, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -32,7 +32,8 @@ void ExpressionLayoutField::ContentView::clearLayout() {
|
||||
}
|
||||
|
||||
KDSize ExpressionLayoutField::ContentView::minimalSizeForOptimalDisplay() const {
|
||||
return m_expressionView.minimalSizeForOptimalDisplay();
|
||||
KDSize evSize = m_expressionView.minimalSizeForOptimalDisplay();
|
||||
return KDSize(evSize.width(), evSize.height() + ExpressionLayoutCursor::k_cursorWidth);
|
||||
}
|
||||
|
||||
View * ExpressionLayoutField::ContentView::subviewAtIndex(int index) {
|
||||
@@ -65,5 +66,5 @@ void ExpressionLayoutField::ContentView::layoutCursorSubview() {
|
||||
cursorX += pointedLayout->size().width();
|
||||
}
|
||||
KDPoint cursorTopLeftPosition(cursorX, expressionViewOrigin.y() + cursoredExpressionViewOrigin.y() + pointedLayout->baseline() - m_cursor.baseline());
|
||||
m_cursorView.setFrame(KDRect(cursorTopLeftPosition, 1, m_cursor.cursorHeight()));
|
||||
m_cursorView.setFrame(KDRect(cursorTopLeftPosition, ExpressionLayoutCursor::k_cursorWidth, m_cursor.cursorHeight()));
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@ class ExpressionLayout;
|
||||
|
||||
class ExpressionLayoutCursor {
|
||||
public:
|
||||
constexpr static KDCoordinate k_cursorWidth = 1;
|
||||
|
||||
enum class Position {
|
||||
Left,
|
||||
Right
|
||||
|
||||
Reference in New Issue
Block a user