-#ifndef __DALI_TOOLKIT_BLOOM_VIEW_H__
-#define __DALI_TOOLKIT_BLOOM_VIEW_H__
+#ifndef DALI_TOOLKIT_BLOOM_VIEW_H
+#define DALI_TOOLKIT_BLOOM_VIEW_H
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
*
*/
+// EXTERNAL INCLUDES
+#include <dali/public-api/images/pixel.h>
+
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/control.h>
-#include <dali-toolkit/public-api/controls/gaussian-blur-view/gaussian-blur-view.h>
namespace Dali
{
-
namespace Toolkit
{
-
namespace Internal DALI_INTERNAL
{
-
/**
* BloomView implementation class
*/
class BloomView;
-} // namespace Internal
+} // namespace DALI_INTERNAL
/**
*
*
* // create and add some visible actors to the BloomView, all these child actors will therefore get bloomed\n
* Image image = Image::New(...);\n
- * ImageActor imageActor = ImageActor::New(image);\n
- * bloomView.Add(imageActor);\n
+ * ImageView imageView = ImageView::New(image);\n
+ * bloomView.Add(imageView);\n
* ...\n
*
* // Start rendering the BloomView\n
* Stage::GetCurrent().Remove(bloomView);\n
* bloomView.Deactivate();\n
*/
-class DALI_IMPORT_API BloomView : public Control
+class DALI_TOOLKIT_API BloomView : public Control
{
public:
-
/**
* Create an uninitialized BloomView; this can be initialized with BloomView::New()
* Calling member functions with an uninitialized Dali::Object is not allowed.
/**
* Copy constructor. Creates another handle that points to the same real object
+ * @param[in] handle The handle to copy from.
*/
BloomView(const BloomView& handle);
/**
* Assignment operator. Changes this handle to point to another real object
+ * @param[in] handle The handle to copy from.
+ * @return reference to this
+ */
+ BloomView& operator=(const BloomView& handle);
+
+ /**
+ * Move constructor. Creates another handle that points to the same real object
+ * @param[in] handle The handle to move from.
+ */
+ BloomView(BloomView&& handle);
+
+ /**
+ * Move assignment operator. Changes this handle to point to another real object
+ * @param[in] handle The handle to move from.
+ * @return reference to this
*/
- BloomView& operator=(const BloomView& ZoomView);
+ BloomView& operator=(BloomView&& handle);
/**
* @brief Destructor
* @param[in] handle Handle to an object
* @return handle to a BloomView or an uninitialized handle
*/
- static BloomView DownCast( BaseHandle handle );
+ static BloomView DownCast(BaseHandle handle);
/**
* Create an initialized BloomView, using default settings. The default settings are:-\n
*/
static BloomView New();
- /**
+ /**
* Create an initialized BloomView.
* @param numSamples The size of the Gaussian blur kernel (number of samples in horizontal / vertical blur directions) that is used to blur the bloom
* @param blurBellCurveWidth The constant controlling the Gaussian function, must be > 0.0. Controls the width of the bell curve, i.e. the look of the blur and also indirectly
* Useful for downsampling - trades visual quality for processing speed. A value of 1.0f results in no scaling applied.
* @return A handle to a newly allocated Dali resource
*/
- static BloomView New(const unsigned int numSamples, const float blurBellCurveWidth, const Pixel::Format renderTargetPixelFormat,
- const float downsampleWidthScale, const float downsampleHeightScale);
-
- /**
- * Adds a child Actor to this Actor.
- * NOTE! if the child already has a parent, it will be removed from old parent
- * and reparented to this actor. This may change childs position, color, shader effect,
- * scale etc as it now inherits them from this actor
- * @pre This Actor (the parent) has been initialized.
- * @pre The child actor has been initialized.
- * @pre The child actor is not the same as the parent actor.
- * @pre The actor is not the Root actor
- * @param [in] child The child.
- * @post The child will be referenced by its parent. This means that the child will be kept alive,
- * even if the handle passed into this method is reset or destroyed.
- */
- void Add(Actor child);
-
- /**
- * Removes a child Actor from this Actor.
- * If the actor was not a child of this actor, this is a no-op.
- * @pre This Actor (the parent) has been initialized.
- * @pre The child actor is not the same as the parent actor.
- * @param [in] child The child.
- */
- void Remove(Actor child);
+ static BloomView New(const unsigned int numSamples, const float blurBellCurveWidth, const Pixel::Format renderTargetPixelFormat, const float downsampleWidthScale, const float downsampleHeightScale);
/**
* Start rendering the BloomView. Must be called after you Add() it to the stage.
Dali::Property::Index GetImageSaturationPropertyIndex() const;
public:
-
/**
* Creates a handle using the Toolkit::Internal implementation.
* @param[in] implementation The UI Control implementation.
*/
- DALI_INTERNAL BloomView( Internal::BloomView& implementation );
+ DALI_INTERNAL BloomView(Internal::BloomView& implementation);
/**
* Allows the creation of this UI Control from an Internal::CustomActor pointer.
* @param[in] internal A pointer to the internal CustomActor.
*/
- explicit DALI_INTERNAL BloomView( Dali::Internal::CustomActor* internal );
-
+ explicit DALI_INTERNAL BloomView(Dali::Internal::CustomActor* internal);
};
} // namespace Toolkit
} // namespace Dali
-#endif // __DALI_TOOLKIT_BLOOM_VIEW_H__
+#endif // DALI_TOOLKIT_BLOOM_VIEW_H