[dali_2.1.4] Merge branch 'devel/master' 97/269097/1
authorAdam Bialogonski <adam.b@samsung.com>
Fri, 7 Jan 2022 10:06:49 +0000 (10:06 +0000)
committerAdam Bialogonski <adam.b@samsung.com>
Fri, 7 Jan 2022 10:06:49 +0000 (10:06 +0000)
Change-Id: I1dfef02fd6e758ee3aab6af6e84c14ba0e26224f

dali-csharp-binder/src/accessible-impl-nui.cpp
dali-csharp-binder/src/control-devel-wrap.cpp
dali-csharp-binder/src/dali-wrap.cpp
dali-csharp-binder/src/processor-controller.cpp
dali-csharp-binder/src/processor-controller.h
packaging/dali-csharp-binder.spec

index ae84e10..a64a834 100644 (file)
 
 // EXTERNAL INCLUDES
 #include <dali/devel-api/adaptor-framework/accessibility.h>
-#include <dali/devel-api/adaptor-framework/accessibility-impl.h>
+#include <dali/devel-api/adaptor-framework/accessibility-bridge.h>
+#include <dali/devel-api/atspi-interfaces/editable-text.h>
+#include <dali/devel-api/atspi-interfaces/text.h>
+#include <dali/devel-api/atspi-interfaces/selection.h>
+#include <dali/devel-api/atspi-interfaces/value.h>
+#include <dali/integration-api/debug.h>
 
 // INTERNAL INCLUDES
 #include "control-devel-wrap.h"
@@ -93,22 +98,22 @@ inline T stealObject(T *obj)
     return ret;
 }
 
-struct AccessibleImpl_NUI : public AccessibleImpl
+struct NUIViewAccessible : public ControlAccessible
 {
     // Points to memory managed from the C# side
     const AccessibilityDelegate *table;
 
-    AccessibleImpl_NUI() = delete;
-    AccessibleImpl_NUI(const AccessibleImpl_NUI &) = delete;
-    AccessibleImpl_NUI(AccessibleImpl_NUI &&) = delete;
+    NUIViewAccessible() = delete;
+    NUIViewAccessible(const NUIViewAccessible &) = delete;
+    NUIViewAccessible(NUIViewAccessible &&) = delete;
 
-    AccessibleImpl_NUI& operator=(const AccessibleImpl_NUI &) = delete;
-    AccessibleImpl_NUI& operator=(AccessibleImpl_NUI &&) = delete;
+    NUIViewAccessible& operator=(const NUIViewAccessible &) = delete;
+    NUIViewAccessible& operator=(NUIViewAccessible &&) = delete;
 
-    AccessibleImpl_NUI(Dali::Actor actor, Dali::Accessibility::Role role, const AccessibilityDelegate *vtable)
-    : AccessibleImpl(actor, role, false), table{vtable} {}
+    NUIViewAccessible(Dali::Actor actor, Dali::Accessibility::Role role, const AccessibilityDelegate *vtable)
+    : ControlAccessible(actor, role, false), table{vtable} {}
 
-    std::string GetNameRaw() override
+    std::string GetNameRaw() const override
     {
         std::string ret{};
 
@@ -120,7 +125,7 @@ struct AccessibleImpl_NUI : public AccessibleImpl
         return ret;
     }
 
-    std::string GetDescriptionRaw() override
+    std::string GetDescriptionRaw() const override
     {
         std::string ret{};
 
@@ -134,7 +139,7 @@ struct AccessibleImpl_NUI : public AccessibleImpl
 
     bool GrabHighlight() override
     {
-        bool ret = AccessibleImpl::GrabHighlight();
+        bool ret = ControlAccessible::GrabHighlight();
 
         if (ret)
         {
@@ -148,7 +153,7 @@ struct AccessibleImpl_NUI : public AccessibleImpl
         return ret;
     }
 
-    std::string GetActionName(std::size_t index) override
+    std::string GetActionName(std::size_t index) const override
     {
         std::string ret{};
 
@@ -160,7 +165,7 @@ struct AccessibleImpl_NUI : public AccessibleImpl
         return ret;
     }
 
-    std::size_t GetActionCount() override
+    std::size_t GetActionCount() const override
     {
         std::size_t ret{0};
 
@@ -192,7 +197,7 @@ struct AccessibleImpl_NUI : public AccessibleImpl
     Dali::Accessibility::States CalculateStates() override
     {
         Dali::Accessibility::States ret{};
-        auto states = AccessibleImpl::CalculateStates();
+        auto states = ControlAccessible::CalculateStates();
 
         uint64_t baseStates = states.GetRawData()[0];
         uint64_t high = states.GetRawData()[1];
@@ -215,7 +220,7 @@ struct AccessibleImpl_NUI : public AccessibleImpl
         return Dali::Property::INVALID_INDEX;
     }
 
-    virtual bool ShouldReportZeroChildren()
+    virtual bool ShouldReportZeroChildren() const
     {
         bool ret{false};
 
@@ -227,7 +232,7 @@ struct AccessibleImpl_NUI : public AccessibleImpl
         return ret;
     }
 
-    std::size_t GetChildCount() override
+    std::size_t GetChildCount() const override
     {
         bool highlighted = (Self() == Dali::Accessibility::Accessible::GetCurrentlyHighlightedActor());
 
@@ -243,7 +248,7 @@ struct AccessibleImpl_NUI : public AccessibleImpl
         }
         else
         {
-            return AccessibleImpl::GetChildCount();
+            return ControlAccessible::GetChildCount();
         }
     }
 
@@ -270,11 +275,11 @@ struct AccessibleImpl_NUI : public AccessibleImpl
         }
         else
         {
-            return AccessibleImpl::GetChildAtIndex(index);
+            return ControlAccessible::GetChildAtIndex(index);
         }
     }
 
-    bool IsScrollable() override
+    bool IsScrollable() const override
     {
         bool ret{false};
 
@@ -299,12 +304,12 @@ struct AccessibleImpl_NUI : public AccessibleImpl
     }
 };
 
