[Tizen] Add rotation's values to winBase-wl2
[platform/core/uifw/dali-adaptor.git] / dali / internal / window-system / tizen-wayland / ecore-wl2 / window-base-ecore-wl2.h
index 2b45ae0..83d06d2 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>
@@ -155,6 +156,11 @@ public:
    */
   void OnFontSizeChanged();
 
+  /**
+   * @brief Called when a transition effect-start/end event is received.
+   */
+  void OnTransitionEffectEvent( DevelWindow::EffectState state, DevelWindow::EffectType type );
+
 #ifdef DALI_ELDBUS_AVAILABLE
   /**
    * @brief Called when Ecore ElDBus accessibility event is received.
@@ -163,6 +169,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 );
@@ -187,6 +198,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:
 
   /**
@@ -270,14 +287,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()
@@ -400,6 +417,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;
@@ -410,6 +433,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;
@@ -422,12 +450,7 @@ public:
   /**
    * @copydoc Dali::Internal::Adaptor::WindowBase::SetParent()
    */
-  virtual void SetParent( Any parent ) override;
-
-  /**
-   * @copydoc Dali::Internal::Adaptor::WindowBase::IsMatchedWindow()
-   */
-  virtual bool IsMatchedWindow( Any window ) override;
+  virtual void SetParent( WindowBase* parentWinBase ) override;
 
 private:
 
@@ -467,6 +490,7 @@ private:
   wl_event_queue*                      mEventQueue;
   tizen_policy*                        mTizenPolicy;
   tizen_display_policy*                mTizenDisplayPolicy;
+  xkb_keymap*                          mKeyMap;
 
   std::vector< std::string >           mSupportedAuxiliaryHints;
   AuxiliaryHints                       mAuxiliaryHints;
@@ -488,6 +512,13 @@ private:
   volatile uint32_t                    mMoveResizeSerial;
   uint32_t                             mLastSubmittedMoveResizeSerial;
 
+  int                                  mWindowRotationAngle;
+  int                                  mScreenRotationAngle;
+  int                                  mSupportedPreProtation;
+
+  // Temporary solution to fix window rotation and window hide
+  // It will be removed when EFL patch is completed.
+  int                                  mAvaiableWindowOrientations[4];
 #ifdef DALI_ELDBUS_AVAILABLE
   Eldbus_Connection*                   mSystemConnection;
 #endif // DALI_ELDBUS_AVAILABLE