testing yoga and tinyxml2 to read some attributes from file
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<layout>
|
<layout>
|
||||||
<rect></rect>
|
<rect width="10" height="10" />
|
||||||
|
<circle div="10" width="100%" inner_radius="10" outer_radius="50" />
|
||||||
</layout>
|
</layout>
|
||||||
|
|||||||
@@ -53,10 +53,32 @@ void App::init()
|
|||||||
" frag = col;"
|
" frag = col;"
|
||||||
"}";
|
"}";
|
||||||
|
|
||||||
|
auto y_root = YGNodeNew();
|
||||||
tinyxml2::XMLDocument xml;
|
tinyxml2::XMLDocument xml;
|
||||||
auto ret = xml.LoadFile("data\\layout.xml");
|
auto ret = xml.LoadFile("data\\layout.xml");
|
||||||
auto root = xml.RootElement();
|
auto root = xml.RootElement();
|
||||||
// root->
|
auto child = root->FirstChildElement();
|
||||||
|
while (child)
|
||||||
|
{
|
||||||
|
printf("Element %s: ", child->Name());
|
||||||
|
auto attr = child->FirstAttribute();
|
||||||
|
auto y_node = YGNodeNew();
|
||||||
|
YGNodeInsertChild(y_root, y_node, 0);
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
printf("%s=%s ", attr->Name(), attr->Value());
|
||||||
|
if (strcmp("width", attr->Name()) == 0)
|
||||||
|
{
|
||||||
|
if (strchr(attr->Value(), '%'))
|
||||||
|
YGNodeStyleSetWidthPercent(y_node, attr->FloatValue());
|
||||||
|
else
|
||||||
|
YGNodeStyleSetWidth(y_node, attr->FloatValue());
|
||||||
|
}
|
||||||
|
attr = attr->Next();
|
||||||
|
}
|
||||||
|
printf("\n");
|
||||||
|
child = child->NextSiblingElement();
|
||||||
|
}
|
||||||
|
|
||||||
shader.create(shader_v, shader_f);
|
shader.create(shader_v, shader_f);
|
||||||
shader_color.create(shader_color_v, shader_color_f);
|
shader_color.create(shader_color_v, shader_color_f);
|
||||||
|
|||||||
Reference in New Issue
Block a user