#define DALI_TOOLKIT_INTERNAL_CONTROL_WRAPPER_H
/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
namespace Toolkit
{
+class TransitionData;
+
+namespace Visual
+{
+class Base;
+}
+
namespace Internal
{
/**
* @copydoc Toolkit::ControlWrapper
*/
-class ControlWrapper : public Control
+class DALI_IMPORT_API ControlWrapper : public Control
{
public:
/**
* Create a new ControlWrapper.
+ *
+ * @param[in] typeName The name of the type that is registered with this control
+ * @param[in] controlWrapper The implementation of this control
+ *
* @return A public handle to the newly allocated ControlWrapper.
*/
- static Dali::Toolkit::ControlWrapper New( ControlWrapper* controlWrapper );
+ static Dali::Toolkit::ControlWrapper New( const std::string& typeName, ControlWrapper* controlWrapper );
public: // From CustomActorImpl
public: // From Control
/**
- * @copydoc Dali::Toolkit::Internal::Control::RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual )
+ * @ref Dali::Toolkit::DevelControl::RegisterVisual()
*/
void RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual );
/**
- * @copydoc Dali::Toolkit::Internal::Control::RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual, bool enabled )
+ * @ref Dali::Toolkit::DevelControl::RegisterVisual()
+ */
+ void RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual, int depthIndex );
+
+ /**
+ * @ref Dali::Toolkit::DevelControl::RegisterVisual()
*/
void RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual, bool enabled );
/**
- * @copydoc Dali::Toolkit::Internal::Control::UnregisterVisual()
+ * @ref Dali::Toolkit::DevelControl::RegisterVisual()
+ */
+ void RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual, bool enabled, int depthIndex );
+
+ /**
+ * @ref Dali::Toolkit::DevelControl::UnregisterVisual()
*/
void UnregisterVisual( Property::Index index );
/**
- * @copydoc Dali::Toolkit::Internal::Control::GetVisual()
+ * @ref Dali::Toolkit::DevelControl::GetVisual()
*/
Toolkit::Visual::Base GetVisual( Property::Index index ) const;
/**
- * @copydoc Dali::Toolkit::Internal::Control::EnableVisual()
+ * @ref Dali::Toolkit::DevelControl::EnableVisual()
*/
void EnableVisual( Property::Index index, bool enable );
/**
- * @copydoc Dali::Toolkit::Internal::Control::IsVisualEnabled()
+ * @ref Dali::Toolkit::DevelControl::IsVisualEnabled()
*/
bool IsVisualEnabled( Property::Index index ) const;
/**
- * @copydoc Dali::Toolkit::Internal::Control::CreateTransition()
+ * @ref Dali::Toolkit::DevelControl::CreateTransition()
*/
Dali::Animation CreateTransition( const Toolkit::TransitionData& transitionData );
*/
void ApplyThemeStyle();
+public:
+ /**
+ * Enable access to non-native type info from native side
+ * @return The type info that was registered on this type
+ */
+ Dali::TypeInfo GetTypeInfo();
+
protected:
/**
private:
- // Undefined.
- ControlWrapper( const ControlWrapper& );
-
- // Undefined.
- ControlWrapper& operator=( const ControlWrapper& rhs );
+ /// @cond internal
+ /// Undefined.
+ DALI_INTERNAL ControlWrapper( const ControlWrapper& );
+ /// Undefined.
+ DALI_INTERNAL ControlWrapper& operator=( const ControlWrapper& rhs );
+ /// @endcond
};
} // namespace Internal