X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Factors%2Fcamera-actor-impl.h;h=1694ba306d146b7b11043cc7bf131f3ad26633f6;hb=a06eafa8babd0523af3b6935e2c900347f96bfb8;hp=9794b45047c27a033d4a6ba78b0d8709740803f3;hpb=de63578ce84d4c314d78ca6322721204e0029788;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 9794b45..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 */ - Vector3 GetTargetPosition() const; + void SetRightClippingPlane( float rightClippingPlane ); + + /** + * @param topClippingPlane to use + */ + void SetTopClippingPlane( float topClippingPlane ); + + /** + * @param bottomClippingPlane to use + */ + 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::ProxyObject - */ - virtual unsigned int GetDefaultPropertyCount() const; - /** - * @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndices() + * Return the scene graph camera (for RenderTask) + * @return The scene graph camera. */ - virtual void GetDefaultPropertyIndices( Property::IndexContainer& indices ) const; + const SceneGraph::Camera* GetCamera() const; - /** - * copydoc Dali::Internal::ProxyObject - */ - virtual bool IsDefaultPropertyAnimatable( Property::Index index ) const; +public: // properties /** - * @copydoc Dali::Internal::ProxyObject::IsDefaultPropertyAConstraintInput() + * copydoc Dali::Internal::Object::SetDefaultProperty() */ - virtual bool IsDefaultPropertyAConstraintInput( Property::Index index ) const; + virtual void SetDefaultProperty( Property::Index index, const Property::Value& propertyValue ); /** - * copydoc Dali::Internal::ProxyObject + * copydoc Dali::Internal::Object::GetDefaultProperty() */ - virtual Property::Type GetDefaultPropertyType( Property::Index index ) const; + virtual Property::Value GetDefaultProperty( Property::Index index ) const; /** - * copydoc Dali::Internal::ProxyObject + * copydoc Dali::Internal::Object::GetDefaultPropertyCurrentValue() */ - virtual const char* GetDefaultPropertyName( Property::Index index ) const; + virtual Property::Value GetDefaultPropertyCurrentValue( Property::Index index ) const; /** - * @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex() + * @copydoc Dali::Internal::Object::GetSceneObjectInputProperty() */ - virtual Property::Index GetDefaultPropertyIndex(const std::string& name) const; + virtual const PropertyInputImpl* GetSceneObjectInputProperty( Property::Index index ) const; - /** - * copydoc Dali::Internal::ProxyObject - */ - virtual void SetDefaultProperty( Property::Index index, const Property::Value& propertyValue ); +private: /** - * copydoc Dali::Internal::ProxyObject + * Constructor; see also CameraActor::New() + * @param node the scene graph node */ - virtual Property::Value GetDefaultProperty( Property::Index index ) const; + CameraActor( const SceneGraph::Node& node ); /** - * copydoc Dali::Internal::ProxyObject + * A reference counted object may only be deleted by calling Unreference() */ - virtual bool IsDefaultPropertyWritable( Property::Index index ) const ; + virtual ~CameraActor(); - /** - * @copydoc Dali::Internal::ProxyObject::GetSceneObjectAnimatableProperty() - */ - virtual const SceneGraph::PropertyBase* GetSceneObjectAnimatableProperty( Property::Index index ) const; /** - * @copydoc Dali::Internal::ProxyObject::GetSceneObjectInputProperty() + * @copydoc Dali::Internal::Actor::OnInitialize() */ - virtual const PropertyInputImpl* GetSceneObjectInputProperty( Property::Index index ) const; - -protected: + virtual void OnInitialize(); - /** - * Protected constructor; see also CameraActor::New() - */ - CameraActor(); - /** - * A reference counted object may only be deleted by calling Unreference() - */ - virtual ~CameraActor(); +private: // Data -private: + const SceneGraph::Camera* mSceneObject; ///< Not owned - CameraAttachmentPtr mCameraAttachment; + 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