platform/core/graphics/tizenvg.git
4 years agosw_engine: support color blending 26/232326/4
Hermet Park [Fri, 1 May 2020 04:59:02 +0000 (13:59 +0900)]
sw_engine: support color blending

this contains testBlending as well

Change-Id: Ia0aadea804a973cfe8ec981ed1b21c1b44512ef2

4 years agotest: rename testPath to testPathCopy 24/232324/1
Hermet Park [Fri, 1 May 2020 03:46:54 +0000 (12:46 +0900)]
test: rename testPath to testPathCopy

Change-Id: I8cf2a26437a804d2cd061d61d3a99b3c6f3aa0e6

4 years agotest: updated comments
Hermet Park [Thu, 30 Apr 2020 14:40:35 +0000 (23:40 +0900)]
test: updated comments

Change-Id: I92fccb5a9de088f837a768a2f1d60ac94eac9410

4 years agocommon shape: added path commands interfaces for user convenient. 08/232308/2
Hermet Park [Thu, 30 Apr 2020 10:11:04 +0000 (19:11 +0900)]
common shape: added path commands interfaces for user convenient.

+lineTo()
+moveTo()
+cubicTo()
+close()

These interfaces might not perfect optmizied,
but you can build path commands easier than manual data set.

Change-Id: Icb934ca256d3107ca0c938d28015d767fb93355e

4 years agocommon shape: remove unnecessary log
Hermet Park [Thu, 30 Apr 2020 09:38:34 +0000 (18:38 +0900)]
common shape: remove unnecessary log

Change-Id: Ie85153afdc01270ed282d9ff87607ee1a882be31

4 years agocommon shape: support path appending 05/232305/2
Hermet Park [Thu, 30 Apr 2020 09:31:51 +0000 (18:31 +0900)]
common shape: support path appending

it's usage may require a little handy but
The path data is very low manipulated, its usage may require a little handy,
but appedingPath() is designed for performance.

Also added testPath.

Change-Id: Ifd929d48506926e3f529198c0b40ee8f922835d4

4 years agosw_engine: fix crash at merge shape test
Hermet Park [Thu, 30 Apr 2020 06:41:16 +0000 (15:41 +0900)]
sw_engine: fix crash at merge shape test

increased spare cell memory for rasterizing.

Change-Id: I391dfbfae0ef028d213c55fe1ceca023e272e676

4 years agosw_engine: case cover out of surface boundary. 85/232285/2
Hermet Park [Wed, 29 Apr 2020 15:54:41 +0000 (00:54 +0900)]
sw_engine: case cover out of surface boundary.

Also added surface boundary test code.

Change-Id: Ib4c327d12ce52d506f1b8a566ffa48e5b5b8c03e

4 years agocanvas: correct convention
Hermet Park [Sun, 26 Apr 2020 17:00:38 +0000 (02:00 +0900)]
canvas: correct convention

add missing noexcept option.

Change-Id: I14eacb0fdb2c9bd40e365bf81bb5cc0b73239ffe

4 years agoupdate gitignore file
Hermet Park [Sun, 26 Apr 2020 16:59:49 +0000 (01:59 +0900)]
update gitignore file

Change-Id: I0b245f1177e3df04ddc6f345213bbb1207d3e950

4 years agocanvas: add reserve() method. 24/231924/1
Hermet Park [Sun, 26 Apr 2020 16:52:44 +0000 (01:52 +0900)]
canvas: add reserve() method.

This allocates nodes slots in advance to avoid memory grow & copy.

it will be benefit if you know how many shapes will be used in your canvas.

Change-Id: I7d93d166c9c054078bd86593d3471a2ade3671ee

4 years agocommon: code refactoring. 23/231923/2
Hermet Park [Sun, 26 Apr 2020 16:45:52 +0000 (01:45 +0900)]
common: code refactoring.

