Browse Source

updated docs
refactoring, renaming:
RootActor->Stage
getRoot->getStage
Actor::setInput->Actor::setTouch

roolback gl rendering

Denis Muratshin 11 years ago
parent
commit
a69e17fa71
81 changed files with 459 additions and 2445 deletions
  1. 2 2
      .hg_archival.txt
  2. 1 0
      .hgignore
  3. BIN
      doc/doc.zip
  4. 1 1
      examples/Demo/src/TestManageRes.h
  5. 1 1
      examples/Demo/src/TestMask.h
  6. 1 1
      examples/Demo/src/TestTexel2Pixel.h
  7. 1 1
      examples/Demo/src/TestText.h
  8. 16 16
      examples/Demo/src/entry_point.cpp
  9. 21 21
      examples/Demo/src/example.cpp
  10. 1 1
      examples/Demo/src/test.cpp
  11. 16 16
      examples/DemoBox2D/src/entry_point.cpp
  12. 4 4
      examples/DemoBox2D/src/example.cpp
  13. 1 1
      examples/Game/part1/src/Game.cpp
  14. 1 1
      examples/Game/part1/src/Joystick.cpp
  15. 16 16
      examples/Game/part1/src/entry_point.cpp
  16. 1 1
      examples/Game/part1/src/example.cpp
  17. 1 1
      examples/Game/part2/src/Game.cpp
  18. 1 1
      examples/Game/part2/src/Joystick.cpp
  19. 16 16
      examples/Game/part2/src/entry_point.cpp
  20. 1 1
      examples/Game/part2/src/example.cpp
  21. 1 1
      examples/Game/part3/src/Game.cpp
  22. 1 1
      examples/Game/part3/src/Joystick.cpp
  23. 2 2
      examples/Game/part3/src/Scene.cpp
  24. 16 16
      examples/Game/part3/src/entry_point.cpp
  25. 1 1
      examples/Game/part3/src/example.cpp
  26. 1 1
      examples/Game/part4/src/Game.cpp
  27. 1 1
      examples/Game/part4/src/GameScene.cpp
  28. 1 1
      examples/Game/part4/src/Joystick.cpp
  29. 2 2
      examples/Game/part4/src/Scene.cpp
  30. 16 16
      examples/Game/part4/src/entry_point.cpp
  31. 16 16
      examples/HelloWorld/src/entry_point.cpp
  32. 5 5
      examples/HelloWorld/src/example.cpp
  33. 16 16
      examples/Match3/src/entry_point.cpp
  34. 1 1
      examples/Match3/src/example.cpp
  35. 2 2
      examples/Match3/src/gameframe.cpp
  36. 1 1
      examples/Match3/src/jewels.cpp
  37. 16 16
      examples/TutorialResources/src/entry_point.cpp
  38. 2 2
      examples/TutorialResources/src/example.cpp
  39. 8 4
      oxygine/SDL/ios/oxygine/oxygine_ios.xcodeproj/project.pbxproj
  40. 8 4
      oxygine/SDL/macosx/oxygine_macosx/oxygine_macosx.xcodeproj/project.pbxproj
  41. 0 1118
      oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/project.pbxproj
  42. 0 7
      oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  43. BIN
      oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/project.xcworkspace/xcuserdata/Mac.xcuserdatad/UserInterfaceState.xcuserstate
  44. 0 59
      oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/xcuserdata/Mac.xcuserdatad/xcschemes/oxygine.xcscheme
  45. 0 22
      oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/xcuserdata/Mac.xcuserdatad/xcschemes/xcschememanagement.plist
  46. 0 792
      oxygine/SDL/oxygine_xcode/oxygine_xcode.xcodeproj/project.pbxproj
  47. 0 7
      oxygine/SDL/oxygine_xcode/oxygine_xcode.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  48. 0 10
      oxygine/SDL/oxygine_xcode/oxygine_xcode/oxygen_xcode-Prefix.pch
  49. 0 7
      oxygine/SDL/readme.txt
  50. 2 1
      oxygine/SDL/win32/oxygine_vs2010.vcxproj
  51. 6 3
      oxygine/SDL/win32/oxygine_vs2010.vcxproj.filters
  52. 2 2
      oxygine/SDL/win32/oxygine_vs2013.vcxproj
  53. 6 6
      oxygine/SDL/win32/oxygine_vs2013.vcxproj.filters
  54. 19 19
      oxygine/src/Actor.cpp
  55. 25 12
      oxygine/src/Actor.h
  56. 3 3
      oxygine/src/Button.cpp
  57. 1 1
      oxygine/src/ClipRectActor.cpp
  58. 21 21
      oxygine/src/DebugActor.cpp
  59. 8 8
      oxygine/src/Draggable.cpp
  60. 4 4
      oxygine/src/Input.cpp
  61. 2 2
      oxygine/src/Multithreading.cpp
  62. 5 54
      oxygine/src/RootActor.h
  63. 1 1
      oxygine/src/Sprite.cpp
  64. 15 15
      oxygine/src/Stage.cpp
  65. 61 0
      oxygine/src/Stage.h
  66. 3 3
      oxygine/src/TextField.cpp
  67. 1 1
      oxygine/src/TextField.h
  68. 2 2
      oxygine/src/blocking.cpp
  69. 6 0
      oxygine/src/core/Renderer.cpp
  70. 2 0
      oxygine/src/core/Renderer.h
  71. 4 1
      oxygine/src/core/ThreadMessages.cpp
  72. 3 23
      oxygine/src/core/gl/VideoDriverGLES20.cpp
  73. 12 12
      oxygine/src/core/oxygine.cpp
  74. 1 1
      oxygine/src/core/oxygine.h
  75. 8 8
      oxygine/src/dev_tools/TreeInspector.cpp
  76. 2 2
      oxygine/src/dev_tools/TreeInspectorLine.cpp
  77. 2 2
      oxygine/src/dev_tools/TreeInspectorPage.cpp
  78. 2 2
      oxygine/src/dev_tools/TreeInspectorPreview.cpp
  79. 1 1
      oxygine/src/initActor.h
  80. 1 0
      oxygine/src/oxygine-framework.h
  81. 8 2
      readme/Android.txt

+ 2 - 2
.hg_archival.txt

@@ -1,5 +1,5 @@
 repo: b6d71054df5712e643a0685bc3ba54b123db5729
-node: d83a31464c793f8339a1f731fbf0c51e11b8972a
+node: 6dc92dfec2e834ed03d91009629b8d7b17e96029
 branch: default
 latesttag: oldrender
-latesttagdistance: 347
+latesttagdistance: 361

+ 1 - 0
.hgignore

@@ -131,5 +131,6 @@ examples/Demo/proj.win32/Win32/
 data.js
 examples/HelloWorld/proj.win32/Win32/
 ident.free
+examples/Game/part4/build_game_vc12/
 syntax: regexp
 ^build/

BIN
doc/doc.zip


+ 1 - 1
examples/Demo/src/TestManageRes.h

@@ -101,7 +101,7 @@ public:
 			l->add(&resources);
 			if (id == "mt_slow")
 				l->setUpdateSize(128);
-			l->start(getRoot());
+			l->start(getStage());
 		}
 	}
 };

+ 1 - 1
examples/Demo/src/TestMask.h

