mirror of https://gitlab.com/nakst/essence
fixes
This commit is contained in:
parent
8ce9eddea3
commit
4dc7f88d22
|
@ -2783,8 +2783,8 @@ void ScrollPane::Setup(EsElement *_parent, uint8_t _xMode, uint8_t _yMode, uint1
|
|||
mode[1] = _yMode;
|
||||
flags = _flags;
|
||||
|
||||
if (mode[0] == ES_SCROLL_MODE_NONE) flags &= ~SCROLL_X_DRAG;
|
||||
if (mode[1] == ES_SCROLL_MODE_NONE) flags &= ~SCROLL_Y_DRAG;
|
||||
if (mode[0] == ES_SCROLL_MODE_NONE) flags &= ~ES_SCROLL_X_DRAG;
|
||||
if (mode[1] == ES_SCROLL_MODE_NONE) flags &= ~ES_SCROLL_Y_DRAG;
|
||||
|
||||
for (int axis = 0; axis < 2; axis++) {
|
||||
if (mode[axis] == ES_SCROLL_MODE_FIXED || mode[axis] == ES_SCROLL_MODE_AUTO) {
|
||||
|
@ -2844,7 +2844,7 @@ void ScrollPane::ReceivedMessage(EsMessage *message) {
|
|||
if (message->type == ES_MSG_LAYOUT) {
|
||||
Refresh();
|
||||
} else if (message->type == ES_MSG_MOUSE_LEFT_DRAG || message->type == ES_MSG_MOUSE_RIGHT_DRAG || message->type == ES_MSG_MOUSE_MIDDLE_DRAG) {
|
||||
if (flags & (SCROLL_X_DRAG | SCROLL_Y_DRAG)) {
|
||||
if (flags & (ES_SCROLL_X_DRAG | ES_SCROLL_Y_DRAG)) {
|
||||
parent->StartAnimating();
|
||||
dragScrolling = true;
|
||||
}
|
||||
|
@ -2858,8 +2858,8 @@ void ScrollPane::ReceivedMessage(EsMessage *message) {
|
|||
double distanceY = point.y < bounds.t ? point.y - bounds.t : point.y >= bounds.b ? point.y - bounds.b + 1 : 0;
|
||||
double deltaX = message->animate.deltaMs * distanceX / 300.0;
|
||||
double deltaY = message->animate.deltaMs * distanceY / 300.0;
|
||||
if (deltaX && (flags & SCROLL_X_DRAG)) SetX(position[0] + deltaX, true);
|
||||
if (deltaY && (flags & SCROLL_Y_DRAG)) SetY(position[1] + deltaY, true);
|
||||
if (deltaX && (flags & ES_SCROLL_X_DRAG)) SetX(position[0] + deltaX, true);
|
||||
if (deltaY && (flags & ES_SCROLL_Y_DRAG)) SetY(position[1] + deltaY, true);
|
||||
message->animate.complete = false;
|
||||
}
|
||||
} else if (message->type == ES_MSG_GET_HEIGHT) {
|
||||
|
@ -2961,7 +2961,7 @@ void ScrollPane::Refresh() {
|
|||
if (bar[0]) ScrollbarSetMeasurements(bar[0], bounds.r - fixedViewport[0], contentWidth - fixedViewport[0]);
|
||||
if (bar[1]) ScrollbarSetMeasurements(bar[1], bounds.b - fixedViewport[1], contentHeight - fixedViewport[1]);
|
||||
|
||||
if (~flags & SCROLL_MANUAL) {
|
||||
if (~flags & ES_SCROLL_MANUAL) {
|
||||
SetPosition(0, position[0], true);
|
||||
SetPosition(1, position[1], true);
|
||||
}
|
||||
|
@ -3836,7 +3836,7 @@ EsCanvasPane *EsCanvasPaneCreate(EsElement *parent, uint64_t flags, const EsStyl
|
|||
pane->Initialise(parent, flags, ProcessCanvasPaneMessage, style);
|
||||
pane->cName = "canvas pane";
|
||||
pane->zoom = 1.0;
|
||||
pane->scroll.Setup(pane, ES_SCROLL_MODE_AUTO, ES_SCROLL_MODE_AUTO, SCROLL_MANUAL);
|
||||
pane->scroll.Setup(pane, ES_SCROLL_MODE_AUTO, ES_SCROLL_MODE_AUTO, ES_SCROLL_MANUAL);
|
||||
return pane;
|
||||
}
|
||||
|
||||
|
@ -6287,7 +6287,7 @@ EsThemeMetrics EsElementGetMetrics(EsElement *element) {
|
|||
m.insets = RECTANGLE_8_TO_ES_RECTANGLE(metrics->insets);
|
||||
m.clipInsets = RECTANGLE_8_TO_ES_RECTANGLE(metrics->clipInsets);
|
||||
m.clipEnabled = metrics->clipEnabled;
|
||||
m.cursor = metrics->cursor;
|
||||
m.cursor = (EsCursorStyle) metrics->cursor;
|
||||
m.preferredWidth = metrics->preferredWidth;
|
||||
m.preferredHeight = metrics->preferredHeight;
|
||||
m.minimumWidth = metrics->minimumWidth;
|
||||
|
|
|
@ -1939,7 +1939,7 @@ void EsListViewChangeStyles(EsListView *view, const EsStyle *style, const EsStyl
|
|||
scrollYMode = ES_SCROLL_MODE_AUTO;
|
||||
}
|
||||
|
||||
view->scroll.Setup(view, scrollXMode, scrollYMode, SCROLL_X_DRAG | SCROLL_Y_DRAG);
|
||||
view->scroll.Setup(view, scrollXMode, scrollYMode, ES_SCROLL_X_DRAG | ES_SCROLL_Y_DRAG);
|
||||
ListViewCalculateTotalColumnWidth(view);
|
||||
|
||||
// Remove existing visible items; the list will need to be repopulated.
|
||||
|
|
|
@ -742,9 +742,9 @@ define ES_SCROLL_MODE_HIDDEN (1) // Scrolling takes place, but there is no visib
|
|||
define ES_SCROLL_MODE_FIXED (2) // The scrollbar is always visible.
|
||||
define ES_SCROLL_MODE_AUTO (3) // The scrollbar is only visible if the content is larger than the viewport.
|
||||
// Scroll view flags.
|
||||
define SCROLL_X_DRAG (1 << 0)
|
||||
define SCROLL_Y_DRAG (1 << 1)
|
||||
private define SCROLL_MANUAL (1 << 2) // The parent is responsible for updating the position of the scroll bars.
|
||||
define ES_SCROLL_X_DRAG (1 << 0)
|
||||
define ES_SCROLL_Y_DRAG (1 << 1)
|
||||
private define ES_SCROLL_MANUAL (1 << 2) // The parent is responsible for updating the position of the scroll bars.
|
||||
|
||||
include desktop/icons.header
|
||||
|
||||
|
@ -1319,11 +1319,12 @@ struct EsPanelBand {
|
|||
struct EsThemeMetrics {
|
||||
uint64_t mask;
|
||||
EsRectangle insets, clipInsets;
|
||||
int clipEnabled, cursor;
|
||||
int preferredWidth, preferredHeight;
|
||||
int minimumWidth, minimumHeight;
|
||||
int maximumWidth, maximumHeight;
|
||||
int gapMajor, gapMinor, gapWrap;
|
||||
bool clipEnabled;
|
||||
EsCursorStyle cursor;
|
||||
int32_t preferredWidth, preferredHeight;
|
||||
int32_t minimumWidth, minimumHeight;
|
||||
int32_t maximumWidth, maximumHeight;
|
||||
int32_t gapMajor, gapMinor, gapWrap;
|
||||
uint32_t textColor, selectedBackground, selectedText, iconColor;
|
||||
int textAlign, textSize, fontFamily, fontWeight, iconSize;
|
||||
bool isItalic, layoutVertical;
|
||||
|
|
|
@ -4716,7 +4716,7 @@ EsTextbox *EsTextboxCreate(EsElement *parent, uint64_t flags, const EsStyle *sty
|
|||
textbox->scroll.Setup(textbox,
|
||||
(flags & ES_TEXTBOX_MULTILINE) ? ES_SCROLL_MODE_AUTO : ES_SCROLL_MODE_HIDDEN,
|
||||
(flags & ES_TEXTBOX_MULTILINE) ? ES_SCROLL_MODE_AUTO : ES_SCROLL_MODE_NONE,
|
||||
SCROLL_X_DRAG | SCROLL_Y_DRAG);
|
||||
ES_SCROLL_X_DRAG | ES_SCROLL_Y_DRAG);
|
||||
|
||||
textbox->undo = &textbox->localUndo;
|
||||
textbox->undo->instance = textbox->instance;
|
||||
|
|
Loading…
Reference in New Issue