introduce Canvas class to replace the CanvasBase.
now, SwCanvas, GlCanvas inherits this Canvas for polymorphism
and remove duplicated interfaces.

Change-Id: I65a87e3aa2289d04997930a54aeccd14f57dd73a

4 years agotest: close the window at exit button 15/231915/1
Hermet Park [Sun, 26 Apr 2020 09:47:34 +0000 (18:47 +0900)]
test: close the window at exit button

Change-Id: Idf46d7132ae97356637816e54dc6c267be7122e6

4 years agotest: add merge shapes 14/231914/2
Hermet Park [Sun, 26 Apr 2020 09:41:27 +0000 (18:41 +0900)]
test: add merge shapes

Change-Id: I2dc91d3514aed1cbb1bd3490ea5d91debeab662a

4 years agocommon shape: support ellipse 13/231913/1
Hermet Park [Sun, 26 Apr 2020 09:18:52 +0000 (18:18 +0900)]
common shape: support ellipse

Now, you can pass separate width radius and height radius in circle.

Change-Id: Ie1e2b58fbb399d8ef74d55d83ec48d8f4323f21e

4 years agocommon shape: support rounded rectangle. 07/231907/3
Hermet Park [Sun, 26 Apr 2020 06:00:29 +0000 (15:00 +0900)]
common shape: support rounded rectangle.

Also remove arcTo implementation since curveTo could covers it.

Change-Id: Icc63eca55e51622fc80b57672f308f25f2301f85

4 years agosw_engine: fix wrong comparison that brings broken shapes.
Hermet Park [Sun, 26 Apr 2020 05:57:14 +0000 (14:57 +0900)]
sw_engine: fix wrong comparison that brings broken shapes.

These implementation is still at hot coding,
we still need to improve a lot.

Change-Id: I61398bff75395ff5e692ca48f4d62243f74bed85

4 years agocommon shape: implement appendCircle body. 04/231904/6
Hermet Park [Sat, 25 Apr 2020 12:40:40 +0000 (21:40 +0900)]
common shape: implement appendCircle body.

Change-Id: Ib8507366f84532db3119f04c8d55e0d4e8206f9f

4 years agosw_engine: concrete shape rendering sequence. 70/231170/6
Hermet Park [Sun, 19 Apr 2020 04:13:27 +0000 (13:13 +0900)]
sw_engine: concrete shape rendering sequence.

Succeed first sw backend screen up!

Change-Id: I882fb1726ed1f45e92e73fbc36170e93645dfbd2

4 years agotest: update test code for the first showcase.
Hermet Park [Sun, 19 Apr 2020 03:17:48 +0000 (12:17 +0900)]
test: update test code for the first showcase.

To show the result, we use efl library.

Most linux distribution supports efl library from their package repo,
you can easily install efl from its package repo:

Ubuntu:
$ apt-get install libelementary-dev

Or, please visit efl site to install EFL libarary manually:
https://www.enlightenment.org/download

Change-Id: I696ac72e4ec7ea3258161a15b58171d74c16830d

4 years agosw_engine: tag one optimization point for future work.
Hermet Park [Sun, 19 Apr 2020 02:55:19 +0000 (11:55 +0900)]
sw_engine: tag one optimization point for future work.

Change-Id: Ib41b18c097d24636efbba633972e1c8b7f9a63ef

4 years agosw_engine: optimization++
Hermet Park [Sun, 19 Apr 2020 02:13:28 +0000 (11:13 +0900)]
sw_engine: optimization++

Adjust rle span generation size to reduce memory allocation.
This span growing is experimentally increased, undeterministic.
Thus We need too increase them every requests, if we increase their
size x 4, we can avoid a lot of memory copy in advance.

Change-Id: Idd24024204a69fa3b6857728b95aa63a3ac26c5e

4 years agocode refactoring.
Hermet Park [Sat, 18 Apr 2020 14:21:22 +0000 (23:21 +0900)]
code refactoring.

