#define LOOK_CAMERA_H
/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
#include <dali/public-api/actors/camera-actor.h>
#include <dali/public-api/adaptor-framework/timer.h>
+#include <dali/public-api/adaptor-framework/window.h>
#include <dali/public-api/math/vector2.h>
/**
class LookCamera : public Dali::ConnectionTracker
{
public:
-
/**
* Creates an instance of LookCamera
*/
/**
* Initialise with given position, fovY, near, far
- * @param[in] position Position of the camera.
+ * @param[in] window The window the camera is for
+ * @param[in] position Position of the camera
* @param[in] fovY Field of view in degrees
* @param[in] near Near plane
* @param[in] far Far Plane
*/
- void Initialise( const Dali::Vector3& position, float fov, float near, float far );
+ void Initialise(Dali::Window window, const Dali::Vector3& position, float fov, float near, float far);
/**
* Retrieves actor associated with camera object
Dali::CameraActor GetCameraActor();
private:
-
/**
* Sets up a perspective camera using Dali default camera
*/
* @param[in] actor Actor receiving signal
* @param[in] touch Touch data
*/
- bool OnTouch( Dali::Actor actor, const Dali::TouchData& touch );
+ bool OnTouch(Dali::Actor actor, const Dali::TouchEvent& touch);
/**
* Handles camera tick() update
bool OnTick();
private:
+ Dali::Window mWindow; /// The window the camera belongs to
- Dali::CameraActor mCameraActor; /// Camera actor
- Dali::Actor mInterceptorActor; /// Actor intercepting user input
+ Dali::CameraActor mCameraActor; /// Camera actor
+ Dali::Actor mInterceptorActor; /// Actor intercepting user input
Dali::Timer mTimer; /// Per-frame timer
- Dali::Vector2 mScreenLookDelta; /// Look delta vector in screen space
+ Dali::Vector2 mScreenLookDelta; /// Look delta vector in screen space
Dali::Vector2 mOldTouchLookPosition; /// Previous look vector in screen space
Dali::Vector2 mCameraYawPitch; /// Camera yaw-pitch angles
float mFovY; /// Camera field-of-view
float mNear; /// Near plane
- float mFar; /// Far plane
+ float mFar; /// Far plane
Dali::Vector3 mCameraPosition; /// Current camera position ( shadowing the actor position )
};