@@ -80,7 +80,7 @@ public:
 
 		if (id == "pause")
 		{
-			spClock clock = getRoot()->getClock();
+			spClock clock = getStage()->getClock();
 			if (t->value == 0)
 				clock->pause();
 			else

+ 1 - 1
examples/Demo/src/TestTexel2Pixel.h

@@ -10,7 +10,7 @@ public:
 		sprite->setPosition(pos);
 		sprite->setResAnim(resources.getResAnim("t2p"));
 		sprite->attachTo(content);
-		float scale = 1.0f/getRoot()->getScaleX();
+		float scale = 1.0f/getStage()->getScaleX();
 		sprite->setScale(scale);
 		Vector2 displaySpriteSize = sprite->getSize() * scale;
 		sprite->setPosition((content->getSize() - displaySpriteSize)/2.0f);

+ 1 - 1
examples/Demo/src/TestText.h

@@ -46,7 +46,7 @@ public:
 		textDetails = new TextField;
 		textDetails->attachTo(ui);
 		textDetails->setSize(Vector2(300, 0));
-		textDetails->setPosition(200.0f, getRoot()->getHeight() - 10);
+		textDetails->setPosition(200.0f, getStage()->getHeight() - 10);
 		
 		TextStyle st;
 		st.font = resourcesUI.getResFont("main")->getFont();

+ 16 - 16
examples/Demo/src/entry_point.cpp

@@ -6,7 +6,7 @@ You could start from example.cpp and example.h it has main functions being calle
 */
 #include <stdio.h>
 #include "core/Renderer.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "DebugActor.h"
 
 #include "example.h"
@@ -19,15 +19,15 @@ Renderer renderer;
 Rect viewport;
 
 
-class ExampleRootActor : public RootActor
+class ExampleStage : public Stage
 {
 public:
-	ExampleRootActor()
+	ExampleStage()
 	{
 		//each mobile application should handle focus lost
 		//and free/restore GPU resources
-		addEventListener(RootActor::DEACTIVATE, CLOSURE(this, &ExampleRootActor::onDeactivate));
-		addEventListener(RootActor::ACTIVATE, CLOSURE(this, &ExampleRootActor::onActivate));
+		addEventListener(Stage::DEACTIVATE, CLOSURE(this, &ExampleStage::onDeactivate));
+		addEventListener(Stage::ACTIVATE, CLOSURE(this, &ExampleStage::onActivate));
 	}
 
 	void onDeactivate(Event *)
@@ -45,16 +45,16 @@ public:
 int mainloop()
 {
 	example_update();
-	//update our rootActor
+	//update our stage
 	//Actor::update would be called also for children
-	getRoot()->update();
+	getStage()->update();
 
 	Color clear(33, 33, 33, 255);
 	//start rendering and clear viewport
 	if (renderer.begin(0, viewport, &clear))
 	{
-		//begin rendering from RootActor.
-		getRoot()->render(renderer);
+		//begin rendering from Stage.
+		getStage()->render(renderer);
 		//rendering done
 		renderer.end();
 
@@ -63,7 +63,7 @@ int mainloop()
 
 
 	//update internal components
-	//all input events would be passed to RootActor::instance.handleEvent
+	//all input events would be passed to Stage::instance.handleEvent
 	//if done is true then User requests quit from app.
 	bool done = core::update();
 
@@ -90,16 +90,16 @@ void run()
 	core::init(&desc);
 
 
-	//create RootActor. RootActor is a root node
-	RootActor::instance = new ExampleRootActor();
+	//create Stage. Stage is a root node
+	Stage::instance = new ExampleStage();
 	Point size = core::getDisplaySize();
-	getRoot()->init(size, size);
+	getStage()->init(size, size);
 
 	//DebugActor is a helper node it shows FPS and memory usage and other useful stuff
 	DebugActor::initialize();
 
-	//create and add new DebugActor to root actor as child
-	getRoot()->addChild(new DebugActor());
+	//create and add new DebugActor to stage as child
+	getStage()->addChild(new DebugActor());
 
 
 
@@ -156,7 +156,7 @@ void run()
 
 	renderer.cleanup();
 
-	/**releases all internal components and RootActor*/
+	/**releases all internal components and Stage*/
 	core::release();
 
 	//dump list should be empty now

+ 21 - 21
examples/Demo/src/example.cpp

@@ -38,7 +38,7 @@ public:
 
 	TestActor()
 	{	
-		_x = 90;//getRoot()->getWidth()/2.0f;
+		_x = 90;//getStage()->getWidth()/2.0f;
 		_y = 80;
 
 
@@ -67,76 +67,76 @@ public:
 
 		if (id == "perf")
 		{
-			getRoot()->addChild(new PerfTest);
+			getStage()->addChild(new PerfTest);
 		}
 		if (id == "tweens")
 		{
-			getRoot()->addChild(new TweensTest);
+			getStage()->addChild(new TweensTest);
 		}
 		if (id == "drag")
 		{
-			getRoot()->addChild(new DragTest);
+			getStage()->addChild(new DragTest);
 		}
 		if (id == "drag2")
 		{
-			getRoot()->addChild(new Drag2Test);
+			getStage()->addChild(new Drag2Test);
 		}
 		if (id == "manage_res")
 		{
-			getRoot()->addChild(new ManageResTest);
+			getStage()->addChild(new ManageResTest);
 		}
 		if (id == "r2t")
 		{
-			getRoot()->addChild(new TestRender2Texture);
+			getStage()->addChild(new TestRender2Texture);
 		}
 		if (id == "text")
 		{
-			getRoot()->addChild(new TestText);
+			getStage()->addChild(new TestText);
 		}
 
 		if (id == "progress_bar")
 		{
-			getRoot()->addChild(new TestProgressBar);
+			getStage()->addChild(new TestProgressBar);
 		}
 
 		if (id == "texture_format")
 		{
-			getRoot()->addChild(new TestTextureFormat);
+			getStage()->addChild(new TestTextureFormat);
 		}
 
 		if (id == "sliding")
 		{
-			getRoot()->addChild(new TestSliding);
+			getStage()->addChild(new TestSliding);
 		}
 
 		if (id == "t2p")
 		{
-			getRoot()->addChild(new TestTexel2Pixel);
+			getStage()->addChild(new TestTexel2Pixel);
 		}
 
 		if (id == "box9sprite")
 		{
-			getRoot()->addChild(new TestBox9Sprite);
+			getStage()->addChild(new TestBox9Sprite);
 		}
 
 		if (id == "cliprect")
 		{
-			getRoot()->addChild(new TestClipRect);
+			getStage()->addChild(new TestClipRect);
 		}
 
 		if (id == "usershader")
 		{
-			getRoot()->addChild(new TestUserShader);
+			getStage()->addChild(new TestUserShader);
 		}
 
 		if (id == "mask")
 		{
-			getRoot()->addChild(new TestMask);
+			getStage()->addChild(new TestMask);
 		}
 
 		if (id == "inputtext")
 		{
-			getRoot()->addChild(new TestInputText);
+			getStage()->addChild(new TestInputText);
 		}
 	}
 };
@@ -173,16 +173,16 @@ void example_init()
 	spSprite sp = initActor(new Sprite, 
 		arg_resAnim = resourcesUI.getResAnim("logo2"),
 		arg_input = false,
-		arg_attachTo = getRoot(),
+		arg_attachTo = getStage(),
 		arg_priority = 10,
 		arg_alpha = 128
 		);
 
-	sp->setX(getRoot()->getWidth() - sp->getWidth());
-	sp->setY(getRoot()->getHeight() - sp->getHeight());
+	sp->setX(getStage()->getWidth() - sp->getWidth());
+	sp->setY(getStage()->getHeight() - sp->getHeight());
 
 	_tests = new TestActor;
-	getRoot()->addChild(_tests);
+	getStage()->addChild(_tests);
 }
 
 void example_update()

+ 1 - 1
examples/Demo/src/test.cpp

@@ -49,7 +49,7 @@ spButton createButtonHelper(spButton button, string txt, EventCallback cb)
 
 Test::Test()
 {
-	setSize(getRoot()->getSize());
+	setSize(getStage()->getSize());
 
 	_x = getWidth() - 100;
 	_y = 2;

+ 16 - 16
examples/DemoBox2D/src/entry_point.cpp

@@ -6,7 +6,7 @@ You could start from example.cpp and example.h it has main functions being calle
 */
 #include <stdio.h>
 #include "core/Renderer.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "DebugActor.h"
 
 #include "example.h"
@@ -19,15 +19,15 @@ Renderer renderer;
 Rect viewport;
 
 
-class ExampleRootActor : public RootActor
+class ExampleStage : public Stage
 {
 public:
-	ExampleRootActor()
+	ExampleStage()
 	{
 		//each mobile application should handle focus lost
 		//and free/restore GPU resources
-		addEventListener(RootActor::DEACTIVATE, CLOSURE(this, &ExampleRootActor::onDeactivate));
-		addEventListener(RootActor::ACTIVATE, CLOSURE(this, &ExampleRootActor::onActivate));
+		addEventListener(Stage::DEACTIVATE, CLOSURE(this, &ExampleStage::onDeactivate));
+		addEventListener(Stage::ACTIVATE, CLOSURE(this, &ExampleStage::onActivate));
 	}
 
 	void onDeactivate(Event *)
@@ -45,16 +45,16 @@ public:
 int mainloop()
 {
 	example_update();
-	//update our rootActor
+	//update our stage
 	//Actor::update would be called also for children
-	getRoot()->update();
+	getStage()->update();
 
 	Color clear(33, 33, 33, 255);
 	//start rendering and clear viewport
 	if (renderer.begin(0, viewport, &clear))
 	{
-		//begin rendering from RootActor.
-		getRoot()->render(renderer);
+		//begin rendering from Stage.
+		getStage()->render(renderer);
 		//rendering done
 		renderer.end();
 
@@ -63,7 +63,7 @@ int mainloop()
 
 
 	//update internal components
-	//all input events would be passed to RootActor::instance.handleEvent
+	//all input events would be passed to Stage::instance.handleEvent
 	//if done is true then User requests quit from app.
 	bool done = core::update();
 
@@ -90,16 +90,16 @@ void run()
 	core::init(&desc);
 
 
-	//create RootActor. RootActor is a root node
-	RootActor::instance = new ExampleRootActor();
+	//create Stage. Stage is a root node
+	Stage::instance = new ExampleStage();
 	Point size = core::getDisplaySize();
-	getRoot()->init(size, size);
+	getStage()->init(size, size);
 
 	//DebugActor is a helper node it shows FPS and memory usage and other useful stuff
 	DebugActor::initialize();
 
-	//create and add new DebugActor to root actor as child
-	getRoot()->addChild(new DebugActor());
+	//create and add new DebugActor to stage as child
+	getStage()->addChild(new DebugActor());
 
 
 
@@ -156,7 +156,7 @@ void run()
 
 	renderer.cleanup();
 
-	/**releases all internal components and RootActor*/
+	/**releases all internal components and Stage*/
 	core::release();
 
 	//dump list should be empty now

+ 4 - 4
examples/DemoBox2D/src/example.cpp

@@ -31,7 +31,7 @@ public:
 
 	MainActor():_world(0)
 	{	
-		setSize(getRoot()->getSize());
+		setSize(getStage()->getSize());
 
 		spButton btn = new Button;
 		btn->setResAnim(gameResources.getResAnim("button"));
@@ -135,7 +135,7 @@ public:
 		sprite->attachTo(this);
 		sprite->setAnchor(Vector2(0.5f, 0.5f));
 		sprite->setPosition(te->localPosition);
-		sprite->setInputChildrenEnabled(false);
+		sprite->setTouchChildrenEnabled(false);
 
 		sprite->addEventListener(TouchEvent::CLICK, CLOSURE(this, &MainActor::circleClicked));
 		
@@ -177,8 +177,8 @@ void example_init()
 	//prefix 'sp' here means it is intrusive Smart Pointer
 	//it would be deleted automatically when you lost ref to it	
 	spMainActor actor = new MainActor;
-	//and add it to RootActor as child
-	getRoot()->addChild(actor);
+	//and add it to Stage as child
+	getStage()->addChild(actor);
 }
 
 void example_destroy()

+ 1 - 1
examples/Game/part1/src/Game.cpp

@@ -11,7 +11,7 @@ Game::Game()
 void Game::init()
 {
 	//scene layer would have size of display
-	setSize(getRoot()->getSize());
+	setSize(getStage()->getSize());
 
 	//create background
 	spSprite sky = new Sprite;

+ 1 - 1
examples/Game/part1/src/Joystick.cpp

@@ -16,7 +16,7 @@ Joystick::Joystick():_pressed(false), _dir(0,0)
 	_finger->attachTo(this);
 	_finger->setVisible(false);
 	_finger->setAnchor(Vector2(0.5f, 0.5f));
-	_finger->setInputEnabled(false);
+	_finger->setTouchEnabled(false);
 }
 
 void Joystick::onEvent(Event *ev)

+ 16 - 16
examples/Game/part1/src/entry_point.cpp

@@ -6,7 +6,7 @@ You could start from example.cpp and example.h it has main functions being calle
 */
 #include <stdio.h>
 #include "core/Renderer.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "DebugActor.h"
 
 #include "example.h"
@@ -19,15 +19,15 @@ Renderer renderer;
 Rect viewport;
 
 
-class ExampleRootActor : public RootActor
+class ExampleStage : public Stage
 {
 public:
-	ExampleRootActor()
+	ExampleStage()
 	{
 		//each mobile application should handle focus lost
 		//and free/restore GPU resources
-		addEventListener(RootActor::DEACTIVATE, CLOSURE(this, &ExampleRootActor::onDeactivate));
-		addEventListener(RootActor::ACTIVATE, CLOSURE(this, &ExampleRootActor::onActivate));
+		addEventListener(Stage::DEACTIVATE, CLOSURE(this, &ExampleStage::onDeactivate));
+		addEventListener(Stage::ACTIVATE, CLOSURE(this, &ExampleStage::onActivate));
 	}
 
 	void onDeactivate(Event *)
@@ -45,16 +45,16 @@ public:
 int mainloop()
 {
 	example_update();
-	//update our rootActor
+	//update our stage
 	//Actor::update would be called also for children
-	getRoot()->update();
+	getStage()->update();
 
 	Color clear(33, 33, 33, 255);
 	//start rendering and clear viewport
 	if (renderer.begin(0, viewport, &clear))
 	{
-		//begin rendering from RootActor.
-		getRoot()->render(renderer);
+		//begin rendering from Stage.
+		getStage()->render(renderer);
 		//rendering done
 		renderer.end();
 
@@ -63,7 +63,7 @@ int mainloop()
 
 
 	//update internal components
-	//all input events would be passed to RootActor::instance.handleEvent
+	//all input events would be passed to Stage::instance.handleEvent
 	//if done is true then User requests quit from app.
 	bool done = core::update();
 
@@ -90,16 +90,16 @@ void run()
 	core::init(&desc);
 
 
-	//create RootActor. RootActor is a root node
-	RootActor::instance = new ExampleRootActor();
+	//create Stage. Stage is a root node
+	Stage::instance = new ExampleStage();
 	Point size = core::getDisplaySize();
-	getRoot()->init(size, size);
+	getStage()->init(size, size);
 
 	//DebugActor is a helper node it shows FPS and memory usage and other useful stuff
 	DebugActor::initialize();
 
-	//create and add new DebugActor to root actor as child
-	getRoot()->addChild(new DebugActor());
+	//create and add new DebugActor to stage as child
+	getStage()->addChild(new DebugActor());
 
 
 
@@ -156,7 +156,7 @@ void run()
 
 	renderer.cleanup();
 
-	/**releases all internal components and RootActor*/
+	/**releases all internal components and Stage*/
 	core::release();
 
 	//dump list should be empty now

+ 1 - 1
examples/Game/part1/src/example.cpp

@@ -15,7 +15,7 @@ void example_init()
 	//create scene with game
 	spGame game = new Game;
 	game->init();
-	game->attachTo(getRoot());
+	game->attachTo(getStage());
 }
 
 void example_update()

+ 1 - 1
examples/Game/part2/src/Game.cpp

@@ -17,7 +17,7 @@ Game::~Game()
 void Game::init()
 {
 	//scene layer would have size of display
-	setSize(getRoot()->getSize());
+	setSize(getStage()->getSize());
 
 	//create background
 	spSprite sky = new Sprite;

+ 1 - 1
examples/Game/part2/src/Joystick.cpp

@@ -16,7 +16,7 @@ Joystick::Joystick():_pressed(false), _dir(0,0)
 	_finger->attachTo(this);
 	_finger->setVisible(false);
 	_finger->setAnchor(Vector2(0.5f, 0.5f));
-	_finger->setInputEnabled(false);
+	_finger->setTouchEnabled(false);
 }
 
 void Joystick::onEvent(Event *ev)

+ 16 - 16
examples/Game/part2/src/entry_point.cpp

@@ -6,7 +6,7 @@ You could start from example.cpp and example.h it has main functions being calle
 */
 #include <stdio.h>
 #include "core/Renderer.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "DebugActor.h"
 
 #include "example.h"
@@ -19,15 +19,15 @@ Renderer renderer;
 Rect viewport;
 
 
-class ExampleRootActor : public RootActor
+class ExampleStage : public Stage
 {
 public:
-	ExampleRootActor()
+	ExampleStage()
 	{
 		//each mobile application should handle focus lost
 		//and free/restore GPU resources
-		addEventListener(RootActor::DEACTIVATE, CLOSURE(this, &ExampleRootActor::onDeactivate));
-		addEventListener(RootActor::ACTIVATE, CLOSURE(this, &ExampleRootActor::onActivate));
+		addEventListener(Stage::DEACTIVATE, CLOSURE(this, &ExampleStage::onDeactivate));
+		addEventListener(Stage::ACTIVATE, CLOSURE(this, &ExampleStage::onActivate));
 	}
 
 	void onDeactivate(Event *)
@@ -45,16 +45,16 @@ public:
 int mainloop()
 {
 	example_update();
-	//update our rootActor
+	//update our stage
 	//Actor::update would be called also for children
-	getRoot()->update();
+	getStage()->update();
 
 	Color clear(33, 33, 33, 255);
 	//start rendering and clear viewport
 	if (renderer.begin(0, viewport, &clear))
 	{
-		//begin rendering from RootActor.
-		getRoot()->render(renderer);
+		//begin rendering from Stage.
+		getStage()->render(renderer);
 		//rendering done
 		renderer.end();
 
@@ -63,7 +63,7 @@ int mainloop()
 
 
 	//update internal components
-	//all input events would be passed to RootActor::instance.handleEvent
+	//all input events would be passed to Stage::instance.handleEvent
 	//if done is true then User requests quit from app.
 	bool done = core::update();
 
@@ -90,16 +90,16 @@ void run()
 	core::init(&desc);
 
 
-	//create RootActor. RootActor is a root node
-	RootActor::instance = new ExampleRootActor();
+	//create Stage. Stage is a root node
+	Stage::instance = new ExampleStage();
 	Point size = core::getDisplaySize();
-	getRoot()->init(size, size);
+	getStage()->init(size, size);
 
 	//DebugActor is a helper node it shows FPS and memory usage and other useful stuff
 	DebugActor::initialize();
 
-	//create and add new DebugActor to root actor as child
-	getRoot()->addChild(new DebugActor());
+	//create and add new DebugActor to stage as child
+	getStage()->addChild(new DebugActor());
 
 
 
@@ -156,7 +156,7 @@ void run()
 
 	renderer.cleanup();
 
-	/**releases all internal components and RootActor*/
+	/**releases all internal components and Stage*/
 	core::release();
 
 	//dump list should be empty now

+ 1 - 1
examples/Game/part2/src/example.cpp

@@ -15,7 +15,7 @@ void example_init()
 	//create scene with game
 	spGame game = new Game;
 	game->init();
-	game->attachTo(getRoot());
+	game->attachTo(getStage());
 }
 
 void example_update()

+ 1 - 1
examples/Game/part3/src/Game.cpp

@@ -17,7 +17,7 @@ Game::~Game()
 void Game::init()
 {
 	//scene layer would have size of display
-	setSize(getRoot()->getSize());
+	setSize(getStage()->getSize());
 
 	//create background
 	spSprite sky = new Sprite;

+ 1 - 1
examples/Game/part3/src/Joystick.cpp

@@ -16,7 +16,7 @@ Joystick::Joystick():_pressed(false), _dir(0,0)
 	_finger->attachTo(this);
 	_finger->setVisible(false);
 	_finger->setAnchor(Vector2(0.5f, 0.5f));
-	_finger->setInputEnabled(false);
+	_finger->setTouchEnabled(false);
 }
 
 void Joystick::onEvent(Event *ev)

+ 2 - 2
examples/Game/part3/src/Scene.cpp

@@ -3,7 +3,7 @@
 Scene::Scene()
 {
 	_view = new Actor;
-	_view->setSize(getRoot()->getSize());
+	_view->setSize(getStage()->getSize());
 }
 
 void Scene::changeScene(spScene next)
@@ -14,7 +14,7 @@ void Scene::changeScene(spScene next)
 	tween->setDetachActor(true);
 
 	//show next scene
-	getRoot()->addChild(next->getView());
+	getStage()->addChild(next->getView());
 	next->getView()->setAlpha(0);
 	next->getView()->addTween(Actor::TweenAlpha(255), 300);
 }

+ 16 - 16
examples/Game/part3/src/entry_point.cpp

@@ -6,7 +6,7 @@ You could start from example.cpp and example.h it has main functions being calle
 */
 #include <stdio.h>
 #include "core/Renderer.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "DebugActor.h"
 
 #include "example.h"
@@ -19,15 +19,15 @@ Renderer renderer;
 Rect viewport;
 
 
-class ExampleRootActor : public RootActor
+class ExampleStage : public Stage
 {
 public:
-	ExampleRootActor()
+	ExampleStage()
 	{
 		//each mobile application should handle focus lost
 		//and free/restore GPU resources
-		addEventListener(RootActor::DEACTIVATE, CLOSURE(this, &ExampleRootActor::onDeactivate));
-		addEventListener(RootActor::ACTIVATE, CLOSURE(this, &ExampleRootActor::onActivate));
+		addEventListener(Stage::DEACTIVATE, CLOSURE(this, &ExampleStage::onDeactivate));
+		addEventListener(Stage::ACTIVATE, CLOSURE(this, &ExampleStage::onActivate));
 	}
 
 	void onDeactivate(Event *)
@@ -45,16 +45,16 @@ public:
 int mainloop()
 {
 	example_update();
-	//update our rootActor
+	//update our stage
 	//Actor::update would be called also for children
-	getRoot()->update();
+	getStage()->update();
 
 	Color clear(33, 33, 33, 255);
 	//start rendering and clear viewport
 	if (renderer.begin(0, viewport, &clear))
 	{
-		//begin rendering from RootActor.
-		getRoot()->render(renderer);
+		//begin rendering from Stage.
+		getStage()->render(renderer);
 		//rendering done
 		renderer.end();
 
@@ -63,7 +63,7 @@ int mainloop()
 
 
 	//update internal components
-	//all input events would be passed to RootActor::instance.handleEvent
+	//all input events would be passed to Stage::instance.handleEvent
 	//if done is true then User requests quit from app.
 	bool done = core::update();
 
@@ -90,16 +90,16 @@ void run()
 	core::init(&desc);
 
 
-	//create RootActor. RootActor is a root node
-	RootActor::instance = new ExampleRootActor();
+	//create Stage. Stage is a root node
+	Stage::instance = new ExampleStage();
 	Point size = core::getDisplaySize();
-	getRoot()->init(size, size);
+	getStage()->init(size, size);
 
 	//DebugActor is a helper node it shows FPS and memory usage and other useful stuff
 	DebugActor::initialize();
 
-	//create and add new DebugActor to root actor as child
-	getRoot()->addChild(new DebugActor());
+	//create and add new DebugActor to stage as child
+	getStage()->addChild(new DebugActor());
 
 
 
@@ -156,7 +156,7 @@ void run()
 
 	renderer.cleanup();
 
-	/**releases all internal components and RootActor*/
+	/**releases all internal components and Stage*/
 	core::release();
 
 	//dump list should be empty now

+ 1 - 1
examples/Game/part3/src/example.cpp

@@ -17,7 +17,7 @@ void example_init()
 
 	GameScene::instance = new GameScene;
 	MainMenuScene::instance = new MainMenuScene;
-	getRoot()->addChild(MainMenuScene::instance->getView());
+	getStage()->addChild(MainMenuScene::instance->getView());
 }
 
 void example_update()

+ 1 - 1
examples/Game/part4/src/Game.cpp

@@ -17,7 +17,7 @@ Game::~Game()
 void Game::init()
 {
 	//scene layer would have size of display
-	setSize(getRoot()->getSize());
+	setSize(getStage()->getSize());
 
 	//create background
 	spSprite sky = new Sprite;

+ 1 - 1
examples/Game/part4/src/GameScene.cpp

@@ -15,7 +15,7 @@ GameScene::GameScene()
 
 	//Game Actor would have own Clock.
 	//clock is internal time of each Actor
-	//by default own clock has only RootActor
+	//by default own clock has only Stage
 	//clock could be paused and all children of this Actor would be paused to
 	_game->setClock(new Clock);
 

+ 1 - 1
examples/Game/part4/src/Joystick.cpp

@@ -16,7 +16,7 @@ Joystick::Joystick():_pressed(false), _dir(0,0)
 	_finger->attachTo(this);
 	_finger->setVisible(false);
 	_finger->setAnchor(Vector2(0.5f, 0.5f));
-	_finger->setInputEnabled(false);
+	_finger->setTouchEnabled(false);
 }
 
 void Joystick::onEvent(Event *ev)

+ 2 - 2
examples/Game/part4/src/Scene.cpp

@@ -3,7 +3,7 @@
 Scene::Scene()
 {
 	_view = new Actor;
-	_view->setSize(getRoot()->getSize());
+	_view->setSize(getStage()->getSize());
 }
 
 void Scene::changeScene(spScene next)
@@ -18,7 +18,7 @@ void Scene::changeScene(spScene next)
 void Scene::show()
 {
 	//add scene view to root
-	getRoot()->addChild(_view);
+	getStage()->addChild(_view);
 	//and fade in
 	_view->setAlpha(0);
 	_view->addTween(Actor::TweenAlpha(255), 300);

+ 16 - 16
examples/Game/part4/src/entry_point.cpp

@@ -6,7 +6,7 @@ You could start from example.cpp and example.h it has main functions being calle
 */
 #include <stdio.h>
 #include "core/Renderer.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "DebugActor.h"
 
 #include "example.h"
@@ -19,15 +19,15 @@ Renderer renderer;
 Rect viewport;
 
 
-class ExampleRootActor : public RootActor
+class ExampleStage : public Stage
 {
 public:
-	ExampleRootActor()
+	ExampleStage()
 	{
 		//each mobile application should handle focus lost
 		//and free/restore GPU resources
-		addEventListener(RootActor::DEACTIVATE, CLOSURE(this, &ExampleRootActor::onDeactivate));
-		addEventListener(RootActor::ACTIVATE, CLOSURE(this, &ExampleRootActor::onActivate));
+		addEventListener(Stage::DEACTIVATE, CLOSURE(this, &ExampleStage::onDeactivate));
+		addEventListener(Stage::ACTIVATE, CLOSURE(this, &ExampleStage::onActivate));
 	}
 
 	void onDeactivate(Event *)
@@ -45,16 +45,16 @@ public:
 int mainloop()
 {
 	example_update();
-	//update our rootActor
+	//update our stage
 	//Actor::update would be called also for children
-	getRoot()->update();
+	getStage()->update();
 
 	Color clear(33, 33, 33, 255);
 	//start rendering and clear viewport
 	if (renderer.begin(0, viewport, &clear))
 	{
-		//begin rendering from RootActor.
-		getRoot()->render(renderer);
+		//begin rendering from Stage.
+		getStage()->render(renderer);
 		//rendering done
 		renderer.end();
 
@@ -63,7 +63,7 @@ int mainloop()
 
 
 	//update internal components
-	//all input events would be passed to RootActor::instance.handleEvent
+	//all input events would be passed to Stage::instance.handleEvent
 	//if done is true then User requests quit from app.
 	bool done = core::update();
 
@@ -90,16 +90,16 @@ void run()
 	core::init(&desc);
 
 
-	//create RootActor. RootActor is a root node
-	RootActor::instance = new ExampleRootActor();
+	//create Stage. Stage is a root node
+	Stage::instance = new ExampleStage();
 	Point size = core::getDisplaySize();
-	getRoot()->init(size, size);
+	getStage()->init(size, size);
 
 	//DebugActor is a helper node it shows FPS and memory usage and other useful stuff
 	DebugActor::initialize();
 
-	//create and add new DebugActor to root actor as child
-	getRoot()->addChild(new DebugActor());
+	//create and add new DebugActor to stage as child
+	getStage()->addChild(new DebugActor());
 
 
 
@@ -156,7 +156,7 @@ void run()
 
 	renderer.cleanup();
 
-	/**releases all internal components and RootActor*/
+	/**releases all internal components and Stage*/
 	core::release();
 
 	//dump list should be empty now

+ 16 - 16
examples/HelloWorld/src/entry_point.cpp

@@ -6,7 +6,7 @@ You could start from example.cpp and example.h it has main functions being calle
 */
 #include <stdio.h>
 #include "core/Renderer.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "DebugActor.h"
 
 #include "example.h"
@@ -19,15 +19,15 @@ Renderer renderer;
 Rect viewport;
 
 
-class ExampleRootActor : public RootActor
+class ExampleStage : public Stage
 {
 public:
-	ExampleRootActor()
+	ExampleStage()
 	{
 		//each mobile application should handle focus lost
 		//and free/restore GPU resources
-		addEventListener(RootActor::DEACTIVATE, CLOSURE(this, &ExampleRootActor::onDeactivate));
-		addEventListener(RootActor::ACTIVATE, CLOSURE(this, &ExampleRootActor::onActivate));
+		addEventListener(Stage::DEACTIVATE, CLOSURE(this, &ExampleStage::onDeactivate));
+		addEventListener(Stage::ACTIVATE, CLOSURE(this, &ExampleStage::onActivate));
 	}
 
 	void onDeactivate(Event *)
@@ -45,16 +45,16 @@ public:
 int mainloop()
 {
 	example_update();
-	//update our rootActor
+	//update our stage
 	//Actor::update would be called also for children
-	getRoot()->update();
+	getStage()->update();
 
 	Color clear(33, 33, 33, 255);
 	//start rendering and clear viewport
 	if (renderer.begin(0, viewport, &clear))
 	{
-		//begin rendering from RootActor.
-		getRoot()->render(renderer);
+		//begin rendering from Stage.
+		getStage()->render(renderer);
 		//rendering done
 		renderer.end();
 
@@ -63,7 +63,7 @@ int mainloop()
 
 
 	//update internal components
-	//all input events would be passed to RootActor::instance.handleEvent
+	//all input events would be passed to Stage::instance.handleEvent
 	//if done is true then User requests quit from app.
 	bool done = core::update();
 
@@ -90,16 +90,16 @@ void run()
 	core::init(&desc);
 
 
-	//create RootActor. RootActor is a root node
-	RootActor::instance = new ExampleRootActor();
+	//create Stage. Stage is a root node
+	Stage::instance = new ExampleStage();
 	Point size = core::getDisplaySize();
-	getRoot()->init(size, size);
+	getStage()->init(size, size);
 
 	//DebugActor is a helper node it shows FPS and memory usage and other useful stuff
 	DebugActor::initialize();
 
-	//create and add new DebugActor to root actor as child
-	getRoot()->addChild(new DebugActor());
+	//create and add new DebugActor to stage as child
+	getStage()->addChild(new DebugActor());
 
 
 
@@ -156,7 +156,7 @@ void run()
 
 	renderer.cleanup();
 
-	/**releases all internal components and RootActor*/
+	/**releases all internal components and Stage*/
 	core::release();
 
 	//dump list should be empty now

+ 5 - 5
examples/HelloWorld/src/example.cpp

@@ -25,9 +25,9 @@ public:
 		//button has 3 columns for each state: Normal, Pressed, Overed
 		button->setResAnim(gameResources.getResAnim("button"));
 		//centered button at screen	
-		Vector2 pos = getRoot()->getSize()/2 - button->getSize()/2;
+		Vector2 pos = getStage()->getSize()/2 - button->getSize()/2;
 		button->setPosition(pos);
-		button->setInputChildrenEnabled(false);
+		button->setTouchChildrenEnabled(false);
 
 		//handle click to button
 		EventCallback cb = CLOSURE(this, &MainActor::displayClicked);
@@ -80,7 +80,7 @@ public:
 		//TweenAnim would change animation frames
 		sprite->addTween(TweenAnim(animation), duration, loops);
 
-		Vector2 destPos = getRoot()->getSize() - sprite->getSize();
+		Vector2 destPos = getStage()->getSize() - sprite->getSize();
 		Vector2 srcPos = Vector2(0, destPos.y);
 		//set sprite initial position
 		sprite->setPosition(srcPos);		
@@ -116,8 +116,8 @@ void example_init()
 	//prefix 'sp' here means it is intrusive Smart Pointer
 	//it would be deleted automatically when you lost ref to it	
 	spMainActor actor = new MainActor;
-	//and add it to RootActor as child
-	getRoot()->addChild(actor);
+	//and add it to Stage as child
+	getStage()->addChild(actor);
 }
 
 void example_update()

+ 16 - 16
examples/Match3/src/entry_point.cpp

@@ -6,7 +6,7 @@ You could start from example.cpp and example.h it has main functions being calle
 */
 #include <stdio.h>
 #include "core/Renderer.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "DebugActor.h"
 
 #include "example.h"
@@ -19,15 +19,15 @@ Renderer renderer;
 Rect viewport;
 
 
-class ExampleRootActor : public RootActor
+class ExampleStage : public Stage
 {
 public:
-	ExampleRootActor()
+	ExampleStage()
 	{
 		//each mobile application should handle focus lost
 		//and free/restore GPU resources
-		addEventListener(RootActor::DEACTIVATE, CLOSURE(this, &ExampleRootActor::onDeactivate));
-		addEventListener(RootActor::ACTIVATE, CLOSURE(this, &ExampleRootActor::onActivate));
+		addEventListener(Stage::DEACTIVATE, CLOSURE(this, &ExampleStage::onDeactivate));
+		addEventListener(Stage::ACTIVATE, CLOSURE(this, &ExampleStage::onActivate));
 	}
 
 	void onDeactivate(Event *)
@@ -45,16 +45,16 @@ public:
 int mainloop()
 {
 	example_update();
-	//update our rootActor
+	//update our stage
 	//Actor::update would be called also for children
-	getRoot()->update();
+	getStage()->update();
 
 	Color clear(33, 33, 33, 255);
 	//start rendering and clear viewport
 	if (renderer.begin(0, viewport, &clear))
 	{
-		//begin rendering from RootActor.
-		getRoot()->render(renderer);
+		//begin rendering from Stage.
+		getStage()->render(renderer);
 		//rendering done
 		renderer.end();
 
@@ -63,7 +63,7 @@ int mainloop()
 
 
 	//update internal components
-	//all input events would be passed to RootActor::instance.handleEvent
+	//all input events would be passed to Stage::instance.handleEvent
 	//if done is true then User requests quit from app.
 	bool done = core::update();
 
@@ -90,16 +90,16 @@ void run()
 	core::init(&desc);
 
 
-	//create RootActor. RootActor is a root node
-	RootActor::instance = new ExampleRootActor();
+	//create Stage. Stage is a root node
+	Stage::instance = new ExampleStage();
 	Point size = core::getDisplaySize();
-	getRoot()->init(size, size);
+	getStage()->init(size, size);
 
 	//DebugActor is a helper node it shows FPS and memory usage and other useful stuff
 	DebugActor::initialize();
 
-	//create and add new DebugActor to root actor as child
-	getRoot()->addChild(new DebugActor());
+	//create and add new DebugActor to stage as child
+	getStage()->addChild(new DebugActor());
 
 
 
@@ -156,7 +156,7 @@ void run()
 
 	renderer.cleanup();
 
-	/**releases all internal components and RootActor*/
+	/**releases all internal components and Stage*/
 	core::release();
 
 	//dump list should be empty now

+ 1 - 1
examples/Match3/src/example.cpp

@@ -15,7 +15,7 @@ void example_init()
 	//load xml file with resources definition
 	res.loadXML("resources.xml");
 
-	getRoot()->addChild(new GameFrame());
+	getStage()->addChild(new GameFrame());
 }
 
 void example_destroy()

+ 2 - 2
examples/Match3/src/gameframe.cpp

@@ -489,9 +489,9 @@ GameFrame::GameFrame()
 	setResAnim(res.getResAnim("bg"));
 
 	spTField field = new Field();
-	float scale = getRoot()->getHeight() * 0.9f / field->getHeight();
+	float scale = getStage()->getHeight() * 0.9f / field->getHeight();
 	field->setScale(scale);
 
-	field->setPosition(getRoot()->getSize()/2 - field->getSize() * scale/2);
+	field->setPosition(getStage()->getSize()/2 - field->getSize() * scale/2);
 	addChild(field);
 }

+ 1 - 1
examples/Match3/src/jewels.cpp

@@ -6,7 +6,7 @@ Jewel::Jewel(int jewel_id)
 {
 	state = jsNormal;
 	Set(jewel_id);
-	setInputEnabled(false);
+	setTouchEnabled(false);
 	setAnchor(0.5f, 0.5f);
 }
 

+ 16 - 16
examples/TutorialResources/src/entry_point.cpp

@@ -6,7 +6,7 @@ You could start from example.cpp and example.h it has main functions being calle
 */
 #include <stdio.h>
 #include "core/Renderer.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "DebugActor.h"
 
 #include "example.h"
@@ -19,15 +19,15 @@ Renderer renderer;
 Rect viewport;
 
 
-class ExampleRootActor : public RootActor
+class ExampleStage : public Stage
 {
 public:
-	ExampleRootActor()
+	ExampleStage()
 	{
 		//each mobile application should handle focus lost
 		//and free/restore GPU resources
-		addEventListener(RootActor::DEACTIVATE, CLOSURE(this, &ExampleRootActor::onDeactivate));
-		addEventListener(RootActor::ACTIVATE, CLOSURE(this, &ExampleRootActor::onActivate));
+		addEventListener(Stage::DEACTIVATE, CLOSURE(this, &ExampleStage::onDeactivate));
+		addEventListener(Stage::ACTIVATE, CLOSURE(this, &ExampleStage::onActivate));
 	}
 
 	void onDeactivate(Event *)
@@ -45,16 +45,16 @@ public:
 int mainloop()
 {
 	example_update();
-	//update our rootActor
+	//update our stage
 	//Actor::update would be called also for children
-	getRoot()->update();
+	getStage()->update();
 
 	Color clear(33, 33, 33, 255);
 	//start rendering and clear viewport
 	if (renderer.begin(0, viewport, &clear))
 	{
-		//begin rendering from RootActor.
-		getRoot()->render(renderer);
+		//begin rendering from Stage.
+		getStage()->render(renderer);
 		//rendering done
 		renderer.end();
 
@@ -63,7 +63,7 @@ int mainloop()
 
 
 	//update internal components
-	//all input events would be passed to RootActor::instance.handleEvent
+	//all input events would be passed to Stage::instance.handleEvent
 	//if done is true then User requests quit from app.
 	bool done = core::update();
 
@@ -90,16 +90,16 @@ void run()
 	core::init(&desc);
 
 
-	//create RootActor. RootActor is a root node
-	RootActor::instance = new ExampleRootActor();
+	//create Stage. Stage is a root node
+	Stage::instance = new ExampleStage();
 	Point size = core::getDisplaySize();
-	getRoot()->init(size, size);
+	getStage()->init(size, size);
 
 	//DebugActor is a helper node it shows FPS and memory usage and other useful stuff
 	DebugActor::initialize();
 
-	//create and add new DebugActor to root actor as child
-	getRoot()->addChild(new DebugActor());
+	//create and add new DebugActor to stage as child
+	getStage()->addChild(new DebugActor());
 
 
 
@@ -156,7 +156,7 @@ void run()
 
 	renderer.cleanup();
 
-	/**releases all internal components and RootActor*/
+	/**releases all internal components and Stage*/
 	core::release();
 
 	//dump list should be empty now

+ 2 - 2
examples/TutorialResources/src/example.cpp

@@ -14,12 +14,12 @@ void example_init()
 	spSprite dog = new Sprite;
 	dog->setResAnim(animals.getResAnim("dog"));	
 	dog->setPosition(200, 300);
-	dog->attachTo(getRoot());
+	dog->attachTo(getStage());
 
 	spSprite cat = new Sprite;
 	cat->setResAnim(animals.getResAnim("cat"));
 	cat->setPosition(600, 300);
-	cat->attachTo(getRoot());
+	cat->attachTo(getStage());
 }
 
 void example_update()

+ 8 - 4
oxygine/SDL/ios/oxygine/oxygine_ios.xcodeproj/project.pbxproj

@@ -36,6 +36,8 @@
 		0472E38217F8A2EC0016A832 /* oxygine-framework.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E37E17F8A2EC0016A832 /* oxygine-framework.h */; };
 		048AD0AA197D2444001963EF /* TextField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 048AD0A8197D2444001963EF /* TextField.cpp */; };
 		048AD0AB197D2444001963EF /* TextField.h in Headers */ = {isa = PBXBuildFile; fileRef = 048AD0A9197D2444001963EF /* TextField.h */; };
+		048AD0CB19B1FD74001963EF /* Stage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 048AD0C919B1FD74001963EF /* Stage.cpp */; };
+		048AD0CC19B1FD74001963EF /* Stage.h in Headers */ = {isa = PBXBuildFile; fileRef = 048AD0CA19B1FD74001963EF /* Stage.h */; };
 		04967C4D180B3D7400D66EFA /* Restorable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 04967C4B180B3D7400D66EFA /* Restorable.cpp */; };
 		04967C4E180B3D7400D66EFA /* Restorable.h in Headers */ = {isa = PBXBuildFile; fileRef = 04967C4C180B3D7400D66EFA /* Restorable.h */; };
 		049B64AB1803054300EC333E /* CreateResourceContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 049B64AA1803054300EC333E /* CreateResourceContext.cpp */; };
@@ -160,7 +162,6 @@
 		C3E8706916EBC8EB00052915 /* Resources.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FCB16EBC8EB00052915 /* Resources.h */; };
 		C3E8706A16EBC8EB00052915 /* ResStarlingAtlas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FCC16EBC8EB00052915 /* ResStarlingAtlas.cpp */; };
 		C3E8706B16EBC8EB00052915 /* ResStarlingAtlas.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FCD16EBC8EB00052915 /* ResStarlingAtlas.h */; };
-		C3E8706C16EBC8EB00052915 /* RootActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FCE16EBC8EB00052915 /* RootActor.cpp */; };
 		C3E8706D16EBC8EB00052915 /* RootActor.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FCF16EBC8EB00052915 /* RootActor.h */; };
 		C3E8706E16EBC8EB00052915 /* SlidingActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FD016EBC8EB00052915 /* SlidingActor.cpp */; };
 		C3E8706F16EBC8EB00052915 /* SlidingActor.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FD116EBC8EB00052915 /* SlidingActor.h */; };
@@ -231,6 +232,8 @@
 		0472E37E17F8A2EC0016A832 /* oxygine-framework.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "oxygine-framework.h"; path = "../../../src/oxygine-framework.h"; sourceTree = "<group>"; };
 		048AD0A8197D2444001963EF /* TextField.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextField.cpp; path = ../../../src/TextField.cpp; sourceTree = "<group>"; };
 		048AD0A9197D2444001963EF /* TextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextField.h; path = ../../../src/TextField.h; sourceTree = "<group>"; };
+		048AD0C919B1FD74001963EF /* Stage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Stage.cpp; path = ../../../src/Stage.cpp; sourceTree = "<group>"; };
+		048AD0CA19B1FD74001963EF /* Stage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Stage.h; path = ../../../src/Stage.h; sourceTree = "<group>"; };
 		048B7AAB17FDE25E00AE2D0B /* shader.glsl */ = {isa = PBXFileReference; lastKnownFileType = text; name = shader.glsl; path = ../../../system_data/original/system/shader.glsl; sourceTree = "<group>"; };
 		04967C4B180B3D7400D66EFA /* Restorable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Restorable.cpp; sourceTree = "<group>"; };
 		04967C4C180B3D7400D66EFA /* Restorable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Restorable.h; sourceTree = "<group>"; };
@@ -363,7 +366,6 @@
 		C3E86FCB16EBC8EB00052915 /* Resources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Resources.h; sourceTree = "<group>"; };
 		C3E86FCC16EBC8EB00052915 /* ResStarlingAtlas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResStarlingAtlas.cpp; sourceTree = "<group>"; };
 		C3E86FCD16EBC8EB00052915 /* ResStarlingAtlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResStarlingAtlas.h; sourceTree = "<group>"; };
-		C3E86FCE16EBC8EB00052915 /* RootActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RootActor.cpp; path = ../../../src/RootActor.cpp; sourceTree = "<group>"; };
 		C3E86FCF16EBC8EB00052915 /* RootActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RootActor.h; path = ../../../src/RootActor.h; sourceTree = "<group>"; };
 		C3E86FD016EBC8EB00052915 /* SlidingActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SlidingActor.cpp; path = ../../../src/SlidingActor.cpp; sourceTree = "<group>"; };
 		C3E86FD116EBC8EB00052915 /* SlidingActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SlidingActor.h; path = ../../../src/SlidingActor.h; sourceTree = "<group>"; };
@@ -474,6 +476,8 @@
 		C3E86F5316EBC8C200052915 /* src */ = {
 			isa = PBXGroup;
 			children = (
+				048AD0C919B1FD74001963EF /* Stage.cpp */,
+				048AD0CA19B1FD74001963EF /* Stage.h */,
 				048AD0A8197D2444001963EF /* TextField.cpp */,
 				048AD0A9197D2444001963EF /* TextField.h */,
 				0467086D192796E500D71824 /* Serialize.cpp */,
@@ -528,7 +532,6 @@
 				C3E86FB416EBC8EB00052915 /* pugixml */,
 				C3E86FBA16EBC8EB00052915 /* RenderState.h */,
 				C3E86FBB16EBC8EB00052915 /* res */,
-				C3E86FCE16EBC8EB00052915 /* RootActor.cpp */,
 				C3E86FCF16EBC8EB00052915 /* RootActor.h */,
 				C3E86FD016EBC8EB00052915 /* SlidingActor.cpp */,
 				C3E86FD116EBC8EB00052915 /* SlidingActor.h */,
@@ -774,6 +777,7 @@
 				C3E8701E16EBC8EB00052915 /* memory_pool.h in Headers */,
 				C3E8702016EBC8EB00052915 /* Mutex.h in Headers */,
 				C3E8702216EBC8EB00052915 /* NativeTexture.h in Headers */,
+				048AD0CC19B1FD74001963EF /* Stage.h in Headers */,
 				C3E8702416EBC8EB00052915 /* Object.h in Headers */,
 				0467086C192796A000D71824 /* Serialize.h in Headers */,
 				C3E8702516EBC8EB00052915 /* ox_debug.h in Headers */,
@@ -959,7 +963,6 @@
 				C3E8706816EBC8EB00052915 /* Resources.cpp in Sources */,
 				C3E8706A16EBC8EB00052915 /* ResStarlingAtlas.cpp in Sources */,
 				0472E37517F8A2D30016A832 /* ioapi.c in Sources */,
-				C3E8706C16EBC8EB00052915 /* RootActor.cpp in Sources */,
 				C3E8706E16EBC8EB00052915 /* SlidingActor.cpp in Sources */,
 				C3E8707016EBC8EB00052915 /* Sprite.cpp in Sources */,
 				C3E8707216EBC8EB00052915 /* Aligner.cpp in Sources */,
@@ -974,6 +977,7 @@
 				C3E8708B16EBC8EB00052915 /* stringUtils.cpp in Sources */,
 				0472E37917F8A2D30016A832 /* unzip.c in Sources */,
 				C3E8708D16EBC8EB00052915 /* VisualStyle.cpp in Sources */,
+				048AD0CB19B1FD74001963EF /* Stage.cpp in Sources */,
 				C3E8708F16EBC8EB00052915 /* system_alloc.cpp in Sources */,
 				0472E35917F8A1A80016A832 /* FileSystem.cpp in Sources */,
 				C3E8709116EBC8EB00052915 /* winnie_alloc.cpp in Sources */,

+ 8 - 4
oxygine/SDL/macosx/oxygine_macosx/oxygine_macosx.xcodeproj/project.pbxproj

@@ -11,6 +11,8 @@
 		04670868192795E700D71824 /* Serialize.h in Headers */ = {isa = PBXBuildFile; fileRef = 04670866192795E700D71824 /* Serialize.h */; };
 		048AD0A4197D238D001963EF /* TextField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 048AD0A2197D238D001963EF /* TextField.cpp */; };
 		048AD0A5197D238D001963EF /* TextField.h in Headers */ = {isa = PBXBuildFile; fileRef = 048AD0A3197D238D001963EF /* TextField.h */; };
+		048AD0D119B1FE96001963EF /* Stage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 048AD0CF19B1FE96001963EF /* Stage.cpp */; };
+		048AD0D219B1FE96001963EF /* Stage.h in Headers */ = {isa = PBXBuildFile; fileRef = 048AD0D019B1FE96001963EF /* Stage.h */; };
 		049B56651871F21E00EF3C66 /* Actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 049B55911871F21D00EF3C66 /* Actor.cpp */; };
 		049B56661871F21E00EF3C66 /* Actor.h in Headers */ = {isa = PBXBuildFile; fileRef = 049B55921871F21D00EF3C66 /* Actor.h */; };
 		049B56671871F21E00EF3C66 /* AnimationFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 049B55931871F21D00EF3C66 /* AnimationFrame.cpp */; };
@@ -165,7 +167,6 @@
 		049B57021871F21E00EF3C66 /* Resources.h in Headers */ = {isa = PBXBuildFile; fileRef = 049B563D1871F21E00EF3C66 /* Resources.h */; };
 		049B57031871F21E00EF3C66 /* ResStarlingAtlas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 049B563E1871F21E00EF3C66 /* ResStarlingAtlas.cpp */; };
 		049B57041871F21E00EF3C66 /* ResStarlingAtlas.h in Headers */ = {isa = PBXBuildFile; fileRef = 049B563F1871F21E00EF3C66 /* ResStarlingAtlas.h */; };
-		049B57051871F21E00EF3C66 /* RootActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 049B56401871F21E00EF3C66 /* RootActor.cpp */; };
 		049B57061871F21E00EF3C66 /* RootActor.h in Headers */ = {isa = PBXBuildFile; fileRef = 049B56411871F21E00EF3C66 /* RootActor.h */; };
 		049B57071871F21E00EF3C66 /* SlidingActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 049B56421871F21E00EF3C66 /* SlidingActor.cpp */; };
 		049B57081871F21E00EF3C66 /* SlidingActor.h in Headers */ = {isa = PBXBuildFile; fileRef = 049B56431871F21E00EF3C66 /* SlidingActor.h */; };
@@ -205,6 +206,8 @@
 		04670866192795E700D71824 /* Serialize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Serialize.h; path = ../../../src/Serialize.h; sourceTree = "<group>"; };
 		048AD0A2197D238D001963EF /* TextField.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextField.cpp; path = ../../../src/TextField.cpp; sourceTree = "<group>"; };
 		048AD0A3197D238D001963EF /* TextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextField.h; path = ../../../src/TextField.h; sourceTree = "<group>"; };
+		048AD0CF19B1FE96001963EF /* Stage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Stage.cpp; path = ../../../src/Stage.cpp; sourceTree = "<group>"; };
+		048AD0D019B1FE96001963EF /* Stage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Stage.h; path = ../../../src/Stage.h; sourceTree = "<group>"; };
 		049B52BB1871EDE900EF3C66 /* liboxygine_macosx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liboxygine_macosx.a; sourceTree = BUILT_PRODUCTS_DIR; };
 		049B55911871F21D00EF3C66 /* Actor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Actor.cpp; path = ../../../src/Actor.cpp; sourceTree = "<group>"; };
 		049B55921871F21D00EF3C66 /* Actor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Actor.h; path = ../../../src/Actor.h; sourceTree = "<group>"; };
@@ -366,7 +369,6 @@
 		049B563D1871F21E00EF3C66 /* Resources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Resources.h; sourceTree = "<group>"; };
 		049B563E1871F21E00EF3C66 /* ResStarlingAtlas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResStarlingAtlas.cpp; sourceTree = "<group>"; };
 		049B563F1871F21E00EF3C66 /* ResStarlingAtlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResStarlingAtlas.h; sourceTree = "<group>"; };
-		049B56401871F21E00EF3C66 /* RootActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RootActor.cpp; path = ../../../src/RootActor.cpp; sourceTree = "<group>"; };
 		049B56411871F21E00EF3C66 /* RootActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RootActor.h; path = ../../../src/RootActor.h; sourceTree = "<group>"; };
 		049B56421871F21E00EF3C66 /* SlidingActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SlidingActor.cpp; path = ../../../src/SlidingActor.cpp; sourceTree = "<group>"; };
 		049B56431871F21E00EF3C66 /* SlidingActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SlidingActor.h; path = ../../../src/SlidingActor.h; sourceTree = "<group>"; };
@@ -433,6 +435,8 @@
 		049B55901871F21000EF3C66 /* src */ = {
 			isa = PBXGroup;
 			children = (
+				048AD0CF19B1FE96001963EF /* Stage.cpp */,
+				048AD0D019B1FE96001963EF /* Stage.h */,
 				048AD0A2197D238D001963EF /* TextField.cpp */,
 				048AD0A3197D238D001963EF /* TextField.h */,
 				04670865192795E700D71824 /* Serialize.cpp */,
@@ -487,7 +491,6 @@
 				049B56251871F21D00EF3C66 /* pugixml */,
 				049B562B1871F21D00EF3C66 /* RenderState.h */,
 				049B562C1871F21D00EF3C66 /* res */,
-				049B56401871F21E00EF3C66 /* RootActor.cpp */,
 				049B56411871F21E00EF3C66 /* RootActor.h */,
 				049B56421871F21E00EF3C66 /* SlidingActor.cpp */,
 				049B56431871F21E00EF3C66 /* SlidingActor.h */,
@@ -768,6 +771,7 @@
 				049B56951871F21E00EF3C66 /* Mem2Native.h in Headers */,
 				049B56B51871F21E00EF3C66 /* UberShaderProgram.h in Headers */,
 				049B56E21871F21E00EF3C66 /* ioapi.h in Headers */,
+				048AD0D219B1FE96001963EF /* Stage.h in Headers */,
 				049B56A41871F21E00EF3C66 /* Renderer.h in Headers */,
 				04670868192795E700D71824 /* Serialize.h in Headers */,
 				049B56D01871F21E00EF3C66 /* Font.h in Headers */,
@@ -942,7 +946,6 @@
 				049B56F01871F21E00EF3C66 /* pugixml.cpp in Sources */,
 				049B56B81871F21E00EF3C66 /* VideoDriver.cpp in Sources */,
 				049B56F51871F21E00EF3C66 /* ResAnim.cpp in Sources */,
-				049B57051871F21E00EF3C66 /* RootActor.cpp in Sources */,
 				049B56791871F21E00EF3C66 /* file.cpp in Sources */,
 				049B566B1871F21E00EF3C66 /* Box9Sprite.cpp in Sources */,
 				049B56671871F21E00EF3C66 /* AnimationFrame.cpp in Sources */,
@@ -968,6 +971,7 @@
 				049B56711871F21E00EF3C66 /* Clock.cpp in Sources */,
 				049B56BE1871F21E00EF3C66 /* DeveloperMenu.cpp in Sources */,
 				048AD0A4197D238D001963EF /* TextField.cpp in Sources */,
+				048AD0D119B1FE96001963EF /* Stage.cpp in Sources */,
 				049B567E1871F21E00EF3C66 /* NativeTextureGLES.cpp in Sources */,
 				049B56AE1871F21E00EF3C66 /* system_data.cpp in Sources */,
 				049B569A1871F21E00EF3C66 /* NativeTexture.cpp in Sources */,

+ 0 - 1118
oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/project.pbxproj

@@ -1,1118 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		0472E35717F8A1A80016A832 /* file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0472E34817F8A1A80016A832 /* file.cpp */; };
-		0472E35817F8A1A80016A832 /* file.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E34917F8A1A80016A832 /* file.h */; };
-		0472E35917F8A1A80016A832 /* FileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0472E34A17F8A1A80016A832 /* FileSystem.cpp */; };
-		0472E35A17F8A1A80016A832 /* FileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E34B17F8A1A80016A832 /* FileSystem.h */; };
-		0472E35B17F8A1A80016A832 /* log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0472E34C17F8A1A80016A832 /* log.cpp */; };
-		0472E35C17F8A1A80016A832 /* log.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E34D17F8A1A80016A832 /* log.h */; };
-		0472E35D17F8A1A80016A832 /* ShaderProgram.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E34E17F8A1A80016A832 /* ShaderProgram.h */; };
-		0472E35E17F8A1A80016A832 /* STDFileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0472E34F17F8A1A80016A832 /* STDFileSystem.cpp */; };
-		0472E35F17F8A1A80016A832 /* STDFileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E35017F8A1A80016A832 /* STDFileSystem.h */; };
-		0472E36017F8A1A80016A832 /* system_data.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0472E35117F8A1A80016A832 /* system_data.cpp */; };
-		0472E36117F8A1A80016A832 /* system_data.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E35217F8A1A80016A832 /* system_data.h */; };
-		0472E36217F8A1A80016A832 /* vertex.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E35317F8A1A80016A832 /* vertex.h */; };
-		0472E36317F8A1A80016A832 /* VertexDeclaration.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E35417F8A1A80016A832 /* VertexDeclaration.h */; };
-		0472E36417F8A1A80016A832 /* ZipFileSystem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0472E35517F8A1A80016A832 /* ZipFileSystem.cpp */; };
-		0472E36517F8A1A80016A832 /* ZipFileSystem.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E35617F8A1A80016A832 /* ZipFileSystem.h */; };
-		0472E37517F8A2D30016A832 /* ioapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 0472E36F17F8A2D30016A832 /* ioapi.c */; };
-		0472E37617F8A2D30016A832 /* ioapi.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E37017F8A2D30016A832 /* ioapi.h */; };
-		0472E37717F8A2D30016A832 /* ioapi_mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 0472E37117F8A2D30016A832 /* ioapi_mem.c */; };
-		0472E37817F8A2D30016A832 /* ioapi_mem.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E37217F8A2D30016A832 /* ioapi_mem.h */; };
-		0472E37917F8A2D30016A832 /* unzip.c in Sources */ = {isa = PBXBuildFile; fileRef = 0472E37317F8A2D30016A832 /* unzip.c */; };
-		0472E37A17F8A2D30016A832 /* unzip.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E37417F8A2D30016A832 /* unzip.h */; };
-		0472E37F17F8A2EC0016A832 /* MaskedSprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0472E37B17F8A2EC0016A832 /* MaskedSprite.cpp */; };
-		0472E38017F8A2EC0016A832 /* MaskedSprite.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E37C17F8A2EC0016A832 /* MaskedSprite.h */; };
-		0472E38117F8A2EC0016A832 /* oxygine_include.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E37D17F8A2EC0016A832 /* oxygine_include.h */; };
-		0472E38217F8A2EC0016A832 /* oxygine-framework.h in Headers */ = {isa = PBXBuildFile; fileRef = 0472E37E17F8A2EC0016A832 /* oxygine-framework.h */; };
-		04967C4D180B3D7400D66EFA /* Restorable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 04967C4B180B3D7400D66EFA /* Restorable.cpp */; };
-		04967C4E180B3D7400D66EFA /* Restorable.h in Headers */ = {isa = PBXBuildFile; fileRef = 04967C4C180B3D7400D66EFA /* Restorable.h */; };
-		049B64AB1803054300EC333E /* CreateResourceContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 049B64AA1803054300EC333E /* CreateResourceContext.cpp */; };
-		04AEC30F182BD912006413A9 /* ShaderProgramGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 04AEC30D182BD912006413A9 /* ShaderProgramGL.cpp */; };
-		04AEC310182BD912006413A9 /* ShaderProgramGL.h in Headers */ = {isa = PBXBuildFile; fileRef = 04AEC30E182BD912006413A9 /* ShaderProgramGL.h */; };
-		04AEC313182BD98D006413A9 /* UberShaderProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 04AEC311182BD98D006413A9 /* UberShaderProgram.cpp */; };
-		04AEC314182BD98D006413A9 /* UberShaderProgram.h in Headers */ = {isa = PBXBuildFile; fileRef = 04AEC312182BD98D006413A9 /* UberShaderProgram.h */; };
-		04D6FB4C1851914000A5403A /* ThreadMessages.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 04D6FB4A1851914000A5403A /* ThreadMessages.cpp */; };
-		04D6FB4D1851914000A5403A /* ThreadMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 04D6FB4B1851914000A5403A /* ThreadMessages.h */; };
-		C38704A217C0C6AC00015CA8 /* VideoDriverGLES11.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C38704A017C0C6AC00015CA8 /* VideoDriverGLES11.cpp */; };
-		C38704A317C0C6AC00015CA8 /* VideoDriverGLES11.h in Headers */ = {isa = PBXBuildFile; fileRef = C38704A117C0C6AC00015CA8 /* VideoDriverGLES11.h */; };
-		C38704A617C0C71700015CA8 /* VideoDriverGLES20.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C38704A417C0C71700015CA8 /* VideoDriverGLES20.cpp */; };
-		C38704A717C0C71700015CA8 /* VideoDriverGLES20.h in Headers */ = {isa = PBXBuildFile; fileRef = C38704A517C0C71700015CA8 /* VideoDriverGLES20.h */; };
-		C38EC22C1709600E00568283 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C38EC22B1709600E00568283 /* OpenGLES.framework */; };
-		C38EC26F1709649300568283 /* DeveloperMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C38EC2631709649300568283 /* DeveloperMenu.cpp */; };
-		C38EC2701709649300568283 /* DeveloperMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = C38EC2641709649300568283 /* DeveloperMenu.h */; };
-		C38EC2711709649300568283 /* TexturesInspector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C38EC2651709649300568283 /* TexturesInspector.cpp */; };
-		C38EC2721709649300568283 /* TexturesInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = C38EC2661709649300568283 /* TexturesInspector.h */; };
-		C38EC2731709649300568283 /* TreeInspector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C38EC2671709649300568283 /* TreeInspector.cpp */; };
-		C38EC2741709649300568283 /* TreeInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = C38EC2681709649300568283 /* TreeInspector.h */; };
-		C38EC2751709649300568283 /* TreeInspectorLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C38EC2691709649300568283 /* TreeInspectorLine.cpp */; };
-		C38EC2761709649300568283 /* TreeInspectorLine.h in Headers */ = {isa = PBXBuildFile; fileRef = C38EC26A1709649300568283 /* TreeInspectorLine.h */; };
-		C38EC2771709649300568283 /* TreeInspectorPage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C38EC26B1709649300568283 /* TreeInspectorPage.cpp */; };
-		C38EC2781709649300568283 /* TreeInspectorPage.h in Headers */ = {isa = PBXBuildFile; fileRef = C38EC26C1709649300568283 /* TreeInspectorPage.h */; };
-		C38EC2791709649300568283 /* TreeInspectorPreview.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C38EC26D1709649300568283 /* TreeInspectorPreview.cpp */; };
-		C38EC27A1709649300568283 /* TreeInspectorPreview.h in Headers */ = {isa = PBXBuildFile; fileRef = C38EC26E1709649300568283 /* TreeInspectorPreview.h */; };
-		C3E86FFE16EBC8EB00052915 /* Actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F5516EBC8EB00052915 /* Actor.cpp */; };
-		C3E86FFF16EBC8EB00052915 /* Actor.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F5616EBC8EB00052915 /* Actor.h */; };
-		C3E8700016EBC8EB00052915 /* AnimationFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F5716EBC8EB00052915 /* AnimationFrame.cpp */; };
-		C3E8700116EBC8EB00052915 /* AnimationFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F5816EBC8EB00052915 /* AnimationFrame.h */; };
-		C3E8700216EBC8EB00052915 /* Blocking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F5916EBC8EB00052915 /* Blocking.cpp */; };
-		C3E8700316EBC8EB00052915 /* Blocking.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F5A16EBC8EB00052915 /* Blocking.h */; };
-		C3E8700416EBC8EB00052915 /* Box9Sprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F5B16EBC8EB00052915 /* Box9Sprite.cpp */; };
-		C3E8700516EBC8EB00052915 /* Box9Sprite.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F5C16EBC8EB00052915 /* Box9Sprite.h */; };
-		C3E8700616EBC8EB00052915 /* Button.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F5D16EBC8EB00052915 /* Button.cpp */; };
-		C3E8700716EBC8EB00052915 /* Button.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F5E16EBC8EB00052915 /* Button.h */; };
-		C3E8700816EBC8EB00052915 /* ClipRectActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F5F16EBC8EB00052915 /* ClipRectActor.cpp */; };
-		C3E8700916EBC8EB00052915 /* ClipRectActor.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F6016EBC8EB00052915 /* ClipRectActor.h */; };
-		C3E8700A16EBC8EB00052915 /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F6116EBC8EB00052915 /* Clock.cpp */; };
-		C3E8700B16EBC8EB00052915 /* Clock.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F6216EBC8EB00052915 /* Clock.h */; };
-		C3E8700C16EBC8EB00052915 /* closure.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F6416EBC8EB00052915 /* closure.h */; };
-		C3E8700D16EBC8EB00052915 /* closure_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F6516EBC8EB00052915 /* closure_impl.h */; };
-		C3E8700E16EBC8EB00052915 /* ColorRectSprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F6616EBC8EB00052915 /* ColorRectSprite.cpp */; };
-		C3E8700F16EBC8EB00052915 /* ColorRectSprite.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F6716EBC8EB00052915 /* ColorRectSprite.h */; };
-		C3E8701016EBC8EB00052915 /* coroutines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F6A16EBC8EB00052915 /* coroutines.cpp */; };
-		C3E8701116EBC8EB00052915 /* coroutines.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F6B16EBC8EB00052915 /* coroutines.h */; };
-		C3E8701316EBC8EB00052915 /* files_io.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F6D16EBC8EB00052915 /* files_io.h */; };
-		C3E8701416EBC8EB00052915 /* ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F6E16EBC8EB00052915 /* ImageData.cpp */; };
-		C3E8701516EBC8EB00052915 /* ImageData.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F6F16EBC8EB00052915 /* ImageData.h */; };
-		C3E8701616EBC8EB00052915 /* ImageDataOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F7016EBC8EB00052915 /* ImageDataOperations.cpp */; };
-		C3E8701716EBC8EB00052915 /* ImageDataOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F7116EBC8EB00052915 /* ImageDataOperations.h */; };
-		C3E8701816EBC8EB00052915 /* intrusive_ptr.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F7216EBC8EB00052915 /* intrusive_ptr.h */; };
-		C3E8701A16EBC8EB00052915 /* logging.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F7416EBC8EB00052915 /* logging.h */; };
-		C3E8701B16EBC8EB00052915 /* Mem2Native.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F7516EBC8EB00052915 /* Mem2Native.cpp */; };
-		C3E8701C16EBC8EB00052915 /* Mem2Native.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F7616EBC8EB00052915 /* Mem2Native.h */; };
-		C3E8701D16EBC8EB00052915 /* memory_pool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F7716EBC8EB00052915 /* memory_pool.cpp */; };
-		C3E8701E16EBC8EB00052915 /* memory_pool.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F7816EBC8EB00052915 /* memory_pool.h */; };
-		C3E8701F16EBC8EB00052915 /* Mutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F7916EBC8EB00052915 /* Mutex.cpp */; };
-		C3E8702016EBC8EB00052915 /* Mutex.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F7A16EBC8EB00052915 /* Mutex.h */; };
-		C3E8702116EBC8EB00052915 /* NativeTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F7B16EBC8EB00052915 /* NativeTexture.cpp */; };
-		C3E8702216EBC8EB00052915 /* NativeTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F7C16EBC8EB00052915 /* NativeTexture.h */; };
-		C3E8702316EBC8EB00052915 /* Object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F7D16EBC8EB00052915 /* Object.cpp */; };
-		C3E8702416EBC8EB00052915 /* Object.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F7E16EBC8EB00052915 /* Object.h */; };
-		C3E8702516EBC8EB00052915 /* ox_debug.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F7F16EBC8EB00052915 /* ox_debug.h */; };
-		C3E8702816EBC8EB00052915 /* oxygine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F8216EBC8EB00052915 /* oxygine.cpp */; };
-		C3E8702916EBC8EB00052915 /* oxygine.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F8316EBC8EB00052915 /* oxygine.h */; };
-		C3E8702A16EBC8EB00052915 /* pixel.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F8416EBC8EB00052915 /* pixel.h */; };
-		C3E8702B16EBC8EB00052915 /* ref_counter.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F8516EBC8EB00052915 /* ref_counter.h */; };
-		C3E8702C16EBC8EB00052915 /* Renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F8616EBC8EB00052915 /* Renderer.cpp */; };
-		C3E8702D16EBC8EB00052915 /* Renderer.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F8716EBC8EB00052915 /* Renderer.h */; };
-		C3E8702E16EBC8EB00052915 /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F8816EBC8EB00052915 /* Texture.cpp */; };
-		C3E8702F16EBC8EB00052915 /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F8916EBC8EB00052915 /* Texture.h */; };
-		C3E8703016EBC8EB00052915 /* VideoDriver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F8A16EBC8EB00052915 /* VideoDriver.cpp */; };
-		C3E8703116EBC8EB00052915 /* VideoDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F8B16EBC8EB00052915 /* VideoDriver.h */; };
-		C3E8703616EBC8EB00052915 /* DebugActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F9016EBC8EB00052915 /* DebugActor.cpp */; };
-		C3E8703716EBC8EB00052915 /* DebugActor.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F9116EBC8EB00052915 /* DebugActor.h */; };
-		C3E8703816EBC8EB00052915 /* Draggable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F9216EBC8EB00052915 /* Draggable.cpp */; };
-		C3E8703916EBC8EB00052915 /* Draggable.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F9316EBC8EB00052915 /* Draggable.h */; };
-		C3E8703A16EBC8EB00052915 /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F9416EBC8EB00052915 /* Event.h */; };
-		C3E8703B16EBC8EB00052915 /* EventDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F9516EBC8EB00052915 /* EventDispatcher.cpp */; };
-		C3E8703C16EBC8EB00052915 /* EventDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F9616EBC8EB00052915 /* EventDispatcher.h */; };
-		C3E8703D16EBC8EB00052915 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F9716EBC8EB00052915 /* Font.cpp */; };
-		C3E8703E16EBC8EB00052915 /* Font.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F9816EBC8EB00052915 /* Font.h */; };
-		C3E8703F16EBC8EB00052915 /* InitActor.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F9916EBC8EB00052915 /* InitActor.h */; };
-		C3E8704016EBC8EB00052915 /* Input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F9A16EBC8EB00052915 /* Input.cpp */; };
-		C3E8704116EBC8EB00052915 /* Input.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86F9B16EBC8EB00052915 /* Input.h */; };
-		C3E8704216EBC8EB00052915 /* AffineTransform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86F9F16EBC8EB00052915 /* AffineTransform.cpp */; };
-		C3E8704316EBC8EB00052915 /* AffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FA016EBC8EB00052915 /* AffineTransform.h */; };
-		C3E8704416EBC8EB00052915 /* Color.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FA116EBC8EB00052915 /* Color.h */; };
-		C3E8704516EBC8EB00052915 /* matrix.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FA216EBC8EB00052915 /* matrix.h */; };
-		C3E8704616EBC8EB00052915 /* Rect.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FA316EBC8EB00052915 /* Rect.h */; };
-		C3E8704716EBC8EB00052915 /* ScalarMath.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FA416EBC8EB00052915 /* ScalarMath.h */; };
-		C3E8704816EBC8EB00052915 /* vector2.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FA516EBC8EB00052915 /* vector2.h */; };
-		C3E8704916EBC8EB00052915 /* vector3.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FA616EBC8EB00052915 /* vector3.h */; };
-		C3E8704A16EBC8EB00052915 /* vector4.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FA716EBC8EB00052915 /* vector4.h */; };
-		C3E8704B16EBC8EB00052915 /* MemoryTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FA816EBC8EB00052915 /* MemoryTexture.cpp */; };
-		C3E8704C16EBC8EB00052915 /* MemoryTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FA916EBC8EB00052915 /* MemoryTexture.h */; };
-		C3E8704D16EBC8EB00052915 /* Multithreading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FAA16EBC8EB00052915 /* Multithreading.cpp */; };
-		C3E8704E16EBC8EB00052915 /* Multithreading.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FAB16EBC8EB00052915 /* Multithreading.h */; };
-		C3E8705316EBC8EB00052915 /* PointerState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FB016EBC8EB00052915 /* PointerState.cpp */; };
-		C3E8705416EBC8EB00052915 /* PointerState.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FB116EBC8EB00052915 /* PointerState.h */; };
-		C3E8705516EBC8EB00052915 /* ProgressBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FB216EBC8EB00052915 /* ProgressBar.cpp */; };
-		C3E8705616EBC8EB00052915 /* ProgressBar.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FB316EBC8EB00052915 /* ProgressBar.h */; };
-		C3E8705716EBC8EB00052915 /* pugiconfig.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FB616EBC8EB00052915 /* pugiconfig.hpp */; };
-		C3E8705816EBC8EB00052915 /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FB716EBC8EB00052915 /* pugixml.cpp */; };
-		C3E8705916EBC8EB00052915 /* pugixml.hpp in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FB816EBC8EB00052915 /* pugixml.hpp */; };
-		C3E8705A16EBC8EB00052915 /* RenderState.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FBA16EBC8EB00052915 /* RenderState.h */; };
-		C3E8705B16EBC8EB00052915 /* CreateResourceContext.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FBD16EBC8EB00052915 /* CreateResourceContext.h */; };
-		C3E8705C16EBC8EB00052915 /* ResAnim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FBE16EBC8EB00052915 /* ResAnim.cpp */; };
-		C3E8705D16EBC8EB00052915 /* ResAnim.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FBF16EBC8EB00052915 /* ResAnim.h */; };
-		C3E8705E16EBC8EB00052915 /* ResAtlas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FC016EBC8EB00052915 /* ResAtlas.cpp */; };
-		C3E8705F16EBC8EB00052915 /* ResAtlas.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FC116EBC8EB00052915 /* ResAtlas.h */; };
-		C3E8706016EBC8EB00052915 /* ResBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FC216EBC8EB00052915 /* ResBuffer.cpp */; };
-		C3E8706116EBC8EB00052915 /* ResBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FC316EBC8EB00052915 /* ResBuffer.h */; };
-		C3E8706216EBC8EB00052915 /* ResFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FC416EBC8EB00052915 /* ResFont.cpp */; };
-		C3E8706316EBC8EB00052915 /* ResFont.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FC516EBC8EB00052915 /* ResFont.h */; };
-		C3E8706416EBC8EB00052915 /* ResFontBM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FC616EBC8EB00052915 /* ResFontBM.cpp */; };
-		C3E8706516EBC8EB00052915 /* ResFontBM.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FC716EBC8EB00052915 /* ResFontBM.h */; };
-		C3E8706616EBC8EB00052915 /* Resource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FC816EBC8EB00052915 /* Resource.cpp */; };
-		C3E8706716EBC8EB00052915 /* Resource.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FC916EBC8EB00052915 /* Resource.h */; };
-		C3E8706816EBC8EB00052915 /* Resources.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FCA16EBC8EB00052915 /* Resources.cpp */; };
-		C3E8706916EBC8EB00052915 /* Resources.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FCB16EBC8EB00052915 /* Resources.h */; };
-		C3E8706A16EBC8EB00052915 /* ResStarlingAtlas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FCC16EBC8EB00052915 /* ResStarlingAtlas.cpp */; };
-		C3E8706B16EBC8EB00052915 /* ResStarlingAtlas.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FCD16EBC8EB00052915 /* ResStarlingAtlas.h */; };
-		C3E8706C16EBC8EB00052915 /* RootActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FCE16EBC8EB00052915 /* RootActor.cpp */; };
-		C3E8706D16EBC8EB00052915 /* RootActor.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FCF16EBC8EB00052915 /* RootActor.h */; };
-		C3E8706E16EBC8EB00052915 /* SlidingActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FD016EBC8EB00052915 /* SlidingActor.cpp */; };
-		C3E8706F16EBC8EB00052915 /* SlidingActor.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FD116EBC8EB00052915 /* SlidingActor.h */; };
-		C3E8707016EBC8EB00052915 /* Sprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FD216EBC8EB00052915 /* Sprite.cpp */; };
-		C3E8707116EBC8EB00052915 /* Sprite.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FD316EBC8EB00052915 /* Sprite.h */; };
-		C3E8707216EBC8EB00052915 /* Aligner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FD516EBC8EB00052915 /* Aligner.cpp */; };
-		C3E8707316EBC8EB00052915 /* Aligner.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FD616EBC8EB00052915 /* Aligner.h */; };
-		C3E8707416EBC8EB00052915 /* Node.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FD716EBC8EB00052915 /* Node.cpp */; };
-		C3E8707516EBC8EB00052915 /* Node.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FD816EBC8EB00052915 /* Node.h */; };
-		C3E8707616EBC8EB00052915 /* TextBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FD916EBC8EB00052915 /* TextBuilder.cpp */; };
-		C3E8707716EBC8EB00052915 /* TextBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FDA16EBC8EB00052915 /* TextBuilder.h */; };
-		C3E8707816EBC8EB00052915 /* TextActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FDB16EBC8EB00052915 /* TextActor.cpp */; };
-		C3E8707916EBC8EB00052915 /* TextActor.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FDC16EBC8EB00052915 /* TextActor.h */; };
-		C3E8707A16EBC8EB00052915 /* TextStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FDD16EBC8EB00052915 /* TextStyle.h */; };
-		C3E8708316EBC8EB00052915 /* Tweener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FE916EBC8EB00052915 /* Tweener.cpp */; };
-		C3E8708416EBC8EB00052915 /* Tweener.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FEA16EBC8EB00052915 /* Tweener.h */; };
-		C3E8708516EBC8EB00052915 /* UpdateState.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FEB16EBC8EB00052915 /* UpdateState.h */; };
-		C3E8708616EBC8EB00052915 /* AtlasTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FEE16EBC8EB00052915 /* AtlasTool.cpp */; };
-		C3E8708716EBC8EB00052915 /* AtlasTool.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FEF16EBC8EB00052915 /* AtlasTool.h */; };
-		C3E8708816EBC8EB00052915 /* ImageUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FF016EBC8EB00052915 /* ImageUtils.cpp */; };
-		C3E8708916EBC8EB00052915 /* ImageUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FF116EBC8EB00052915 /* ImageUtils.h */; };
-		C3E8708A16EBC8EB00052915 /* intrusive_list.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FF216EBC8EB00052915 /* intrusive_list.h */; };
-		C3E8708B16EBC8EB00052915 /* stringUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FF316EBC8EB00052915 /* stringUtils.cpp */; };
-		C3E8708C16EBC8EB00052915 /* stringUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FF416EBC8EB00052915 /* stringUtils.h */; };
-		C3E8708D16EBC8EB00052915 /* VisualStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FF516EBC8EB00052915 /* VisualStyle.cpp */; };
-		C3E8708E16EBC8EB00052915 /* VisualStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FF616EBC8EB00052915 /* VisualStyle.h */; };
-		C3E8708F16EBC8EB00052915 /* system_alloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FF916EBC8EB00052915 /* system_alloc.cpp */; };
-		C3E8709016EBC8EB00052915 /* system_alloc.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FFA16EBC8EB00052915 /* system_alloc.h */; };
-		C3E8709116EBC8EB00052915 /* winnie_alloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3E86FFB16EBC8EB00052915 /* winnie_alloc.cpp */; };
-		C3E8709216EBC8EB00052915 /* winnie_alloc.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FFC16EBC8EB00052915 /* winnie_alloc.h */; };
-		C3E8709316EBC8EB00052915 /* winnie_alloc_config.h in Headers */ = {isa = PBXBuildFile; fileRef = C3E86FFD16EBC8EB00052915 /* winnie_alloc_config.h */; };
-		C3EE215D17BECD7200715678 /* NativeTextureGLES.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3EE215117BECD7200715678 /* NativeTextureGLES.cpp */; };
-		C3EE215E17BECD7200715678 /* NativeTextureGLES.h in Headers */ = {isa = PBXBuildFile; fileRef = C3EE215217BECD7200715678 /* NativeTextureGLES.h */; };
-		C3EE215F17BECD7200715678 /* oxgl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3EE215317BECD7200715678 /* oxgl.cpp */; };
-		C3EE216017BECD7200715678 /* oxgl.h in Headers */ = {isa = PBXBuildFile; fileRef = C3EE215417BECD7200715678 /* oxgl.h */; };
-		C3EE216117BECD7200715678 /* VertexDeclarationGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3EE215517BECD7200715678 /* VertexDeclarationGL.cpp */; };
-		C3EE216217BECD7200715678 /* VertexDeclarationGL.h in Headers */ = {isa = PBXBuildFile; fileRef = C3EE215617BECD7200715678 /* VertexDeclarationGL.h */; };
-		C3EE216317BECD7200715678 /* VideoDriverGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C3EE215717BECD7200715678 /* VideoDriverGL.cpp */; };
-		C3EE216417BECD7200715678 /* VideoDriverGL.h in Headers */ = {isa = PBXBuildFile; fileRef = C3EE215817BECD7200715678 /* VideoDriverGL.h */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
-		0472E34817F8A1A80016A832 /* file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = file.cpp; sourceTree = "<group>"; };
-		0472E34917F8A1A80016A832 /* file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = file.h; sourceTree = "<group>"; };
-		0472E34A17F8A1A80016A832 /* FileSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FileSystem.cpp; sourceTree = "<group>"; };
-		0472E34B17F8A1A80016A832 /* FileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileSystem.h; sourceTree = "<group>"; };
-		0472E34C17F8A1A80016A832 /* log.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = log.cpp; sourceTree = "<group>"; };
-		0472E34D17F8A1A80016A832 /* log.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = log.h; sourceTree = "<group>"; };
-		0472E34E17F8A1A80016A832 /* ShaderProgram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShaderProgram.h; sourceTree = "<group>"; };
-		0472E34F17F8A1A80016A832 /* STDFileSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = STDFileSystem.cpp; sourceTree = "<group>"; };
-		0472E35017F8A1A80016A832 /* STDFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STDFileSystem.h; sourceTree = "<group>"; };
-		0472E35117F8A1A80016A832 /* system_data.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = system_data.cpp; sourceTree = "<group>"; };
-		0472E35217F8A1A80016A832 /* system_data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = system_data.h; sourceTree = "<group>"; };
-		0472E35317F8A1A80016A832 /* vertex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vertex.h; sourceTree = "<group>"; };
-		0472E35417F8A1A80016A832 /* VertexDeclaration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VertexDeclaration.h; sourceTree = "<group>"; };
-		0472E35517F8A1A80016A832 /* ZipFileSystem.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ZipFileSystem.cpp; sourceTree = "<group>"; };
-		0472E35617F8A1A80016A832 /* ZipFileSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZipFileSystem.h; sourceTree = "<group>"; };
-		0472E36F17F8A2D30016A832 /* ioapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi.c; sourceTree = "<group>"; };
-		0472E37017F8A2D30016A832 /* ioapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioapi.h; sourceTree = "<group>"; };
-		0472E37117F8A2D30016A832 /* ioapi_mem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ioapi_mem.c; sourceTree = "<group>"; };
-		0472E37217F8A2D30016A832 /* ioapi_mem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ioapi_mem.h; sourceTree = "<group>"; };
-		0472E37317F8A2D30016A832 /* unzip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = unzip.c; sourceTree = "<group>"; };
-		0472E37417F8A2D30016A832 /* unzip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unzip.h; sourceTree = "<group>"; };
-		0472E37B17F8A2EC0016A832 /* MaskedSprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MaskedSprite.cpp; path = ../../../src/MaskedSprite.cpp; sourceTree = "<group>"; };
-		0472E37C17F8A2EC0016A832 /* MaskedSprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MaskedSprite.h; path = ../../../src/MaskedSprite.h; sourceTree = "<group>"; };
-		0472E37D17F8A2EC0016A832 /* oxygine_include.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = oxygine_include.h; path = ../../../src/oxygine_include.h; sourceTree = "<group>"; };
-		0472E37E17F8A2EC0016A832 /* oxygine-framework.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "oxygine-framework.h"; path = "../../../src/oxygine-framework.h"; sourceTree = "<group>"; };
-		048B7AAB17FDE25E00AE2D0B /* shader.glsl */ = {isa = PBXFileReference; lastKnownFileType = text; name = shader.glsl; path = ../../../system_data/original/system/shader.glsl; sourceTree = "<group>"; };
-		04967C4B180B3D7400D66EFA /* Restorable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Restorable.cpp; sourceTree = "<group>"; };
-		04967C4C180B3D7400D66EFA /* Restorable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Restorable.h; sourceTree = "<group>"; };
-		049B64AA1803054300EC333E /* CreateResourceContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CreateResourceContext.cpp; sourceTree = "<group>"; };
-		04AEC30D182BD912006413A9 /* ShaderProgramGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ShaderProgramGL.cpp; path = gl/ShaderProgramGL.cpp; sourceTree = "<group>"; };
-		04AEC30E182BD912006413A9 /* ShaderProgramGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ShaderProgramGL.h; path = gl/ShaderProgramGL.h; sourceTree = "<group>"; };
-		04AEC311182BD98D006413A9 /* UberShaderProgram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UberShaderProgram.cpp; sourceTree = "<group>"; };
-		04AEC312182BD98D006413A9 /* UberShaderProgram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UberShaderProgram.h; sourceTree = "<group>"; };
-		04D6FB4A1851914000A5403A /* ThreadMessages.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThreadMessages.cpp; sourceTree = "<group>"; };
-		04D6FB4B1851914000A5403A /* ThreadMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ThreadMessages.h; sourceTree = "<group>"; };
-		C38704A017C0C6AC00015CA8 /* VideoDriverGLES11.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VideoDriverGLES11.cpp; path = gl/VideoDriverGLES11.cpp; sourceTree = "<group>"; };
-		C38704A117C0C6AC00015CA8 /* VideoDriverGLES11.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VideoDriverGLES11.h; path = gl/VideoDriverGLES11.h; sourceTree = "<group>"; };
-		C38704A417C0C71700015CA8 /* VideoDriverGLES20.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VideoDriverGLES20.cpp; path = gl/VideoDriverGLES20.cpp; sourceTree = "<group>"; };
-		C38704A517C0C71700015CA8 /* VideoDriverGLES20.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VideoDriverGLES20.h; path = gl/VideoDriverGLES20.h; sourceTree = "<group>"; };
-		C38EC22B1709600E00568283 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
-		C38EC2621709649300568283 /* .oxbuild */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .oxbuild; sourceTree = "<group>"; };
-		C38EC2631709649300568283 /* DeveloperMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeveloperMenu.cpp; sourceTree = "<group>"; };
-		C38EC2641709649300568283 /* DeveloperMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeveloperMenu.h; sourceTree = "<group>"; };
-		C38EC2651709649300568283 /* TexturesInspector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TexturesInspector.cpp; sourceTree = "<group>"; };
-		C38EC2661709649300568283 /* TexturesInspector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TexturesInspector.h; sourceTree = "<group>"; };
-		C38EC2671709649300568283 /* TreeInspector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TreeInspector.cpp; sourceTree = "<group>"; };
-		C38EC2681709649300568283 /* TreeInspector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreeInspector.h; sourceTree = "<group>"; };
-		C38EC2691709649300568283 /* TreeInspectorLine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TreeInspectorLine.cpp; sourceTree = "<group>"; };
-		C38EC26A1709649300568283 /* TreeInspectorLine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreeInspectorLine.h; sourceTree = "<group>"; };
-		C38EC26B1709649300568283 /* TreeInspectorPage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TreeInspectorPage.cpp; sourceTree = "<group>"; };
-		C38EC26C1709649300568283 /* TreeInspectorPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreeInspectorPage.h; sourceTree = "<group>"; };
-		C38EC26D1709649300568283 /* TreeInspectorPreview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TreeInspectorPreview.cpp; sourceTree = "<group>"; };
-		C38EC26E1709649300568283 /* TreeInspectorPreview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TreeInspectorPreview.h; sourceTree = "<group>"; };
-		C3E86F4C16EBC8A500052915 /* liboxygine.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liboxygine.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		C3E86F5516EBC8EB00052915 /* Actor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Actor.cpp; path = ../../../src/Actor.cpp; sourceTree = "<group>"; };
-		C3E86F5616EBC8EB00052915 /* Actor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Actor.h; path = ../../../src/Actor.h; sourceTree = "<group>"; };
-		C3E86F5716EBC8EB00052915 /* AnimationFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AnimationFrame.cpp; path = ../../../src/AnimationFrame.cpp; sourceTree = "<group>"; };
-		C3E86F5816EBC8EB00052915 /* AnimationFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationFrame.h; path = ../../../src/AnimationFrame.h; sourceTree = "<group>"; };
-		C3E86F5916EBC8EB00052915 /* Blocking.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Blocking.cpp; path = ../../../src/Blocking.cpp; sourceTree = "<group>"; };
-		C3E86F5A16EBC8EB00052915 /* Blocking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Blocking.h; path = ../../../src/Blocking.h; sourceTree = "<group>"; };
-		C3E86F5B16EBC8EB00052915 /* Box9Sprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Box9Sprite.cpp; path = ../../../src/Box9Sprite.cpp; sourceTree = "<group>"; };
-		C3E86F5C16EBC8EB00052915 /* Box9Sprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Box9Sprite.h; path = ../../../src/Box9Sprite.h; sourceTree = "<group>"; };
-		C3E86F5D16EBC8EB00052915 /* Button.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Button.cpp; path = ../../../src/Button.cpp; sourceTree = "<group>"; };
-		C3E86F5E16EBC8EB00052915 /* Button.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Button.h; path = ../../../src/Button.h; sourceTree = "<group>"; };
-		C3E86F5F16EBC8EB00052915 /* ClipRectActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClipRectActor.cpp; path = ../../../src/ClipRectActor.cpp; sourceTree = "<group>"; };
-		C3E86F6016EBC8EB00052915 /* ClipRectActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClipRectActor.h; path = ../../../src/ClipRectActor.h; sourceTree = "<group>"; };
-		C3E86F6116EBC8EB00052915 /* Clock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Clock.cpp; path = ../../../src/Clock.cpp; sourceTree = "<group>"; };
-		C3E86F6216EBC8EB00052915 /* Clock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Clock.h; path = ../../../src/Clock.h; sourceTree = "<group>"; };
-		C3E86F6416EBC8EB00052915 /* closure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = closure.h; sourceTree = "<group>"; };
-		C3E86F6516EBC8EB00052915 /* closure_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = closure_impl.h; sourceTree = "<group>"; };
-		C3E86F6616EBC8EB00052915 /* ColorRectSprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ColorRectSprite.cpp; path = ../../../src/ColorRectSprite.cpp; sourceTree = "<group>"; };
-		C3E86F6716EBC8EB00052915 /* ColorRectSprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ColorRectSprite.h; path = ../../../src/ColorRectSprite.h; sourceTree = "<group>"; };
-		C3E86F6916EBC8EB00052915 /* .oxbuild */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .oxbuild; sourceTree = "<group>"; };
-		C3E86F6A16EBC8EB00052915 /* coroutines.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = coroutines.cpp; sourceTree = "<group>"; };
-		C3E86F6B16EBC8EB00052915 /* coroutines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = coroutines.h; sourceTree = "<group>"; };
-		C3E86F6D16EBC8EB00052915 /* files_io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = files_io.h; sourceTree = "<group>"; };
-		C3E86F6E16EBC8EB00052915 /* ImageData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageData.cpp; sourceTree = "<group>"; };
-		C3E86F6F16EBC8EB00052915 /* ImageData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageData.h; sourceTree = "<group>"; };
-		C3E86F7016EBC8EB00052915 /* ImageDataOperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageDataOperations.cpp; sourceTree = "<group>"; };
-		C3E86F7116EBC8EB00052915 /* ImageDataOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageDataOperations.h; sourceTree = "<group>"; };
-		C3E86F7216EBC8EB00052915 /* intrusive_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intrusive_ptr.h; sourceTree = "<group>"; };
-		C3E86F7416EBC8EB00052915 /* logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = logging.h; sourceTree = "<group>"; };
-		C3E86F7516EBC8EB00052915 /* Mem2Native.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mem2Native.cpp; sourceTree = "<group>"; };
-		C3E86F7616EBC8EB00052915 /* Mem2Native.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mem2Native.h; sourceTree = "<group>"; };
-		C3E86F7716EBC8EB00052915 /* memory_pool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = memory_pool.cpp; sourceTree = "<group>"; };
-		C3E86F7816EBC8EB00052915 /* memory_pool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory_pool.h; sourceTree = "<group>"; };
-		C3E86F7916EBC8EB00052915 /* Mutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mutex.cpp; sourceTree = "<group>"; };
-		C3E86F7A16EBC8EB00052915 /* Mutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Mutex.h; sourceTree = "<group>"; };
-		C3E86F7B16EBC8EB00052915 /* NativeTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NativeTexture.cpp; sourceTree = "<group>"; };
-		C3E86F7C16EBC8EB00052915 /* NativeTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NativeTexture.h; sourceTree = "<group>"; };
-		C3E86F7D16EBC8EB00052915 /* Object.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Object.cpp; sourceTree = "<group>"; };
-		C3E86F7E16EBC8EB00052915 /* Object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Object.h; sourceTree = "<group>"; };
-		C3E86F7F16EBC8EB00052915 /* ox_debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ox_debug.h; sourceTree = "<group>"; };
-		C3E86F8216EBC8EB00052915 /* oxygine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = oxygine.cpp; sourceTree = "<group>"; };
-		C3E86F8316EBC8EB00052915 /* oxygine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oxygine.h; sourceTree = "<group>"; };
-		C3E86F8416EBC8EB00052915 /* pixel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pixel.h; sourceTree = "<group>"; };
-		C3E86F8516EBC8EB00052915 /* ref_counter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ref_counter.h; sourceTree = "<group>"; };
-		C3E86F8616EBC8EB00052915 /* Renderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Renderer.cpp; sourceTree = "<group>"; };
-		C3E86F8716EBC8EB00052915 /* Renderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Renderer.h; sourceTree = "<group>"; };
-		C3E86F8816EBC8EB00052915 /* Texture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Texture.cpp; sourceTree = "<group>"; };
-		C3E86F8916EBC8EB00052915 /* Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Texture.h; sourceTree = "<group>"; };
-		C3E86F8A16EBC8EB00052915 /* VideoDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoDriver.cpp; sourceTree = "<group>"; };
-		C3E86F8B16EBC8EB00052915 /* VideoDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoDriver.h; sourceTree = "<group>"; };
-		C3E86F9016EBC8EB00052915 /* DebugActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DebugActor.cpp; path = ../../../src/DebugActor.cpp; sourceTree = "<group>"; };
-		C3E86F9116EBC8EB00052915 /* DebugActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DebugActor.h; path = ../../../src/DebugActor.h; sourceTree = "<group>"; };
-		C3E86F9216EBC8EB00052915 /* Draggable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Draggable.cpp; path = ../../../src/Draggable.cpp; sourceTree = "<group>"; };
-		C3E86F9316EBC8EB00052915 /* Draggable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Draggable.h; path = ../../../src/Draggable.h; sourceTree = "<group>"; };
-		C3E86F9416EBC8EB00052915 /* Event.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Event.h; path = ../../../src/Event.h; sourceTree = "<group>"; };
-		C3E86F9516EBC8EB00052915 /* EventDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EventDispatcher.cpp; path = ../../../src/EventDispatcher.cpp; sourceTree = "<group>"; };
-		C3E86F9616EBC8EB00052915 /* EventDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EventDispatcher.h; path = ../../../src/EventDispatcher.h; sourceTree = "<group>"; };
-		C3E86F9716EBC8EB00052915 /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Font.cpp; path = ../../../src/Font.cpp; sourceTree = "<group>"; };
-		C3E86F9816EBC8EB00052915 /* Font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Font.h; path = ../../../src/Font.h; sourceTree = "<group>"; };
-		C3E86F9916EBC8EB00052915 /* InitActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InitActor.h; path = ../../../src/InitActor.h; sourceTree = "<group>"; };
-		C3E86F9A16EBC8EB00052915 /* Input.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Input.cpp; path = ../../../src/Input.cpp; sourceTree = "<group>"; };
-		C3E86F9B16EBC8EB00052915 /* Input.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Input.h; path = ../../../src/Input.h; sourceTree = "<group>"; };
-		C3E86F9E16EBC8EB00052915 /* .oxbuild */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .oxbuild; sourceTree = "<group>"; };
-		C3E86F9F16EBC8EB00052915 /* AffineTransform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AffineTransform.cpp; sourceTree = "<group>"; };
-		C3E86FA016EBC8EB00052915 /* AffineTransform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AffineTransform.h; sourceTree = "<group>"; };
-		C3E86FA116EBC8EB00052915 /* Color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Color.h; sourceTree = "<group>"; };
-		C3E86FA216EBC8EB00052915 /* matrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matrix.h; sourceTree = "<group>"; };
-		C3E86FA316EBC8EB00052915 /* Rect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Rect.h; sourceTree = "<group>"; };
-		C3E86FA416EBC8EB00052915 /* ScalarMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScalarMath.h; sourceTree = "<group>"; };
-		C3E86FA516EBC8EB00052915 /* vector2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector2.h; sourceTree = "<group>"; };
-		C3E86FA616EBC8EB00052915 /* vector3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector3.h; sourceTree = "<group>"; };
-		C3E86FA716EBC8EB00052915 /* vector4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector4.h; sourceTree = "<group>"; };
-		C3E86FA816EBC8EB00052915 /* MemoryTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MemoryTexture.cpp; path = ../../../src/MemoryTexture.cpp; sourceTree = "<group>"; };
-		C3E86FA916EBC8EB00052915 /* MemoryTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MemoryTexture.h; path = ../../../src/MemoryTexture.h; sourceTree = "<group>"; };
-		C3E86FAA16EBC8EB00052915 /* Multithreading.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Multithreading.cpp; path = ../../../src/Multithreading.cpp; sourceTree = "<group>"; };
-		C3E86FAB16EBC8EB00052915 /* Multithreading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Multithreading.h; path = ../../../src/Multithreading.h; sourceTree = "<group>"; };
-		C3E86FB016EBC8EB00052915 /* PointerState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PointerState.cpp; path = ../../../src/PointerState.cpp; sourceTree = "<group>"; };
-		C3E86FB116EBC8EB00052915 /* PointerState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PointerState.h; path = ../../../src/PointerState.h; sourceTree = "<group>"; };
-		C3E86FB216EBC8EB00052915 /* ProgressBar.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ProgressBar.cpp; path = ../../../src/ProgressBar.cpp; sourceTree = "<group>"; };
-		C3E86FB316EBC8EB00052915 /* ProgressBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgressBar.h; path = ../../../src/ProgressBar.h; sourceTree = "<group>"; };
-		C3E86FB516EBC8EB00052915 /* .oxbuild */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .oxbuild; sourceTree = "<group>"; };
-		C3E86FB616EBC8EB00052915 /* pugiconfig.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pugiconfig.hpp; sourceTree = "<group>"; };
-		C3E86FB716EBC8EB00052915 /* pugixml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pugixml.cpp; sourceTree = "<group>"; };
-		C3E86FB816EBC8EB00052915 /* pugixml.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pugixml.hpp; sourceTree = "<group>"; };
-		C3E86FB916EBC8EB00052915 /* readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = readme.txt; sourceTree = "<group>"; };
-		C3E86FBA16EBC8EB00052915 /* RenderState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenderState.h; path = ../../../src/RenderState.h; sourceTree = "<group>"; };
-		C3E86FBC16EBC8EB00052915 /* .oxbuild */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .oxbuild; sourceTree = "<group>"; };
-		C3E86FBD16EBC8EB00052915 /* CreateResourceContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreateResourceContext.h; sourceTree = "<group>"; };
-		C3E86FBE16EBC8EB00052915 /* ResAnim.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResAnim.cpp; sourceTree = "<group>"; };
-		C3E86FBF16EBC8EB00052915 /* ResAnim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResAnim.h; sourceTree = "<group>"; };
-		C3E86FC016EBC8EB00052915 /* ResAtlas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResAtlas.cpp; sourceTree = "<group>"; };
-		C3E86FC116EBC8EB00052915 /* ResAtlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResAtlas.h; sourceTree = "<group>"; };
-		C3E86FC216EBC8EB00052915 /* ResBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResBuffer.cpp; sourceTree = "<group>"; };
-		C3E86FC316EBC8EB00052915 /* ResBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResBuffer.h; sourceTree = "<group>"; };
-		C3E86FC416EBC8EB00052915 /* ResFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResFont.cpp; sourceTree = "<group>"; };
-		C3E86FC516EBC8EB00052915 /* ResFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResFont.h; sourceTree = "<group>"; };
-		C3E86FC616EBC8EB00052915 /* ResFontBM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResFontBM.cpp; sourceTree = "<group>"; };
-		C3E86FC716EBC8EB00052915 /* ResFontBM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResFontBM.h; sourceTree = "<group>"; };
-		C3E86FC816EBC8EB00052915 /* Resource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Resource.cpp; sourceTree = "<group>"; };
-		C3E86FC916EBC8EB00052915 /* Resource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Resource.h; sourceTree = "<group>"; };
-		C3E86FCA16EBC8EB00052915 /* Resources.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Resources.cpp; sourceTree = "<group>"; };
-		C3E86FCB16EBC8EB00052915 /* Resources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Resources.h; sourceTree = "<group>"; };
-		C3E86FCC16EBC8EB00052915 /* ResStarlingAtlas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResStarlingAtlas.cpp; sourceTree = "<group>"; };
-		C3E86FCD16EBC8EB00052915 /* ResStarlingAtlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResStarlingAtlas.h; sourceTree = "<group>"; };
-		C3E86FCE16EBC8EB00052915 /* RootActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RootActor.cpp; path = ../../../src/RootActor.cpp; sourceTree = "<group>"; };
-		C3E86FCF16EBC8EB00052915 /* RootActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RootActor.h; path = ../../../src/RootActor.h; sourceTree = "<group>"; };
-		C3E86FD016EBC8EB00052915 /* SlidingActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SlidingActor.cpp; path = ../../../src/SlidingActor.cpp; sourceTree = "<group>"; };
-		C3E86FD116EBC8EB00052915 /* SlidingActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SlidingActor.h; path = ../../../src/SlidingActor.h; sourceTree = "<group>"; };
-		C3E86FD216EBC8EB00052915 /* Sprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sprite.cpp; path = ../../../src/Sprite.cpp; sourceTree = "<group>"; };
-		C3E86FD316EBC8EB00052915 /* Sprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sprite.h; path = ../../../src/Sprite.h; sourceTree = "<group>"; };
-		C3E86FD516EBC8EB00052915 /* Aligner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Aligner.cpp; sourceTree = "<group>"; };
-		C3E86FD616EBC8EB00052915 /* Aligner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Aligner.h; sourceTree = "<group>"; };
-		C3E86FD716EBC8EB00052915 /* Node.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Node.cpp; sourceTree = "<group>"; };
-		C3E86FD816EBC8EB00052915 /* Node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Node.h; sourceTree = "<group>"; };
-		C3E86FD916EBC8EB00052915 /* TextBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextBuilder.cpp; sourceTree = "<group>"; };
-		C3E86FDA16EBC8EB00052915 /* TextBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextBuilder.h; sourceTree = "<group>"; };
-		C3E86FDB16EBC8EB00052915 /* TextActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextActor.cpp; path = ../../../src/TextActor.cpp; sourceTree = "<group>"; };
-		C3E86FDC16EBC8EB00052915 /* TextActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextActor.h; path = ../../../src/TextActor.h; sourceTree = "<group>"; };
-		C3E86FDD16EBC8EB00052915 /* TextStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextStyle.h; path = ../../../src/TextStyle.h; sourceTree = "<group>"; };
-		C3E86FE916EBC8EB00052915 /* Tweener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tweener.cpp; path = ../../../src/Tweener.cpp; sourceTree = "<group>"; };
-		C3E86FEA16EBC8EB00052915 /* Tweener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Tweener.h; path = ../../../src/Tweener.h; sourceTree = "<group>"; };
-		C3E86FEB16EBC8EB00052915 /* UpdateState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UpdateState.h; path = ../../../src/UpdateState.h; sourceTree = "<group>"; };
-		C3E86FED16EBC8EB00052915 /* .oxbuild */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .oxbuild; sourceTree = "<group>"; };
-		C3E86FEE16EBC8EB00052915 /* AtlasTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AtlasTool.cpp; sourceTree = "<group>"; };
-		C3E86FEF16EBC8EB00052915 /* AtlasTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AtlasTool.h; sourceTree = "<group>"; };
-		C3E86FF016EBC8EB00052915 /* ImageUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageUtils.cpp; sourceTree = "<group>"; };
-		C3E86FF116EBC8EB00052915 /* ImageUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageUtils.h; sourceTree = "<group>"; };
-		C3E86FF216EBC8EB00052915 /* intrusive_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intrusive_list.h; sourceTree = "<group>"; };
-		C3E86FF316EBC8EB00052915 /* stringUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stringUtils.cpp; sourceTree = "<group>"; };
-		C3E86FF416EBC8EB00052915 /* stringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringUtils.h; sourceTree = "<group>"; };
-		C3E86FF516EBC8EB00052915 /* VisualStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VisualStyle.cpp; path = ../../../src/VisualStyle.cpp; sourceTree = "<group>"; };
-		C3E86FF616EBC8EB00052915 /* VisualStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VisualStyle.h; path = ../../../src/VisualStyle.h; sourceTree = "<group>"; };
-		C3E86FF816EBC8EB00052915 /* LICENSE_1_0.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE_1_0.txt; sourceTree = "<group>"; };
-		C3E86FF916EBC8EB00052915 /* system_alloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = system_alloc.cpp; sourceTree = "<group>"; };
-		C3E86FFA16EBC8EB00052915 /* system_alloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = system_alloc.h; sourceTree = "<group>"; };
-		C3E86FFB16EBC8EB00052915 /* winnie_alloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = winnie_alloc.cpp; sourceTree = "<group>"; };
-		C3E86FFC16EBC8EB00052915 /* winnie_alloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = winnie_alloc.h; sourceTree = "<group>"; };
-		C3E86FFD16EBC8EB00052915 /* winnie_alloc_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = winnie_alloc_config.h; sourceTree = "<group>"; };
-		C3EE215117BECD7200715678 /* NativeTextureGLES.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NativeTextureGLES.cpp; path = gl/NativeTextureGLES.cpp; sourceTree = "<group>"; };
-		C3EE215217BECD7200715678 /* NativeTextureGLES.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NativeTextureGLES.h; path = gl/NativeTextureGLES.h; sourceTree = "<group>"; };
-		C3EE215317BECD7200715678 /* oxgl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = oxgl.cpp; path = gl/oxgl.cpp; sourceTree = "<group>"; };
-		C3EE215417BECD7200715678 /* oxgl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = oxgl.h; path = gl/oxgl.h; sourceTree = "<group>"; };
-		C3EE215517BECD7200715678 /* VertexDeclarationGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VertexDeclarationGL.cpp; path = gl/VertexDeclarationGL.cpp; sourceTree = "<group>"; };
-		C3EE215617BECD7200715678 /* VertexDeclarationGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VertexDeclarationGL.h; path = gl/VertexDeclarationGL.h; sourceTree = "<group>"; };
-		C3EE215717BECD7200715678 /* VideoDriverGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VideoDriverGL.cpp; path = gl/VideoDriverGL.cpp; sourceTree = "<group>"; };
-		C3EE215817BECD7200715678 /* VideoDriverGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VideoDriverGL.h; path = gl/VideoDriverGL.h; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-		C3E86F4916EBC8A500052915 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				C38EC22C1709600E00568283 /* OpenGLES.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-		0472E36E17F8A2D30016A832 /* minizip */ = {
-			isa = PBXGroup;
-			children = (
-				0472E36F17F8A2D30016A832 /* ioapi.c */,
-				0472E37017F8A2D30016A832 /* ioapi.h */,
-				0472E37117F8A2D30016A832 /* ioapi_mem.c */,
-				0472E37217F8A2D30016A832 /* ioapi_mem.h */,
-				0472E37317F8A2D30016A832 /* unzip.c */,
-				0472E37417F8A2D30016A832 /* unzip.h */,
-			);
-			name = minizip;
-			path = ../../../src/minizip;
-			sourceTree = "<group>";
-		};
-		C38EC2611709649300568283 /* dev_tools */ = {
-			isa = PBXGroup;
-			children = (
-				C38EC2621709649300568283 /* .oxbuild */,
-				C38EC2631709649300568283 /* DeveloperMenu.cpp */,
-				C38EC2641709649300568283 /* DeveloperMenu.h */,
-				C38EC2651709649300568283 /* TexturesInspector.cpp */,
-				C38EC2661709649300568283 /* TexturesInspector.h */,
-				C38EC2671709649300568283 /* TreeInspector.cpp */,
-				C38EC2681709649300568283 /* TreeInspector.h */,
-				C38EC2691709649300568283 /* TreeInspectorLine.cpp */,
-				C38EC26A1709649300568283 /* TreeInspectorLine.h */,
-				C38EC26B1709649300568283 /* TreeInspectorPage.cpp */,
-				C38EC26C1709649300568283 /* TreeInspectorPage.h */,
-				C38EC26D1709649300568283 /* TreeInspectorPreview.cpp */,
-				C38EC26E1709649300568283 /* TreeInspectorPreview.h */,
-			);
-			name = dev_tools;
-			path = ../../../src/dev_tools;
-			sourceTree = "<group>";
-		};
-		C3E86F4116EBC8A500052915 = {
-			isa = PBXGroup;
-			children = (
-				048B7AAB17FDE25E00AE2D0B /* shader.glsl */,
-				C38EC22B1709600E00568283 /* OpenGLES.framework */,
-				C3E86F5316EBC8C200052915 /* src */,
-				C3E86F4D16EBC8A500052915 /* Products */,
-			);
-			sourceTree = "<group>";
-		};
-		C3E86F4D16EBC8A500052915 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				C3E86F4C16EBC8A500052915 /* liboxygine.a */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		C3E86F5316EBC8C200052915 /* src */ = {
-			isa = PBXGroup;
-			children = (
-				0472E37B17F8A2EC0016A832 /* MaskedSprite.cpp */,
-				0472E37C17F8A2EC0016A832 /* MaskedSprite.h */,
-				0472E37D17F8A2EC0016A832 /* oxygine_include.h */,
-				0472E37E17F8A2EC0016A832 /* oxygine-framework.h */,
-				0472E36E17F8A2D30016A832 /* minizip */,
-				C38EC2611709649300568283 /* dev_tools */,
-				C3E86F5516EBC8EB00052915 /* Actor.cpp */,
-				C3E86F5616EBC8EB00052915 /* Actor.h */,
-				C3E86F5716EBC8EB00052915 /* AnimationFrame.cpp */,
-				C3E86F5816EBC8EB00052915 /* AnimationFrame.h */,
-				C3E86F5916EBC8EB00052915 /* Blocking.cpp */,
-				C3E86F5A16EBC8EB00052915 /* Blocking.h */,
-				C3E86F5B16EBC8EB00052915 /* Box9Sprite.cpp */,
-				C3E86F5C16EBC8EB00052915 /* Box9Sprite.h */,
-				C3E86F5D16EBC8EB00052915 /* Button.cpp */,
-				C3E86F5E16EBC8EB00052915 /* Button.h */,
-				C3E86F5F16EBC8EB00052915 /* ClipRectActor.cpp */,
-				C3E86F6016EBC8EB00052915 /* ClipRectActor.h */,
-				C3E86F6116EBC8EB00052915 /* Clock.cpp */,
-				C3E86F6216EBC8EB00052915 /* Clock.h */,
-				C3E86F6316EBC8EB00052915 /* closure */,
-				C3E86F6616EBC8EB00052915 /* ColorRectSprite.cpp */,
-				C3E86F6716EBC8EB00052915 /* ColorRectSprite.h */,
-				C3E86F6816EBC8EB00052915 /* core */,
-				C3E86F9016EBC8EB00052915 /* DebugActor.cpp */,
-				C3E86F9116EBC8EB00052915 /* DebugActor.h */,
-				C3E86F9216EBC8EB00052915 /* Draggable.cpp */,
-				C3E86F9316EBC8EB00052915 /* Draggable.h */,
-				C3E86F9416EBC8EB00052915 /* Event.h */,
-				C3E86F9516EBC8EB00052915 /* EventDispatcher.cpp */,
-				C3E86F9616EBC8EB00052915 /* EventDispatcher.h */,
-				C3E86F9716EBC8EB00052915 /* Font.cpp */,
-				C3E86F9816EBC8EB00052915 /* Font.h */,
-				C3E86F9916EBC8EB00052915 /* InitActor.h */,
-				C3E86F9A16EBC8EB00052915 /* Input.cpp */,
-				C3E86F9B16EBC8EB00052915 /* Input.h */,
-				C3E86F9D16EBC8EB00052915 /* math */,
-				C3E86FA816EBC8EB00052915 /* MemoryTexture.cpp */,
-				C3E86FA916EBC8EB00052915 /* MemoryTexture.h */,
-				C3E86FAA16EBC8EB00052915 /* Multithreading.cpp */,
-				C3E86FAB16EBC8EB00052915 /* Multithreading.h */,
-				C3E86FB016EBC8EB00052915 /* PointerState.cpp */,
-				C3E86FB116EBC8EB00052915 /* PointerState.h */,
-				C3E86FB216EBC8EB00052915 /* ProgressBar.cpp */,
-				C3E86FB316EBC8EB00052915 /* ProgressBar.h */,
-				C3E86FB416EBC8EB00052915 /* pugixml */,
-				C3E86FBA16EBC8EB00052915 /* RenderState.h */,
-				C3E86FBB16EBC8EB00052915 /* res */,
-				C3E86FCE16EBC8EB00052915 /* RootActor.cpp */,
-				C3E86FCF16EBC8EB00052915 /* RootActor.h */,
-				C3E86FD016EBC8EB00052915 /* SlidingActor.cpp */,
-				C3E86FD116EBC8EB00052915 /* SlidingActor.h */,
-				C3E86FD216EBC8EB00052915 /* Sprite.cpp */,
-				C3E86FD316EBC8EB00052915 /* Sprite.h */,
-				C3E86FD416EBC8EB00052915 /* text_utils */,
-				C3E86FDB16EBC8EB00052915 /* TextActor.cpp */,
-				C3E86FDC16EBC8EB00052915 /* TextActor.h */,
-				C3E86FDD16EBC8EB00052915 /* TextStyle.h */,
-				C3E86FE916EBC8EB00052915 /* Tweener.cpp */,
-				C3E86FEA16EBC8EB00052915 /* Tweener.h */,
-				C3E86FEB16EBC8EB00052915 /* UpdateState.h */,
-				C3E86FEC16EBC8EB00052915 /* utils */,
-				C3E86FF516EBC8EB00052915 /* VisualStyle.cpp */,
-				C3E86FF616EBC8EB00052915 /* VisualStyle.h */,
-				C3E86FF716EBC8EB00052915 /* winnie_alloc */,
-			);
-			name = src;
-			sourceTree = "<group>";
-		};
-		C3E86F6316EBC8EB00052915 /* closure */ = {
-			isa = PBXGroup;
-			children = (
-				C3E86F6416EBC8EB00052915 /* closure.h */,
-				C3E86F6516EBC8EB00052915 /* closure_impl.h */,
-			);
-			name = closure;
-			path = ../../../src/closure;
-			sourceTree = "<group>";
-		};
-		C3E86F6816EBC8EB00052915 /* core */ = {
-			isa = PBXGroup;
-			children = (
-				04D6FB4A1851914000A5403A /* ThreadMessages.cpp */,
-				04D6FB4B1851914000A5403A /* ThreadMessages.h */,
-				04AEC311182BD98D006413A9 /* UberShaderProgram.cpp */,
-				04AEC312182BD98D006413A9 /* UberShaderProgram.h */,
-				04967C4B180B3D7400D66EFA /* Restorable.cpp */,
-				04967C4C180B3D7400D66EFA /* Restorable.h */,
-				0472E34817F8A1A80016A832 /* file.cpp */,
-				0472E34917F8A1A80016A832 /* file.h */,
-				0472E34A17F8A1A80016A832 /* FileSystem.cpp */,
-				0472E34B17F8A1A80016A832 /* FileSystem.h */,
-				0472E34C17F8A1A80016A832 /* log.cpp */,
-				0472E34D17F8A1A80016A832 /* log.h */,
-				0472E34E17F8A1A80016A832 /* ShaderProgram.h */,
-				0472E34F17F8A1A80016A832 /* STDFileSystem.cpp */,
-				0472E35017F8A1A80016A832 /* STDFileSystem.h */,
-				0472E35117F8A1A80016A832 /* system_data.cpp */,
-				0472E35217F8A1A80016A832 /* system_data.h */,
-				0472E35317F8A1A80016A832 /* vertex.h */,
-				0472E35417F8A1A80016A832 /* VertexDeclaration.h */,
-				0472E35517F8A1A80016A832 /* ZipFileSystem.cpp */,
-				0472E35617F8A1A80016A832 /* ZipFileSystem.h */,
-				C3EE215017BECD6100715678 /* gl */,
-				C3E86F6916EBC8EB00052915 /* .oxbuild */,
-				C3E86F6A16EBC8EB00052915 /* coroutines.cpp */,
-				C3E86F6B16EBC8EB00052915 /* coroutines.h */,
-				C3E86F6D16EBC8EB00052915 /* files_io.h */,
-				C3E86F6E16EBC8EB00052915 /* ImageData.cpp */,
-				C3E86F6F16EBC8EB00052915 /* ImageData.h */,
-				C3E86F7016EBC8EB00052915 /* ImageDataOperations.cpp */,
-				C3E86F7116EBC8EB00052915 /* ImageDataOperations.h */,
-				C3E86F7216EBC8EB00052915 /* intrusive_ptr.h */,
-				C3E86F7416EBC8EB00052915 /* logging.h */,
-				C3E86F7516EBC8EB00052915 /* Mem2Native.cpp */,
-				C3E86F7616EBC8EB00052915 /* Mem2Native.h */,
-				C3E86F7716EBC8EB00052915 /* memory_pool.cpp */,
-				C3E86F7816EBC8EB00052915 /* memory_pool.h */,
-				C3E86F7916EBC8EB00052915 /* Mutex.cpp */,
-				C3E86F7A16EBC8EB00052915 /* Mutex.h */,
-				C3E86F7B16EBC8EB00052915 /* NativeTexture.cpp */,
-				C3E86F7C16EBC8EB00052915 /* NativeTexture.h */,
-				C3E86F7D16EBC8EB00052915 /* Object.cpp */,
-				C3E86F7E16EBC8EB00052915 /* Object.h */,
-				C3E86F7F16EBC8EB00052915 /* ox_debug.h */,
-				C3E86F8216EBC8EB00052915 /* oxygine.cpp */,
-				C3E86F8316EBC8EB00052915 /* oxygine.h */,
-				C3E86F8416EBC8EB00052915 /* pixel.h */,
-				C3E86F8516EBC8EB00052915 /* ref_counter.h */,
-				C3E86F8616EBC8EB00052915 /* Renderer.cpp */,
-				C3E86F8716EBC8EB00052915 /* Renderer.h */,
-				C3E86F8816EBC8EB00052915 /* Texture.cpp */,
-				C3E86F8916EBC8EB00052915 /* Texture.h */,
-				C3E86F8A16EBC8EB00052915 /* VideoDriver.cpp */,
-				C3E86F8B16EBC8EB00052915 /* VideoDriver.h */,
-			);
-			name = core;
-			path = ../../../src/core;
-			sourceTree = "<group>";
-		};
-		C3E86F9D16EBC8EB00052915 /* math */ = {
-			isa = PBXGroup;
-			children = (
-				C3E86F9E16EBC8EB00052915 /* .oxbuild */,
-				C3E86F9F16EBC8EB00052915 /* AffineTransform.cpp */,
-				C3E86FA016EBC8EB00052915 /* AffineTransform.h */,
-				C3E86FA116EBC8EB00052915 /* Color.h */,
-				C3E86FA216EBC8EB00052915 /* matrix.h */,
-				C3E86FA316EBC8EB00052915 /* Rect.h */,
-				C3E86FA416EBC8EB00052915 /* ScalarMath.h */,
-				C3E86FA516EBC8EB00052915 /* vector2.h */,
-				C3E86FA616EBC8EB00052915 /* vector3.h */,
-				C3E86FA716EBC8EB00052915 /* vector4.h */,
-			);
-			name = math;
-			path = ../../../src/math;
-			sourceTree = "<group>";
-		};
-		C3E86FB416EBC8EB00052915 /* pugixml */ = {
-			isa = PBXGroup;
-			children = (
-				C3E86FB516EBC8EB00052915 /* .oxbuild */,
-				C3E86FB616EBC8EB00052915 /* pugiconfig.hpp */,
-				C3E86FB716EBC8EB00052915 /* pugixml.cpp */,
-				C3E86FB816EBC8EB00052915 /* pugixml.hpp */,
-				C3E86FB916EBC8EB00052915 /* readme.txt */,
-			);
-			name = pugixml;
-			path = ../../../src/pugixml;
-			sourceTree = "<group>";
-		};
-		C3E86FBB16EBC8EB00052915 /* res */ = {
-			isa = PBXGroup;
-			children = (
-				049B64AA1803054300EC333E /* CreateResourceContext.cpp */,
-				C3E86FBC16EBC8EB00052915 /* .oxbuild */,
-				C3E86FBD16EBC8EB00052915 /* CreateResourceContext.h */,
-				C3E86FBE16EBC8EB00052915 /* ResAnim.cpp */,
-				C3E86FBF16EBC8EB00052915 /* ResAnim.h */,
-				C3E86FC016EBC8EB00052915 /* ResAtlas.cpp */,
-				C3E86FC116EBC8EB00052915 /* ResAtlas.h */,
-				C3E86FC216EBC8EB00052915 /* ResBuffer.cpp */,
-				C3E86FC316EBC8EB00052915 /* ResBuffer.h */,
-				C3E86FC416EBC8EB00052915 /* ResFont.cpp */,
-				C3E86FC516EBC8EB00052915 /* ResFont.h */,
-				C3E86FC616EBC8EB00052915 /* ResFontBM.cpp */,
-				C3E86FC716EBC8EB00052915 /* ResFontBM.h */,
-				C3E86FC816EBC8EB00052915 /* Resource.cpp */,
-				C3E86FC916EBC8EB00052915 /* Resource.h */,
-				C3E86FCA16EBC8EB00052915 /* Resources.cpp */,
-				C3E86FCB16EBC8EB00052915 /* Resources.h */,
-				C3E86FCC16EBC8EB00052915 /* ResStarlingAtlas.cpp */,
-				C3E86FCD16EBC8EB00052915 /* ResStarlingAtlas.h */,
-			);
-			name = res;
-			path = ../../../src/res;
-			sourceTree = "<group>";
-		};
-		C3E86FD416EBC8EB00052915 /* text_utils */ = {
-			isa = PBXGroup;
-			children = (
-				C3E86FD516EBC8EB00052915 /* Aligner.cpp */,
-				C3E86FD616EBC8EB00052915 /* Aligner.h */,
-				C3E86FD716EBC8EB00052915 /* Node.cpp */,
-				C3E86FD816EBC8EB00052915 /* Node.h */,
-				C3E86FD916EBC8EB00052915 /* TextBuilder.cpp */,
-				C3E86FDA16EBC8EB00052915 /* TextBuilder.h */,
-			);
-			name = text_utils;
-			path = ../../../src/text_utils;
-			sourceTree = "<group>";
-		};
-		C3E86FEC16EBC8EB00052915 /* utils */ = {
-			isa = PBXGroup;
-			children = (
-				C3E86FED16EBC8EB00052915 /* .oxbuild */,
-				C3E86FEE16EBC8EB00052915 /* AtlasTool.cpp */,
-				C3E86FEF16EBC8EB00052915 /* AtlasTool.h */,
-				C3E86FF016EBC8EB00052915 /* ImageUtils.cpp */,
-				C3E86FF116EBC8EB00052915 /* ImageUtils.h */,
-				C3E86FF216EBC8EB00052915 /* intrusive_list.h */,
-				C3E86FF316EBC8EB00052915 /* stringUtils.cpp */,
-				C3E86FF416EBC8EB00052915 /* stringUtils.h */,
-			);
-			name = utils;
-			path = ../../../src/utils;
-			sourceTree = "<group>";
-		};
-		C3E86FF716EBC8EB00052915 /* winnie_alloc */ = {
-			isa = PBXGroup;
-			children = (
-				C3E86FF816EBC8EB00052915 /* LICENSE_1_0.txt */,
-				C3E86FF916EBC8EB00052915 /* system_alloc.cpp */,
-				C3E86FFA16EBC8EB00052915 /* system_alloc.h */,
-				C3E86FFB16EBC8EB00052915 /* winnie_alloc.cpp */,
-				C3E86FFC16EBC8EB00052915 /* winnie_alloc.h */,
-				C3E86FFD16EBC8EB00052915 /* winnie_alloc_config.h */,
-			);
-			name = winnie_alloc;
-			path = ../../../src/winnie_alloc;
-			sourceTree = "<group>";
-		};
-		C3EE215017BECD6100715678 /* gl */ = {
-			isa = PBXGroup;
-			children = (
-				04AEC30D182BD912006413A9 /* ShaderProgramGL.cpp */,
-				04AEC30E182BD912006413A9 /* ShaderProgramGL.h */,
-				C38704A417C0C71700015CA8 /* VideoDriverGLES20.cpp */,
-				C38704A517C0C71700015CA8 /* VideoDriverGLES20.h */,
-				C38704A017C0C6AC00015CA8 /* VideoDriverGLES11.cpp */,
-				C38704A117C0C6AC00015CA8 /* VideoDriverGLES11.h */,
-				C3EE215117BECD7200715678 /* NativeTextureGLES.cpp */,
-				C3EE215217BECD7200715678 /* NativeTextureGLES.h */,
-				C3EE215317BECD7200715678 /* oxgl.cpp */,
-				C3EE215417BECD7200715678 /* oxgl.h */,
-				C3EE215517BECD7200715678 /* VertexDeclarationGL.cpp */,
-				C3EE215617BECD7200715678 /* VertexDeclarationGL.h */,
-				C3EE215717BECD7200715678 /* VideoDriverGL.cpp */,
-				C3EE215817BECD7200715678 /* VideoDriverGL.h */,
-			);
-			name = gl;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
-		C3E86F4A16EBC8A500052915 /* Headers */ = {
-			isa = PBXHeadersBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				0472E35817F8A1A80016A832 /* file.h in Headers */,
-				0472E35C17F8A1A80016A832 /* log.h in Headers */,
-				C3E86FFF16EBC8EB00052915 /* Actor.h in Headers */,
-				C3E8700116EBC8EB00052915 /* AnimationFrame.h in Headers */,
-				C3E8700316EBC8EB00052915 /* Blocking.h in Headers */,
-				C3E8700516EBC8EB00052915 /* Box9Sprite.h in Headers */,
-				C3E8700716EBC8EB00052915 /* Button.h in Headers */,
-				C3E8700916EBC8EB00052915 /* ClipRectActor.h in Headers */,
-				C3E8700B16EBC8EB00052915 /* Clock.h in Headers */,
-				C3E8700C16EBC8EB00052915 /* closure.h in Headers */,
-				C3E8700D16EBC8EB00052915 /* closure_impl.h in Headers */,
-				C3E8700F16EBC8EB00052915 /* ColorRectSprite.h in Headers */,
-				C3E8701116EBC8EB00052915 /* coroutines.h in Headers */,
-				C3E8701316EBC8EB00052915 /* files_io.h in Headers */,
-				0472E35A17F8A1A80016A832 /* FileSystem.h in Headers */,
-				0472E36517F8A1A80016A832 /* ZipFileSystem.h in Headers */,
-				0472E36317F8A1A80016A832 /* VertexDeclaration.h in Headers */,
-				C3E8701516EBC8EB00052915 /* ImageData.h in Headers */,
-				0472E38017F8A2EC0016A832 /* MaskedSprite.h in Headers */,
-				C3E8701716EBC8EB00052915 /* ImageDataOperations.h in Headers */,
-				C3E8701816EBC8EB00052915 /* intrusive_ptr.h in Headers */,
-				C3E8701A16EBC8EB00052915 /* logging.h in Headers */,
-				C3E8701C16EBC8EB00052915 /* Mem2Native.h in Headers */,
-				C3E8701E16EBC8EB00052915 /* memory_pool.h in Headers */,
-				C3E8702016EBC8EB00052915 /* Mutex.h in Headers */,
-				C3E8702216EBC8EB00052915 /* NativeTexture.h in Headers */,
-				C3E8702416EBC8EB00052915 /* Object.h in Headers */,
-				C3E8702516EBC8EB00052915 /* ox_debug.h in Headers */,
-				C3E8702916EBC8EB00052915 /* oxygine.h in Headers */,
-				C3E8702A16EBC8EB00052915 /* pixel.h in Headers */,
-				C3E8702B16EBC8EB00052915 /* ref_counter.h in Headers */,
-				04AEC310182BD912006413A9 /* ShaderProgramGL.h in Headers */,
-				0472E38217F8A2EC0016A832 /* oxygine-framework.h in Headers */,
-				C3E8702D16EBC8EB00052915 /* Renderer.h in Headers */,
-				C3E8702F16EBC8EB00052915 /* Texture.h in Headers */,
-				C3E8703116EBC8EB00052915 /* VideoDriver.h in Headers */,
-				0472E37A17F8A2D30016A832 /* unzip.h in Headers */,
-				C3E8703716EBC8EB00052915 /* DebugActor.h in Headers */,
-				C3E8703916EBC8EB00052915 /* Draggable.h in Headers */,
-				C3E8703A16EBC8EB00052915 /* Event.h in Headers */,
-				C3E8703C16EBC8EB00052915 /* EventDispatcher.h in Headers */,
-				C3E8703E16EBC8EB00052915 /* Font.h in Headers */,
-				C3E8703F16EBC8EB00052915 /* InitActor.h in Headers */,
-				C3E8704116EBC8EB00052915 /* Input.h in Headers */,
-				C3E8704316EBC8EB00052915 /* AffineTransform.h in Headers */,
-				0472E38117F8A2EC0016A832 /* oxygine_include.h in Headers */,
-				C3E8704416EBC8EB00052915 /* Color.h in Headers */,
-				C3E8704516EBC8EB00052915 /* matrix.h in Headers */,
-				C3E8704616EBC8EB00052915 /* Rect.h in Headers */,
-				C3E8704716EBC8EB00052915 /* ScalarMath.h in Headers */,
-				C3E8704816EBC8EB00052915 /* vector2.h in Headers */,
-				C3E8704916EBC8EB00052915 /* vector3.h in Headers */,
-				C3E8704A16EBC8EB00052915 /* vector4.h in Headers */,
-				0472E37617F8A2D30016A832 /* ioapi.h in Headers */,
-				0472E37817F8A2D30016A832 /* ioapi_mem.h in Headers */,
-				C3E8704C16EBC8EB00052915 /* MemoryTexture.h in Headers */,
-				C3E8704E16EBC8EB00052915 /* Multithreading.h in Headers */,
-				C3E8705416EBC8EB00052915 /* PointerState.h in Headers */,
-				C3E8705616EBC8EB00052915 /* ProgressBar.h in Headers */,
-				04AEC314182BD98D006413A9 /* UberShaderProgram.h in Headers */,
-				C3E8705716EBC8EB00052915 /* pugiconfig.hpp in Headers */,
-				C3E8705916EBC8EB00052915 /* pugixml.hpp in Headers */,
-				C3E8705A16EBC8EB00052915 /* RenderState.h in Headers */,
-				C3E8705B16EBC8EB00052915 /* CreateResourceContext.h in Headers */,
-				C3E8705D16EBC8EB00052915 /* ResAnim.h in Headers */,
-				C3E8705F16EBC8EB00052915 /* ResAtlas.h in Headers */,
-				C3E8706116EBC8EB00052915 /* ResBuffer.h in Headers */,
-				C3E8706316EBC8EB00052915 /* ResFont.h in Headers */,
-				C3E8706516EBC8EB00052915 /* ResFontBM.h in Headers */,
-				0472E35F17F8A1A80016A832 /* STDFileSystem.h in Headers */,
-				C3E8706716EBC8EB00052915 /* Resource.h in Headers */,
-				C3E8706916EBC8EB00052915 /* Resources.h in Headers */,
-				C3E8706B16EBC8EB00052915 /* ResStarlingAtlas.h in Headers */,
-				C3E8706D16EBC8EB00052915 /* RootActor.h in Headers */,
-				C3E8706F16EBC8EB00052915 /* SlidingActor.h in Headers */,
-				C3E8707116EBC8EB00052915 /* Sprite.h in Headers */,
-				C3E8707316EBC8EB00052915 /* Aligner.h in Headers */,
-				0472E36117F8A1A80016A832 /* system_data.h in Headers */,
-				04D6FB4D1851914000A5403A /* ThreadMessages.h in Headers */,
-				C3E8707516EBC8EB00052915 /* Node.h in Headers */,
-				C3E8707716EBC8EB00052915 /* TextBuilder.h in Headers */,
-				C3E8707916EBC8EB00052915 /* TextActor.h in Headers */,
-				C3E8707A16EBC8EB00052915 /* TextStyle.h in Headers */,
-				C3E8708416EBC8EB00052915 /* Tweener.h in Headers */,
-				C3E8708516EBC8EB00052915 /* UpdateState.h in Headers */,
-				C3E8708716EBC8EB00052915 /* AtlasTool.h in Headers */,
-				C3E8708916EBC8EB00052915 /* ImageUtils.h in Headers */,
-				C3E8708A16EBC8EB00052915 /* intrusive_list.h in Headers */,
-				C3E8708C16EBC8EB00052915 /* stringUtils.h in Headers */,
-				C3E8708E16EBC8EB00052915 /* VisualStyle.h in Headers */,
-				C3E8709016EBC8EB00052915 /* system_alloc.h in Headers */,
-				C3E8709216EBC8EB00052915 /* winnie_alloc.h in Headers */,
-				C3E8709316EBC8EB00052915 /* winnie_alloc_config.h in Headers */,
-				04967C4E180B3D7400D66EFA /* Restorable.h in Headers */,
-				C38EC2701709649300568283 /* DeveloperMenu.h in Headers */,
-				C38EC2721709649300568283 /* TexturesInspector.h in Headers */,
-				C38EC2741709649300568283 /* TreeInspector.h in Headers */,
-				C38EC2761709649300568283 /* TreeInspectorLine.h in Headers */,
-				C38EC2781709649300568283 /* TreeInspectorPage.h in Headers */,
-				C38EC27A1709649300568283 /* TreeInspectorPreview.h in Headers */,
-				0472E35D17F8A1A80016A832 /* ShaderProgram.h in Headers */,
-				C3EE215E17BECD7200715678 /* NativeTextureGLES.h in Headers */,
-				C3EE216017BECD7200715678 /* oxgl.h in Headers */,
-				C3EE216217BECD7200715678 /* VertexDeclarationGL.h in Headers */,
-				0472E36217F8A1A80016A832 /* vertex.h in Headers */,
-				C3EE216417BECD7200715678 /* VideoDriverGL.h in Headers */,
-				C38704A317C0C6AC00015CA8 /* VideoDriverGLES11.h in Headers */,
-				C38704A717C0C71700015CA8 /* VideoDriverGLES20.h in Headers */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
-		C3E86F4B16EBC8A500052915 /* oxygine */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = C3E86F5016EBC8A500052915 /* Build configuration list for PBXNativeTarget "oxygine" */;
-			buildPhases = (
-				C3E86F4816EBC8A500052915 /* Sources */,
-				C3E86F4916EBC8A500052915 /* Frameworks */,
-				C3E86F4A16EBC8A500052915 /* Headers */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = oxygine;
-			productName = oxygine;
-			productReference = C3E86F4C16EBC8A500052915 /* liboxygine.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		C3E86F4316EBC8A500052915 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastUpgradeCheck = 0500;
-				ORGANIZATIONNAME = denism;
-			};
-			buildConfigurationList = C3E86F4616EBC8A500052915 /* Build configuration list for PBXProject "oxygine" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = C3E86F4116EBC8A500052915;
-			productRefGroup = C3E86F4D16EBC8A500052915 /* Products */;
-			projectDirPath = "";
-			projectRoot = "";
-			targets = (
-				C3E86F4B16EBC8A500052915 /* oxygine */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
-		C3E86F4816EBC8A500052915 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				C3E86FFE16EBC8EB00052915 /* Actor.cpp in Sources */,
-				C3E8700016EBC8EB00052915 /* AnimationFrame.cpp in Sources */,
-				C3E8700216EBC8EB00052915 /* Blocking.cpp in Sources */,
-				C3E8700416EBC8EB00052915 /* Box9Sprite.cpp in Sources */,
-				C3E8700616EBC8EB00052915 /* Button.cpp in Sources */,
-				0472E37717F8A2D30016A832 /* ioapi_mem.c in Sources */,
-				C3E8700816EBC8EB00052915 /* ClipRectActor.cpp in Sources */,
-				C3E8700A16EBC8EB00052915 /* Clock.cpp in Sources */,
-				C3E8700E16EBC8EB00052915 /* ColorRectSprite.cpp in Sources */,
-				C3E8701016EBC8EB00052915 /* coroutines.cpp in Sources */,
-				C3E8701416EBC8EB00052915 /* ImageData.cpp in Sources */,
-				0472E36417F8A1A80016A832 /* ZipFileSystem.cpp in Sources */,
-				C3E8701616EBC8EB00052915 /* ImageDataOperations.cpp in Sources */,
-				C3E8701B16EBC8EB00052915 /* Mem2Native.cpp in Sources */,
-				C3E8701D16EBC8EB00052915 /* memory_pool.cpp in Sources */,
-				C3E8701F16EBC8EB00052915 /* Mutex.cpp in Sources */,
-				C3E8702116EBC8EB00052915 /* NativeTexture.cpp in Sources */,
-				C3E8702316EBC8EB00052915 /* Object.cpp in Sources */,
-				C3E8702816EBC8EB00052915 /* oxygine.cpp in Sources */,
-				04967C4D180B3D7400D66EFA /* Restorable.cpp in Sources */,
-				C3E8702C16EBC8EB00052915 /* Renderer.cpp in Sources */,
-				C3E8702E16EBC8EB00052915 /* Texture.cpp in Sources */,
-				C3E8703016EBC8EB00052915 /* VideoDriver.cpp in Sources */,
-				C3E8703616EBC8EB00052915 /* DebugActor.cpp in Sources */,
-				C3E8703816EBC8EB00052915 /* Draggable.cpp in Sources */,
-				C3E8703B16EBC8EB00052915 /* EventDispatcher.cpp in Sources */,
-				C3E8703D16EBC8EB00052915 /* Font.cpp in Sources */,
-				0472E36017F8A1A80016A832 /* system_data.cpp in Sources */,
-				C3E8704016EBC8EB00052915 /* Input.cpp in Sources */,
-				C3E8704216EBC8EB00052915 /* AffineTransform.cpp in Sources */,
-				C3E8704B16EBC8EB00052915 /* MemoryTexture.cpp in Sources */,
-				C3E8704D16EBC8EB00052915 /* Multithreading.cpp in Sources */,
-				0472E37F17F8A2EC0016A832 /* MaskedSprite.cpp in Sources */,
-				04AEC313182BD98D006413A9 /* UberShaderProgram.cpp in Sources */,
-				C3E8705316EBC8EB00052915 /* PointerState.cpp in Sources */,
-				0472E35717F8A1A80016A832 /* file.cpp in Sources */,
-				C3E8705516EBC8EB00052915 /* ProgressBar.cpp in Sources */,
-				C3E8705816EBC8EB00052915 /* pugixml.cpp in Sources */,
-				C3E8705C16EBC8EB00052915 /* ResAnim.cpp in Sources */,
-				C3E8705E16EBC8EB00052915 /* ResAtlas.cpp in Sources */,
-				C3E8706016EBC8EB00052915 /* ResBuffer.cpp in Sources */,
-				C3E8706216EBC8EB00052915 /* ResFont.cpp in Sources */,
-				C3E8706416EBC8EB00052915 /* ResFontBM.cpp in Sources */,
-				C3E8706616EBC8EB00052915 /* Resource.cpp in Sources */,
-				C3E8706816EBC8EB00052915 /* Resources.cpp in Sources */,
-				C3E8706A16EBC8EB00052915 /* ResStarlingAtlas.cpp in Sources */,
-				0472E37517F8A2D30016A832 /* ioapi.c in Sources */,
-				C3E8706C16EBC8EB00052915 /* RootActor.cpp in Sources */,
-				C3E8706E16EBC8EB00052915 /* SlidingActor.cpp in Sources */,
-				C3E8707016EBC8EB00052915 /* Sprite.cpp in Sources */,
-				C3E8707216EBC8EB00052915 /* Aligner.cpp in Sources */,
-				04D6FB4C1851914000A5403A /* ThreadMessages.cpp in Sources */,
-				C3E8707416EBC8EB00052915 /* Node.cpp in Sources */,
-				C3E8707616EBC8EB00052915 /* TextBuilder.cpp in Sources */,
-				C3E8707816EBC8EB00052915 /* TextActor.cpp in Sources */,
-				C3E8708316EBC8EB00052915 /* Tweener.cpp in Sources */,
-				04AEC30F182BD912006413A9 /* ShaderProgramGL.cpp in Sources */,
-				C3E8708616EBC8EB00052915 /* AtlasTool.cpp in Sources */,
-				0472E35E17F8A1A80016A832 /* STDFileSystem.cpp in Sources */,
-				C3E8708816EBC8EB00052915 /* ImageUtils.cpp in Sources */,
-				C3E8708B16EBC8EB00052915 /* stringUtils.cpp in Sources */,
-				0472E37917F8A2D30016A832 /* unzip.c in Sources */,
-				C3E8708D16EBC8EB00052915 /* VisualStyle.cpp in Sources */,
-				C3E8708F16EBC8EB00052915 /* system_alloc.cpp in Sources */,
-				0472E35917F8A1A80016A832 /* FileSystem.cpp in Sources */,
-				C3E8709116EBC8EB00052915 /* winnie_alloc.cpp in Sources */,
-				C38EC26F1709649300568283 /* DeveloperMenu.cpp in Sources */,
-				C38EC2711709649300568283 /* TexturesInspector.cpp in Sources */,
-				C38EC2731709649300568283 /* TreeInspector.cpp in Sources */,
-				C38EC2751709649300568283 /* TreeInspectorLine.cpp in Sources */,
-				C38EC2771709649300568283 /* TreeInspectorPage.cpp in Sources */,
-				C38EC2791709649300568283 /* TreeInspectorPreview.cpp in Sources */,
-				C3EE215D17BECD7200715678 /* NativeTextureGLES.cpp in Sources */,
-				C3EE215F17BECD7200715678 /* oxgl.cpp in Sources */,
-				C3EE216117BECD7200715678 /* VertexDeclarationGL.cpp in Sources */,
-				C3EE216317BECD7200715678 /* VideoDriverGL.cpp in Sources */,
-				C38704A217C0C6AC00015CA8 /* VideoDriverGLES11.cpp in Sources */,
-				0472E35B17F8A1A80016A832 /* log.cpp in Sources */,
-				C38704A617C0C71700015CA8 /* VideoDriverGLES20.cpp in Sources */,
-				049B64AB1803054300EC333E /* CreateResourceContext.cpp in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
-		C3E86F4E16EBC8A500052915 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
-				CLANG_CXX_LIBRARY = "libc++";
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				COPY_PHASE_STRIP = NO;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PREPROCESSOR_DEFINITIONS = (
-					"_DEBUG=1",
-					OXYGINE_SDL,
-				);
-				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = (
-					../../../greenlets/src,
-					"$(SDL)/include/",
-					../../../src,
-					"$(THIRD_PARTY)/libpng",
-					"$(THIRD_PARTY)/libjpeg",
-				);
-				MACOSX_DEPLOYMENT_TARGET = 10.8;
-				ONLY_ACTIVE_ARCH = YES;
-				SDKROOT = iphoneos;
-				SDL = ../../../../../SDL/;
-				THIRD_PARTY = ../../../third_party/macosx/;
-			};
-			name = Debug;
-		};
-		C3E86F4F16EBC8A500052915 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
-				CLANG_CXX_LIBRARY = "libc++";
-				CLANG_WARN_EMPTY_BODY = YES;
-				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
-				COPY_PHASE_STRIP = YES;
-				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-				GCC_PREPROCESSOR_DEFINITIONS = OXYGINE_SDL;
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = (
-					../../../greenlets/src,
-					"$(SDL)/include/",
-					../../../src,
-					"$(THIRD_PARTY)/libpng",
-					"$(THIRD_PARTY)/libjpeg",
-				);
-				MACOSX_DEPLOYMENT_TARGET = 10.8;
-				SDKROOT = iphoneos;
-				SDL = ../../../../../SDL/;
-				THIRD_PARTY = ../../../third_party/macosx/;
-			};
-			name = Release;
-		};
-		C3E86F5116EBC8A500052915 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				EXECUTABLE_PREFIX = lib;
-				GCC_PREPROCESSOR_DEFINITIONS = (
-					"_DEBUG=1",
-					OXYGINE_SDL,
-					OX_DEBUG,
-				);
-				GCC_WARN_UNUSED_VARIABLE = NO;
-				HEADER_SEARCH_PATHS = (
-					../../../greenlets/src,
-					"$(SDL)/include/",
-					../../../src,
-					"$(THIRD_PARTY)/libpng",
-					"$(THIRD_PARTY)/libjpeg",
-				);
-				PRODUCT_NAME = "$(TARGET_NAME)";
-			};
-			name = Debug;
-		};
-		C3E86F5216EBC8A500052915 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				EXECUTABLE_PREFIX = lib;
-				GCC_WARN_UNUSED_VARIABLE = NO;
-				HEADER_SEARCH_PATHS = (
-					../../../greenlets/src,
-					"$(SDL)/include/",
-					../../../src,
-					"$(THIRD_PARTY)/libpng",
-					"$(THIRD_PARTY)/libjpeg",
-				);
-				PRODUCT_NAME = "$(TARGET_NAME)";
-			};
-			name = Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		C3E86F4616EBC8A500052915 /* Build configuration list for PBXProject "oxygine" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				C3E86F4E16EBC8A500052915 /* Debug */,
-				C3E86F4F16EBC8A500052915 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		C3E86F5016EBC8A500052915 /* Build configuration list for PBXNativeTarget "oxygine" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				C3E86F5116EBC8A500052915 /* Debug */,
-				C3E86F5216EBC8A500052915 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = C3E86F4316EBC8A500052915 /* Project object */;
-}

+ 0 - 7
oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/project.xcworkspace/contents.xcworkspacedata

@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:oxygine.xcodeproj">
-   </FileRef>
-</Workspace>

BIN
oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/project.xcworkspace/xcuserdata/Mac.xcuserdatad/UserInterfaceState.xcuserstate


+ 0 - 59
oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/xcuserdata/Mac.xcuserdatad/xcschemes/oxygine.xcscheme

@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "0500"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "C3E86F4B16EBC8A500052915"
-               BuildableName = "liboxygine.a"
-               BlueprintName = "oxygine"
-               ReferencedContainer = "container:oxygine.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      buildConfiguration = "Debug">
-      <Testables>
-      </Testables>
-   </TestAction>
-   <LaunchAction
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Debug"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      allowLocationSimulation = "YES">
-      <AdditionalOptions>
-      </AdditionalOptions>
-   </LaunchAction>
-   <ProfileAction
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      buildConfiguration = "Release"
-      debugDocumentVersioning = "YES">
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Release"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>

+ 0 - 22
oxygine/SDL/oxygine_xcode/oxygine/oxygine.xcodeproj/xcuserdata/Mac.xcuserdatad/xcschemes/xcschememanagement.plist

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>SchemeUserState</key>
-	<dict>
-		<key>oxygine.xcscheme</key>
-		<dict>
-			<key>orderHint</key>
-			<integer>0</integer>
-		</dict>
-	</dict>
-	<key>SuppressBuildableAutocreation</key>
-	<dict>
-		<key>C3E86F4B16EBC8A500052915</key>
-		<dict>
-			<key>primary</key>
-			<true/>
-		</dict>
-	</dict>
-</dict>
-</plist>

+ 0 - 792
oxygine/SDL/oxygine_xcode/oxygine_xcode.xcodeproj/project.pbxproj

@@ -1,792 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		92D1BBD514D5E9BF0004E5C6 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 92D1BBD414D5E9BF0004E5C6 /* OpenGLES.framework */; };
-		92D1BC1614D5EFAB0004E5C6 /* greenlet.c in Sources */ = {isa = PBXBuildFile; fileRef = 92D1BC0514D5EFAB0004E5C6 /* greenlet.c */; };
-		92D1BC1714D5EFAB0004E5C6 /* greenlet.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC0614D5EFAB0004E5C6 /* greenlet.h */; };
-		92D1BC1814D5EFAB0004E5C6 /* switch_amd64_unix.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC0814D5EFAB0004E5C6 /* switch_amd64_unix.h */; };
-		92D1BC1914D5EFAB0004E5C6 /* switch_arm32_gcc.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC0914D5EFAB0004E5C6 /* switch_arm32_gcc.h */; };
-		92D1BC1A14D5EFAB0004E5C6 /* switch_mips_unix.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC0A14D5EFAB0004E5C6 /* switch_mips_unix.h */; };
-		92D1BC1B14D5EFAB0004E5C6 /* switch_ppc_aix.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC0B14D5EFAB0004E5C6 /* switch_ppc_aix.h */; };
-		92D1BC1C14D5EFAB0004E5C6 /* switch_ppc_linux.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC0C14D5EFAB0004E5C6 /* switch_ppc_linux.h */; };
-		92D1BC1D14D5EFAB0004E5C6 /* switch_ppc_macosx.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC0D14D5EFAB0004E5C6 /* switch_ppc_macosx.h */; };
-		92D1BC1E14D5EFAB0004E5C6 /* switch_ppc_unix.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC0E14D5EFAB0004E5C6 /* switch_ppc_unix.h */; };
-		92D1BC1F14D5EFAB0004E5C6 /* switch_s390_unix.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC0F14D5EFAB0004E5C6 /* switch_s390_unix.h */; };
-		92D1BC2014D5EFAB0004E5C6 /* switch_sparc_sun_gcc.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC1014D5EFAB0004E5C6 /* switch_sparc_sun_gcc.h */; };
-		92D1BC2214D5EFAB0004E5C6 /* switch_x64_msvc.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC1314D5EFAB0004E5C6 /* switch_x64_msvc.h */; };
-		92D1BC2314D5EFAB0004E5C6 /* switch_x86_msvc.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC1414D5EFAB0004E5C6 /* switch_x86_msvc.h */; };
-		92D1BC2414D5EFAB0004E5C6 /* switch_x86_unix.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC1514D5EFAB0004E5C6 /* switch_x86_unix.h */; };
-		92D1BC2614D5EFB30004E5C6 /* slp_platformselect.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC2514D5EFB30004E5C6 /* slp_platformselect.h */; };
-		92D1BC2C14D5F3170004E5C6 /* switch_arm32_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 92D1BC2B14D5F3170004E5C6 /* switch_arm32_ios.h */; };
-		92F5A95214D5DF810032CEDB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 92F5A95114D5DF810032CEDB /* Foundation.framework */; };
-		92F5A9CA14D5DFC80032CEDB /* Actor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A95F14D5DFC80032CEDB /* Actor.cpp */; };
-		92F5A9CB14D5DFC80032CEDB /* Actor.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A96014D5DFC80032CEDB /* Actor.h */; };
-		92F5A9CC14D5DFC80032CEDB /* AnimationFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A96114D5DFC80032CEDB /* AnimationFrame.h */; };
-		92F5A9CD14D5DFC80032CEDB /* Button.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A96214D5DFC80032CEDB /* Button.cpp */; };
-		92F5A9CE14D5DFC80032CEDB /* Button.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A96314D5DFC80032CEDB /* Button.h */; };
-		92F5A9CF14D5DFC80032CEDB /* ButtonHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A96414D5DFC80032CEDB /* ButtonHandler.cpp */; };
-		92F5A9D014D5DFC80032CEDB /* ButtonHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A96514D5DFC80032CEDB /* ButtonHandler.h */; };
-		92F5A9D114D5DFC80032CEDB /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A96614D5DFC80032CEDB /* Clock.cpp */; };
-		92F5A9D214D5DFC80032CEDB /* Clock.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A96714D5DFC80032CEDB /* Clock.h */; };
-		92F5A9D314D5DFC80032CEDB /* closure.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A96914D5DFC80032CEDB /* closure.h */; };
-		92F5A9D414D5DFC80032CEDB /* closure_impl.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A96A14D5DFC80032CEDB /* closure_impl.h */; };
-		92F5A9D514D5DFC80032CEDB /* ColorRectSprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A96B14D5DFC80032CEDB /* ColorRectSprite.cpp */; };
-		92F5A9D614D5DFC80032CEDB /* ColorRectSprite.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A96C14D5DFC80032CEDB /* ColorRectSprite.h */; };
-		92F5A9D714D5DFC80032CEDB /* coroutines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A96E14D5DFC80032CEDB /* coroutines.cpp */; };
-		92F5A9D814D5DFC80032CEDB /* coroutines.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A96F14D5DFC80032CEDB /* coroutines.h */; };
-		92F5A9D914D5DFC80032CEDB /* files_io.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A97014D5DFC80032CEDB /* files_io.cpp */; };
-		92F5A9DA14D5DFC80032CEDB /* files_io.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A97114D5DFC80032CEDB /* files_io.h */; };
-		92F5A9DB14D5DFC80032CEDB /* ImageData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A97214D5DFC80032CEDB /* ImageData.cpp */; };
-		92F5A9DC14D5DFC80032CEDB /* ImageData.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A97314D5DFC80032CEDB /* ImageData.h */; };
-		92F5A9DD14D5DFC80032CEDB /* ImageDataOperations.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A97414D5DFC80032CEDB /* ImageDataOperations.cpp */; };
-		92F5A9DE14D5DFC80032CEDB /* ImageDataOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A97514D5DFC80032CEDB /* ImageDataOperations.h */; };
-		92F5A9DF14D5DFC80032CEDB /* intrusive_ptr.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A97614D5DFC80032CEDB /* intrusive_ptr.h */; };
-		92F5A9E014D5DFC80032CEDB /* Object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A97714D5DFC80032CEDB /* Object.cpp */; };
-		92F5A9E114D5DFC80032CEDB /* Object.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A97814D5DFC80032CEDB /* Object.h */; };
-		92F5A9E214D5DFC80032CEDB /* oxygine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A97914D5DFC80032CEDB /* oxygine.cpp */; };
-		92F5A9E314D5DFC80032CEDB /* oxygine.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A97A14D5DFC80032CEDB /* oxygine.h */; };
-		92F5A9E414D5DFC80032CEDB /* pixel.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A97B14D5DFC80032CEDB /* pixel.h */; };
-		92F5A9E514D5DFC80032CEDB /* ref_counter.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A97C14D5DFC80032CEDB /* ref_counter.h */; };
-		92F5A9E614D5DFC80032CEDB /* Renderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A97D14D5DFC80032CEDB /* Renderer.cpp */; };
-		92F5A9E714D5DFC80032CEDB /* Renderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A97E14D5DFC80032CEDB /* Renderer.h */; };
-		92F5A9E814D5DFC80032CEDB /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A97F14D5DFC80032CEDB /* Texture.cpp */; };
-		92F5A9E914D5DFC80032CEDB /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A98014D5DFC80032CEDB /* Texture.h */; };
-		92F5A9EA14D5DFC80032CEDB /* DebugActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A98114D5DFC80032CEDB /* DebugActor.cpp */; };
-		92F5A9EB14D5DFC80032CEDB /* DebugActor.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A98214D5DFC80032CEDB /* DebugActor.h */; };
-		92F5A9EC14D5DFC80032CEDB /* EventHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A98314D5DFC80032CEDB /* EventHandler.cpp */; };
-		92F5A9ED14D5DFC80032CEDB /* EventHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A98414D5DFC80032CEDB /* EventHandler.h */; };
-		92F5A9EE14D5DFC80032CEDB /* EventState.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A98514D5DFC80032CEDB /* EventState.h */; };
-		92F5A9EF14D5DFC80032CEDB /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A98614D5DFC80032CEDB /* Font.cpp */; };
-		92F5A9F014D5DFC80032CEDB /* Font.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A98714D5DFC80032CEDB /* Font.h */; };
-		92F5A9F114D5DFC80032CEDB /* Input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A98814D5DFC80032CEDB /* Input.cpp */; };
-		92F5A9F214D5DFC80032CEDB /* Input.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A98914D5DFC80032CEDB /* Input.h */; };
-		92F5A9F314D5DFC80032CEDB /* AffineTransform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A98C14D5DFC80032CEDB /* AffineTransform.cpp */; };
-		92F5A9F414D5DFC80032CEDB /* AffineTransform.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A98D14D5DFC80032CEDB /* AffineTransform.h */; };
-		92F5A9F514D5DFC80032CEDB /* Color.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A98E14D5DFC80032CEDB /* Color.h */; };
-		92F5A9F614D5DFC80032CEDB /* matrix.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A98F14D5DFC80032CEDB /* matrix.h */; };
-		92F5A9F714D5DFC80032CEDB /* Rect.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99014D5DFC80032CEDB /* Rect.h */; };
-		92F5A9F814D5DFC80032CEDB /* ScalarMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99114D5DFC80032CEDB /* ScalarMath.h */; };
-		92F5A9F914D5DFC80032CEDB /* vector2.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99214D5DFC80032CEDB /* vector2.h */; };
-		92F5A9FA14D5DFC80032CEDB /* vector3.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99314D5DFC80032CEDB /* vector3.h */; };
-		92F5A9FB14D5DFC80032CEDB /* vector4.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99414D5DFC80032CEDB /* vector4.h */; };
-		92F5A9FC14D5DFC80032CEDB /* MemoryTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A99514D5DFC80032CEDB /* MemoryTexture.cpp */; };
-		92F5A9FD14D5DFC80032CEDB /* MemoryTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99614D5DFC80032CEDB /* MemoryTexture.h */; };
-		92F5A9FE14D5DFC80032CEDB /* Modal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A99714D5DFC80032CEDB /* Modal.cpp */; };
-		92F5A9FF14D5DFC80032CEDB /* Modal.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99814D5DFC80032CEDB /* Modal.h */; };
-		92F5AA0014D5DFC80032CEDB /* Options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A99914D5DFC80032CEDB /* Options.cpp */; };
-		92F5AA0114D5DFC80032CEDB /* Options.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99A14D5DFC80032CEDB /* Options.h */; };
-		92F5AA0214D5DFC80032CEDB /* PointerState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A99B14D5DFC80032CEDB /* PointerState.cpp */; };
-		92F5AA0314D5DFC80032CEDB /* PointerState.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99C14D5DFC80032CEDB /* PointerState.h */; };
-		92F5AA0414D5DFC80032CEDB /* pugiconfig.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A99E14D5DFC80032CEDB /* pugiconfig.hpp */; };
-		92F5AA0514D5DFC80032CEDB /* pugixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A99F14D5DFC80032CEDB /* pugixml.cpp */; };
-		92F5AA0614D5DFC80032CEDB /* pugixml.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9A014D5DFC80032CEDB /* pugixml.hpp */; };
-		92F5AA0714D5DFC80032CEDB /* ResAnim.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9A114D5DFC80032CEDB /* ResAnim.cpp */; };
-		92F5AA0814D5DFC80032CEDB /* ResAnim.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9A214D5DFC80032CEDB /* ResAnim.h */; };
-		92F5AA0914D5DFC80032CEDB /* ResAtlas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9A314D5DFC80032CEDB /* ResAtlas.cpp */; };
-		92F5AA0A14D5DFC80032CEDB /* ResAtlas.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9A414D5DFC80032CEDB /* ResAtlas.h */; };
-		92F5AA0B14D5DFC80032CEDB /* ResFont.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9A514D5DFC80032CEDB /* ResFont.cpp */; };
-		92F5AA0C14D5DFC80032CEDB /* ResFont.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9A614D5DFC80032CEDB /* ResFont.h */; };
-		92F5AA0D14D5DFC80032CEDB /* ResFontBM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9A714D5DFC80032CEDB /* ResFontBM.cpp */; };
-		92F5AA0E14D5DFC80032CEDB /* ResFontBM.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9A814D5DFC80032CEDB /* ResFontBM.h */; };
-		92F5AA1114D5DFC80032CEDB /* Resource.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9AB14D5DFC80032CEDB /* Resource.h */; };
-		92F5AA1214D5DFC80032CEDB /* Resources.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9AC14D5DFC80032CEDB /* Resources.cpp */; };
-		92F5AA1314D5DFC80032CEDB /* Resources.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9AD14D5DFC80032CEDB /* Resources.h */; };
-		92F5AA1414D5DFC80032CEDB /* ResSound.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9AE14D5DFC80032CEDB /* ResSound.cpp */; };
-		92F5AA1514D5DFC80032CEDB /* ResSound.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9AF14D5DFC80032CEDB /* ResSound.h */; };
-		92F5AA1614D5DFC80032CEDB /* RootActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9B014D5DFC80032CEDB /* RootActor.cpp */; };
-		92F5AA1714D5DFC80032CEDB /* RootActor.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9B114D5DFC80032CEDB /* RootActor.h */; };
-		92F5AA1814D5DFC80032CEDB /* Sprite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9B214D5DFC80032CEDB /* Sprite.cpp */; };
-		92F5AA1914D5DFC80032CEDB /* Sprite.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9B314D5DFC80032CEDB /* Sprite.h */; };
-		92F5AA1A14D5DFC80032CEDB /* TextTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9B514D5DFC80032CEDB /* TextTest.cpp */; };
-		92F5AA1B14D5DFC80032CEDB /* TextTest.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9B614D5DFC80032CEDB /* TextTest.h */; };
-		92F5AA1C14D5DFC80032CEDB /* ResizeContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9B814D5DFC80032CEDB /* ResizeContext.cpp */; };
-		92F5AA1D14D5DFC80032CEDB /* ResizeContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9B914D5DFC80032CEDB /* ResizeContext.h */; };
-		92F5AA1E14D5DFC80032CEDB /* TextUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9BA14D5DFC80032CEDB /* TextUtils.cpp */; };
-		92F5AA1F14D5DFC80032CEDB /* TextUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9BB14D5DFC80032CEDB /* TextUtils.h */; };
-		92F5AA2014D5DFC80032CEDB /* TextActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9BC14D5DFC80032CEDB /* TextActor.cpp */; };
-		92F5AA2114D5DFC80032CEDB /* TextActor.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9BD14D5DFC80032CEDB /* TextActor.h */; };
-		92F5AA2214D5DFC80032CEDB /* TextStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9BE14D5DFC80032CEDB /* TextStyle.h */; };
-		92F5AA2314D5DFC80032CEDB /* Tweener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9BF14D5DFC80032CEDB /* Tweener.cpp */; };
-		92F5AA2414D5DFC80032CEDB /* Tweener.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9C014D5DFC80032CEDB /* Tweener.h */; };
-		92F5AA2514D5DFC80032CEDB /* UpdateState.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9C114D5DFC80032CEDB /* UpdateState.h */; };
-		92F5AA2614D5DFC80032CEDB /* AtlasTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9C314D5DFC80032CEDB /* AtlasTool.cpp */; };
-		92F5AA2714D5DFC80032CEDB /* AtlasTool.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9C414D5DFC80032CEDB /* AtlasTool.h */; };
-		92F5AA2814D5DFC80032CEDB /* ImageUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9C514D5DFC80032CEDB /* ImageUtils.cpp */; };
-		92F5AA2914D5DFC80032CEDB /* ImageUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9C614D5DFC80032CEDB /* ImageUtils.h */; };
-		92F5AA2A14D5DFC80032CEDB /* intrusive_list.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9C714D5DFC80032CEDB /* intrusive_list.h */; };
-		92F5AA2B14D5DFC80032CEDB /* VisualStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 92F5A9C814D5DFC80032CEDB /* VisualStyle.cpp */; };
-		92F5AA2C14D5DFC80032CEDB /* VisualStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = 92F5A9C914D5DFC80032CEDB /* VisualStyle.h */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
-		92D1BBD414D5E9BF0004E5C6 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
-		92D1BC0514D5EFAB0004E5C6 /* greenlet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = greenlet.c; path = ../../../greenlets/greenlets/greenlets/greenlet.c; sourceTree = "<group>"; };
-		92D1BC0614D5EFAB0004E5C6 /* greenlet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = greenlet.h; path = ../../../greenlets/greenlets/greenlets/greenlet.h; sourceTree = "<group>"; };
-		92D1BC0814D5EFAB0004E5C6 /* switch_amd64_unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_amd64_unix.h; sourceTree = "<group>"; };
-		92D1BC0914D5EFAB0004E5C6 /* switch_arm32_gcc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_arm32_gcc.h; sourceTree = "<group>"; };
-		92D1BC0A14D5EFAB0004E5C6 /* switch_mips_unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_mips_unix.h; sourceTree = "<group>"; };
-		92D1BC0B14D5EFAB0004E5C6 /* switch_ppc_aix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_ppc_aix.h; sourceTree = "<group>"; };
-		92D1BC0C14D5EFAB0004E5C6 /* switch_ppc_linux.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_ppc_linux.h; sourceTree = "<group>"; };
-		92D1BC0D14D5EFAB0004E5C6 /* switch_ppc_macosx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_ppc_macosx.h; sourceTree = "<group>"; };
-		92D1BC0E14D5EFAB0004E5C6 /* switch_ppc_unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_ppc_unix.h; sourceTree = "<group>"; };
-		92D1BC0F14D5EFAB0004E5C6 /* switch_s390_unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_s390_unix.h; sourceTree = "<group>"; };
-		92D1BC1014D5EFAB0004E5C6 /* switch_sparc_sun_gcc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_sparc_sun_gcc.h; sourceTree = "<group>"; };
-		92D1BC1314D5EFAB0004E5C6 /* switch_x64_msvc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_x64_msvc.h; sourceTree = "<group>"; };
-		92D1BC1414D5EFAB0004E5C6 /* switch_x86_msvc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_x86_msvc.h; sourceTree = "<group>"; };
-		92D1BC1514D5EFAB0004E5C6 /* switch_x86_unix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_x86_unix.h; sourceTree = "<group>"; };
-		92D1BC2514D5EFB30004E5C6 /* slp_platformselect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = slp_platformselect.h; path = ../../../greenlets/greenlets/greenlets/slp_platformselect.h; sourceTree = "<group>"; };
-		92D1BC2B14D5F3170004E5C6 /* switch_arm32_ios.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = switch_arm32_ios.h; sourceTree = "<group>"; };
-		92F5A94E14D5DF810032CEDB /* liboxygine_xcode.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liboxygine_xcode.a; sourceTree = BUILT_PRODUCTS_DIR; };
-		92F5A95114D5DF810032CEDB /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
-		92F5A95514D5DF810032CEDB /* oxygine_xcode-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "oxygine_xcode-Prefix.pch"; sourceTree = "<group>"; };
-		92F5A95F14D5DFC80032CEDB /* Actor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Actor.cpp; path = ../../../src/Actor.cpp; sourceTree = "<group>"; };
-		92F5A96014D5DFC80032CEDB /* Actor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Actor.h; path = ../../../src/Actor.h; sourceTree = "<group>"; };
-		92F5A96114D5DFC80032CEDB /* AnimationFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationFrame.h; path = ../../../src/AnimationFrame.h; sourceTree = "<group>"; };
-		92F5A96214D5DFC80032CEDB /* Button.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Button.cpp; path = ../../../src/Button.cpp; sourceTree = "<group>"; };
-		92F5A96314D5DFC80032CEDB /* Button.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Button.h; path = ../../../src/Button.h; sourceTree = "<group>"; };
-		92F5A96414D5DFC80032CEDB /* ButtonHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ButtonHandler.cpp; path = ../../../src/ButtonHandler.cpp; sourceTree = "<group>"; };
-		92F5A96514D5DFC80032CEDB /* ButtonHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ButtonHandler.h; path = ../../../src/ButtonHandler.h; sourceTree = "<group>"; };
-		92F5A96614D5DFC80032CEDB /* Clock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Clock.cpp; path = ../../../src/Clock.cpp; sourceTree = "<group>"; };
-		92F5A96714D5DFC80032CEDB /* Clock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Clock.h; path = ../../../src/Clock.h; sourceTree = "<group>"; };
-		92F5A96914D5DFC80032CEDB /* closure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = closure.h; sourceTree = "<group>"; };
-		92F5A96A14D5DFC80032CEDB /* closure_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = closure_impl.h; sourceTree = "<group>"; };
-		92F5A96B14D5DFC80032CEDB /* ColorRectSprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ColorRectSprite.cpp; path = ../../../src/ColorRectSprite.cpp; sourceTree = "<group>"; };
-		92F5A96C14D5DFC80032CEDB /* ColorRectSprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ColorRectSprite.h; path = ../../../src/ColorRectSprite.h; sourceTree = "<group>"; };
-		92F5A96E14D5DFC80032CEDB /* coroutines.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = coroutines.cpp; sourceTree = "<group>"; };
-		92F5A96F14D5DFC80032CEDB /* coroutines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = coroutines.h; sourceTree = "<group>"; };
-		92F5A97014D5DFC80032CEDB /* files_io.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = files_io.cpp; sourceTree = "<group>"; };
-		92F5A97114D5DFC80032CEDB /* files_io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = files_io.h; sourceTree = "<group>"; };
-		92F5A97214D5DFC80032CEDB /* ImageData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageData.cpp; sourceTree = "<group>"; };
-		92F5A97314D5DFC80032CEDB /* ImageData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageData.h; sourceTree = "<group>"; };
-		92F5A97414D5DFC80032CEDB /* ImageDataOperations.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageDataOperations.cpp; sourceTree = "<group>"; };
-		92F5A97514D5DFC80032CEDB /* ImageDataOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageDataOperations.h; sourceTree = "<group>"; };
-		92F5A97614D5DFC80032CEDB /* intrusive_ptr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intrusive_ptr.h; sourceTree = "<group>"; };
-		92F5A97714D5DFC80032CEDB /* Object.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Object.cpp; sourceTree = "<group>"; };
-		92F5A97814D5DFC80032CEDB /* Object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Object.h; sourceTree = "<group>"; };
-		92F5A97914D5DFC80032CEDB /* oxygine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = oxygine.cpp; sourceTree = "<group>"; };
-		92F5A97A14D5DFC80032CEDB /* oxygine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oxygine.h; sourceTree = "<group>"; };
-		92F5A97B14D5DFC80032CEDB /* pixel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pixel.h; sourceTree = "<group>"; };
-		92F5A97C14D5DFC80032CEDB /* ref_counter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ref_counter.h; sourceTree = "<group>"; };
-		92F5A97D14D5DFC80032CEDB /* Renderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Renderer.cpp; sourceTree = "<group>"; };
-		92F5A97E14D5DFC80032CEDB /* Renderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Renderer.h; sourceTree = "<group>"; };
-		92F5A97F14D5DFC80032CEDB /* Texture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Texture.cpp; sourceTree = "<group>"; };
-		92F5A98014D5DFC80032CEDB /* Texture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Texture.h; sourceTree = "<group>"; };
-		92F5A98114D5DFC80032CEDB /* DebugActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DebugActor.cpp; path = ../../../src/DebugActor.cpp; sourceTree = "<group>"; };
-		92F5A98214D5DFC80032CEDB /* DebugActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DebugActor.h; path = ../../../src/DebugActor.h; sourceTree = "<group>"; };
-		92F5A98314D5DFC80032CEDB /* EventHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EventHandler.cpp; path = ../../../src/EventHandler.cpp; sourceTree = "<group>"; };
-		92F5A98414D5DFC80032CEDB /* EventHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EventHandler.h; path = ../../../src/EventHandler.h; sourceTree = "<group>"; };
-		92F5A98514D5DFC80032CEDB /* EventState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EventState.h; path = ../../../src/EventState.h; sourceTree = "<group>"; };
-		92F5A98614D5DFC80032CEDB /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Font.cpp; path = ../../../src/Font.cpp; sourceTree = "<group>"; };
-		92F5A98714D5DFC80032CEDB /* Font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Font.h; path = ../../../src/Font.h; sourceTree = "<group>"; };
-		92F5A98814D5DFC80032CEDB /* Input.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Input.cpp; path = ../../../src/Input.cpp; sourceTree = "<group>"; };
-		92F5A98914D5DFC80032CEDB /* Input.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Input.h; path = ../../../src/Input.h; sourceTree = "<group>"; };
-		92F5A98A14D5DFC80032CEDB /* license.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = license.txt; path = ../../../src/license.txt; sourceTree = "<group>"; };
-		92F5A98C14D5DFC80032CEDB /* AffineTransform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AffineTransform.cpp; sourceTree = "<group>"; };
-		92F5A98D14D5DFC80032CEDB /* AffineTransform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AffineTransform.h; sourceTree = "<group>"; };
-		92F5A98E14D5DFC80032CEDB /* Color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Color.h; sourceTree = "<group>"; };
-		92F5A98F14D5DFC80032CEDB /* matrix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matrix.h; sourceTree = "<group>"; };
-		92F5A99014D5DFC80032CEDB /* Rect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Rect.h; sourceTree = "<group>"; };
-		92F5A99114D5DFC80032CEDB /* ScalarMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScalarMath.h; sourceTree = "<group>"; };
-		92F5A99214D5DFC80032CEDB /* vector2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector2.h; sourceTree = "<group>"; };
-		92F5A99314D5DFC80032CEDB /* vector3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector3.h; sourceTree = "<group>"; };
-		92F5A99414D5DFC80032CEDB /* vector4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vector4.h; sourceTree = "<group>"; };
-		92F5A99514D5DFC80032CEDB /* MemoryTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MemoryTexture.cpp; path = ../../../src/MemoryTexture.cpp; sourceTree = "<group>"; };
-		92F5A99614D5DFC80032CEDB /* MemoryTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MemoryTexture.h; path = ../../../src/MemoryTexture.h; sourceTree = "<group>"; };
-		92F5A99714D5DFC80032CEDB /* Modal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Modal.cpp; path = ../../../src/Modal.cpp; sourceTree = "<group>"; };
-		92F5A99814D5DFC80032CEDB /* Modal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Modal.h; path = ../../../src/Modal.h; sourceTree = "<group>"; };
-		92F5A99914D5DFC80032CEDB /* Options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Options.cpp; path = ../../../src/Options.cpp; sourceTree = "<group>"; };
-		92F5A99A14D5DFC80032CEDB /* Options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Options.h; path = ../../../src/Options.h; sourceTree = "<group>"; };
-		92F5A99B14D5DFC80032CEDB /* PointerState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PointerState.cpp; path = ../../../src/PointerState.cpp; sourceTree = "<group>"; };
-		92F5A99C14D5DFC80032CEDB /* PointerState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PointerState.h; path = ../../../src/PointerState.h; sourceTree = "<group>"; };
-		92F5A99E14D5DFC80032CEDB /* pugiconfig.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pugiconfig.hpp; sourceTree = "<group>"; };
-		92F5A99F14D5DFC80032CEDB /* pugixml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pugixml.cpp; sourceTree = "<group>"; };
-		92F5A9A014D5DFC80032CEDB /* pugixml.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = pugixml.hpp; sourceTree = "<group>"; };
-		92F5A9A114D5DFC80032CEDB /* ResAnim.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ResAnim.cpp; path = ../../../src/ResAnim.cpp; sourceTree = "<group>"; };
-		92F5A9A214D5DFC80032CEDB /* ResAnim.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResAnim.h; path = ../../../src/ResAnim.h; sourceTree = "<group>"; };
-		92F5A9A314D5DFC80032CEDB /* ResAtlas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ResAtlas.cpp; path = ../../../src/ResAtlas.cpp; sourceTree = "<group>"; };
-		92F5A9A414D5DFC80032CEDB /* ResAtlas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResAtlas.h; path = ../../../src/ResAtlas.h; sourceTree = "<group>"; };
-		92F5A9A514D5DFC80032CEDB /* ResFont.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ResFont.cpp; path = ../../../src/ResFont.cpp; sourceTree = "<group>"; };
-		92F5A9A614D5DFC80032CEDB /* ResFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResFont.h; path = ../../../src/ResFont.h; sourceTree = "<group>"; };
-		92F5A9A714D5DFC80032CEDB /* ResFontBM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ResFontBM.cpp; path = ../../../src/ResFontBM.cpp; sourceTree = "<group>"; };
-		92F5A9A814D5DFC80032CEDB /* ResFontBM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResFontBM.h; path = ../../../src/ResFontBM.h; sourceTree = "<group>"; };
-		92F5A9AB14D5DFC80032CEDB /* Resource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Resource.h; path = ../../../src/Resource.h; sourceTree = "<group>"; };
-		92F5A9AC14D5DFC80032CEDB /* Resources.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Resources.cpp; path = ../../../src/Resources.cpp; sourceTree = "<group>"; };
-		92F5A9AD14D5DFC80032CEDB /* Resources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Resources.h; path = ../../../src/Resources.h; sourceTree = "<group>"; };
-		92F5A9AE14D5DFC80032CEDB /* ResSound.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ResSound.cpp; path = ../../../src/ResSound.cpp; sourceTree = "<group>"; };
-		92F5A9AF14D5DFC80032CEDB /* ResSound.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ResSound.h; path = ../../../src/ResSound.h; sourceTree = "<group>"; };
-		92F5A9B014D5DFC80032CEDB /* RootActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RootActor.cpp; path = ../../../src/RootActor.cpp; sourceTree = "<group>"; };
-		92F5A9B114D5DFC80032CEDB /* RootActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RootActor.h; path = ../../../src/RootActor.h; sourceTree = "<group>"; };
-		92F5A9B214D5DFC80032CEDB /* Sprite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sprite.cpp; path = ../../../src/Sprite.cpp; sourceTree = "<group>"; };
-		92F5A9B314D5DFC80032CEDB /* Sprite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sprite.h; path = ../../../src/Sprite.h; sourceTree = "<group>"; };
-		92F5A9B514D5DFC80032CEDB /* TextTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextTest.cpp; sourceTree = "<group>"; };
-		92F5A9B614D5DFC80032CEDB /* TextTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextTest.h; sourceTree = "<group>"; };
-		92F5A9B814D5DFC80032CEDB /* ResizeContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ResizeContext.cpp; sourceTree = "<group>"; };
-		92F5A9B914D5DFC80032CEDB /* ResizeContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResizeContext.h; sourceTree = "<group>"; };
-		92F5A9BA14D5DFC80032CEDB /* TextUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextUtils.cpp; sourceTree = "<group>"; };
-		92F5A9BB14D5DFC80032CEDB /* TextUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextUtils.h; sourceTree = "<group>"; };
-		92F5A9BC14D5DFC80032CEDB /* TextActor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextActor.cpp; path = ../../../src/TextActor.cpp; sourceTree = "<group>"; };
-		92F5A9BD14D5DFC80032CEDB /* TextActor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextActor.h; path = ../../../src/TextActor.h; sourceTree = "<group>"; };
-		92F5A9BE14D5DFC80032CEDB /* TextStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TextStyle.h; path = ../../../src/TextStyle.h; sourceTree = "<group>"; };
-		92F5A9BF14D5DFC80032CEDB /* Tweener.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tweener.cpp; path = ../../../src/Tweener.cpp; sourceTree = "<group>"; };
-		92F5A9C014D5DFC80032CEDB /* Tweener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Tweener.h; path = ../../../src/Tweener.h; sourceTree = "<group>"; };
-		92F5A9C114D5DFC80032CEDB /* UpdateState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UpdateState.h; path = ../../../src/UpdateState.h; sourceTree = "<group>"; };
-		92F5A9C314D5DFC80032CEDB /* AtlasTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AtlasTool.cpp; sourceTree = "<group>"; };
-		92F5A9C414D5DFC80032CEDB /* AtlasTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AtlasTool.h; sourceTree = "<group>"; };
-		92F5A9C514D5DFC80032CEDB /* ImageUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImageUtils.cpp; sourceTree = "<group>"; };
-		92F5A9C614D5DFC80032CEDB /* ImageUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageUtils.h; sourceTree = "<group>"; };
-		92F5A9C714D5DFC80032CEDB /* intrusive_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = intrusive_list.h; sourceTree = "<group>"; };
-		92F5A9C814D5DFC80032CEDB /* VisualStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = VisualStyle.cpp; path = ../../../src/VisualStyle.cpp; sourceTree = "<group>"; };
-		92F5A9C914D5DFC80032CEDB /* VisualStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VisualStyle.h; path = ../../../src/VisualStyle.h; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-		92F5A94B14D5DF810032CEDB /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				92D1BBD514D5E9BF0004E5C6 /* OpenGLES.framework in Frameworks */,
-				92F5A95214D5DF810032CEDB /* Foundation.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-		92D1BC0314D5EF8B0004E5C6 /* greenlets */ = {
-			isa = PBXGroup;
-			children = (
-				92D1BC2514D5EFB30004E5C6 /* slp_platformselect.h */,
-				92D1BC0514D5EFAB0004E5C6 /* greenlet.c */,
-				92D1BC0614D5EFAB0004E5C6 /* greenlet.h */,
-				92D1BC0714D5EFAB0004E5C6 /* platform */,
-			);
-			name = greenlets;
-			sourceTree = "<group>";
-		};
-		92D1BC0714D5EFAB0004E5C6 /* platform */ = {
-			isa = PBXGroup;
-			children = (
-				92D1BC2B14D5F3170004E5C6 /* switch_arm32_ios.h */,
-				92D1BC0814D5EFAB0004E5C6 /* switch_amd64_unix.h */,
-				92D1BC0914D5EFAB0004E5C6 /* switch_arm32_gcc.h */,
-				92D1BC0A14D5EFAB0004E5C6 /* switch_mips_unix.h */,
-				92D1BC0B14D5EFAB0004E5C6 /* switch_ppc_aix.h */,
-				92D1BC0C14D5EFAB0004E5C6 /* switch_ppc_linux.h */,
-				92D1BC0D14D5EFAB0004E5C6 /* switch_ppc_macosx.h */,
-				92D1BC0E14D5EFAB0004E5C6 /* switch_ppc_unix.h */,
-				92D1BC0F14D5EFAB0004E5C6 /* switch_s390_unix.h */,
-				92D1BC1014D5EFAB0004E5C6 /* switch_sparc_sun_gcc.h */,
-				92D1BC1314D5EFAB0004E5C6 /* switch_x64_msvc.h */,
-				92D1BC1414D5EFAB0004E5C6 /* switch_x86_msvc.h */,
-				92D1BC1514D5EFAB0004E5C6 /* switch_x86_unix.h */,
-			);
-			name = platform;
-			path = ../../../greenlets/greenlets/greenlets/platform;
-			sourceTree = "<group>";
-		};
-		92F5A94314D5DF810032CEDB = {
-			isa = PBXGroup;
-			children = (
-				92D1BBD414D5E9BF0004E5C6 /* OpenGLES.framework */,
-				92F5A95314D5DF810032CEDB /* oxygine_xcode */,
-				92F5A95014D5DF810032CEDB /* Frameworks */,
-				92F5A94F14D5DF810032CEDB /* Products */,
-			);
-			sourceTree = "<group>";
-		};
-		92F5A94F14D5DF810032CEDB /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A94E14D5DF810032CEDB /* liboxygine_xcode.a */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		92F5A95014D5DF810032CEDB /* Frameworks */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A95114D5DF810032CEDB /* Foundation.framework */,
-			);
-			name = Frameworks;
-			sourceTree = "<group>";
-		};
-		92F5A95314D5DF810032CEDB /* oxygine_xcode */ = {
-			isa = PBXGroup;
-			children = (
-				92D1BC0314D5EF8B0004E5C6 /* greenlets */,
-				92F5A95E14D5DFAA0032CEDB /* src */,
-				92F5A95414D5DF810032CEDB /* Supporting Files */,
-			);
-			path = oxygine_xcode;
-			sourceTree = "<group>";
-		};
-		92F5A95414D5DF810032CEDB /* Supporting Files */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A95514D5DF810032CEDB /* oxygine_xcode-Prefix.pch */,
-			);
-			name = "Supporting Files";
-			sourceTree = "<group>";
-		};
-		92F5A95E14D5DFAA0032CEDB /* src */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A95F14D5DFC80032CEDB /* Actor.cpp */,
-				92F5A96014D5DFC80032CEDB /* Actor.h */,
-				92F5A96114D5DFC80032CEDB /* AnimationFrame.h */,
-				92F5A96214D5DFC80032CEDB /* Button.cpp */,
-				92F5A96314D5DFC80032CEDB /* Button.h */,
-				92F5A96414D5DFC80032CEDB /* ButtonHandler.cpp */,
-				92F5A96514D5DFC80032CEDB /* ButtonHandler.h */,
-				92F5A96614D5DFC80032CEDB /* Clock.cpp */,
-				92F5A96714D5DFC80032CEDB /* Clock.h */,
-				92F5A96814D5DFC80032CEDB /* closure */,
-				92F5A96B14D5DFC80032CEDB /* ColorRectSprite.cpp */,
-				92F5A96C14D5DFC80032CEDB /* ColorRectSprite.h */,
-				92F5A96D14D5DFC80032CEDB /* core */,
-				92F5A98114D5DFC80032CEDB /* DebugActor.cpp */,
-				92F5A98214D5DFC80032CEDB /* DebugActor.h */,
-				92F5A98314D5DFC80032CEDB /* EventHandler.cpp */,
-				92F5A98414D5DFC80032CEDB /* EventHandler.h */,
-				92F5A98514D5DFC80032CEDB /* EventState.h */,
-				92F5A98614D5DFC80032CEDB /* Font.cpp */,
-				92F5A98714D5DFC80032CEDB /* Font.h */,
-				92F5A98814D5DFC80032CEDB /* Input.cpp */,
-				92F5A98914D5DFC80032CEDB /* Input.h */,
-				92F5A98A14D5DFC80032CEDB /* license.txt */,
-				92F5A98B14D5DFC80032CEDB /* math */,
-				92F5A99514D5DFC80032CEDB /* MemoryTexture.cpp */,
-				92F5A99614D5DFC80032CEDB /* MemoryTexture.h */,
-				92F5A99714D5DFC80032CEDB /* Modal.cpp */,
-				92F5A99814D5DFC80032CEDB /* Modal.h */,
-				92F5A99914D5DFC80032CEDB /* Options.cpp */,
-				92F5A99A14D5DFC80032CEDB /* Options.h */,
-				92F5A99B14D5DFC80032CEDB /* PointerState.cpp */,
-				92F5A99C14D5DFC80032CEDB /* PointerState.h */,
-				92F5A99D14D5DFC80032CEDB /* pugixml */,
-				92F5A9A114D5DFC80032CEDB /* ResAnim.cpp */,
-				92F5A9A214D5DFC80032CEDB /* ResAnim.h */,
-				92F5A9A314D5DFC80032CEDB /* ResAtlas.cpp */,
-				92F5A9A414D5DFC80032CEDB /* ResAtlas.h */,
-				92F5A9A514D5DFC80032CEDB /* ResFont.cpp */,
-				92F5A9A614D5DFC80032CEDB /* ResFont.h */,
-				92F5A9A714D5DFC80032CEDB /* ResFontBM.cpp */,
-				92F5A9A814D5DFC80032CEDB /* ResFontBM.h */,
-				92F5A9AB14D5DFC80032CEDB /* Resource.h */,
-				92F5A9AC14D5DFC80032CEDB /* Resources.cpp */,
-				92F5A9AD14D5DFC80032CEDB /* Resources.h */,
-				92F5A9AE14D5DFC80032CEDB /* ResSound.cpp */,
-				92F5A9AF14D5DFC80032CEDB /* ResSound.h */,
-				92F5A9B014D5DFC80032CEDB /* RootActor.cpp */,
-				92F5A9B114D5DFC80032CEDB /* RootActor.h */,
-				92F5A9B214D5DFC80032CEDB /* Sprite.cpp */,
-				92F5A9B314D5DFC80032CEDB /* Sprite.h */,
-				92F5A9B414D5DFC80032CEDB /* tests */,
-				92F5A9B714D5DFC80032CEDB /* text_utils */,
-				92F5A9BC14D5DFC80032CEDB /* TextActor.cpp */,
-				92F5A9BD14D5DFC80032CEDB /* TextActor.h */,
-				92F5A9BE14D5DFC80032CEDB /* TextStyle.h */,
-				92F5A9BF14D5DFC80032CEDB /* Tweener.cpp */,
-				92F5A9C014D5DFC80032CEDB /* Tweener.h */,
-				92F5A9C114D5DFC80032CEDB /* UpdateState.h */,
-				92F5A9C214D5DFC80032CEDB /* utils */,
-				92F5A9C814D5DFC80032CEDB /* VisualStyle.cpp */,
-				92F5A9C914D5DFC80032CEDB /* VisualStyle.h */,
-			);
-			name = src;
-			sourceTree = "<group>";
-		};
-		92F5A96814D5DFC80032CEDB /* closure */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A96914D5DFC80032CEDB /* closure.h */,
-				92F5A96A14D5DFC80032CEDB /* closure_impl.h */,
-			);
-			name = closure;
-			path = ../../../src/closure;
-			sourceTree = "<group>";
-		};
-		92F5A96D14D5DFC80032CEDB /* core */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A96E14D5DFC80032CEDB /* coroutines.cpp */,
-				92F5A96F14D5DFC80032CEDB /* coroutines.h */,
-				92F5A97014D5DFC80032CEDB /* files_io.cpp */,
-				92F5A97114D5DFC80032CEDB /* files_io.h */,
-				92F5A97214D5DFC80032CEDB /* ImageData.cpp */,
-				92F5A97314D5DFC80032CEDB /* ImageData.h */,
-				92F5A97414D5DFC80032CEDB /* ImageDataOperations.cpp */,
-				92F5A97514D5DFC80032CEDB /* ImageDataOperations.h */,
-				92F5A97614D5DFC80032CEDB /* intrusive_ptr.h */,
-				92F5A97714D5DFC80032CEDB /* Object.cpp */,
-				92F5A97814D5DFC80032CEDB /* Object.h */,
-				92F5A97914D5DFC80032CEDB /* oxygine.cpp */,
-				92F5A97A14D5DFC80032CEDB /* oxygine.h */,
-				92F5A97B14D5DFC80032CEDB /* pixel.h */,
-				92F5A97C14D5DFC80032CEDB /* ref_counter.h */,
-				92F5A97D14D5DFC80032CEDB /* Renderer.cpp */,
-				92F5A97E14D5DFC80032CEDB /* Renderer.h */,
-				92F5A97F14D5DFC80032CEDB /* Texture.cpp */,
-				92F5A98014D5DFC80032CEDB /* Texture.h */,
-			);
-			name = core;
-			path = ../../../src/core;
-			sourceTree = "<group>";
-		};
-		92F5A98B14D5DFC80032CEDB /* math */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A98C14D5DFC80032CEDB /* AffineTransform.cpp */,
-				92F5A98D14D5DFC80032CEDB /* AffineTransform.h */,
-				92F5A98E14D5DFC80032CEDB /* Color.h */,
-				92F5A98F14D5DFC80032CEDB /* matrix.h */,
-				92F5A99014D5DFC80032CEDB /* Rect.h */,
-				92F5A99114D5DFC80032CEDB /* ScalarMath.h */,
-				92F5A99214D5DFC80032CEDB /* vector2.h */,
-				92F5A99314D5DFC80032CEDB /* vector3.h */,
-				92F5A99414D5DFC80032CEDB /* vector4.h */,
-			);
-			name = math;
-			path = ../../../src/math;
-			sourceTree = "<group>";
-		};
-		92F5A99D14D5DFC80032CEDB /* pugixml */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A99E14D5DFC80032CEDB /* pugiconfig.hpp */,
-				92F5A99F14D5DFC80032CEDB /* pugixml.cpp */,
-				92F5A9A014D5DFC80032CEDB /* pugixml.hpp */,
-			);
-			name = pugixml;
-			path = ../../../src/pugixml;
-			sourceTree = "<group>";
-		};
-		92F5A9B414D5DFC80032CEDB /* tests */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A9B514D5DFC80032CEDB /* TextTest.cpp */,
-				92F5A9B614D5DFC80032CEDB /* TextTest.h */,
-			);
-			name = tests;
-			path = ../../../src/tests;
-			sourceTree = "<group>";
-		};
-		92F5A9B714D5DFC80032CEDB /* text_utils */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A9B814D5DFC80032CEDB /* ResizeContext.cpp */,
-				92F5A9B914D5DFC80032CEDB /* ResizeContext.h */,
-				92F5A9BA14D5DFC80032CEDB /* TextUtils.cpp */,
-				92F5A9BB14D5DFC80032CEDB /* TextUtils.h */,
-			);
-			name = text_utils;
-			path = ../../../src/text_utils;
-			sourceTree = "<group>";
-		};
-		92F5A9C214D5DFC80032CEDB /* utils */ = {
-			isa = PBXGroup;
-			children = (
-				92F5A9C314D5DFC80032CEDB /* AtlasTool.cpp */,
-				92F5A9C414D5DFC80032CEDB /* AtlasTool.h */,
-				92F5A9C514D5DFC80032CEDB /* ImageUtils.cpp */,
-				92F5A9C614D5DFC80032CEDB /* ImageUtils.h */,
-				92F5A9C714D5DFC80032CEDB /* intrusive_list.h */,
-			);
-			name = utils;
-			path = ../../../src/utils;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
-		92F5A94C14D5DF810032CEDB /* Headers */ = {
-			isa = PBXHeadersBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				92F5A9CB14D5DFC80032CEDB /* Actor.h in Headers */,
-				92F5A9CC14D5DFC80032CEDB /* AnimationFrame.h in Headers */,
-				92F5A9CE14D5DFC80032CEDB /* Button.h in Headers */,
-				92F5A9D014D5DFC80032CEDB /* ButtonHandler.h in Headers */,
-				92F5A9D214D5DFC80032CEDB /* Clock.h in Headers */,
-				92F5A9D314D5DFC80032CEDB /* closure.h in Headers */,
-				92F5A9D414D5DFC80032CEDB /* closure_impl.h in Headers */,
-				92F5A9D614D5DFC80032CEDB /* ColorRectSprite.h in Headers */,
-				92F5A9D814D5DFC80032CEDB /* coroutines.h in Headers */,
-				92F5A9DA14D5DFC80032CEDB /* files_io.h in Headers */,
-				92F5A9DC14D5DFC80032CEDB /* ImageData.h in Headers */,
-				92F5A9DE14D5DFC80032CEDB /* ImageDataOperations.h in Headers */,
-				92F5A9DF14D5DFC80032CEDB /* intrusive_ptr.h in Headers */,
-				92F5A9E114D5DFC80032CEDB /* Object.h in Headers */,
-				92F5A9E314D5DFC80032CEDB /* oxygine.h in Headers */,
-				92F5A9E414D5DFC80032CEDB /* pixel.h in Headers */,
-				92F5A9E514D5DFC80032CEDB /* ref_counter.h in Headers */,
-				92F5A9E714D5DFC80032CEDB /* Renderer.h in Headers */,
-				92F5A9E914D5DFC80032CEDB /* Texture.h in Headers */,
-				92F5A9EB14D5DFC80032CEDB /* DebugActor.h in Headers */,
-				92F5A9ED14D5DFC80032CEDB /* EventHandler.h in Headers */,
-				92F5A9EE14D5DFC80032CEDB /* EventState.h in Headers */,
-				92F5A9F014D5DFC80032CEDB /* Font.h in Headers */,
-				92F5A9F214D5DFC80032CEDB /* Input.h in Headers */,
-				92F5A9F414D5DFC80032CEDB /* AffineTransform.h in Headers */,
-				92F5A9F514D5DFC80032CEDB /* Color.h in Headers */,
-				92F5A9F614D5DFC80032CEDB /* matrix.h in Headers */,
-				92F5A9F714D5DFC80032CEDB /* Rect.h in Headers */,
-				92F5A9F814D5DFC80032CEDB /* ScalarMath.h in Headers */,
-				92F5A9F914D5DFC80032CEDB /* vector2.h in Headers */,
-				92F5A9FA14D5DFC80032CEDB /* vector3.h in Headers */,
-				92F5A9FB14D5DFC80032CEDB /* vector4.h in Headers */,
-				92F5A9FD14D5DFC80032CEDB /* MemoryTexture.h in Headers */,
-				92F5A9FF14D5DFC80032CEDB /* Modal.h in Headers */,
-				92F5AA0114D5DFC80032CEDB /* Options.h in Headers */,
-				92F5AA0314D5DFC80032CEDB /* PointerState.h in Headers */,
-				92F5AA0414D5DFC80032CEDB /* pugiconfig.hpp in Headers */,
-				92F5AA0614D5DFC80032CEDB /* pugixml.hpp in Headers */,
-				92F5AA0814D5DFC80032CEDB /* ResAnim.h in Headers */,
-				92F5AA0A14D5DFC80032CEDB /* ResAtlas.h in Headers */,
-				92F5AA0C14D5DFC80032CEDB /* ResFont.h in Headers */,
-				92F5AA0E14D5DFC80032CEDB /* ResFontBM.h in Headers */,
-				92F5AA1114D5DFC80032CEDB /* Resource.h in Headers */,
-				92F5AA1314D5DFC80032CEDB /* Resources.h in Headers */,
-				92F5AA1514D5DFC80032CEDB /* ResSound.h in Headers */,
-				92F5AA1714D5DFC80032CEDB /* RootActor.h in Headers */,
-				92F5AA1914D5DFC80032CEDB /* Sprite.h in Headers */,
-				92F5AA1B14D5DFC80032CEDB /* TextTest.h in Headers */,
-				92F5AA1D14D5DFC80032CEDB /* ResizeContext.h in Headers */,
-				92F5AA1F14D5DFC80032CEDB /* TextUtils.h in Headers */,
-				92F5AA2114D5DFC80032CEDB /* TextActor.h in Headers */,
-				92F5AA2214D5DFC80032CEDB /* TextStyle.h in Headers */,
-				92F5AA2414D5DFC80032CEDB /* Tweener.h in Headers */,
-				92F5AA2514D5DFC80032CEDB /* UpdateState.h in Headers */,
-				92F5AA2714D5DFC80032CEDB /* AtlasTool.h in Headers */,
-				92F5AA2914D5DFC80032CEDB /* ImageUtils.h in Headers */,
-				92F5AA2A14D5DFC80032CEDB /* intrusive_list.h in Headers */,
-				92F5AA2C14D5DFC80032CEDB /* VisualStyle.h in Headers */,
-				92D1BC1714D5EFAB0004E5C6 /* greenlet.h in Headers */,
-				92D1BC1814D5EFAB0004E5C6 /* switch_amd64_unix.h in Headers */,
-				92D1BC1914D5EFAB0004E5C6 /* switch_arm32_gcc.h in Headers */,
-				92D1BC1A14D5EFAB0004E5C6 /* switch_mips_unix.h in Headers */,
-				92D1BC1B14D5EFAB0004E5C6 /* switch_ppc_aix.h in Headers */,
-				92D1BC1C14D5EFAB0004E5C6 /* switch_ppc_linux.h in Headers */,
-				92D1BC1D14D5EFAB0004E5C6 /* switch_ppc_macosx.h in Headers */,
-				92D1BC1E14D5EFAB0004E5C6 /* switch_ppc_unix.h in Headers */,
-				92D1BC1F14D5EFAB0004E5C6 /* switch_s390_unix.h in Headers */,
-				92D1BC2014D5EFAB0004E5C6 /* switch_sparc_sun_gcc.h in Headers */,
-				92D1BC2214D5EFAB0004E5C6 /* switch_x64_msvc.h in Headers */,
-				92D1BC2314D5EFAB0004E5C6 /* switch_x86_msvc.h in Headers */,
-				92D1BC2414D5EFAB0004E5C6 /* switch_x86_unix.h in Headers */,
-				92D1BC2614D5EFB30004E5C6 /* slp_platformselect.h in Headers */,
-				92D1BC2C14D5F3170004E5C6 /* switch_arm32_ios.h in Headers */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
-		92F5A94D14D5DF810032CEDB /* oxygine_xcode */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 92F5A95B14D5DF810032CEDB /* Build configuration list for PBXNativeTarget "oxygine_xcode" */;
-			buildPhases = (
-				92F5A94A14D5DF810032CEDB /* Sources */,
-				92F5A94B14D5DF810032CEDB /* Frameworks */,
-				92F5A94C14D5DF810032CEDB /* Headers */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = oxygine_xcode;
-			productName = oxygine_xcode;
-			productReference = 92F5A94E14D5DF810032CEDB /* liboxygine_xcode.a */;
-			productType = "com.apple.product-type.library.static";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		92F5A94514D5DF810032CEDB /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastUpgradeCheck = 0420;
-			};
-			buildConfigurationList = 92F5A94814D5DF810032CEDB /* Build configuration list for PBXProject "oxygine_xcode" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = English;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-			);
-			mainGroup = 92F5A94314D5DF810032CEDB;
-			productRefGroup = 92F5A94F14D5DF810032CEDB /* Products */;
-			projectDirPath = "";
-			projectRoot = "";
-			targets = (
-				92F5A94D14D5DF810032CEDB /* oxygine_xcode */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
-		92F5A94A14D5DF810032CEDB /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				92F5A9CA14D5DFC80032CEDB /* Actor.cpp in Sources */,
-				92F5A9CD14D5DFC80032CEDB /* Button.cpp in Sources */,
-				92F5A9CF14D5DFC80032CEDB /* ButtonHandler.cpp in Sources */,
-				92F5A9D114D5DFC80032CEDB /* Clock.cpp in Sources */,
-				92F5A9D514D5DFC80032CEDB /* ColorRectSprite.cpp in Sources */,
-				92F5A9D714D5DFC80032CEDB /* coroutines.cpp in Sources */,
-				92F5A9D914D5DFC80032CEDB /* files_io.cpp in Sources */,
-				92F5A9DB14D5DFC80032CEDB /* ImageData.cpp in Sources */,
-				92F5A9DD14D5DFC80032CEDB /* ImageDataOperations.cpp in Sources */,
-				92F5A9E014D5DFC80032CEDB /* Object.cpp in Sources */,
-				92F5A9E214D5DFC80032CEDB /* oxygine.cpp in Sources */,
-				92F5A9E614D5DFC80032CEDB /* Renderer.cpp in Sources */,
-				92F5A9E814D5DFC80032CEDB /* Texture.cpp in Sources */,
-				92F5A9EA14D5DFC80032CEDB /* DebugActor.cpp in Sources */,
-				92F5A9EC14D5DFC80032CEDB /* EventHandler.cpp in Sources */,
-				92F5A9EF14D5DFC80032CEDB /* Font.cpp in Sources */,
-				92F5A9F114D5DFC80032CEDB /* Input.cpp in Sources */,
-				92F5A9F314D5DFC80032CEDB /* AffineTransform.cpp in Sources */,
-				92F5A9FC14D5DFC80032CEDB /* MemoryTexture.cpp in Sources */,
-				92F5A9FE14D5DFC80032CEDB /* Modal.cpp in Sources */,
-				92F5AA0014D5DFC80032CEDB /* Options.cpp in Sources */,
-				92F5AA0214D5DFC80032CEDB /* PointerState.cpp in Sources */,
-				92F5AA0514D5DFC80032CEDB /* pugixml.cpp in Sources */,
-				92F5AA0714D5DFC80032CEDB /* ResAnim.cpp in Sources */,
-				92F5AA0914D5DFC80032CEDB /* ResAtlas.cpp in Sources */,
-				92F5AA0B14D5DFC80032CEDB /* ResFont.cpp in Sources */,
-				92F5AA0D14D5DFC80032CEDB /* ResFontBM.cpp in Sources */,
-				92F5AA1214D5DFC80032CEDB /* Resources.cpp in Sources */,
-				92F5AA1414D5DFC80032CEDB /* ResSound.cpp in Sources */,
-				92F5AA1614D5DFC80032CEDB /* RootActor.cpp in Sources */,
-				92F5AA1814D5DFC80032CEDB /* Sprite.cpp in Sources */,
-				92F5AA1A14D5DFC80032CEDB /* TextTest.cpp in Sources */,
-				92F5AA1C14D5DFC80032CEDB /* ResizeContext.cpp in Sources */,
-				92F5AA1E14D5DFC80032CEDB /* TextUtils.cpp in Sources */,
-				92F5AA2014D5DFC80032CEDB /* TextActor.cpp in Sources */,
-				92F5AA2314D5DFC80032CEDB /* Tweener.cpp in Sources */,
-				92F5AA2614D5DFC80032CEDB /* AtlasTool.cpp in Sources */,
-				92F5AA2814D5DFC80032CEDB /* ImageUtils.cpp in Sources */,
-				92F5AA2B14D5DFC80032CEDB /* VisualStyle.cpp in Sources */,
-				92D1BC1614D5EFAB0004E5C6 /* greenlet.c in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
-		92F5A95914D5DF810032CEDB /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
-				COCOS2DX = "$(SRCROOT)/../../../../cocos2d-x/";
-				COPY_PHASE_STRIP = NO;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PREPROCESSOR_DEFINITIONS = (
-					"DEBUG=1",
-					"$(inherited)",
-				);
-				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "$(inherited)";
-				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
-				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = (
-					../../greenlets/greenlets/greenlets/,
-					"$(COCOS2DX)/cocos2dx/include/",
-					"$(COCOS2DX)/cocos2dx/platform/",
-					"$(COCOS2DX)/cocos2dx/",
-				);
-				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "../../greenlets/greenlets/greenlets/ $(COCOS2DX)/cocos2dx/include/ $(COCOS2DX)/cocos2dx/platform/";
-			};
-			name = Debug;
-		};
-		92F5A95A14D5DF810032CEDB /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
-				COCOS2DX = "$(SRCROOT)/../../../../cocos2d-x/";
-				COPY_PHASE_STRIP = YES;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "$(inherited)";
-				GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
-				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				HEADER_SEARCH_PATHS = (
-					../../greenlets/greenlets/greenlets/,
-					"$(COCOS2DX)/cocos2dx/include/",
-					"$(COCOS2DX)/cocos2dx/platform/",
-					"$(COCOS2DX)/cocos2dx/",
-				);
-				IPHONEOS_DEPLOYMENT_TARGET = 5.0;
-				SDKROOT = iphoneos;
-				USER_HEADER_SEARCH_PATHS = "../../greenlets/greenlets/greenlets/ $(COCOS2DX)/cocos2dx/include/ $(COCOS2DX)/cocos2dx/platform/";
-				VALIDATE_PRODUCT = YES;
-			};
-			name = Release;
-		};
-		92F5A95C14D5DF810032CEDB /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				DSTROOT = /tmp/oxygine_xcode.dst;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "oxygine_xcode/oxygine_xcode-Prefix.pch";
-				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "";
-				OTHER_LDFLAGS = "-ObjC";
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				SKIP_INSTALL = YES;
-			};
-			name = Debug;
-		};
-		92F5A95D14D5DF810032CEDB /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				DSTROOT = /tmp/oxygine_xcode.dst;
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "oxygine_xcode/oxygine_xcode-Prefix.pch";
-				GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = "";
-				OTHER_LDFLAGS = "-ObjC";
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				SKIP_INSTALL = YES;
-			};
-			name = Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		92F5A94814D5DF810032CEDB /* Build configuration list for PBXProject "oxygine_xcode" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				92F5A95914D5DF810032CEDB /* Debug */,
-				92F5A95A14D5DF810032CEDB /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		92F5A95B14D5DF810032CEDB /* Build configuration list for PBXNativeTarget "oxygine_xcode" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				92F5A95C14D5DF810032CEDB /* Debug */,
-				92F5A95D14D5DF810032CEDB /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 92F5A94514D5DF810032CEDB /* Project object */;
-}

+ 0 - 7
oxygine/SDL/oxygine_xcode/oxygine_xcode.xcodeproj/project.xcworkspace/contents.xcworkspacedata

@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Workspace
-   version = "1.0">
-   <FileRef
-      location = "self:oxygine_xcode.xcodeproj">
-   </FileRef>
-</Workspace>

+ 0 - 10
oxygine/SDL/oxygine_xcode/oxygine_xcode/oxygen_xcode-Prefix.pch

@@ -1,10 +0,0 @@
-//
-// Prefix header for all source files of the 'oxygen_xcode' target in the 'oxygen_xcode' project
-//
-
-#ifdef __OBJC__
-    #import <Foundation/Foundation.h>
-#endif
-
-#include <TargetConditionals.h>
-#define COCOS2DX

+ 0 - 7
oxygine/SDL/readme.txt

@@ -1,7 +0,0 @@
-1. unpack cocosx2x
-2. open project cocos2d-win32.vc2008.sln
-3. build and check it
-4. unfold HelloWorld project
-5. remove HelloWorldScene.h, HelloWorldScene.cpp files
-7. goto PropertyManager and add vsprops from oxygen
-8. change AppDelegate

+ 2 - 1
oxygine/SDL/win32/oxygine_vs2010.vcxproj

@@ -156,10 +156,10 @@
     <ClCompile Include="..\..\src\res\Resource.cpp" />
     <ClCompile Include="..\..\src\res\Resources.cpp" />
     <ClCompile Include="..\..\src\res\ResStarlingAtlas.cpp" />
-    <ClCompile Include="..\..\src\RootActor.cpp" />
     <ClCompile Include="..\..\src\Serialize.cpp" />
     <ClCompile Include="..\..\src\SlidingActor.cpp" />
     <ClCompile Include="..\..\src\Sprite.cpp" />
+    <ClCompile Include="..\..\src\Stage.cpp" />
     <ClCompile Include="..\..\src\TextField.cpp" />
     <ClCompile Include="..\..\src\text_utils\Aligner.cpp" />
     <ClCompile Include="..\..\src\text_utils\Node.cpp" />
@@ -257,6 +257,7 @@
     <ClInclude Include="..\..\src\Serialize.h" />
     <ClInclude Include="..\..\src\SlidingActor.h" />
     <ClInclude Include="..\..\src\Sprite.h" />
+    <ClInclude Include="..\..\src\Stage.h" />
     <ClInclude Include="..\..\src\TextField.h" />
     <ClInclude Include="..\..\src\TextActor.h" />
     <ClInclude Include="..\..\src\TextStyle.h" />

+ 6 - 3
oxygine/SDL/win32/oxygine_vs2010.vcxproj.filters

@@ -252,9 +252,6 @@
     <ClCompile Include="..\..\src\ProgressBar.cpp">
       <Filter>src</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\RootActor.cpp">
-      <Filter>src</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\src\SlidingActor.cpp">
       <Filter>src</Filter>
     </ClCompile>
@@ -291,6 +288,9 @@
     <ClCompile Include="..\..\src\TextField.cpp">
       <Filter>src</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\Stage.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\closure\closure.h">
@@ -626,6 +626,9 @@
     <ClInclude Include="..\..\src\TextActor.h">
       <Filter>src</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\Stage.h">
+      <Filter>src</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="ReadMe.txt" />

+ 2 - 2
oxygine/SDL/win32/oxygine_vs2013.vcxproj

@@ -158,7 +158,7 @@
     <ClCompile Include="..\..\src\res\Resource.cpp" />
     <ClCompile Include="..\..\src\res\Resources.cpp" />
     <ClCompile Include="..\..\src\res\ResStarlingAtlas.cpp" />
-    <ClCompile Include="..\..\src\RootActor.cpp" />
+    <ClCompile Include="..\..\src\Stage.cpp" />
     <ClCompile Include="..\..\src\Serialize.cpp" />
     <ClCompile Include="..\..\src\SlidingActor.cpp" />
     <ClCompile Include="..\..\src\Sprite.cpp" />
@@ -255,7 +255,7 @@
     <ClInclude Include="..\..\src\res\Resource.h" />
     <ClInclude Include="..\..\src\res\Resources.h" />
     <ClInclude Include="..\..\src\res\ResStarlingAtlas.h" />
-    <ClInclude Include="..\..\src\RootActor.h" />
+    <ClInclude Include="..\..\src\Stage.h" />
     <ClInclude Include="..\..\src\Serialize.h" />
     <ClInclude Include="..\..\src\SlidingActor.h" />
     <ClInclude Include="..\..\src\Sprite.h" />

+ 6 - 6
oxygine/SDL/win32/oxygine_vs2013.vcxproj.filters

@@ -252,9 +252,6 @@
     <ClCompile Include="..\..\src\ProgressBar.cpp">
       <Filter>src</Filter>
     </ClCompile>
-    <ClCompile Include="..\..\src\RootActor.cpp">
-      <Filter>src</Filter>
-    </ClCompile>
     <ClCompile Include="..\..\src\SlidingActor.cpp">
       <Filter>src</Filter>
     </ClCompile>
@@ -289,6 +286,9 @@
     <ClCompile Include="..\..\src\TextField.cpp">
       <Filter>src</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\Stage.cpp">
+      <Filter>src</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\closure\closure.h">
@@ -579,9 +579,6 @@
     <ClInclude Include="..\..\src\RenderState.h">
       <Filter>src</Filter>
     </ClInclude>
-    <ClInclude Include="..\..\src\RootActor.h">
-      <Filter>src</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\src\SlidingActor.h">
       <Filter>src</Filter>
     </ClInclude>
@@ -622,6 +619,9 @@
     <ClInclude Include="..\..\src\TextField.h">
       <Filter>src</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\Stage.h">
+      <Filter>src</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="ReadMe.txt" />

+ 19 - 19
oxygine/src/Actor.cpp

@@ -2,7 +2,7 @@
 #include "core/Texture.h"
 #include "core/Renderer.h"
 #include "res/ResAnim.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "Clock.h"
 #include "Tweener.h"
 #include "math/AffineTransform.h"
@@ -34,7 +34,7 @@ namespace oxygine
 			_anchor(0, 0),
 			_scale(1, 1),
 			_rotation(0),
-			_flags(flag_visible | flag_inputEnabled | flag_inputChildrenEnabled | flag_childrenRelative | flag_fastTransform),
+			_flags(flag_visible | flag_touchEnabled | flag_touchChildrenEnabled | flag_childrenRelative | flag_fastTransform),
 			_parent(0),
 			_alpha(255),
 			_pressed(0),
@@ -95,8 +95,8 @@ namespace oxygine
 		removeTweens();
 		//removeEventHandlers();
 		removeChildren();
-		if (getRoot())
-			getRoot()->removeEventListeners(this);
+		if (getStage())
+			getStage()->removeEventListeners(this);
 	}	
 
 	std::string Actor::dump(const dumpOptions &opt) const
@@ -215,11 +215,11 @@ namespace oxygine
 
 		if (v)
 		{
-			getRoot()->addEventListener( TouchEvent::TOUCH_UP, CLOSURE(this, &Actor::_onMouseEvent));
+			getStage()->addEventListener( TouchEvent::TOUCH_UP, CLOSURE(this, &Actor::_onMouseEvent));
 			//printf("added\n");
 		}
 		else
-			getRoot()->removeEventListener( TouchEvent::TOUCH_UP, CLOSURE(this, &Actor::_onMouseEvent));
+			getStage()->removeEventListener( TouchEvent::TOUCH_UP, CLOSURE(this, &Actor::_onMouseEvent));
 
 		if (!old)
 			updateState();
@@ -239,11 +239,11 @@ namespace oxygine
 			e.index = v;
 			dispatchEvent(&e);
 
-			getRoot()->addEventListener( TouchEvent::MOVE, CLOSURE(this, &Actor::_onMouseEvent));
+			getStage()->addEventListener( TouchEvent::MOVE, CLOSURE(this, &Actor::_onMouseEvent));
 		}
 		else
 		{
-			getRoot()->removeEventListener( TouchEvent::MOVE, CLOSURE(this, &Actor::_onMouseEvent));
+			getStage()->removeEventListener( TouchEvent::MOVE, CLOSURE(this, &Actor::_onMouseEvent));
 			//if (!_overed)
 			{
 				TouchEvent e(TouchEvent::OUT);
@@ -267,7 +267,7 @@ namespace oxygine
 			if (isDescendant(act))
 			{
 				if (event->phase == Event::phase_target)
-					getRoot()->addEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Actor::_onMouseEvent));					
+					getStage()->addEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Actor::_onMouseEvent));					
 				setPressed(me->index);
 				//_pressed = me->id;
 				//setPressed(true);
