This commit is contained in:
nakst 2021-09-25 09:50:13 +01:00
parent 8588efe291
commit 2704081dfe
6 changed files with 21 additions and 10 deletions

View File

@ -75,7 +75,7 @@ void _start() {
// Add a second layout panel to panelStack to contain the elements of the form.
EsPanel *panelForm = EsPanelCreate(
panelStack, // Add it to panelStack.
ES_PANEL_TABLE // Use table layout.
ES_PANEL_TABLE // Use table layout.
| ES_PANEL_HORIZONTAL, // Left to right, then top to bottom.
&stylePanelForm);

View File

@ -1214,10 +1214,10 @@ void ShutdownModalCreate() {
// Setup the UI.
EsPanel *stack = EsPanelCreate(window, ES_CELL_FILL | ES_PANEL_Z_STACK, ES_STYLE_PANEL_NORMAL_WINDOW_ROOT);
EsPanel *stack = EsPanelCreate(window, ES_CELL_FILL | ES_PANEL_Z_STACK);
stack->cName = "window stack";
EsPanelCreate(stack, ES_CELL_FILL, ES_STYLE_PANEL_SHUTDOWN_OVERLAY)->cName = "modal overlay";
EsPanel *dialog = EsPanelCreate(stack, ES_PANEL_VERTICAL | ES_CELL_CENTER, ES_STYLE_PANEL_DIALOG_ROOT);
EsPanel *dialog = EsPanelCreate(stack, ES_PANEL_VERTICAL | ES_CELL_CENTER, ES_STYLE_DIALOG_SHADOW);
dialog->cName = "dialog";
EsPanel *heading = EsPanelCreate(dialog, ES_PANEL_HORIZONTAL | ES_CELL_H_FILL, ES_STYLE_DIALOG_HEADING);
EsIconDisplayCreate(heading, ES_FLAGS_DEFAULT, {}, ES_ICON_SYSTEM_SHUTDOWN);

View File

@ -762,9 +762,12 @@ EsElement *EsDialogShow(EsWindow *window) {
window->hasDialog = true;
window->dialogOverlay = EsPanelCreate(mainStack, ES_CELL_FILL, ES_STYLE_PANEL_MODAL_OVERLAY);
window->dialogOverlay->cName = "modal overlay";
window->dialogPanel = EsPanelCreate(mainStack, ES_PANEL_VERTICAL | ES_CELL_CENTER | ES_CELL_SHRINK, ES_STYLE_PANEL_DIALOG_ROOT);
window->dialogPanel = EsPanelCreate(mainStack, ES_PANEL_VERTICAL | ES_CELL_CENTER | ES_CELL_SHRINK, ES_STYLE_DIALOG_SHADOW);
window->dialogPanel->cName = "dialog";
// EsElementStartTransition(window->dialogOverlay, ES_TRANSITION_FADE_IN, ES_FLAGS_DEFAULT, 3.0f);
// EsElementStartTransition(window->dialogPanel, ES_TRANSITION_FADE_IN, ES_FLAGS_DEFAULT, 3.0f);
return window->dialogPanel;
}
@ -912,9 +915,9 @@ EsWindow *EsWindowCreate(EsInstance *instance, EsWindowStyle style) {
EsSyscall(ES_SYSCALL_WINDOW_SET_PROPERTY, window->handle, 0, (uintptr_t) window, ES_WINDOW_PROPERTY_OBJECT);
EsSyscall(ES_SYSCALL_WINDOW_SET_PROPERTY, window->handle, 0xFF000000 | GetConstantNumber("windowFillColor"), 0, ES_WINDOW_PROPERTY_RESIZE_CLEAR_COLOR);
window->activated = true;
EsPanel *panel = EsPanelCreate(window, ES_ELEMENT_NON_CLIENT | ES_CELL_FILL | ES_PANEL_Z_STACK, ES_STYLE_PANEL_NORMAL_WINDOW_ROOT);
EsPanel *panel = EsPanelCreate(window, ES_ELEMENT_NON_CLIENT | ES_CELL_FILL | ES_PANEL_Z_STACK);
panel->cName = "window stack";
window->mainPanel = EsPanelCreate(panel, ES_CELL_FILL, ES_STYLE_PANEL_NORMAL_WINDOW_ROOT);
window->mainPanel = EsPanelCreate(panel, ES_CELL_FILL);
window->mainPanel->cName = "window root";
window->toolbarSwitcher = EsPanelCreate(window, ES_ELEMENT_NON_CLIENT | ES_PANEL_SWITCHER | ES_CELL_FILL, ES_STYLE_PANEL_TOOLBAR_ROOT);
window->toolbarSwitcher->cName = "toolbar";
@ -1662,9 +1665,18 @@ void ProcessAnimations() {
element->transitionTimeMs += m.animate.deltaMs;
bool transitionComplete = element->transitionTimeMs >= element->transitionDurationMs;
if (!transitionComplete) {
if (element->transitionDurationMs) {
element->Repaint(true, ES_RECT_1(0));
} else {
}
if (transitionComplete) {
element->transitionDurationMs = 0;
if (element->previousTransitionFrame) {
EsPaintTargetDestroy(element->previousTransitionFrame);
element->previousTransitionFrame = nullptr;
}
if (element->transitionFlags & ES_ELEMENT_TRANSITION_HIDE_AFTER_COMPLETE) {
EsElementSetHidden(element, true);
}

View File

@ -21,6 +21,7 @@ private define ES_STYLE_CURSOR_LOCATOR (ES_STYLE_CAST(1591))
define ES_STYLE_DIALOG_BUTTON_AREA (ES_STYLE_CAST(1259))
define ES_STYLE_DIALOG_CONTENT (ES_STYLE_CAST(1261))
define ES_STYLE_DIALOG_HEADING (ES_STYLE_CAST(1263))
define ES_STYLE_DIALOG_SHADOW (ES_STYLE_CAST(1311))
private define ES_STYLE_DOUBLE_CLICK_TEST (ES_STYLE_CAST(1585))
define ES_STYLE_ICON_DISPLAY (ES_STYLE_CAST(1265))
define ES_STYLE_ICON_DISPLAY_SMALL (ES_STYLE_CAST(1543))
@ -51,7 +52,6 @@ private define ES_STYLE_MENU_SEPARATOR_HORIZONTAL (ES_STYLE_CAST(1303))
private define ES_STYLE_MENU_SEPARATOR_VERTICAL (ES_STYLE_CAST(1305))
private define ES_STYLE_PANEL_CONTAINER_WINDOW_ROOT (ES_STYLE_CAST(1307))
private define ES_STYLE_PANEL_CRASH_INFO (ES_STYLE_CAST(1309))
define ES_STYLE_PANEL_DIALOG_ROOT (ES_STYLE_CAST(1311))
define ES_STYLE_PANEL_DOCUMENT (ES_STYLE_CAST(1547))
define ES_STYLE_PANEL_FILLED (ES_STYLE_CAST(1313))
define ES_STYLE_PANEL_GROUP_BOX (ES_STYLE_CAST(1315))
@ -62,7 +62,6 @@ private define ES_STYLE_PANEL_MENU_COLUMN (ES_STYLE_CAST(1321))
private define ES_STYLE_PANEL_MENU_CONTAINER (ES_STYLE_CAST(1323))
private define ES_STYLE_PANEL_MENU_ROOT (ES_STYLE_CAST(1325))
private define ES_STYLE_PANEL_MODAL_OVERLAY (ES_STYLE_CAST(1327))
private define ES_STYLE_PANEL_NORMAL_WINDOW_ROOT (ES_STYLE_CAST(1329))
define ES_STYLE_PANEL_POPUP (ES_STYLE_CAST(1331))
define ES_STYLE_PANEL_SHEET (ES_STYLE_CAST(1333))
private define ES_STYLE_PANEL_SHUTDOWN_OVERLAY (ES_STYLE_CAST(1335))

Binary file not shown.

Binary file not shown.