diff options
Diffstat (limited to 'libraries/evas/src/modules/engines/direct3d/evas_direct3d_scene.cpp')
-rw-r--r-- | libraries/evas/src/modules/engines/direct3d/evas_direct3d_scene.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/direct3d/evas_direct3d_scene.cpp b/libraries/evas/src/modules/engines/direct3d/evas_direct3d_scene.cpp new file mode 100644 index 0000000..b171fc0 --- /dev/null +++ b/libraries/evas/src/modules/engines/direct3d/evas_direct3d_scene.cpp | |||
@@ -0,0 +1,33 @@ | |||
1 | |||
2 | #include "evas_direct3d_scene.h" | ||
3 | |||
4 | D3DScene::D3DScene() | ||
5 | { | ||
6 | } | ||
7 | |||
8 | void D3DScene::FreeObjects() | ||
9 | { | ||
10 | for (int i = 0; i < _objects.Length(); i++) | ||
11 | _objects[i]->SetFree(true); | ||
12 | } | ||
13 | |||
14 | void D3DScene::DrawAll(D3DDevice *d3d) | ||
15 | { | ||
16 | for (int i = 0; i < _objects.Length(); i++) | ||
17 | { | ||
18 | if (!_objects[i]->IsFree()) | ||
19 | _objects[i]->Draw(d3d); | ||
20 | } | ||
21 | } | ||
22 | |||
23 | void D3DScene::DeleteObject(D3DObject *object) | ||
24 | { | ||
25 | for (int i = 0; i < _objects.Length(); i++) | ||
26 | { | ||
27 | if (_objects[i].Addr() == object) | ||
28 | { | ||
29 | _objects.Replace(i); | ||
30 | return; | ||
31 | } | ||
32 | } | ||
33 | } | ||