friend IteratorAccessor
-#define _TVG_DECALRE_IDENTIFIER() \
-protected: \
- unsigned _id
-
namespace tvg
{
*
* @BETA_API
*/
- uint32_t identifier() const { return _id; }
+ uint32_t identifier() const noexcept;
_TVG_DECLARE_ACCESSOR();
- _TVG_DECALRE_IDENTIFIER();
_TVG_DECLARE_PRIVATE(Paint);
};
*
* @BETA_API
*/
- uint32_t identifier() const { return _id; }
+ uint32_t identifier() const noexcept;
- _TVG_DECALRE_IDENTIFIER();
_TVG_DECLARE_PRIVATE(Fill);
};
{
return pImpl->duplicate();
}
+
+uint32_t Fill::identifier() const noexcept
+{
+ return pImpl->id;
+}
\ No newline at end of file
uint32_t cnt = 0;
FillSpread spread;
DuplicateMethod<Fill>* dup = nullptr;
+ uint32_t id;
~Impl()
{
LinearGradient::LinearGradient():pImpl(new Impl())
{
- _id = TVG_CLASS_ID_LINEAR;
+ Fill::pImpl->id = TVG_CLASS_ID_LINEAR;
Fill::pImpl->method(new FillDup<LinearGradient::Impl>(pImpl));
}
{
return pImpl->opacity;
}
+
+
+uint32_t Paint::identifier() const noexcept
+{
+ return pImpl->id;
+}
\ No newline at end of file
Paint* cmpTarget = nullptr;
CompositeMethod cmpMethod = CompositeMethod::None;
uint32_t ctxFlag = ContextFlag::Invalid;
+ uint32_t id;
uint8_t opacity = 255;
~Impl() {
Picture::Picture() : pImpl(new Impl(this))
{
- _id = TVG_CLASS_ID_PICTURE;
+ Paint::pImpl->id = TVG_CLASS_ID_PICTURE;
Paint::pImpl->method(new PaintMethod<Picture::Impl>(pImpl));
}
RadialGradient::RadialGradient():pImpl(new Impl())
{
- _id = TVG_CLASS_ID_RADIAL;
+ Fill::pImpl->id = TVG_CLASS_ID_RADIAL;
Fill::pImpl->method(new FillDup<RadialGradient::Impl>(pImpl));
}
Scene::Scene() : pImpl(new Impl())
{
- _id = TVG_CLASS_ID_SCENE;
+ Paint::pImpl->id = TVG_CLASS_ID_SCENE;
Paint::pImpl->method(new PaintMethod<Scene::Impl>(pImpl));
}
Shape :: Shape() : pImpl(new Impl(this))
{
- _id = TVG_CLASS_ID_SHAPE;
+ Paint::pImpl->id = TVG_CLASS_ID_SHAPE;
Paint::pImpl->method(new PaintMethod<Shape::Impl>(pImpl));
}