@@ -281,7 +281,7 @@ namespace oxygine
 					{
 						setPressed(0);			
 						//it is event from ROOT, convert to local space
-						Vector2 lp = convert_global2local(this, getRoot(), me->localPosition);
+						Vector2 lp = convert_global2local(this, getStage(), me->localPosition);
 						if (isDescendant(act))
 						{
 							TouchEvent e(TouchEvent::CLICK, true, lp);
@@ -305,7 +305,7 @@ namespace oxygine
 						setOvered(me->index);
 
 						if (event->phase == Event::phase_target)
-							getRoot()->addEventListener(TouchEvent::MOVE, CLOSURE(this, &Actor::_onMouseEvent));
+							getStage()->addEventListener(TouchEvent::MOVE, CLOSURE(this, &Actor::_onMouseEvent));
 					}
 				}
 				else
@@ -378,7 +378,7 @@ namespace oxygine
 		while (actor)
 		{
 			spActor prev = actor->_prev;
-			if (!touchEvent || (_flags & flag_inputChildrenEnabled))
+			if (!touchEvent || (_flags & flag_touchChildrenEnabled))
 				actor->handleEvent(event);
 			//if (event->target)
 			//	break;
@@ -394,7 +394,7 @@ namespace oxygine
 			TouchEvent *me = safeCast<TouchEvent *>(event);
 			if (!event->target)
 			{
-				if ((_flags & flag_inputEnabled) && isOn(me->localPosition))
+				if ((_flags & flag_touchEnabled) && isOn(me->localPosition))
 				{
 					event->phase = Event::phase_target;
 					event->target = this;
@@ -1201,12 +1201,12 @@ namespace oxygine
 				}
 				if (!strcmp(name, "input"))
 				{
-					setInputEnabled(attr.as_bool());
+					setTouchEnabled(attr.as_bool());
 					break;
 				}
 				if (!strcmp(name, "inputch"))
 				{
-					setInputChildrenEnabled(attr.as_bool());
+					setTouchChildrenEnabled(attr.as_bool());
 					break;
 				}
 				if (!strcmp(name, "alpha"))
@@ -1263,17 +1263,17 @@ namespace oxygine
 		return convert_local2global_(child.get(), parent.get(), pos);
 	}
 
-	Vector2 convert_local2root(spActor actor, const Vector2 &pos, spActor root)
+	Vector2 convert_local2stage(spActor actor, const Vector2 &pos, spActor root)
 	{
 		if (!root)
-			root = getRoot();
+			root = getStage();
 		return convert_local2global(actor, root, pos);
 	}
 
-	Vector2 convert_root2local(spActor actor, const Vector2 &pos, spActor root)
+	Vector2 convert_stage2local(spActor actor, const Vector2 &pos, spActor root)
 	{
 		if (!root)
-			root = getRoot();
+			root = getStage();
 		return convert_global2local(actor, root, pos);
 	}
 

+ 25 - 12
oxygine/src/Actor.h

@@ -136,8 +136,8 @@ namespace oxygine
 		unsigned char		getAlpha() const {return _alpha;}
 		const spClock&		getClock() const;
 		virtual RectF		getDestRect() const;
-		bool				getInputEnabled() const {return (_flags & flag_inputEnabled) != 0;}
-		bool				getInputChildrenEnabled() const {return (_flags & flag_inputChildrenEnabled) != 0;}
+		bool				getInputEnabled() const {return (_flags & flag_touchEnabled) != 0;}
+		bool				getInputChildrenEnabled() const {return (_flags & flag_touchChildrenEnabled) != 0;}
 		bool				getChildrenRelative() const {return (_flags & flag_childrenRelative) != 0;;}
 		UpdateCallback		getCallbackDoUpdate() const {return _cbDoUpdate;}
 		//RenderCallback		getCallbackDoRender() const {return _cbDoRender;}
@@ -186,10 +186,16 @@ namespace oxygine
 		void setCull(bool enable) {_flags &= ~flag_cull; if (enable) _flags |= flag_cull;}
 		/**Sets transparency. if alpha is 0 actor and children are completely invisible, don't rendering and don't receive events.*/
 		void setAlpha(unsigned char alpha){_alpha = alpha;}
-		/**Enables/Disables input events(touch, mouse) for Actor.*/
-		void setInputEnabled(bool enabled) {_flags &= ~flag_inputEnabled; if (enabled) _flags |= flag_inputEnabled;}
-		/**Enables/Disables input events(touch, mouse) for children of Actor.*/
-		void setInputChildrenEnabled(bool enabled) {_flags &= ~flag_inputChildrenEnabled; if (enabled) _flags |= flag_inputChildrenEnabled;}
+		
+		/**Deprecated, use setTouchEnabled*/
+		void setInputEnabled(bool enabled) { setTouchEnabled(enabled); }
+		/**Deprecated, use setTouchChildrenEnabled*/
+		void setInputChildrenEnabled(bool enabled) { setTouchChildrenEnabled(enabled); }
+
+		/**Enables/Disables Touch events for Actor.*/
+		void setTouchEnabled(bool enabled) { _flags &= ~flag_touchEnabled; if (enabled) _flags |= flag_touchEnabled; }
+		/**Enables/Disables Touch events for children of Actor.*/
+		void setTouchChildrenEnabled(bool enabled) { _flags &= ~flag_touchChildrenEnabled; if (enabled) _flags |= flag_touchChildrenEnabled; }
 
 		/**Sets callback which would be called each Actor::update cycle before doUpdate. Use it if you don't want inherit from Actor and overload Actor::doUpdate.*/
 		void setCallbackDoUpdate(UpdateCallback cb){_cbDoUpdate = cb;}
@@ -321,11 +327,11 @@ namespace oxygine
 		{
 			flag_anchorInPixels			= 1,
 			flag_visible				= 1 << 1,
-			flag_inputEnabled			= 1 << 2,
+			flag_touchEnabled			= 1 << 2,
 			flag_childrenRelative		= 1 << 3,
 			flag_transformDirty			= 1 << 4,
 			flag_transformInvertDirty	= 1 << 5,
-			flag_inputChildrenEnabled	= 1 << 6,
+			flag_touchChildrenEnabled	= 1 << 6,
 			flag_cull					= 1 << 7,
 			flag_fastTransform			= 1 << 8,
 			flag_last					= flag_fastTransform
@@ -356,11 +362,18 @@ namespace oxygine
 		RectF calcDestRectF(const RectF &destRect, const Vector2 &size) const;
 	};
 
-	Vector2 convert_global2local(spActor child, spActor parent, const Vector2 &pos);//deprecated, use convert_root2local
-	Vector2 convert_local2global(spActor child, spActor parent, const Vector2 &pos);//deprecated, use convert_local2root
+	Vector2 convert_global2local(spActor child, spActor parent, const Vector2 &pos);//deprecated, use convert_stage2local
+	Vector2 convert_local2global(spActor child, spActor parent, const Vector2 &pos);//deprecated, use convert_local2stage
+	
+	Vector2 convert_local2stage(spActor child, const Vector2 &pos, spActor root = 0);
+	Vector2 convert_stage2local(spActor child, const Vector2 &pos, spActor root = 0);
+
+	/**Deprecated*/
+	inline Vector2 convert_local2root(spActor child, const Vector2 &pos, spActor root = 0){ return convert_local2stage(child, pos, root); }
+	/**Deprecated*/
+	inline Vector2 convert_root2local(spActor child, const Vector2 &pos, spActor root = 0){ return convert_root2local(child, pos, root); }
+
 
-	Vector2 convert_local2root(spActor child, const Vector2 &pos, spActor root = 0);
-	Vector2 convert_root2local(spActor child, const Vector2 &pos, spActor root = 0);
 
 	Renderer::transform getGlobalTransform(spActor child);
 

+ 3 - 3
oxygine/src/Button.cpp

@@ -1,5 +1,5 @@
 #include "Button.h"
-#include "RootActor.h"
+#include "Stage.h"
 
 namespace oxygine
 {
@@ -90,7 +90,7 @@ namespace oxygine
 					{
 						_btnPressed = me->index;
 						setState(statePressed);
-						getRoot()->addEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Button::_mouseEvent));
+						getStage()->addEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Button::_mouseEvent));
 					}					
 				}				
 			}
