Commit graph

714 commits

Author SHA1 Message Date
Hermet Park
6365d02a96 optimization: cut off file dependencies.
we should avoid code insertion during file dependencies,
such as #include "xxx.h" which has implementations.

This could increase binary size, we can avoid it as possible.

Current patch improves binary size like this:

From: file(2059008) = text(120360) data(8096) bss(80) dec(128536)
To  : file(1921832) = text(118429) data(7872) bss(56) dec(126357)

More additional patches will come in to optmize binary size.
2020-09-23 20:57:30 +09:00
mmaciola
145bafbec8
bindings/capi: Added gradient getter
Co-authored-by: Michal Maciola <m.maciola@samsung.com>
2020-09-23 15:09:08 +09:00
Hermet Park
ce69dcd416 examples: added stress test. 2020-09-23 14:42:52 +09:00
JunsuChoi
cf4edcf593 SvgPath: When path end(Z,z), Current point are returned to starting point(M,m)
When path ends with 'z' or 'Z' command, if 'm' comes as next command,
the current point is incorrectly referenced.
Since 'Z', 'z' means to close the path,
so, Save point and reuse it when 'M' or 'm' is called.
2020-09-22 14:50:15 +09:00
Hermet Park
87a0666034 common picture: implement duplicate() method. 2020-09-22 13:55:25 +09:00
Hermet Park
c1827df0a3 common scene: implement duplicate() method. 2020-09-22 13:24:00 +09:00
Hermet Park
d601021b8f common fill: code refactoring
removed unique_ptr in the interface because it's hard to get polymorphism benefits in programming perspective.
2020-09-22 11:00:33 +09:00
Hermet Park
a85540397c examples: update testDuplicate.
Added shape gradient fill to check duplication feature.
2020-09-21 19:22:47 +09:00
Hermet Park
12cd858d72
common fill: implement duplicate() method. 2020-09-21 19:20:51 +09:00
Hermet Park
e60c948e3a
Update README.md
Add examples section.
2020-09-19 01:04:34 +09:00
Hermet Park
729fee5a23 examples: move tests to src/examples
tests is now officially placed in src/examples,
default is turned off, only necessaries turn it on.

ex) meson . build -Dexamples=true

