mirror of https://gitlab.com/nakst/essence
				
				
				
			bugfixes; cleanup theme
This commit is contained in:
		
							parent
							
								
									b6bc221af2
								
							
						
					
					
						commit
						4ad2395977
					
				|  | @ -1,3 +1,4 @@ | ||||||
|  | define ES_STYLE_SEPARATOR_HORIZONTAL (ES_STYLE_CAST(1373)) | ||||||
| private define ES_STYLE__TEST_STYLE (ES_STYLE_CAST(1385)) | private define ES_STYLE__TEST_STYLE (ES_STYLE_CAST(1385)) | ||||||
| private define ES_STYLE_ACCESS_KEY_HINT (ES_STYLE_CAST(1221)) | private define ES_STYLE_ACCESS_KEY_HINT (ES_STYLE_CAST(1221)) | ||||||
| private define ES_STYLE_ANNOUNCEMENT (ES_STYLE_CAST(1511)) | private define ES_STYLE_ANNOUNCEMENT (ES_STYLE_CAST(1511)) | ||||||
|  | @ -8,7 +9,13 @@ define ES_STYLE_BUTTON_GROUP_CONTAINER (ES_STYLE_CAST(1229)) | ||||||
| define ES_STYLE_BUTTON_GROUP_ITEM (ES_STYLE_CAST(1231)) | define ES_STYLE_BUTTON_GROUP_ITEM (ES_STYLE_CAST(1231)) | ||||||
| define ES_STYLE_BUTTON_GROUP_SEPARATOR (ES_STYLE_CAST(1233)) | define ES_STYLE_BUTTON_GROUP_SEPARATOR (ES_STYLE_CAST(1233)) | ||||||
| private define ES_STYLE_CANVAS_SHADOW (ES_STYLE_CAST(1451)) | private define ES_STYLE_CANVAS_SHADOW (ES_STYLE_CAST(1451)) | ||||||
|  | private define ES_STYLE_COLOR_HEX_TEXTBOX (ES_STYLE_CAST(1245)) | ||||||
|  | private define ES_STYLE_TASK_BAR_BAR (ES_STYLE_CAST(1379)) | ||||||
|  | private define ES_STYLE_SLIDER_TRACK (ES_STYLE_CAST(1601)) | ||||||
| private define ES_STYLE_CHECKBOX_NORMAL (ES_STYLE_CAST(1559)) | private define ES_STYLE_CHECKBOX_NORMAL (ES_STYLE_CAST(1559)) | ||||||
|  | private define ES_STYLE_SPLIT_BAR_VERTICAL (ES_STYLE_CAST(1377)) | ||||||
|  | private define ES_STYLE_WINDOW_TAB_CLOSE_BUTTON (ES_STYLE_CAST(1469)) | ||||||
|  | private define ES_STYLE_SPLIT_BAR_HORIZONTAL (ES_STYLE_CAST(1375)) | ||||||
| private define ES_STYLE_CHECKBOX_RADIOBOX (ES_STYLE_CAST(1567)) | private define ES_STYLE_CHECKBOX_RADIOBOX (ES_STYLE_CAST(1567)) | ||||||
| define ES_STYLE_CLEAR_BACKGROUND (ES_STYLE_CAST(1597)) | define ES_STYLE_CLEAR_BACKGROUND (ES_STYLE_CAST(1597)) | ||||||
| private define ES_STYLE_COLOR_CHOSEN_POINT (ES_STYLE_CAST(1241)) | private define ES_STYLE_COLOR_CHOSEN_POINT (ES_STYLE_CAST(1241)) | ||||||
|  | @ -86,6 +93,7 @@ define ES_STYLE_PANEL_WINDOW_BACKGROUND (ES_STYLE_CAST(1341)) | ||||||
| define ES_STYLE_TEXTBOX_BORDERED_MULTILINE (ES_STYLE_CAST(1399)) | define ES_STYLE_TEXTBOX_BORDERED_MULTILINE (ES_STYLE_CAST(1399)) | ||||||
| define ES_STYLE_PANEL_WINDOW_DIVIDER (ES_STYLE_CAST(1343)) | define ES_STYLE_PANEL_WINDOW_DIVIDER (ES_STYLE_CAST(1343)) | ||||||
| define ES_STYLE_PANEL_WINDOW_WITH_STATUS_BAR_CONTENT (ES_STYLE_CAST(1483)) | define ES_STYLE_PANEL_WINDOW_WITH_STATUS_BAR_CONTENT (ES_STYLE_CAST(1483)) | ||||||
|  | private define ES_STYLE_SLIDER_POINT (ES_STYLE_CAST(1607)) | ||||||
| define ES_STYLE_PUSH_BUTTON_DANGEROUS (ES_STYLE_CAST(1345)) | define ES_STYLE_PUSH_BUTTON_DANGEROUS (ES_STYLE_CAST(1345)) | ||||||
| private define ES_STYLE_TEXTBOX_INLINE (ES_STYLE_CAST(1477)) | private define ES_STYLE_TEXTBOX_INLINE (ES_STYLE_CAST(1477)) | ||||||
| private define ES_STYLE_PUSH_BUTTON_NORMAL (ES_STYLE_CAST(1347)) | private define ES_STYLE_PUSH_BUTTON_NORMAL (ES_STYLE_CAST(1347)) | ||||||
|  | @ -112,11 +120,3 @@ private define ES_STYLE_SCROLLBAR_BAR_VERTICAL (ES_STYLE_CAST(1365)) | ||||||
| private define ES_STYLE_SCROLLBAR_THUMB_HORIZONTAL (ES_STYLE_CAST(1367)) | private define ES_STYLE_SCROLLBAR_THUMB_HORIZONTAL (ES_STYLE_CAST(1367)) | ||||||
| private define ES_STYLE_SCROLLBAR_THUMB_VERTICAL (ES_STYLE_CAST(1369)) | private define ES_STYLE_SCROLLBAR_THUMB_VERTICAL (ES_STYLE_CAST(1369)) | ||||||
| private define ES_STYLE_SCROLLBAR_PAD (ES_STYLE_CAST(1371)) | private define ES_STYLE_SCROLLBAR_PAD (ES_STYLE_CAST(1371)) | ||||||
| define ES_STYLE_SEPARATOR_HORIZONTAL (ES_STYLE_CAST(1373)) |  | ||||||
| private define ES_STYLE_SLIDER_POINT (ES_STYLE_CAST(1607)) |  | ||||||
| private define ES_STYLE_SLIDER_TRACK (ES_STYLE_CAST(1601)) |  | ||||||
| private define ES_STYLE_SPLIT_BAR_HORIZONTAL (ES_STYLE_CAST(1375)) |  | ||||||
| private define ES_STYLE_WINDOW_TAB_CLOSE_BUTTON (ES_STYLE_CAST(1469)) |  | ||||||
| private define ES_STYLE_SPLIT_BAR_VERTICAL (ES_STYLE_CAST(1377)) |  | ||||||
| private define ES_STYLE_TASK_BAR_BAR (ES_STYLE_CAST(1379)) |  | ||||||
| private define ES_STYLE_COLOR_HEX_TEXTBOX (ES_STYLE_CAST(1245)) |  | ||||||
|  |  | ||||||
|  | @ -196,10 +196,13 @@ int CanvasCallback(EsElement *element, EsMessage *message) { | ||||||
| 	// TODO Is it safe to pass input to Bochs on this thread?
 | 	// TODO Is it safe to pass input to Bochs on this thread?
 | ||||||
| 
 | 
 | ||||||
| 	if (message->type == ES_MSG_PAINT) { | 	if (message->type == ES_MSG_PAINT) { | ||||||
| 		int ox = message->painter->width / 2 - instance->vmemWidth / 2; | 		EsRectangle bounds = EsPainterBoundsInset(message->painter); | ||||||
| 		int oy = message->painter->height / 2 - instance->vmemHeight / 2; | 		EsRectangle imageBounds = EsRectangleCenter(bounds, ES_RECT_2S(instance->vmemWidth, instance->vmemHeight)); | ||||||
| 		EsRectangle bounds = { ox, ox + instance->vmemWidth, oy, oy + instance->vmemHeight }; | 		EsDrawBitmap(message->painter, imageBounds, instance->vmem, instance->vmemWidth * 4, ES_DRAW_BITMAP_OPAQUE); | ||||||
| 		EsDrawBitmap(message->painter, bounds, instance->vmem, instance->vmemWidth * 4, 0xFFFF); | 		EsDrawBlock(message->painter, ES_RECT_4(bounds.l, imageBounds.l, bounds.t, bounds.b), 0xFF000000); | ||||||
|  | 		EsDrawBlock(message->painter, ES_RECT_4(imageBounds.r, bounds.r, bounds.t, bounds.b), 0xFF000000); | ||||||
|  | 		EsDrawBlock(message->painter, ES_RECT_4(imageBounds.l, imageBounds.r, bounds.t, imageBounds.t), 0xFF000000); | ||||||
|  | 		EsDrawBlock(message->painter, ES_RECT_4(imageBounds.l, imageBounds.r, imageBounds.b, bounds.b), 0xFF000000); | ||||||
| 		repaintQueued = false; | 		repaintQueued = false; | ||||||
| 	} else if (message->type == ES_MSG_KEY_DOWN) { | 	} else if (message->type == ES_MSG_KEY_DOWN) { | ||||||
| 		if (message->keyboard.scancode == ES_SCANCODE_RIGHT_CTRL) { | 		if (message->keyboard.scancode == ES_SCANCODE_RIGHT_CTRL) { | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								res/Theme.dat
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								res/Theme.dat
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -365,15 +365,17 @@ void EsDrawBitmap(EsPainter *painter, EsRectangle region, uint32_t *sourceBits, | ||||||
| 				j--; | 				j--; | ||||||
| 			}  | 			}  | ||||||
| 		} else if (mode == ES_DRAW_BITMAP_OPAQUE) { | 		} else if (mode == ES_DRAW_BITMAP_OPAQUE) { | ||||||
|  | 			__m128i fillAlpha = _mm_set1_epi32(0xFF000000); | ||||||
|  | 
 | ||||||
| 			while (j >= 4) { | 			while (j >= 4) { | ||||||
| 				_mm_storeu_si128((__m128i *) destination, _mm_loadu_si128((__m128i *) source)); | 				_mm_storeu_si128((__m128i *) destination, _mm_or_si128(fillAlpha, _mm_loadu_si128((__m128i *) source))); | ||||||
| 				destination += 4; | 				destination += 4; | ||||||
| 				source += 4; | 				source += 4; | ||||||
| 				j -= 4; | 				j -= 4; | ||||||
| 			}  | 			}  | ||||||
| 
 | 
 | ||||||
| 			while (j > 0) { | 			while (j > 0) { | ||||||
| 				*destination = *source; | 				*destination = 0xFF000000 | *source; | ||||||
| 				destination++; | 				destination++; | ||||||
| 				source++; | 				source++; | ||||||
| 				j--; | 				j--; | ||||||
|  |  | ||||||
|  | @ -20,6 +20,9 @@ | ||||||
| // 	Prototyping display: previewing state transitions.
 | // 	Prototyping display: previewing state transitions.
 | ||||||
| 
 | 
 | ||||||
| // TODO Additional features:
 | // TODO Additional features:
 | ||||||
|  | // 	Method to iterate through all the objects that link to selected object.
 | ||||||
|  | // 	Sorted list in ObjectAddInstanceCommand.
 | ||||||
|  | // 	Hide arrows to colors.
 | ||||||
| //	Having to link to the end of a conditional object chain is a bit strange.
 | //	Having to link to the end of a conditional object chain is a bit strange.
 | ||||||
| // 	Output styles.header in order of header ID.
 | // 	Output styles.header in order of header ID.
 | ||||||
| // 	Cleaning up unused objects.
 | // 	Cleaning up unused objects.
 | ||||||
|  | @ -342,6 +345,7 @@ struct Step { | ||||||
| 
 | 
 | ||||||
| struct ExportOffset { | struct ExportOffset { | ||||||
| 	uint64_t objectID; | 	uint64_t objectID; | ||||||
|  | 	uint64_t styleObjectID; | ||||||
| 	uintptr_t offset; | 	uintptr_t offset; | ||||||
| 	char cPropertyName[PROPERTY_NAME_SIZE]; | 	char cPropertyName[PROPERTY_NAME_SIZE]; | ||||||
| 	uint8_t overrideType; | 	uint8_t overrideType; | ||||||
|  | @ -414,6 +418,16 @@ ExportOffset *ExportOffsetFindObject(uint64_t id) { | ||||||
| 	return nullptr; | 	return nullptr; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | ExportOffset *ExportOffsetFindObjectForStyle(uint64_t id, uint64_t style) { | ||||||
|  | 	for (uintptr_t i = 0; i < exportOffsets.Length(); i++) { | ||||||
|  | 		if (exportOffsets[i].objectID == id && exportOffsets[i].styleObjectID == style) { | ||||||
|  | 			return &exportOffsets[i]; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return nullptr; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| ExportOffset *ExportOffsetFindProperty(uint64_t objectID, const char *cPropertyName) { | ExportOffset *ExportOffsetFindProperty(uint64_t objectID, const char *cPropertyName) { | ||||||
| 	for (uintptr_t i = 0; i < exportOffsets.Length(); i++) { | 	for (uintptr_t i = 0; i < exportOffsets.Length(); i++) { | ||||||
| 		if (exportOffsets[i].objectID == objectID | 		if (exportOffsets[i].objectID == objectID | ||||||
|  | @ -1433,6 +1447,18 @@ void InspectorPopulate() { | ||||||
| 	UIParentPush(inspector); | 	UIParentPush(inspector); | ||||||
| 
 | 
 | ||||||
| 	Object *object = ObjectFind(selectedObjectID); | 	Object *object = ObjectFind(selectedObjectID); | ||||||
|  | 	size_t referenceCount = 0; | ||||||
|  | 
 | ||||||
|  | 	if (object) { | ||||||
|  | 		for (uintptr_t i = 0; i < objects.Length(); i++) { | ||||||
|  | 			for (uintptr_t j = 0; j < objects[i].properties.Length(); j++) { | ||||||
|  | 				if (objects[i].properties[j].type == PROP_OBJECT  | ||||||
|  | 						&& objects[i].properties[j].object == object->id) { | ||||||
|  | 					referenceCount++; | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
| 	if (object && object->type != OBJ_INSTANCE) { | 	if (object && object->type != OBJ_INSTANCE) { | ||||||
| 		UIPanelCreate(0, UI_ELEMENT_PARENT_PUSH | UI_PANEL_BORDER | UI_PANEL_MEDIUM_SPACING | UI_PANEL_EXPAND); | 		UIPanelCreate(0, UI_ELEMENT_PARENT_PUSH | UI_PANEL_BORDER | UI_PANEL_MEDIUM_SPACING | UI_PANEL_EXPAND); | ||||||
|  | @ -1444,6 +1470,8 @@ void InspectorPopulate() { | ||||||
| 			UIButtonCreate(0, UI_BUTTON_SMALL, "Auto", -1)->invoke = InspectorAutoNameObject; | 			UIButtonCreate(0, UI_BUTTON_SMALL, "Auto", -1)->invoke = InspectorAutoNameObject; | ||||||
| 			UIButtonCreate(0, UI_BUTTON_SMALL, "Rename", -1)->invoke = InspectorRenameObject; | 			UIButtonCreate(0, UI_BUTTON_SMALL, "Rename", -1)->invoke = InspectorRenameObject; | ||||||
| 			UIParentPop(); | 			UIParentPop(); | ||||||
|  | 			snprintf(buffer, sizeof(buffer), "%ld references", referenceCount); | ||||||
|  | 			UILabelCreate(0, 0, buffer, -1); | ||||||
| 
 | 
 | ||||||
| 			bool inheritWithAnimation = object->type == OBJ_VAR_TEXT_STYLE | 			bool inheritWithAnimation = object->type == OBJ_VAR_TEXT_STYLE | ||||||
| 				|| object->type == OBJ_LAYER_BOX || object->type == OBJ_LAYER_TEXT || object->type == OBJ_LAYER_PATH | 				|| object->type == OBJ_LAYER_BOX || object->type == OBJ_LAYER_TEXT || object->type == OBJ_LAYER_PATH | ||||||
|  | @ -3122,6 +3150,8 @@ void Export() { | ||||||
| 			continue; | 			continue; | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
|  | 		uint64_t styleObjectID = object->id; | ||||||
|  | 
 | ||||||
| 		Object *metrics = PropertyFindOrInheritReadObject(object, "metrics"); | 		Object *metrics = PropertyFindOrInheritReadObject(object, "metrics"); | ||||||
| 		Object *textStyle = PropertyFindOrInheritReadObject(object, "textStyle"); | 		Object *textStyle = PropertyFindOrInheritReadObject(object, "textStyle"); | ||||||
| 		Object *appearance = PropertyFindOrInheritReadObject(object, "appearance"); | 		Object *appearance = PropertyFindOrInheritReadObject(object, "appearance"); | ||||||
|  | @ -3208,6 +3238,7 @@ void Export() { | ||||||
| 				if (!layerObject) continue; | 				if (!layerObject) continue; | ||||||
| 
 | 
 | ||||||
| 				ExportOffset exportOffset = {}; | 				ExportOffset exportOffset = {}; | ||||||
|  | 				exportOffset.styleObjectID = styleObjectID; | ||||||
| 				exportOffset.objectID = layerObject->id; | 				exportOffset.objectID = layerObject->id; | ||||||
| 				exportOffset.offset = ftell(output); | 				exportOffset.offset = ftell(output); | ||||||
| 				exportOffsets.Add(exportOffset); | 				exportOffsets.Add(exportOffset); | ||||||
|  | @ -3271,6 +3302,8 @@ void Export() { | ||||||
| 			continue; | 			continue; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | 		uint64_t styleObjectID = object->id; | ||||||
|  | 
 | ||||||
| 		ExportOffset exportOffset = {}; | 		ExportOffset exportOffset = {}; | ||||||
| 		exportOffset.objectID = object->id; | 		exportOffset.objectID = object->id; | ||||||
| 		exportOffset.offset = ftell(output); | 		exportOffset.offset = ftell(output); | ||||||
|  | @ -3292,7 +3325,7 @@ void Export() { | ||||||
| 				Property *layerProperty = PropertyFind(appearance, cPropertyName, PROP_OBJECT); | 				Property *layerProperty = PropertyFind(appearance, cPropertyName, PROP_OBJECT); | ||||||
| 				Object *layerObject = ObjectFind(layerProperty ? layerProperty->object : 0); | 				Object *layerObject = ObjectFind(layerProperty ? layerProperty->object : 0); | ||||||
| 				if (!layerObject) continue; | 				if (!layerObject) continue; | ||||||
| 				uint32_t exportOffset = ExportOffsetFindObject(layerObject->id)->offset; | 				uint32_t exportOffset = ExportOffsetFindObjectForStyle(layerObject->id, styleObjectID)->offset; | ||||||
| 				fwrite(&exportOffset, 1, sizeof(exportOffset), output); | 				fwrite(&exportOffset, 1, sizeof(exportOffset), output); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 nakst
						nakst