-struct AccessibleImpl_NUI_Value : public AccessibleImpl_NUI,
-                                  public virtual Dali::Accessibility::Value
+struct NUIViewAccessible_Value : public NUIViewAccessible,
+                                 public virtual Dali::Accessibility::Value
 {
-    using AccessibleImpl_NUI::AccessibleImpl_NUI;
+    using NUIViewAccessible::NUIViewAccessible;
 
-    double GetMinimum() override
+    double GetMinimum() const override
     {
         double ret{0.0};
 
@@ -316,7 +321,7 @@ struct AccessibleImpl_NUI_Value : public AccessibleImpl_NUI,
         return ret;
     }
 
-    double GetCurrent() override
+    double GetCurrent() const override
     {
         double ret{0.0};
 
@@ -328,7 +333,7 @@ struct AccessibleImpl_NUI_Value : public AccessibleImpl_NUI,
         return ret;
     }
 
-    double GetMaximum() override
+    double GetMaximum() const override
     {
         double ret{0.0};
 
@@ -352,7 +357,7 @@ struct AccessibleImpl_NUI_Value : public AccessibleImpl_NUI,
         return ret;
     }
 
-    double GetMinimumIncrement() override
+    double GetMinimumIncrement() const override
     {
         double ret{0.0};
 
@@ -365,13 +370,12 @@ struct AccessibleImpl_NUI_Value : public AccessibleImpl_NUI,
     }
 };
 