@@ -100,7 +100,7 @@ namespace oxygine
 				if (_btnPressed == me->index)
 				{				
 					setState(stateNormal);
-					getRoot()->removeEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Button::_mouseEvent));
+					getStage()->removeEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Button::_mouseEvent));
 					_btnPressed = 0;
 				}
 

+ 1 - 1
oxygine/src/ClipRectActor.cpp

@@ -1,5 +1,5 @@
 #include "ClipRectActor.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "core/log.h"
 #include "RenderState.h"
 #include "Serialize.h"

+ 21 - 21
oxygine/src/DebugActor.cpp

@@ -15,7 +15,7 @@
 #include "dev_tools/TexturesInspector.h"
 
 #include "DebugActor.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "TextField.h"
 #include "ColorRectSprite.h"
 #include "Button.h"
@@ -91,12 +91,12 @@ namespace oxygine
 		setPriority(1000);
 
 		float scale = 1.0f;
-		if (getRoot())
-			scale = 1.0f/getRoot()->getScaleX();
+		if (getStage())
+			scale = 1.0f/getStage()->getScaleX();
 
 		setScale(scale);
 
-		setInputEnabled(false);
+		setTouchEnabled(false);
 		
 
 		TextStyle st;
@@ -111,7 +111,7 @@ namespace oxygine
 		_bg = new ColorRectSprite;
 		_bg->setColor(Color(Color::White, 64));
 		_bg->setSize(getSize());
