summaryrefslogtreecommitdiff
path: root/utils/themeeditor/skin_parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/skin_parser.h')
-rw-r--r--utils/themeeditor/skin_parser.h18
1 files changed, 8 insertions, 10 deletions
diff --git a/utils/themeeditor/skin_parser.h b/utils/themeeditor/skin_parser.h
index d3821c0..c15ba9d 100644
--- a/utils/themeeditor/skin_parser.h
+++ b/utils/themeeditor/skin_parser.h
@@ -26,14 +26,7 @@
extern "C"
{
#endif
-
-
-#define SKIN_MAX_MEMORY 1048576
-
-/********************************************************************
- ****** A global buffer will be used to store the parse tree *******
- *******************************************************************/
-extern char skin_parse_tree[];
+#include <stdlib.h>
/********************************************************************
****** Data Structures *********************************************
@@ -98,8 +91,11 @@ struct skin_element
/* The line on which it's defined in the source file */
int line;
- /* Text for comments and plaintext */
- char* text;
+ /* Placeholder for element data
+ * TEXT and COMMENT uses it for the text string
+ * TAG, VIEWPORT, LINE, etc may use it for post parse extra storage
+ */
+ void* data;
/* The tag or conditional name */
struct tag_info *tag;
@@ -125,6 +121,7 @@ struct skin_element
struct skin_element* skin_parse(const char* document);
/* Memory management functions */
+char *skin_alloc(size_t size);
struct skin_element* skin_alloc_element();
struct skin_element** skin_alloc_children(int count);
struct skin_tag_parameter* skin_alloc_params(int count);
@@ -132,6 +129,7 @@ char* skin_alloc_string(int length);
void skin_free_tree(struct skin_element* root);
+
#ifdef __cplusplus
}
#endif