X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=dali%2Finternal%2Fevent%2Factors%2Fcamera-actor-impl.h;h=6d0bb1745c0bc6e01906e0083413261b95c41446;hb=869e0529910098b12d33720b8d6953f5271636fd;hp=e320d761f94e739bdce2e5bd11600beb63654b96;hpb=cc0a99520a553705cc5e588cd5b83dde58231f79;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/actors/camera-actor-impl.h b/dali/internal/event/actors/camera-actor-impl.h index e320d76..6d0bb17 100644 --- a/dali/internal/event/actors/camera-actor-impl.h +++ b/dali/internal/event/actors/camera-actor-impl.h @@ -2,7 +2,7 @@ #define DALI_INTERNAL_CAMERA_ACTOR_H /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,16 +19,14 @@ */ // INTERNAL INCLUES -#include -#include #include +#include +#include namespace Dali { - namespace Internal { - namespace SceneGraph { class Camera; @@ -40,7 +38,6 @@ class Camera; class CameraActor : public Actor { public: - /** * Create an initialised camera actor. * @@ -50,7 +47,7 @@ public: * * @return A smart-pointer to a newly allocated camera actor. */ - static CameraActorPtr New( const Size& size ); + static CameraActorPtr New(const Size& size); /** * Sets the reflection plane for the camera @@ -59,12 +56,12 @@ public: * * @note plane.xyz are normal vector of the plane. */ - void SetReflectByPlane( const Vector4& plane ); + void SetReflectByPlane(const Vector4& plane); /** * @copydoc Dali::CameraActor::SetTargetPosition */ - void SetTarget( const Vector3& targetPosition ); + void SetTarget(const Vector3& targetPosition); /** * @copydoc Dali::CameraActor::GetTargetPosition @@ -74,7 +71,7 @@ public: /** * @copydoc Dali::CameraActor::SetType */ - void SetType( Dali::Camera::Type type ); + void SetType(Dali::Camera::Type type); /** * @copydoc Dali::CameraActor::GetType @@ -84,7 +81,7 @@ public: /** * @copydoc Dali::CameraActor::SetProjectionMode */ - void SetProjectionMode( Dali::Camera::ProjectionMode mode ); + void SetProjectionMode(Dali::Camera::ProjectionMode mode); /** * @copydoc Dali::CameraActor::GetProjectionMode @@ -94,7 +91,7 @@ public: /** * @copydoc Dali::CameraActor::SetFieldOfView */ - void SetFieldOfView( float fieldOfView ); + void SetFieldOfView(float fieldOfView); /** * @copydoc Dali::CameraActor::GetFieldOfView @@ -104,7 +101,7 @@ public: /** * @copydoc Dali::CameraActor::SetAspectRatio */ - void SetAspectRatio( float aspectRatio ); + void SetAspectRatio(float aspectRatio); /** * @copydoc Dali::CameraActor::GetAspectRatio @@ -114,7 +111,7 @@ public: /** * @copydoc Dali::CameraActor::SetNearClippingPlane */ - void SetNearClippingPlane( float nearClippingPlane ); + void SetNearClippingPlane(float nearClippingPlane); /** * @copydoc Dali::CameraActor::GetNearClippingPlane @@ -124,7 +121,7 @@ public: /** * @copydoc Dali::CameraActor::SetFarClippingPlane */ - void SetFarClippingPlane( float farClippingPlane ); + void SetFarClippingPlane(float farClippingPlane); /** * @copydoc Dali::CameraActor::GetFarClippingPlane @@ -134,27 +131,27 @@ public: /** * @param leftClippingPlane to use */ - void SetLeftClippingPlane( float leftClippingPlane ); + void SetLeftClippingPlane(float leftClippingPlane); /** * @param rightClippingPlane to use */ - void SetRightClippingPlane( float rightClippingPlane ); + void SetRightClippingPlane(float rightClippingPlane); /** * @param topClippingPlane to use */ - void SetTopClippingPlane( float topClippingPlane ); + void SetTopClippingPlane(float topClippingPlane); /** * @param bottomClippingPlane to use */ - void SetBottomClippingPlane( float bottomClippingPlane ); + void SetBottomClippingPlane(float bottomClippingPlane); /** * @copydoc Dali::CameraActor::SetInvertYAxis */ - void SetInvertYAxis( bool invertYAxis ); + void SetInvertYAxis(bool invertYAxis); /** * @copydoc Dali::CameraActor::GetCurrentInvertYAxis @@ -164,17 +161,17 @@ public: /** * @copydoc Dali::CameraActor::SetPerspectiveProjection() */ - void SetPerspectiveProjection( const Size& size ); + void SetPerspectiveProjection(const Size& size); /** * @copydoc Dali::CameraActor::SetOrthographicProjection(const Vector2& size); */ - void SetOrthographicProjection( const Vector2& size ); + void SetOrthographicProjection(const Vector2& size); /** * @copydoc Dali::CameraActor::SetOrthographicProjection(float left, float right, float top, float bottom, float near, float far); */ - void SetOrthographicProjection( float left, float right, float top, float bottom, float near, float far ); + void SetOrthographicProjection(float left, float right, float top, float bottom, float near, float far); /** * Build a picking ray with this camera and given screen coordinates @@ -184,7 +181,7 @@ public: * @param [out] rayDirection for the picking ray * @return true if the building was successful, false if its not possible (camera is not valid for hit testing) */ - bool BuildPickingRay( const Vector2& screenCoordinates, const Viewport& viewport, Vector4& rayOrigin, Vector4& rayDirection ); + bool BuildPickingRay(const Vector2& screenCoordinates, const Viewport& viewport, Vector4& rayOrigin, Vector4& rayDirection); /** * Retrieve the view-matrix; This will only be valid when the actor is on-stage. @@ -204,41 +201,45 @@ public: */ const SceneGraph::Camera* GetCamera() const; -public: // properties + /** + * Rotate the projection. + * It is used in case that the target buffer direction is different from the window direction. + * @param [in] rotationAngle The rotation angle + */ + void RotateProjection(int rotationAngle); +public: // properties /** * copydoc Dali::Internal::Object::SetDefaultProperty() */ - virtual void SetDefaultProperty( Property::Index index, const Property::Value& propertyValue ); + void SetDefaultProperty(Property::Index index, const Property::Value& propertyValue) override; /** * copydoc Dali::Internal::Object::GetDefaultProperty() */ - virtual Property::Value GetDefaultProperty( Property::Index index ) const; + Property::Value GetDefaultProperty(Property::Index index) const override; /** * copydoc Dali::Internal::Object::GetDefaultPropertyCurrentValue() */ - virtual Property::Value GetDefaultPropertyCurrentValue( Property::Index index ) const; + Property::Value GetDefaultPropertyCurrentValue(Property::Index index) const override; /** * @copydoc Dali::Internal::Object::GetSceneObjectInputProperty() */ - virtual const PropertyInputImpl* GetSceneObjectInputProperty( Property::Index index ) const; + const PropertyInputImpl* GetSceneObjectInputProperty(Property::Index index) const override; private: - /** * Constructor; see also CameraActor::New() * @param node the scene graph node */ - CameraActor( const SceneGraph::Node& node ); + CameraActor(const SceneGraph::Node& node); /** * A reference counted object may only be deleted by calling Unreference() */ - virtual ~CameraActor(); - + ~CameraActor() override; /** * @copydoc Dali::Internal::Actor::OnInitialize() @@ -246,28 +247,26 @@ private: void OnInitialize() override; /** - * @copydoc Dali::Internal::Actor::OnStageConnectionInternal() + * @copydoc Dali::Internal::Actor::OnSceneConnectionInternal() */ - void OnStageConnectionInternal() override; - -private: // Data + void OnSceneConnectionInternal() override; +private: // Data const SceneGraph::Camera* mSceneObject; ///< Not owned - Vector3 mTarget; - Vector2 mCanvasSize; - Dali::Camera::Type mType; + Vector3 mTarget; + Vector2 mCanvasSize; + Dali::Camera::Type mType; Dali::Camera::ProjectionMode mProjectionMode; - float mFieldOfView; - float mAspectRatio; - float mNearClippingPlane; - float mFarClippingPlane; - float mLeftClippingPlane; - float mRightClippingPlane; - float mTopClippingPlane; - float mBottomClippingPlane; - bool mInvertYAxis; - + float mFieldOfView; + float mAspectRatio; + float mNearClippingPlane; + float mFarClippingPlane; + float mLeftClippingPlane; + float mRightClippingPlane; + float mTopClippingPlane; + float mBottomClippingPlane; + bool mInvertYAxis; }; } // namespace Internal