-		_bg->setInputEnabled(false);
+		_bg->setTouchEnabled(false);
 		addChild(_bg);
 
 
@@ -132,12 +132,12 @@ namespace oxygine
 		_text = new TextField;
 		addChild(_text);
 		_text->setPosition(2, 5);
-		_text->setInputEnabled(false);
+		_text->setTouchEnabled(false);
 		_text->setStyle(st);
 		_text->setWidth(getWidth());
 		_text->setText("debug text");
 
-		getRoot()->addEventListener(TouchEvent::MOVE, CLOSURE(this, &DebugActor::onDAEvent));
+		getStage()->addEventListener(TouchEvent::MOVE, CLOSURE(this, &DebugActor::onDAEvent));
 
 		instance = this;
 	}
@@ -176,14 +176,14 @@ namespace oxygine
 			return;
 		}
 
-		spActor inspector = getRoot()->getChild(DeveloperMenu::getDefaultName(), ep_ignore_error);
+		spActor inspector = getStage()->getChild(DeveloperMenu::getDefaultName(), ep_ignore_error);
 		if (inspector)
 			inspector->detach();
 		else
 		{		
 			spDeveloperMenu dm = new DeveloperMenu();
 			dm->setPriority(getPriority()  + 1); 
-			float scale = getRoot()->getScaleX();
+			float scale = getStage()->getScaleX();
 			Vector2 size = core::getDisplaySize();
 
 			Vector2 s = size;// * scale;
@@ -192,7 +192,7 @@ namespace oxygine
 			if (name == "tree")
 			{
 				spTreeInspector tree = new TreeInspector;
-				tree->init(s, getRoot());
+				tree->init(s, getStage());
 
 				dm->init(s, "Tree Inspector", tree, Color(230, 230, 230, 255));
 			}
@@ -204,16 +204,16 @@ namespace oxygine
 			}
 
 			dm->setScale(1.0f / scale);
