#define DALI_TOOLKIT_INTERNAL_SVG_VISUAL_H
/*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2021 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.
#include <dali-toolkit/internal/visuals/visual-base-impl.h>
#include <dali-toolkit/internal/visuals/visual-url.h>
-#ifdef NO_THORVG
-struct NSVGimage;
-#endif /* NO_THORVG */
-
namespace Dali
{
virtual ~SvgVisual();
/**
+ * @copydoc Visual::Base::OnInitialize
+ */
+ void OnInitialize() override;
+
+ /**
* @copydoc Visual::Base::DoSetProperties
*/
void DoSetProperties( const Property::Map& propertyMap ) override;
public:
-#ifdef NO_THORVG
- /**
- * @bried Apply the rasterized image to the visual.
- *
- * @param[in] parsedSvg The data of parsed image.
- * @param[in] rasterizedPixelData The pixel buffer with the rasterized pixels
- */
- void ApplyRasterizedImage( NSVGimage* parsedSvg, PixelData rasterizedPixelData );
-#else /* NO_THORVG */
/**
* @bried Apply the rasterized image to the visual.
*
* @param[in] bool Whether the resource is loaded
*/
void ApplyRasterizedImage( VectorImageRenderer vectorImage, PixelData rasterizedPixelData, bool isLoaded );
-#endif /* NO_THORVG */
private:
-#ifdef NO_THORVG
/**
- * @brief Parses the SVG Image from the set URL.
- *
- * @param[in] imageUrl The URL of the image to parse the SVG from.
- */
- void ParseFromUrl( const VisualUrl& imageUrl );
-#else /* NO_THORVG */
- /**
- * @brief Load the SVG Image from the set URL.
- */
- void Load();
-#endif /* NO_THORVG */
+ * @brief Load the SVG Image from the set URL.
+ */
+ void Load();
/**
* @bried Rasterize the svg with the given size, and add it to the visual.
ImageVisualShaderFactory& mImageVisualShaderFactory;
Vector4 mAtlasRect;
VisualUrl mImageUrl;
-#ifdef NO_THORVG
- NSVGimage* mParsedImage;
-#else /* NO_THORVG */
VectorImageRenderer mVectorRenderer;
uint32_t mDefaultWidth;
uint32_t mDefaultHeight;
- bool mLoaded;
- bool mLocalResource;
-#endif /* NO_THORVG */
WeakHandle<Actor> mPlacementActor;
Vector2 mVisualSize;
+ bool mLoadFailed;
bool mAttemptAtlasing; ///< If true will attempt atlasing, otherwise create unique texture
};