X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fcanvas-view%2Fcanvas-view-impl.h;h=1a468b09186d651b2dd8d5016e8a7e1c94f9f2ce;hb=refs%2Fchanges%2F50%2F259050%2F33;hp=bc5c7088ddbc34587f44b21f1d70e5a55a806b79;hpb=c857a82d2a092fe17e654baf70afd454143310de;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/canvas-view/canvas-view-impl.h b/dali-toolkit/internal/controls/canvas-view/canvas-view-impl.h index bc5c708..1a468b0 100644 --- a/dali-toolkit/internal/controls/canvas-view/canvas-view-impl.h +++ b/dali-toolkit/internal/controls/canvas-view/canvas-view-impl.h @@ -33,10 +33,11 @@ namespace Dali { namespace Toolkit { -class CanvasView; - namespace Internal { +class CanvasView; +class CanvasViewRasterizeThread; + class CanvasView : public Control, public Integration::Processor { public: @@ -78,27 +79,37 @@ private: // From Control */ void OnInitialize() override; -protected: // Implementation of Processor + /** + * @bried Rasterize the canvas, and add it to the view. + * + * @param[in] size The target size of the canvas view rasterization. + */ + void AddRasterizationTask(); + +protected: /** * @copydoc Dali::Integration::Processor::Process() */ - void Process() override; + void Process(bool postProcessor) override; -private: +public: /** - * @brief Draw drawables added to CanvasView on inner canvas. - * Then make that buffer into a texture and add it to renderer. + * @bried Apply the rasterized image to the canvas view + * + * @param[in] rasterizedPixelData The pixel buffer with the rasterized pixels */ - void Commit(); + void ApplyRasterizedImage(PixelData rasterizedPixelData); private: CanvasView(const CanvasView&) = delete; CanvasView& operator=(const CanvasView&) = delete; private: - CanvasRenderer mCanvasRenderer; - Dali::Texture mTexture; - bool mChanged; + CanvasRenderer mCanvasRenderer; + Dali::Texture mTexture; + TextureSet mTextureSet; + Vector2 mSize; + CanvasViewRasterizeThread* mCanvasViewRasterizeThread; }; } // namespace Internal