-			Vector2 p = -getRoot()->getPosition() / scale;
+			Vector2 p = -getStage()->getPosition() / scale;
 			dm->setPosition(p);
-			getRoot()->addChild(dm);
+			getStage()->addChild(dm);
 		}
 	}
 
 	DebugActor::~DebugActor()
 	{
-		if (getRoot())
-			getRoot()->removeEventListeners(this);
+		if (getStage())
+			getStage()->removeEventListeners(this);
 	}
 
 	extern IVideoDriver::Stats _videoStats;
@@ -256,10 +256,10 @@ namespace oxygine
 #ifdef OXYGINE_TRACE_VIDEO_STATS
 		s << "batches="<< _videoStats.batches << " triangles=" << _videoStats.triangles << endl;
 #endif
-		s << "update=" << getRoot()->_statUpdate << "ms ";
-		s << "render=" << getRoot()->_statRender << "ms ";
+		s << "update=" << getStage()->_statUpdate << "ms ";
+		s << "render=" << getStage()->_statRender << "ms ";
 		s << "textures=" << NativeTexture::created << " ";
-		s << "\nlisteners=" << getRoot()->getListenersCount() << "";
+		s << "\nlisteners=" << getStage()->getListenersCount() << "";
 
 		if (!_debugText.empty())
 		{
@@ -321,10 +321,10 @@ namespace oxygine
 	
 	void DebugActor::showTouchedActor(bool show)
 	{
-		getRoot()->removeEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &DebugActor::onEvent));
+		getStage()->removeEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &DebugActor::onEvent));
 		_showTouchedActor = show;
 		if (show)