-struct AccessibleImpl_NUI_EditableText : public AccessibleImpl_NUI,
-                                         public virtual Dali::Accessibility::Text,
-                                         public virtual Dali::Accessibility::EditableText
+struct NUIViewAccessible_EditableText : public NUIViewAccessible,
+                                        public virtual Dali::Accessibility::EditableText
 {
-    using AccessibleImpl_NUI::AccessibleImpl_NUI;
+    using NUIViewAccessible::NUIViewAccessible;
 
-    std::string GetText(std::size_t startOffset, std::size_t endOffset) override
+    std::string GetText(std::size_t startOffset, std::size_t endOffset) const override
     {
         std::string ret{};
 
@@ -383,7 +387,7 @@ struct AccessibleImpl_NUI_EditableText : public AccessibleImpl_NUI,
         return ret;
     }
 
-    std::size_t GetCharacterCount() override
+    std::size_t GetCharacterCount() const override
     {
         std::size_t ret{0};
 
@@ -395,7 +399,7 @@ struct AccessibleImpl_NUI_EditableText : public AccessibleImpl_NUI,
         return ret;
     }
 
-    std::size_t GetCursorOffset() override
+    std::size_t GetCursorOffset() const override
     {
         std::size_t ret{0};
 
@@ -419,7 +423,7 @@ struct AccessibleImpl_NUI_EditableText : public AccessibleImpl_NUI,
         return ret;
     }
 
-    Dali::Accessibility::Range GetTextAtOffset(std::size_t offset, Dali::Accessibility::TextBoundary boundary) override
+    Dali::Accessibility::Range GetTextAtOffset(std::size_t offset, Dali::Accessibility::TextBoundary boundary) const override
     {
         Dali::Accessibility::Range ret{};
 
@@ -431,7 +435,7 @@ struct AccessibleImpl_NUI_EditableText : public AccessibleImpl_NUI,
         return ret;
     }
 
-    Dali::Accessibility::Range GetRangeOfSelection(std::size_t selectionIndex) override
+    Dali::Accessibility::Range GetRangeOfSelection(std::size_t selectionIndex) const override
     {
         Dali::Accessibility::Range ret{};
 
@@ -524,12 +528,12 @@ struct AccessibleImpl_NUI_EditableText : public AccessibleImpl_NUI,
     }
 };
 
-struct AccessibleImpl_NUI_Selection : public AccessibleImpl_NUI,
-                                      public virtual Dali::Accessibility::Selection
+struct NUIViewAccessible_Selection : public NUIViewAccessible,
+                                    public virtual Dali::Accessibility::Selection
 {
-    using AccessibleImpl_NUI::AccessibleImpl_NUI;
+    using NUIViewAccessible::NUIViewAccessible;
 
-    int GetSelectedChildrenCount() override
+    int GetSelectedChildrenCount() const override
     {
         int ret{0};
 
@@ -581,7 +585,7 @@ struct AccessibleImpl_NUI_Selection : public AccessibleImpl_NUI,
         return ret;
     }
 
-    bool IsChildSelected(int childIndex) override
+    bool IsChildSelected(int childIndex) const override
     {
         bool ret{false};
 
@@ -670,16 +674,16 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_SetAccessibilityCon
                 DALI_LOG_ERROR("SetAccessibilityConstructor_NUI error: unknown interface %d", iface);
                 // fall-through
             case IFACE_NONE:
-                accessible = new AccessibleImpl_NUI(actor, role, vtable);
+                accessible = new NUIViewAccessible(actor, role, vtable);
                 break;
             case IFACE_VALUE:
-                accessible = new AccessibleImpl_NUI_Value(actor, role, vtable);
+                accessible = new NUIViewAccessible_Value(actor, role, vtable);
                 break;
             case IFACE_EDITABLE_TEXT:
-                accessible = new AccessibleImpl_NUI_EditableText(actor, role, vtable);
+                accessible = new NUIViewAccessible_EditableText(actor, role, vtable);
                 break;
             case IFACE_SELECTION:
-                accessible = new AccessibleImpl_NUI_Selection(actor, role, vtable);
+                accessible = new NUIViewAccessible_Selection(actor, role, vtable);
                 break;
             }
 
index 34e8c7a..2a155b2 100644 (file)
@@ -18,7 +18,7 @@
 // EXTERNAL INCLUDES
 #include <vector>
 #include <dali/devel-api/adaptor-framework/accessibility.h>
-#include <dali/devel-api/adaptor-framework/accessibility-impl.h>
+#include <dali/devel-api/adaptor-framework/accessibility-bridge.h>
 
 // INTERNAL INCLUDES
 #include "control-devel-wrap.h"
index f3e85b7..6baccf9 100755 (executable)
@@ -38453,6 +38453,10 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_View_Property_ACCESSIBILITY_ATTRIBUTES_ge
   return (int)Dali::Toolkit::DevelControl::Property::ACCESSIBILITY_ATTRIBUTES;
 }
 
