From 5b96de0d9dd166116badc10d33894afed572fa14 Mon Sep 17 00:00:00 2001 From: zv0n Date: Sun, 25 Apr 2021 15:54:16 +0200 Subject: [PATCH] SDLPP: Scene - add function to bring objet to the front or back of Z --- sdlpp/sdlpp_scene.cpp | 6 ++++++ sdlpp/sdlpp_scene.hpp | 2 ++ 2 files changed, 8 insertions(+) diff --git a/sdlpp/sdlpp_scene.cpp b/sdlpp/sdlpp_scene.cpp index 6d9ca8e..6752e0a 100644 --- a/sdlpp/sdlpp_scene.cpp +++ b/sdlpp/sdlpp_scene.cpp @@ -59,6 +59,12 @@ void Scene::moveZ( const std::shared_ptr< RenderObject > &obj, int addition ) { std::iter_swap( render_objects.begin() + original_index, render_objects.begin() + original_index + addition ); } +void Scene::moveZTop( const std::shared_ptr< RenderObject > &obj ) { + setZIndex( obj, render_objects.size() - 1 ); +} +void Scene::moveZBottom( const std::shared_ptr< RenderObject > &obj ) { + setZIndex( obj, 0 ); +} std::shared_ptr< RenderObject > Scene::getObject( int index ) { return render_objects[index]; } diff --git a/sdlpp/sdlpp_scene.hpp b/sdlpp/sdlpp_scene.hpp index 576030a..949f03e 100644 --- a/sdlpp/sdlpp_scene.hpp +++ b/sdlpp/sdlpp_scene.hpp @@ -19,6 +19,8 @@ public: void moveDownZ( const std::shared_ptr< RenderObject > &obj ); void moveUpZ( const std::shared_ptr< RenderObject > &obj ); void moveZ( const std::shared_ptr< RenderObject > &obj, int addition ); + void moveZTop( const std::shared_ptr< RenderObject > &obj ); + void moveZBottom( const std::shared_ptr< RenderObject > &obj ); std::shared_ptr< RenderObject > getObject( int index ); std::vector< std::shared_ptr< RenderObject > > getObjects(); std::vector< std::shared_ptr< RenderObject > >