From b79a2860459d66a898978727981d21c83c674229 Mon Sep 17 00:00:00 2001
From: nakst <>
Date: Sat, 9 Oct 2021 20:49:08 +0100
Subject: [PATCH] cleanup

---
 desktop/api.cpp      |   7 -------
 desktop/gui.cpp      |  16 +++++++++-------
 desktop/os.header    |   2 +-
 desktop/syscall.cpp  |   2 +-
 res/Theme Source.dat | Bin 501556 -> 506572 bytes
 util/designer2.cpp   |  15 ++++++++++-----
 6 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/desktop/api.cpp b/desktop/api.cpp
index 53091ae..8edf26b 100644
--- a/desktop/api.cpp
+++ b/desktop/api.cpp
@@ -587,17 +587,10 @@ int EsMessageSend(EsElement *element, EsMessage *message) {
 		response = element->messageUser(element, message);
 	}
 
-	bool handledByUser = response;
-
 	if (response == 0 && element->messageClass) {
 		response = element->messageClass(element, message);
 	}
 
-	if ((element->state & UI_STATE_INSPECTING) && message->type != ES_MSG_GET_INSPECTOR_INFORMATION) {
-		InspectorNotifyElementEvent(element, "message", "Element processed message '%z' with response %i%z.\n", 
-				EnumLookupNameFromValue(enumStrings_EsMessageType, message->type), response, handledByUser ? " (from user callback)" : "");
-	}
-
 	if (message->type >= ES_MSG_STATE_CHANGE_MESSAGE_START && message->type <= ES_MSG_STATE_CHANGE_MESSAGE_END) {
 		((EsElement *) element)->MaybeRefreshStyle();
 	}