+SWIGEXPORT int SWIGSTDCALL CSharp_Dali_View_Property_ACCESSIBILITY_HIDDEN_get() {
+  return (int)Dali::Toolkit::DevelControl::Property::ACCESSIBILITY_HIDDEN;
+}
+
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_View_Property() {
   void * jresult ;
   Dali::Toolkit::Control::Property *result = 0 ;
index a355aae..cceb87c 100644 (file)
@@ -19,6 +19,7 @@
 #include "processor-controller.h"
 
 // EXTERNAL INCLUDES
+#include <dali/devel-api/common/stage-devel.h>
 #include <dali/integration-api/adaptor-framework/adaptor.h>
 
 #ifdef __cplusplus
@@ -26,7 +27,8 @@ extern "C" {
 #endif
 
 ProcessorController::ProcessorController()
-: mHandler(nullptr)
+: mHandler(nullptr),
+  mKeepRenderingApplied(false)
 {
   {
     try
@@ -51,6 +53,7 @@ ProcessorController::~ProcessorController()
 void ProcessorController::Process(bool postProcessor)
 {
   mHandler();
+  mKeepRenderingApplied = false;
 }
 
 void ProcessorController::SetCallback(  ProcessorControllerProcessCallback callback )
@@ -63,6 +66,19 @@ void ProcessorController::RemoveCallback(  ProcessorControllerProcessCallback ca
   mHandler = nullptr;
 }
 
+void ProcessorController::Awake()
+{
+  if(DALI_UNLIKELY(!mKeepRenderingApplied))
+  {
+    if(DALI_LIKELY(Dali::Stage::IsInstalled()))
+    {
+      auto stage = Dali::Stage::GetCurrent();
+      stage.KeepRendering(0.0f);
+      mKeepRenderingApplied = true;
+    }
+  }
+}
+
 // ProcessorController Bindings
 SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_ProcessorController() {
 
@@ -107,6 +123,16 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProcessorController_RemoveCallback( void
   }
 }
 
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_ProcessorController_Awake( void* jarg1 )
+{
+  ProcessorController* processorController = (ProcessorController *) jarg1;
+
+  if( processorController )
+  {
+    processorController->Awake();
+  }
+}
+
 #ifdef __cplusplus
 }
 #endif
\ No newline at end of file
index 807e479..ddeef5a 100644 (file)
@@ -66,9 +66,15 @@ public:
     */
   void RemoveCallback( ProcessorControllerProcessCallback callback );
 
+   /**
+    * @brief Awake update thread so dali-core calls the overriden Process() api.
+    */
+  void Awake();
+
 private:
 
   ProcessorControllerProcessCallback mHandler;
+  bool                               mKeepRenderingApplied; ///< True if we call Stage::KeepRendering(0.0f). It need to avoid duplicated keep rendering call
 };
 
 #endif // CSHARP_PROCESSOR_CONTROLLER_H
\ No newline at end of file
index 1fb4360..cdeb5f1 100644 (file)
@@ -21,7 +21,7 @@
 
 Name: dali2-csharp-binder
 Summary: The DALI Csharp Binder
-Version: 2.1.3
+Version: 2.1.4
 Release: 1
 Group: uifw/graphic
 License: Apache-2.0 and BSD-3-Clause and MIT