[Tizen] Add screen and client rotation itself function
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / tizen-wayland / ecore-wl2 / window-base-ecore-wl2.h
index 14985d2..a7c4d65 100644 (file)
@@ -26,6 +26,7 @@
 #include <Ecore_Wl2.h>
 #include <tizen-extension-client-protocol.h>
 #include <wayland-egl.h>
+#include <xkbcommon/xkbcommon.h>
 
 #ifdef DALI_ELDBUS_AVAILABLE
 #include <Eldbus.h>
@@ -160,6 +161,11 @@ public:
    */
   void OnTransitionEffectEvent( DevelWindow::EffectState state, DevelWindow::EffectType type );
 
+  /**
+   * @brief Called when a keyboard repeat event is changed.
+   */
+  void OnKeyboardRepeatSettingsChanged();
+
 #ifdef DALI_ELDBUS_AVAILABLE
   /**
    * @brief Called when Ecore ElDBus accessibility event is received.
@@ -168,6 +174,11 @@ public:
 #endif
 
   /**
+   * @brief Called when a keymap is changed.
+   */
+  void KeymapChanged(void *data, int type, void *event);
+
+  /**
    * @brief RegistryGlobalCallback
    */
   void RegistryGlobalCallback( void* data, struct wl_registry *registry, uint32_t name, const char* interface, uint32_t version );
@@ -192,6 +203,12 @@ public:
    */
   void DisplayPolicyBrightnessChangeDone( void* data, struct tizen_display_policy *displayPolicy, struct wl_surface* surface, int32_t brightness, uint32_t state );
 
+
+  /**
+   * @brief Gets the key code by keyName.
+   */
+  void GetKeyCode( std::string keyName, int32_t& keyCode );
+
 public:
 
   /**
@@ -275,14 +292,14 @@ public:
   virtual void Activate() override;
 
   /**
-   * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableOrientations()
+   * @copydoc Dali::Internal::Adaptor::WindowBase::SetAvailableAnlges()
    */
-  virtual void SetAvailableOrientations( const std::vector< Dali::Window::WindowOrientation >& orientations ) override;
+  virtual void SetAvailableAnlges( const std::vector< int >& angles ) override;
 
   /**
-   * @copydoc Dali::Internal::Adaptor::WindowBase::SetPreferredOrientation()
+   * @copydoc Dali::Internal::Adaptor::WindowBase::SetPreferredAngle()
    */
-  virtual void SetPreferredOrientation( Dali::Window::WindowOrientation orientation ) override;
+  virtual void SetPreferredAngle( int angle ) override;
 
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetAcceptFocus()
@@ -405,6 +422,12 @@ public:
   virtual void GetDpi( unsigned int& dpiHorizontal, unsigned int& dpiVertical ) override;
 
   /**
+   * @brief Return the orientation of the surface.
+   * @return The orientation
+   */
+  virtual int GetOrientation() const override;
+
+  /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::GetScreenRotationAngle()
    */
   virtual int GetScreenRotationAngle() override;
@@ -415,6 +438,11 @@ public:
   virtual void SetWindowRotationAngle( int degree ) override;
 
   /**
+   * @copydoc Dali::Internal::Adaptor::WindowBase::GetWindowRotationAngle()
+   */
+  virtual int GetWindowRotationAngle() override;
+
+  /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::WindowRotationCompleted()
    */
   virtual void WindowRotationCompleted( int degree, int width, int height ) override;
@@ -429,6 +457,16 @@ public:
    */
   virtual void SetParent( WindowBase* parentWinBase ) override;
 
+  /**
+   * @copydoc  Dali::Internal::Adaptor::WindowBase::CreateFrameRenderedSyncFence()
+   */
+  virtual int CreateFrameRenderedSyncFence() override;
+
+  /**
+   * @copydoc  Dali::Internal::Adaptor::WindowBase::CreateFramePresentedSyncFence()
+   */
+  virtual int CreateFramePresentedSyncFence() override;
+
 private:
 
   /**
@@ -467,6 +505,7 @@ private:
   wl_event_queue*                      mEventQueue;
   tizen_policy*                        mTizenPolicy;
   tizen_display_policy*                mTizenDisplayPolicy;
+  xkb_keymap*                          mKeyMap;
 
   std::vector< std::string >           mSupportedAuxiliaryHints;
   AuxiliaryHints                       mAuxiliaryHints;
@@ -483,11 +522,17 @@ private:
   uint32_t                             mBrightnessChangeState;
   bool                                 mBrightnessChangeDone;
 
+  bool                                 mVisible:1;
+  Dali::PositionSize                   mWindowPositionSize;
+
   bool                                 mOwnSurface;
 
   volatile uint32_t                    mMoveResizeSerial;
   uint32_t                             mLastSubmittedMoveResizeSerial;
 
+  int                                  mWindowRotationAngle;
+  int                                  mScreenRotationAngle;
+  int                                  mSupportedPreProtation;
 #ifdef DALI_ELDBUS_AVAILABLE
   Eldbus_Connection*                   mSystemConnection;
 #endif // DALI_ELDBUS_AVAILABLE