diff --git a/desktop/gui.cpp b/desktop/gui.cpp
index 8c0470d..b28254f 100644
--- a/desktop/gui.cpp
+++ b/desktop/gui.cpp
@@ -8034,10 +8034,12 @@ void InspectorSetup(EsWindow *window) {
 
 	inspector->selectedElement = -1;
 
-	EsPanel *panel = EsPanelCreate(window, ES_CELL_FILL, ES_STYLE_PANEL_FILLED);
+	EsSplitter *splitter = EsSplitterCreate(window, ES_CELL_FILL | ES_SPLITTER_VERTICAL);
+	EsPanel *panel1 = EsPanelCreate(splitter, ES_CELL_FILL, ES_STYLE_PANEL_FILLED);
+	EsPanel *panel2 = EsPanelCreate(splitter, ES_CELL_FILL, ES_STYLE_PANEL_FILLED);
 
 	{
-		EsPanel *toolbar = EsPanelCreate(panel, ES_CELL_H_FILL | ES_PANEL_HORIZONTAL, ES_STYLE_PANEL_TOOLBAR);
+		EsPanel *toolbar = EsPanelCreate(panel1, ES_CELL_H_FILL | ES_PANEL_HORIZONTAL, ES_STYLE_PANEL_TOOLBAR);
 		inspector->visualizeRepaints = EsButtonCreate(toolbar, ES_BUTTON_TOOLBAR, 0, "Visualize repaints");
 		EsButtonOnCommand(inspector->visualizeRepaints, InspectorVisualizeRepaints);
 		inspector->visualizeLayoutBounds = EsButtonCreate(toolbar, ES_BUTTON_TOOLBAR, 0, "Visualize layout bounds");
@@ -8046,13 +8048,13 @@ void InspectorSetup(EsWindow *window) {
 		EsButtonOnCommand(inspector->visualizePaintSteps, InspectorVisualizePaintSteps);
 	}
 
-	inspector->elementList = EsListViewCreate(panel, ES_CELL_FILL | ES_LIST_VIEW_COLUMNS | ES_LIST_VIEW_SINGLE_SELECT);
+	inspector->elementList = EsListViewCreate(panel1, ES_CELL_FILL | ES_LIST_VIEW_COLUMNS | ES_LIST_VIEW_SINGLE_SELECT);
 	inspector->elementList->messageUser = InspectorElementListCallback;
 	EsListViewSetColumns(inspector->elementList, inspectorElementListColumns, sizeof(inspectorElementListColumns) / sizeof(EsListViewColumn));
 	EsListViewInsertGroup(inspector->elementList, 0);
 
 	{
-		EsPanel *toolbar = EsPanelCreate(panel, ES_CELL_H_FILL | ES_PANEL_HORIZONTAL, ES_STYLE_PANEL_TOOLBAR);
+		EsPanel *toolbar = EsPanelCreate(panel1, ES_CELL_H_FILL | ES_PANEL_HORIZONTAL, ES_STYLE_PANEL_TOOLBAR);
 		EsSpacerCreate(toolbar, ES_FLAGS_DEFAULT, nullptr, 5, 0);
 		EsTextDisplayCreate(toolbar, ES_FLAGS_DEFAULT, nullptr, "Horizontal:");
 		EsSpacerCreate(toolbar, ES_FLAGS_DEFAULT, nullptr, 5, 0);
@@ -8092,7 +8094,7 @@ void InspectorSetup(EsWindow *window) {
 	}
 
 	{
-		EsPanel *toolbar = EsPanelCreate(panel, ES_CELL_H_FILL | ES_PANEL_HORIZONTAL, ES_STYLE_PANEL_TOOLBAR);
+		EsPanel *toolbar = EsPanelCreate(panel1, ES_CELL_H_FILL | ES_PANEL_HORIZONTAL, ES_STYLE_PANEL_TOOLBAR);
 		EsSpacerCreate(toolbar, ES_FLAGS_DEFAULT, nullptr, 5, 0);
 		EsTextDisplayCreate(toolbar, ES_FLAGS_DEFAULT, nullptr, "Stack:");
 		EsSpacerCreate(toolbar, ES_FLAGS_DEFAULT, nullptr, 5, 0);
@@ -8117,7 +8119,7 @@ void InspectorSetup(EsWindow *window) {
 	}
 
 	{
-		EsPanel *toolbar = EsPanelCreate(panel, ES_CELL_H_FILL | ES_PANEL_HORIZONTAL, ES_STYLE_PANEL_TOOLBAR);
+		EsPanel *toolbar = EsPanelCreate(panel1, ES_CELL_H_FILL | ES_PANEL_HORIZONTAL, ES_STYLE_PANEL_TOOLBAR);
 		EsSpacerCreate(toolbar, ES_FLAGS_DEFAULT, nullptr, 5, 0);
 		EsTextDisplayCreate(toolbar, ES_FLAGS_DEFAULT, nullptr, "Content:");
 		inspector->contentTextbox = EsTextboxCreate(toolbar, ES_ELEMENT_DISABLED | ES_TEXTBOX_EDIT_BASED);
@@ -8129,7 +8131,7 @@ void InspectorSetup(EsWindow *window) {
 	}
 
 	{
-		inspector->listEvents = EsListViewCreate(panel, ES_CELL_FILL | ES_LIST_VIEW_CHOICE_SELECT | ES_LIST_VIEW_FIXED_ITEMS, ES_STYLE_LIST_CHOICE_BORDERED);
+		inspector->listEvents = EsListViewCreate(panel2, ES_CELL_FILL | ES_LIST_VIEW_CHOICE_SELECT | ES_LIST_VIEW_FIXED_ITEMS, ES_STYLE_LIST_CHOICE_BORDERED);
 	}
 
 	InspectorRefreshElementList(inspector);
diff --git a/desktop/os.header b/desktop/os.header
index 34b0d8a..29eddb7 100644
--- a/desktop/os.header
+++ b/desktop/os.header
@@ -2015,7 +2015,7 @@ function EsError EsDeviceControl(EsHandle handle, EsDeviceControlType type, void
 
 // Processes and threads.
 
-function EsError EsProcessCreate(EsProcessCreationArguments *arguments, EsProcessInformation *information); 
+function EsError EsProcessCreate(const EsProcessCreationArguments *arguments, EsProcessInformation *information); 
 function int EsProcessGetExitStatus(EsHandle process); 
 function EsObjectID EsProcessGetID(EsHandle process);
 function void EsProcessGetState(EsHandle process, EsProcessState *state); 
diff --git a/desktop/syscall.cpp b/desktop/syscall.cpp
index 667795c..6bade1b 100644
--- a/desktop/syscall.cpp
+++ b/desktop/syscall.cpp
@@ -38,7 +38,7 @@ bool EsMemoryDecommit(void *pointer, size_t bytes) {
 	return ES_SUCCESS == (intptr_t) EsSyscall(ES_SYSCALL_MEMORY_COMMIT, (uintptr_t) pointer >> ES_PAGE_BITS, bytes >> ES_PAGE_BITS, 1, 0);
 }
 
-EsError EsProcessCreate(EsProcessCreationArguments *arguments, EsProcessInformation *information) {
+EsError EsProcessCreate(const EsProcessCreationArguments *arguments, EsProcessInformation *information) {
 	EsProcessInformation _information;
 	if (!information) information = &_information;
 
diff --git a/res/Theme Source.dat b/res/Theme Source.dat
index 13391e1d345653ff9ba8314d58fb4139968ba605..97d79232fdecaf487344c9721cef37462879c81a 100644
GIT binary patch
delta 17254
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
O*!_uqz~4*S@c#j>%8-2k

delta 16290
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

diff --git a/util/designer2.cpp b/util/designer2.cpp
index bd8a343..288b456 100644
--- a/util/designer2.cpp
+++ b/util/designer2.cpp
@@ -2375,6 +2375,9 @@ UIRectangle CanvasGetObjectBounds(Object *object) {
 	int32_t w = PropertyReadInt32(object, "_graphW") * canvas->zoom;
 	int32_t h = PropertyReadInt32(object, "_graphH") * canvas->zoom;
 
+	if (w < 1) w = 1;
+	if (h < 1) h = 1;
+
 	UIRectangle bounds = UI_RECT_4(x, x + w, y, y + h);
 
 	if (object->flags & OBJECT_IS_SELECTED) {
@@ -2656,14 +2659,16 @@ int CanvasMessage(UIElement *element, UIMessage message, int di, void *dp) {
 					UIDrawBorder(painter, UIRectangleAdd(bounds, UI_RECT_1I(-3)), 0xFF4092FF, UI_RECT_1(3));
 				} 
 
-				UIDrawString(painter, UI_RECT_4(bounds.l, element->bounds.r, bounds.t - ui.glyphHeight, bounds.t), 
-						object->cName, -1, 0xFF000000, UI_ALIGN_LEFT, nullptr);
+				if (object->type == OBJ_COMMENT || canvas->zoom > 0.1f) {
+					UIDrawString(painter, UI_RECT_4(bounds.l, element->bounds.r, bounds.t - ui.glyphHeight, bounds.t), 
+							object->cName, -1, 0xFF000000, UI_ALIGN_LEFT, nullptr);
+				}
 
 				UIDrawRectangle(painter, bounds, 0xFFE0E0E0, 0xFF404040, UI_RECT_1(1));
 				UIDrawBlock(painter, UI_RECT_4(bounds.l + 1, bounds.r + 1, bounds.b, bounds.b + 1), 0xFF404040);
 				UIDrawBlock(painter, UI_RECT_4(bounds.r, bounds.r + 1, bounds.t + 1, bounds.b + 1), 0xFF404040);
 
-				if (isConditional) {
+				if (isConditional && canvas->zoom > 0.1f) {
 					UIRectangle indicator = UI_RECT_4(bounds.l - ui.glyphWidth, bounds.l, bounds.t, bounds.t + ui.glyphHeight);
 					UIDrawBlock(painter, indicator, 0xFFFFFF00);
 					UIDrawString(painter, indicator, "?", -1, 0xFF000000, UI_ALIGN_CENTER, nullptr);
@@ -2911,7 +2916,7 @@ int CanvasMessage(UIElement *element, UIMessage message, int di, void *dp) {
 		while (divisions > 0) factor *= perDivision, divisions--;
 		while (divisions < 0) factor /= perDivision, divisions++;
 		if (canvas->zoom * factor > 4) factor = 4 / canvas->zoom;
-		if (canvas->zoom * factor < 0.1) factor = 0.1 / canvas->zoom;
+		if (canvas->zoom * factor < 0.05) factor = 0.05 / canvas->zoom;
 		int mx = element->window->cursorX - element->bounds.l;
 		int my = element->window->cursorY - element->bounds.t;
 		canvas->zoom *= factor;
@@ -3594,8 +3599,8 @@ int main(int argc, char **argv) {
 
 	graphControls = UIPanelCreate(canvas, UI_PANEL_HORIZONTAL | UI_ELEMENT_PARENT_PUSH);
 	graphControls->gap = -1;
-		UIButtonCreate(0, UI_BUTTON_SMALL, "Arrow mode \x18", -1)->invoke = CanvasArrowMode;
 		UIButtonCreate(0, UI_BUTTON_SMALL, "Add object \x18", -1)->invoke = ObjectAddCommand;
+		UIButtonCreate(0, UI_BUTTON_SMALL, "Arrow mode \x18", -1)->invoke = CanvasArrowMode;
 	UIParentPop();
 
 	prototypeControls = UIPanelCreate(canvas, UI_PANEL_HORIZONTAL | UI_ELEMENT_PARENT_PUSH);