-			getRoot()->addEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &DebugActor::onEvent));
+			getStage()->addEventListener(TouchEvent::TOUCH_DOWN, CLOSURE(this, &DebugActor::onEvent));
 
 		spActor btn = getChild("finger");
 		btn->removeTweens(true);
@@ -335,7 +335,7 @@ namespace oxygine
 	void DebugActor::onDAEvent(Event *ev)
 	{
 		TouchEvent *t = safeCast<TouchEvent*>(ev);
-		Vector2 loc = convert_global2local(this, getRoot(), t->localPosition);
+		Vector2 loc = convert_global2local(this, getStage(), t->localPosition);
 		setAlpha(isOn(loc) ? 64 : 255);
 	}
 
@@ -343,7 +343,7 @@ namespace oxygine
 	{
 		spActor actor = safeSpCast<Actor>(ev->target);
 		spColorRectSprite cr = new ColorRectSprite;
-		cr->setInputEnabled(false);
+		cr->setTouchEnabled(false);
 		//cr->setAlpha(100);
 		cr->setColor(Color(rand()%255, rand()%255, rand()%255, 0));
 		cr->setSize(actor->getSize());

+ 8 - 8
oxygine/src/Draggable.cpp

@@ -1,7 +1,7 @@
 #include "Draggable.h"
 #include "math/AffineTransform.h"
 #include "Actor.h"
-#include "RootActor.h"
+#include "Stage.h"
 
 namespace oxygine
 {
@@ -73,8 +73,8 @@ namespace oxygine
 	{
 		if (_actor && !_singleDrag)
 		{
-			if (getRoot())
-				getRoot()->removeEventListeners(this);
+			if (getStage())
+				getStage()->removeEventListeners(this);
 			_actor->removeEventListeners(this);
 			_actor = 0;
 		}
@@ -100,10 +100,10 @@ namespace oxygine
 		_actor = actor;
 		_dragClient = actor;
 
-		getRoot()->addEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Draggable::onEvent));
+		getStage()->addEventListener(TouchEvent::TOUCH_UP, CLOSURE(this, &Draggable::onEvent));
 		
 		Vector2 src = pointer->getPosition().cast<Vector2>();
-		Vector2 pos = convert_root2local(actor->getParent(), src);
+		Vector2 pos = convert_stage2local(actor->getParent(), src);
 		actor->setPosition(pos - localPosition);
 
 		startDrag(localPosition);
@@ -118,7 +118,7 @@ namespace oxygine
 		//why I did add it?
 		//event->stopPropagation();
 
-		getRoot()->addEventListener(TouchEvent::MOVE, CLOSURE(this, &Draggable::onEvent));
+		getStage()->addEventListener(TouchEvent::MOVE, CLOSURE(this, &Draggable::onEvent));
 	}
 
 	void Draggable::onMove(const Vector2 &position)