separate Renderer interfaces to RenderCommon.

Change-Id: I682b20db6cc8a058efee7dd4f519277d86306153

4 years agocode refactoring.
Hermet Park [Sat, 18 Apr 2020 14:07:15 +0000 (23:07 +0900)]
code refactoring.

revise internal class & variable names for better code readibility.

Change-Id: I7f1b4474f3129c3be04444350496485f000afd15

4 years agorename class names.
Hermet Park [Sat, 18 Apr 2020 13:59:27 +0000 (22:59 +0900)]
rename class names.

RasterMethod -> RenderMethod
SwEngine -> SwRenderer
GlEngine -> GlRenderer

Change-Id: Ic2ded698e49c4373fe21fe31fa34baca01bf43a2

4 years agosw_engine: implement line and curve raster 67/231167/6
Hermet Park [Sat, 18 Apr 2020 04:48:37 +0000 (13:48 +0900)]
sw_engine: implement line and curve raster

Change-Id: I22a77892544cd510cfe646aee60093cebb848806

4 years agoreplace backend class names.
Hermet Park [Sat, 18 Apr 2020 03:43:30 +0000 (12:43 +0900)]
replace backend class names.

SwRaster to SwEngine
GlRaster to GlEngine

Change-Id: I3cf70e168b78c64754807a62c221e13c11b95c35

4 years agoimplement rle path parts. 48/230848/5
Hermet Park [Tue, 14 Apr 2020 17:11:18 +0000 (02:11 +0900)]
implement rle path parts.

Change-Id: I7200d80320404d6e7fb722042b8f330961bee76d

4 years agoimplement rle raster. 67/230567/7
Hermet Park [Sat, 11 Apr 2020 06:23:37 +0000 (15:23 +0900)]
implement rle raster.

Change-Id: Ie21dfbf0ff1aed43bfa750eeef3b8c033a986416

4 years agoimplement shape basics sw engine. 06/229806/5
Hermet Park [Fri, 3 Apr 2020 16:14:11 +0000 (01:14 +0900)]
implement shape basics sw engine.

Change-Id: I93788f40f7c4f59bcc9ab4dff9127bcb4e6c1466

4 years agoimplement sw engine basic sequence. 95/229795/2
Hermet Park [Fri, 3 Apr 2020 07:09:09 +0000 (16:09 +0900)]
implement sw engine basic sequence.

Change-Id: Ide27c9b191088109f95e03fcd1c80ad3ecc058cd

4 years agoimplement basic interfaces 20/229520/4
Hermet Park [Wed, 1 Apr 2020 10:48:37 +0000 (19:48 +0900)]
implement basic interfaces

major functions are added for Path specification.
added backend engine infra skeleton.

Change-Id: Ia923b02649cff545fa768ab8538ad7187195826f

4 years agoUpdate sample prototypes. 35/229235/2
Hermet Park [Mon, 30 Mar 2020 11:51:26 +0000 (20:51 +0900)]
Update sample prototypes.

This is still a hard work and under the intensive settle up stage.

Change-Id: Ibfbeaabe8a51dc5edeeccf8fe75e65e60b91f703

4 years agobuild up base infra code for prototype. 15/228715/7
Hermet Park [Wed, 25 Mar 2020 04:54:29 +0000 (13:54 +0900)]
build up base infra code for prototype.

Change-Id: I117a798caf4d9fedfe5c467471dee2f0150c2630

4 years ago+ Initial draft 02/228602/7
Hermet Park [Tue, 24 Mar 2020 06:07:51 +0000 (15:07 +0900)]
+ Initial draft

Introduce project skeleton such as build envrionment and interfaces
to build up code further cooperatively.

Change-Id: Ie9ac38991f609d33637283134906d7cc3f2ac19e

4 years agoInitial empty repository master
Tizen Infrastructure [Tue, 24 Mar 2020 02:52:35 +0000 (02:52 +0000)]
Initial empty repository