X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Factors%2Fcamera-actor-impl.h;h=1694ba306d146b7b11043cc7bf131f3ad26633f6;hb=0654f01e2e9611e1127d946abb0e92715f8df6d6;hp=3cd8d599ff20e250174063a12dece11e63f600f9;hpb=f8a75318dd2950c20fb8c6c9a6523fdb0e106030;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 3cd8d59..1694ba3 100644 --- a/dali/internal/event/actors/camera-actor-impl.h +++ b/dali/internal/event/actors/camera-actor-impl.h @@ -1,8 +1,8 @@ -#ifndef __DALI_INTERNAL_CAMERA_ACTOR_H__ -#define __DALI_INTERNAL_CAMERA_ACTOR_H__ +#ifndef DALI_INTERNAL_CAMERA_ACTOR_H +#define DALI_INTERNAL_CAMERA_ACTOR_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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,11 +19,9 @@ */ // INTERNAL INCLUES -#include #include #include #include -#include namespace Dali { @@ -31,8 +29,13 @@ namespace Dali namespace Internal { +namespace SceneGraph +{ +class Camera; +} + /** - * An actor with a conveniently pre-attached CameraAttachment. + * An actor with Camera. */ class CameraActor : public Actor { @@ -50,18 +53,14 @@ public: static CameraActorPtr New( const Size& size ); /** - * @copydoc Dali::Actor::OnInitialize + * @copydoc Dali::CameraActor::SetTargetPosition */ - void OnInitialize(); + void SetTarget( const Vector3& targetPosition ); /** - * Retrieve the camera attachment. - * @return The attachment. + * @copydoc Dali::CameraActor::GetTargetPosition */ - CameraAttachment& GetCameraAttachment() - { - return *mCameraAttachment; - } + Vector3 GetTarget() const; /** * @copydoc Dali::CameraActor::SetType @@ -91,7 +90,7 @@ public: /** * @copydoc Dali::CameraActor::GetFieldOfView */ - float GetFieldOfView( ) const; + float GetFieldOfView() const; /** * @copydoc Dali::CameraActor::SetAspectRatio @@ -101,7 +100,7 @@ public: /** * @copydoc Dali::CameraActor::GetAspectRatio */ - float GetAspectRatio( ) const; + float GetAspectRatio() const; /** * @copydoc Dali::CameraActor::SetNearClippingPlane @@ -111,7 +110,7 @@ public: /** * @copydoc Dali::CameraActor::GetNearClippingPlane */ - float GetNearClippingPlane( ) const; + float GetNearClippingPlane() const; /** * @copydoc Dali::CameraActor::SetFarClippingPlane @@ -121,22 +120,32 @@ public: /** * @copydoc Dali::CameraActor::GetFarClippingPlane */ - float GetFarClippingPlane( ) const; + float GetFarClippingPlane() const; /** - * @copydoc Dali::CameraActor::SetTargetPosition + * @param leftClippingPlane to use */ - void SetTargetPosition( const Vector3& targetPosition ); + void SetLeftClippingPlane( float leftClippingPlane ); /** - * @copydoc Dali::CameraActor::GetTargetPosition + * @param rightClippingPlane to use + */ + void SetRightClippingPlane( float rightClippingPlane ); + + /** + * @param topClippingPlane to use + */ + void SetTopClippingPlane( float topClippingPlane ); + + /** + * @param bottomClippingPlane to use */ - Vector3 GetTargetPosition() const; + void SetBottomClippingPlane( float bottomClippingPlane ); /** * @copydoc Dali::CameraActor::SetInvertYAxis */ - void SetInvertYAxis(bool invertYAxis); + void SetInvertYAxis( bool invertYAxis ); /** * @copydoc Dali::CameraActor::GetCurrentInvertYAxis @@ -145,9 +154,8 @@ public: /** * @copydoc Dali::CameraActor::SetPerspectiveProjection() - * @param[in] stereoBias The frustum horizontal and vertical offset for stereoscopic cameras */ - void SetPerspectiveProjection( const Size& size, const Vector2& stereoBias = Vector2::ZERO ); + void SetPerspectiveProjection( const Size& size ); /** * @copydoc Dali::CameraActor::SetOrthographicProjection(const Vector2& size); @@ -181,83 +189,70 @@ public: */ const Matrix& GetProjectionMatrix() const; -public: // properties - - /** - * copydoc Dali::Internal::Object - */ - virtual unsigned int GetDefaultPropertyCount() const; - - /** - * @copydoc Dali::Internal::Object::GetDefaultPropertyIndices() - */ - virtual void GetDefaultPropertyIndices( Property::IndexContainer& indices ) const; - - /** - * copydoc Dali::Internal::Object - */ - virtual bool IsDefaultPropertyAnimatable( Property::Index index ) const; - - /** - * @copydoc Dali::Internal::Object::IsDefaultPropertyAConstraintInput() - */ - virtual bool IsDefaultPropertyAConstraintInput( Property::Index index ) const; - /** - * copydoc Dali::Internal::Object + * Return the scene graph camera (for RenderTask) + * @return The scene graph camera. */ - virtual Property::Type GetDefaultPropertyType( Property::Index index ) const; + const SceneGraph::Camera* GetCamera() const; - /** - * copydoc Dali::Internal::Object - */ - virtual const char* GetDefaultPropertyName( Property::Index index ) const; - - /** - * @copydoc Dali::Internal::Object::GetDefaultPropertyIndex() - */ - virtual Property::Index GetDefaultPropertyIndex(const std::string& name) const; +public: // properties /** - * copydoc Dali::Internal::Object + * copydoc Dali::Internal::Object::SetDefaultProperty() */ virtual void SetDefaultProperty( Property::Index index, const Property::Value& propertyValue ); /** - * copydoc Dali::Internal::Object + * copydoc Dali::Internal::Object::GetDefaultProperty() */ virtual Property::Value GetDefaultProperty( Property::Index index ) const; /** - * copydoc Dali::Internal::Object + * copydoc Dali::Internal::Object::GetDefaultPropertyCurrentValue() */ - virtual bool IsDefaultPropertyWritable( Property::Index index ) const ; - - /** - * @copydoc Dali::Internal::Object::GetSceneObjectAnimatableProperty() - */ - virtual const SceneGraph::PropertyBase* GetSceneObjectAnimatableProperty( Property::Index index ) const; + virtual Property::Value GetDefaultPropertyCurrentValue( Property::Index index ) const; /** * @copydoc Dali::Internal::Object::GetSceneObjectInputProperty() */ virtual const PropertyInputImpl* GetSceneObjectInputProperty( Property::Index index ) const; -protected: +private: /** - * Protected constructor; see also CameraActor::New() + * Constructor; see also CameraActor::New() + * @param node the scene graph node */ - CameraActor(); + CameraActor( const SceneGraph::Node& node ); /** * A reference counted object may only be deleted by calling Unreference() */ virtual ~CameraActor(); -private: - CameraAttachmentPtr mCameraAttachment; + /** + * @copydoc Dali::Internal::Actor::OnInitialize() + */ + virtual void OnInitialize(); + + +private: // Data + + const SceneGraph::Camera* mSceneObject; ///< Not owned + + Vector3 mTarget; + 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; }; @@ -285,4 +280,4 @@ inline const Internal::CameraActor& GetImplementation(const Dali::CameraActor& c } // namespace Dali -#endif // __DALI_INTERNAL_CAMERA_ACTOR_H__ +#endif // DALI_INTERNAL_CAMERA_ACTOR_H