@@ -128,7 +128,7 @@ namespace oxygine
 			Actor *client = _dragClient;
 
 
-			Vector2 localPos = convert_root2local(client, position);
+			Vector2 localPos = convert_stage2local(client, position);
 
 			Vector2 dragOffset = localPos - _dragPos;
 
@@ -165,7 +165,7 @@ namespace oxygine
 		case TouchEvent::TOUCH_UP:
 			{
 				_pressed = false;
-				getRoot()->removeEventListeners(this);
+				getStage()->removeEventListeners(this);
 			}
 			break;
 

+ 4 - 4
oxygine/src/Input.cpp

@@ -1,5 +1,5 @@
 #include "Input.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "core/log.h"
 #include <string.h>
 
@@ -34,7 +34,7 @@ namespace oxygine
 
 		LOGD("sendPointerButtonEvent %d - (%.2f, %.2f), %d", me.index, p.x, p.y, type);
 
-		getRoot()->handleEvent(&me);
+		getStage()->handleEvent(&me);
 	}
 
 	void Input::sendPointerMotionEvent(float x, float y, float pressure, PointerState *ps)
@@ -45,7 +45,7 @@ namespace oxygine
 		ps->_position = Vector2(x, y);
 
 		LOGD("sendPointerMotionEvent %d - (%.2f, %.2f)", me.index, x, y);
-		getRoot()->handleEvent(&me);
+		getStage()->handleEvent(&me);
 	}
 
 	void Input::sendPointerWheelEvent(int scroll, PointerState *ps)
@@ -55,7 +55,7 @@ namespace oxygine
 
 		ps->_position = Vector2(0, 0);
 
-		getRoot()->handleEvent(&me);
+		getStage()->handleEvent(&me);
 	}
 
 

+ 2 - 2
oxygine/src/Multithreading.cpp

@@ -2,7 +2,7 @@
 #include "core/Mem2Native.h"
 #include "res/Resources.h"
 #include "res/Resource.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "res/CreateResourceContext.h"
 
 #ifdef __S3E__
@@ -76,7 +76,7 @@ namespace oxygine
 
 	ThreadLoading::ThreadLoading():_thread(pthread_self()), _threadDone(false)
 	{
-		setInputEnabled(false);
+		setTouchEnabled(false);
 	}
 
 	ThreadLoading::~ThreadLoading()

+ 5 - 54
oxygine/src/RootActor.h

@@ -1,61 +1,12 @@
 #pragma once
 #include "oxygine_include.h"
-#include "Actor.h"
+#include "Stage.h"
 
 namespace oxygine
 {
-	DECLARE_SMART(RootActor, spRootActor);
+	typedef Stage RootActor;
+	typedef intrusive_ptr<Stage> spRootActor;
 
-	class DebugActor;
-	class RootActor : public Actor
-	{
-	public:
-		enum
-		{
-			ACTIVATE = makefourcc('_', 'R', 'A', 'c'),
-			DEACTIVATE = makefourcc('_', 'R', 'D', 'c'),
-			LOST_CONTEXT = makefourcc('_', 'R', 'L', 'C'),
-		};
-
-		static spRootActor instance;
-		static Rect	calcCenteredViewport(const Point &displaySize, const Point &gameSize);
-
-		RootActor();
-		~RootActor();
-
-		/**Initializes size, scale and position of RootActor 
-		@param is real display size of device.
-		@param is your "virtual" preferred size. You could change it to any size you need
-		*/
-		void init(const Point &displaySize, const Point &gameSize);
-				
-		void setClipOuterArea(bool clip){_clipOuter = clip;}
-		/**Renders each children*/
-		void render(Renderer &r);
-
-		//const Rect	&getArea();
-
-		/**Updates each children*/
-		void update();
-
-		void cleanup();
-
-		RectF getDestRect() const;
-
-		std::string dump(const dumpOptions &opt) const;
-
-	protected:
-		bool isOn(const Vector2 &localPosition);
-
-	private:
-
-		timeMS _statUpdate;
-		timeMS _statRender;
-		bool	_clipOuter;
-		Rect	_viewport;
-
-		friend class DebugActor;
-	};
-
-	inline const spRootActor& getRoot() {return RootActor::instance;}
+	/**Used for compatibility. Was renamed to getStage. Deprecated*/
+	inline const spRootActor& getRoot() {return getStage();}
 }

+ 1 - 1
oxygine/src/Sprite.cpp

@@ -4,7 +4,7 @@
 #include "core/Renderer.h"
 #include "RenderState.h"
 #include "utils/stringUtils.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "Serialize.h"
 
 namespace oxygine

+ 15 - 15
oxygine/src/RootActor.cpp → oxygine/src/Stage.cpp

@@ -1,4 +1,4 @@
-#include "RootActor.h"
+#include "Stage.h"
 #include "core/Renderer.h"
 #include "math/Rect.h"
 #include "RenderState.h"
@@ -6,34 +6,34 @@
 
 namespace oxygine
 {
-	spRootActor RootActor::instance;
+	spStage Stage::instance;
 
-	RootActor::RootActor():_statUpdate(0), _statRender(0), _clipOuter(false), _viewport(0,0,0,0)
+	Stage::Stage():_statUpdate(0), _statRender(0), _clipOuter(false), _viewport(0,0,0,0)
 	{
 		spClock clock = new Clock();
 		setClock(clock);
-		setName("RootActor");
+		setName("Stage");
 
 		//addEventHandler(new EventHandler());
 	}
 
-	RootActor::~RootActor()
+	Stage::~Stage()
 	{
 
 	}
 
-	std::string RootActor::dump(const dumpOptions &opt) const
+	std::string Stage::dump(const dumpOptions &opt) const
 	{
 		stringstream st;
 
-		st << "{RootActor}\n";
+		st << "{Stage}\n";
 		//st << " displaySize=(" << _realDisplaySize.x << "," << _realDisplaySize.y << ")";
 		st << Actor::dump(opt);
 
 		return st.str();
 	}
 
-	Rect	RootActor::calcCenteredViewport(const Point &displaySize, const Point &gameSize)
+	Rect	Stage::calcCenteredViewport(const Point &displaySize, const Point &gameSize)
 	{
 		float width = (float)displaySize.x;
 		float height = (float)displaySize.y;
@@ -49,7 +49,7 @@ namespace oxygine
 		return Rect((free/2).cast<Point>(), size.cast<Point>());
 	}
 
-	void RootActor::init(const Point &displaySize, const Point &gameSize)
+	void Stage::init(const Point &displaySize, const Point &gameSize)
 	{
 		//_realDisplaySize = displaySize;
 		setSize(gameSize);
@@ -62,13 +62,13 @@ namespace oxygine
 		setPosition(_viewport.pos);
 	}
 
-	bool RootActor::isOn(const Vector2 &localPosition)
+	bool Stage::isOn(const Vector2 &localPosition)
 	{
 		return true;
 	}
 		
 
-	RectF RootActor::getDestRect() const
+	RectF Stage::getDestRect() const
 	{
 		Vector2 s = getSize() + getPosition();
 		RectF r = calcDestRectF(RectF(-getPosition(), s), s);
@@ -76,14 +76,14 @@ namespace oxygine
 	}
 
 	/*
-	bool RootActor::handleEvent(const EventState &es)
+	bool Stage::handleEvent(const EventState &es)
 	{
 		bool handled = Actor::handleEvent(es);
 		return handled;
 	}
 	*/
 
-	void RootActor::render(Renderer &r)
+	void Stage::render(Renderer &r)
 	{
 		timeMS t = getTimeMS();
 		RenderState rs;
@@ -104,11 +104,11 @@ namespace oxygine
 		_statRender = getTimeMS() - t;
 	}
 
-	void RootActor::cleanup()
+	void Stage::cleanup()
 	{
 	}
 
-	void RootActor::update()
+	void Stage::update()
 	{
 		timeMS t = getTimeMS();
 		UpdateState us;		

+ 61 - 0
oxygine/src/Stage.h

@@ -0,0 +1,61 @@
+#pragma once
+#include "oxygine_include.h"
+#include "Actor.h"
+
+namespace oxygine
+{
+	DECLARE_SMART(Stage, spStage);
+
+	class DebugActor;
+	class Stage : public Actor
+	{
+	public:
+		enum
+		{
+			ACTIVATE = makefourcc('_', 'R', 'A', 'c'),
+			DEACTIVATE = makefourcc('_', 'R', 'D', 'c'),
+			LOST_CONTEXT = makefourcc('_', 'R', 'L', 'C'),
+		};
+
+		static spStage instance;
+		static Rect	calcCenteredViewport(const Point &displaySize, const Point &gameSize);
+
+		Stage();
+		~Stage();
+
+		/**Initializes size, scale and position of Stage 
+		@param is real display size of device.
+		@param is your "virtual" preferred size. You could change it to any size you need
+		*/
+		void init(const Point &displaySize, const Point &gameSize);
+				
+		void setClipOuterArea(bool clip){_clipOuter = clip;}
+		/**Renders each children*/
+		void render(Renderer &r);
+
+		//const Rect	&getArea();
+
+		/**Updates each children*/
+		void update();
+
+		void cleanup();
+
+		RectF getDestRect() const;
+
+		std::string dump(const dumpOptions &opt) const;
+
+	protected:
+		bool isOn(const Vector2 &localPosition);
+
+	private:
+
+		timeMS _statUpdate;
+		timeMS _statRender;
+		bool	_clipOuter;
+		Rect	_viewport;
+
+		friend class DebugActor;
+	};
+
+	inline const spStage& getStage() {return Stage::instance;}
+}

+ 3 - 3
oxygine/src/TextField.cpp

@@ -174,11 +174,11 @@ namespace oxygine
 
 	const Rect &TextField::getTextRect()
 	{
-		getRootNode();
+		getStageNode();
 		return _textRect;
 	}
 
-	text::Node *TextField::getRootNode()
+	text::Node *TextField::getStageNode()
 	{
 		if ((_flags & flag_rebuild) && _style.font)
 		{
@@ -307,7 +307,7 @@ namespace oxygine
 
 	void TextField::doRender(RenderState const& rs)
 	{
-		text::Node *root = getRootNode();
+		text::Node *root = getStageNode();
 		if (!root)
 			return;
 

+ 1 - 1
oxygine/src/TextField.h

@@ -82,7 +82,7 @@ namespace oxygine
 		text::Node *_root;
 		Rect _textRect;
 
-		text::Node *getRootNode();
+		text::Node *getStageNode();
 		void needRebuild();
 		void sizeChanged(const Vector2& size);
 	};

+ 2 - 2
oxygine/src/blocking.cpp

@@ -1,7 +1,7 @@
 #include "blocking.h"
 #include "Button.h"
 #include "Tweener.h"
-#include "RootActor.h"
+#include "Stage.h"
 
 #if _MSC_VER
 #define __func__ __FUNCTION__
@@ -91,7 +91,7 @@ namespace oxygine
 
 			clickWait(spActor button, timeMS timeOut):_clicked(false), _timeOut(timeOut)
 			{
-				spClock clock = getRoot()->getClock();
+				spClock clock = getStage()->getClock();
 				timeMS start = clock->getTime();
 				button->addEventListener(TouchEvent::CLICK, CLOSURE(this, &clickWait::click));
 				do

+ 6 - 0
oxygine/src/core/Renderer.cpp

@@ -434,9 +434,15 @@ namespace oxygine
 
 		_mask = 0;
 		_shaderFlags &= ~(UberShaderProgram::MASK | UberShaderProgram::MASK_R_CHANNEL);
+		_shaderFlags = 0;
 		_vdecl = _driver->getVertexDeclaration(VERTEX_PCT2);
 	}
 
+	bool Renderer::isMasked() const
+	{
+		return _mask;
+	}
+
 	Vector2	Renderer::getMaskedUV(const Vector2 &pos)
 	{
 		Vector2 uv = _clipUV.calc(pos);

+ 2 - 0
oxygine/src/core/Renderer.h

@@ -171,6 +171,8 @@ namespace oxygine
 		Vector2			getMaskedUV(const Vector2 &pos);
 		IVideoDriver*	getDriver();
 
+		bool			isMasked() const;
+
 
 		/**Begins rendering into RenderTexture or into primary framebuffer if rt is null*/
 		bool begin(spNativeTexture rt, const Rect &viewport, const Color *clearColor);

+ 4 - 1
oxygine/src/core/ThreadMessages.cpp

@@ -131,8 +131,11 @@ namespace oxygine
 			_last._replied = true;
 			_last._result = val;
 
-			if (_last.cb)			
+			if (_last.cb)
+			{
+				LOGDN("ThreadMessages::running callback");
 				_last.cb(_last);
+			}
 
 			LOGDN("ThreadMessages::_replyLast pre _waitReplyID = %d, _last._id = %d, _last.msgid=%d", _waitReplyID, _last._id, _last.msgid);
 

+ 3 - 23
oxygine/src/core/gl/VideoDriverGLES20.cpp

@@ -21,10 +21,8 @@
 
 namespace oxygine
 {    
-	VideoDriverGLES20::VideoDriverGLES20() :_program(0), _vbo(0), _ibo(0)
+	VideoDriverGLES20::VideoDriverGLES20():_program(0)
 	{
-		glGenBuffers(1, &_vbo);
-		glGenBuffers(1, &_ibo);
 	}
 
 	VideoDriverGLES20::~VideoDriverGLES20()
@@ -121,27 +119,19 @@ namespace oxygine
 
     void VideoDriverGLES20::draw(PRIMITIVE_TYPE pt, const VertexDeclaration *decl_, const void *vdata, unsigned int verticesDataSize, const void *indicesData, unsigned int numIndices, bool indicesShortType)
 	{
-		glBindBuffer(GL_ARRAY_BUFFER, _vbo);
-		glBufferData(GL_ARRAY_BUFFER, verticesDataSize * decl_->size, vdata, GL_DYNAMIC_DRAW);
-
-		glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _ibo);
-		glBufferData(GL_ELEMENT_ARRAY_BUFFER, numIndices * (indicesShortType ? 2 : 1), indicesData, GL_DYNAMIC_DRAW);
-
 		const VertexDeclarationGL *decl = static_cast<const VertexDeclarationGL*>(decl_);
 
 		const unsigned char *verticesData = (const unsigned char *)vdata;
 
-
 		const VertexDeclarationGL::Element *el = decl->elements;
 		for (int i = 0; i < decl->numElements; ++i)		
 		{	
 			glEnableVertexAttribArray(el->index);
-			glVertexAttribPointer(el->index, el->size, el->elemType, el->normalized, decl->size, (void*)(el->offset));
+			glVertexAttribPointer(el->index, el->size, el->elemType, el->normalized, decl->size, verticesData + el->offset);			
 			el++;
 		}
 
-		
-		glDrawElements(getPT(pt), numIndices, indicesShortType ? GL_UNSIGNED_SHORT : GL_UNSIGNED_BYTE, 0);
+		glDrawElements(getPT(pt), numIndices, indicesShortType ? GL_UNSIGNED_SHORT : GL_UNSIGNED_BYTE, indicesData);
 
 		el = decl->elements;
 		for (int i = 0; i < decl->numElements; ++i)		
@@ -150,9 +140,6 @@ namespace oxygine
 			el++;
 		}
 
-		glBindBuffer(GL_ARRAY_BUFFER, 0);
-		glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
-
 
 #if OXYGINE_TRACE_VIDEO_STATS
 		_debugAddPrimitives(pt, numIndices);
@@ -199,13 +186,6 @@ namespace oxygine
 		int p = glGetUniformLocation(_program, id);
 		if (p == -1)
 			return;
-		/*
-		log::messageln("mat ");
-		for (int i = 0; i < 16; ++i)
-		{
-			log::messageln("%g ", mat->ml[i]);
-		}
-		*/
 		glUniformMatrix4fv(p, 1, GL_FALSE, mat->ml);
 		CHECKGL();
 	}

+ 12 - 12
oxygine/src/core/oxygine.cpp

@@ -16,7 +16,7 @@
 
 #include "Renderer.h"
 #include "DebugActor.h"
-#include "RootActor.h"
+#include "Stage.h"
 
 #include "res/ResStarlingAtlas.h"
 
@@ -225,15 +225,15 @@ namespace oxygine
 
 	int32 applicationPause(void* systemData, void* userData)
 	{
-		Event ev(RootActor::DEACTIVATE);
-		getRoot()->dispatchEvent(&ev);
+		Event ev(Stage::DEACTIVATE);
+		getStage()->dispatchEvent(&ev);
 		return 0;
 	}
 
 	int32 applicationUnPause(void* systemData, void* userData)
 	{
-		Event ev(RootActor::ACTIVATE);
-		getRoot()->dispatchEvent(&ev);
+		Event ev(Stage::ACTIVATE);
+		getStage()->dispatchEvent(&ev);
 		return 0;
 	}
 #endif
@@ -740,9 +740,9 @@ namespace oxygine
 								focusLost();
 
 							log::messageln("focus: %d", (int)focus);
-							Event ev(focus ? RootActor::ACTIVATE : RootActor::DEACTIVATE);
-							if (getRoot())
-								getRoot()->dispatchEvent(&ev);
+							Event ev(focus ? Stage::ACTIVATE : Stage::DEACTIVATE);
+							if (getStage())
+								getStage()->dispatchEvent(&ev);
 #endif							
 						}
 						//log::messageln("SDL_SYSWMEVENT %d", (int)event.window.event);
@@ -832,10 +832,10 @@ namespace oxygine
 			SDL_Quit();
 #endif
 
-			spActor temp = RootActor::instance;
-            if (RootActor::instance)
-                RootActor::instance->cleanup();
-			RootActor::instance = 0;	
+			spActor temp = Stage::instance;
+            if (Stage::instance)
+                Stage::instance->cleanup();
+			Stage::instance = 0;	
 
 			Input::instance.cleanup();
 

+ 1 - 1
oxygine/src/core/oxygine.h

@@ -25,7 +25,7 @@
 
 
 //makefourcc('_', '_', '_', '_')
-#define makefourcc(a,data,c,d) ( ((unsigned int)a) | (((unsigned int)data)<< 8) | (((unsigned int)c)<<16) | (((unsigned int)d)<<24))
+#define makefourcc(a,b,c,d) ( ((unsigned int)a) | (((unsigned int)b)<< 8) | (((unsigned int)c)<<16) | (((unsigned int)d)<<24))
 
 /**main oxygine namespace*/
 namespace oxygine

+ 8 - 8
oxygine/src/dev_tools/TreeInspector.cpp

@@ -13,7 +13,7 @@
 
 #include "MemoryTexture.h"
 #include "Font.h"
-#include "RootActor.h"
+#include "Stage.h"
 
 #include "TextField.h"
 #include "DebugActor.h"
@@ -77,8 +77,8 @@ namespace oxygine
 		_resSystem = DebugActor::resSystem;
 
 		setPriority(999);
-		//setInputEnabled(false);
-		//setInputChildrenEnabled(false);
+		//setTouchEnabled(false);
+		//setTouchChildrenEnabled(false);
 	}
 
 	void getDescendants(spActor actor, vector<spActor> &actors)
@@ -116,8 +116,8 @@ namespace oxygine
 
 		
 		_rootPage = new TreeInspectorPage(this, 0);		
-		//_rootPage->setInputChildrenEnabled(false);
-		//_rootPage->setInputEnabled(false);
+		//_rootPage->setTouchChildrenEnabled(false);
+		//_rootPage->setTouchEnabled(false);
 
 		
 		_rootPage->init(actor);
@@ -141,8 +141,8 @@ namespace oxygine
 
 		
 
-		getRoot()->addEventListener(TouchEvent::WHEEL_DOWN, CLOSURE(this, &TreeInspector::wheel));
-		getRoot()->addEventListener(TouchEvent::WHEEL_UP, CLOSURE(this, &TreeInspector::wheel));
+		getStage()->addEventListener(TouchEvent::WHEEL_DOWN, CLOSURE(this, &TreeInspector::wheel));
+		getStage()->addEventListener(TouchEvent::WHEEL_UP, CLOSURE(this, &TreeInspector::wheel));
 
 		updateSizes();
 	}
@@ -161,7 +161,7 @@ namespace oxygine
 	void TreeInspector::close(Event *ev)
 	{
 		detach();
-		getRoot()->removeEventListeners(this);
+		getStage()->removeEventListeners(this);
 		//return true;
 	}
 

+ 2 - 2
oxygine/src/dev_tools/TreeInspectorLine.cpp

@@ -11,7 +11,7 @@ namespace oxygine
 	
 	TreeInspectorLine::TreeInspectorLine():_page(0)
 	{
-		setInputEnabled(false);
+		setTouchEnabled(false);
 	}
 
 	TreeInspectorLine::~TreeInspectorLine()
@@ -31,7 +31,7 @@ namespace oxygine
 
 		
 		spTextField tb = new TextField();
-		tb->setInputEnabled(false);
+		tb->setTouchEnabled(false);
 		tb->setColor(Color::Black);
 	
 		const float minWidth = 300.0f;

+ 2 - 2
oxygine/src/dev_tools/TreeInspectorPage.cpp

@@ -9,7 +9,7 @@ namespace oxygine
 {
 	TreeInspectorPage::TreeInspectorPage(TreeInspector *tree, TreeInspectorPage *parentPage):_tree(tree), _parentPage(parentPage)
 	{
-		//setInputEnabled(false);
+		//setTouchEnabled(false);
 	}
 
 	TreeInspectorPage::~TreeInspectorPage()
@@ -52,7 +52,7 @@ namespace oxygine
 			}
 
 			_pages = new Actor();
-			_pages->setInputEnabled(false);
+			_pages->setTouchEnabled(false);
 			_pages->setX(-15);
 			_pages->setY((float)y);
 

+ 2 - 2
oxygine/src/dev_tools/TreeInspectorPreview.cpp

@@ -1,6 +1,6 @@
 #include "TreeInspectorPreview.h"
 #include "TreeInspector.h"
-#include "RootActor.h"
+#include "Stage.h"
 #include "TextField.h"
 #include "res/Resources.h"
 #include "RenderState.h"
@@ -9,7 +9,7 @@ namespace oxygine
 {
 	TreeInspectorPreview::TreeInspectorPreview(TreeInspector *tree): _tree(tree), _prevParent(0), _drawChildren(false)
 	{
-		setInputEnabled(false);
+		setTouchEnabled(false);
 	}
 
 	TreeInspectorPreview::~TreeInspectorPreview()

+ 1 - 1
oxygine/src/initActor.h

@@ -55,7 +55,7 @@ namespace oxygine
 		typedef argT<float, float, Actor, &Actor::setScaleX> scaleX;
 		typedef argT<float, float, Actor, &Actor::setScaleY> scaleY;
 		typedef argT<unsigned char, unsigned char, Actor, &Actor::setAlpha> alpha;	
-		typedef argT<bool, bool, Actor, &Actor::setInputEnabled> input;
+		typedef argT<bool, bool, Actor, &Actor::setTouchEnabled> input;
 		typedef argT<Actor*, Actor*, Actor, &Actor::attachTo> attachTo;
 		typedef argT<Color, const Color &, VStyleActor, &VStyleActor::setColor> color;
 		typedef argT<blend_mode, blend_mode, VStyleActor, &VStyleActor::setBlendMode> blend;

+ 1 - 0
oxygine/src/oxygine-framework.h

@@ -27,6 +27,7 @@
 #include "ProgressBar.h"
 #include "RenderState.h"
 #include "RootActor.h"
+#include "Stage.h"
 #include "SlidingActor.h"
 #include "Sprite.h"
 #include "MaskedSprite.h"

+ 8 - 2
readme/Android.txt

@@ -2,7 +2,7 @@
 2a. Examples folder have configured android project (exception is demobox2d)
 =================================================================================================
 how to build. Steps:
-- install Android NKD and setup it
+- install Android NDK and setup it
 - install Android SDK - 12 (if newer need to fix some properties in example)
 - install apache-ant 
 - install JDK version 6/7
@@ -32,8 +32,14 @@ how to build. Steps:
 - goto oxygine-framework\examples and choose any example. Lets call it "Demo" 
 - try to build and run it using these scripts located in proj.android folder:
 	build.cmd
-	install.cmd
+  ant_debug.bat
+	install.bat
 
+!!!note!!!:
+  folder with oxygine-framework should have exact name 'oxygine-framework'
+  not 'oxygine-framework-master' not 'oxygine-framework.git' etc.
+  otherwise you would see error:
+    > Android NDK: jni/src/Android.mk: Cannot find module with tag 'oxygine-framework'
 
 
 2b. You could generate your own android build config.