+ this examples are required efl 'elementary' package.
2020-09-19 00:39:25 +09:00
Hermet Park
3e18b85f99
bindings/capi: fix c compatibility warnings.
warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
2020-09-18 23:36:33 +09:00
Hermet Park
eef7620bc8
common: binary optimization. (#65)
removed unique_ptr usages from pImpl pattern.
that increased binary size.

2204082 -> 2045672
2020-09-18 16:34:12 +09:00
Hermet Park
87fbff63cb common: code refactoring.
revise duplicate() approach with stategy pattern.
2020-09-18 12:22:28 +09:00
Hermet Park
c8a03494a1
Update README.md
fix typos.
2020-09-17 20:57:43 +09:00
Hermet Park
f11a4d9b7b build: renamed utilities to tools 2020-09-17 20:53:54 +09:00
Hermet Park
81be1930a6
Update README.md 2020-09-17 20:49:47 +09:00
Hermet Park
f538e1728a
Update README.md
Updated Svg to Png section.
2020-09-17 20:49:10 +09:00
JunsuChoi
2772397486
ReadMe: Add description for svg2png (#62) 2020-09-17 20:35:43 +09:00
Hermet Park
7e30c217b0
Update README.md
retouch the layout and fix some grammars.
2020-09-17 12:06:42 +09:00
Hermet Park
0e9133cb63 updated gitignore 2020-09-17 11:30:31 +09:00
Hermet Park
1a247fe1f7 common shape: fix grammar mistake.
array values are not copied by *a = *b;
2020-09-17 11:29:02 +09:00
Hermet Park
8d5e4e883d
common path: code refactoring.
revise duplicate() method for clean & neat code.
2020-09-17 11:28:05 +09:00
Michal Szczecinski
538db6e881 shape: added duplicate api.
Changes:
1. New shape->duplicate(Shape) api.
2. New example: testDuplicate
3. Added capi binding for duploicate api
4. Added capi duplication test in testCapi.c

Description:

Added implementation of duplicate api. For now it supports stroke
properties and shape properties (fill color, path) duplication.

TODO:
Implement gradient properties duplication
2020-09-17 11:01:52 +09:00
Hermet Park
be93b17563 test: fix typo
dash size must be 2, not 4.
2020-09-16 21:02:06 +09:00
Hermet Park
5f41eff728
Update README.md 2020-09-16 20:58:00 +09:00
Hermet Park
522ad609b9
Update README.md 2020-09-16 20:48:29 +09:00
Hermet Park
f43166a96e
Update README.md 2020-09-16 20:31:49 +09:00
Hermet Park
6a83221963
Update README.md 2020-09-16 20:28:56 +09:00
Hermet Park
8fa725157e README: updated example 2020-09-16 20:27:50 +09:00
Hermet Park
27844a5d3c
Update README.md 2020-09-16 19:48:24 +09:00
Hermet Park
584d2a7cb4
Update README.md 2020-09-16 19:48:12 +09:00
Hermet Park
f0e56b92d7
Update README.md 2020-09-16 19:45:00 +09:00
Hermet Park
a09a1ee5e9 updated README 2020-09-16 19:44:03 +09:00
Hermet Park
dda913804c
Update README.md
updated sample code
2020-09-16 19:32:43 +09:00
Hermet Park
afa7781e20
capi: code refactoring (#58)
* capi: refactoring code.

init/term method allows mixing enum values,
we don't need to call them separatetly.
2020-09-16 19:00:19 +09:00
Hermet Park
7a27ca3613 capi: correct interfaces.
put missing const parameter and correct set/get naming.

attention, these two apis are changed!

tvg_gradient_color_stops() => tvg_gradient_set_color_stops()
tvg_gradient_spread() = tvg_gradient_set_spread()
2020-09-16 17:56:47 +09:00
Piotr Kalota
7d08f202a8 bindings/capi: Added path getters + test in testCapi.c 2020-09-16 16:55:00 +09:00
Hermet Park
64c958cd2c bin svg2png: revise abe7187f5b
revise previous patch code.

1. turned off it in default.
2. + copyright declaration.
3. fix coding convention.
2020-09-16 11:22:54 +09:00
JunsuChoi
abe7187f5b
ThorVG/Utils: Convert svg to png (#8)
* thorVG/example: added thorVG example app to convert svg to png

Rasterazing the svg file and extracting it as a png file.
The png encoder uses the 'lodepng' library.
(https://lodev.org/lodepng/)

Usage:
   svg2png [svgFileName] [Resolution] [bgColor]

Examples:
    $ svg2png input.svg
    $ svg2png input.svg 200x200
    $ svg2png input.svg 200x200 ff00ff

* ThorVG/Utils: Change examples to utils

* ThorVG/Utils: Move svg2png from util to src/bin

Renamed the build option for svg2png.
2020-09-16 11:11:50 +09:00
Michal Szczecinski
438f3360b9 bindings/capi: Added stroke/gradient getters. 2020-09-15 19:32:00 +09:00
Hermet Park
b3f9f501f1 common: fix compiler warnings.
warning: some methods overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
2020-09-15 13:34:29 +09:00
Hermet Park
ac90ea302d sw_engine: fix build warning
warning: absolute value function 'fabsf' given an argument of type 'double' but has parameter of type 'float' which may cause truncation of value [-Wabsolute-value]
2020-09-15 12:32:22 +09:00
Hermet Park
c407d4d13d sw_engine: code refactoring.
removed unused macro.
2020-09-15 12:26:57 +09:00
JunsuChoi
855397be36 SvgLoader: Fix wrong display when dasharray size is 1
If dash array size is 1, it means that dash and gap size are the same.
2020-09-15 12:21:02 +09:00
JunsuChoi
a0cd190548
Update README.md
Add build status
2020-09-14 20:54:55 +09:00
JunsuChoi
0aef293c84 Add travis ci build 2020-09-14 20:50:09 +09:00
Hermet Park
db4256fbea
Update README.md
Fix typo
2020-09-11 19:49:22 +09:00
Mira Grudzinska
b8138d56c0 SvgLoader: Fixing issues with a A/a command
Cmd 'A' from an svg path should not be connected with any other commands via the control points.
2020-09-11 16:13:28 +09:00
Mira Grudzinska
fa26aa7e7b svg_loader: fixing issue with parsing an svg path (A/a cmd)
The large_arc and sweep flags should be type checked and
whether their value is 1 or 0.
2020-09-11 16:10:17 +09:00