Create CONTRIBUTING.md
[platform/core/graphics/tizenvg.git] / CONTRIBUTING.md
1 This page guides a format for your contribution.
2
3 ## Commit Message
4 [Module][Feature] - [Title]
5
6 [Description]
7 ##
8
9 - [Module] is a sub module majorly affected by your change. Most of times this indicates a sub folder name.
10 This indicates whom need to review your patch as well.
11 If your change don't belonged to any sub modules, you can replace with proper name or skip it.
12 The name must be written in all lower alphabet characters.
13   - ex) build / doc / infra / common / sw_engine / gl_engine / svg_loader / examples / wasm / svg2png  ...
14
15 - [Feature] is what major function/feature you changed. Normally this indicates a representive file name. 
16 You can keep the file name, but don't please contain any prefix(tvg) nor suffix(Impl) here.
17   - ex) Canvas / TaskScehduler / SvgLoader / SvgBuilder / SwRle / GlRenderer / ...
18
19 - [Title] is a brief description of your change. It must be described in one sentence.
20   - ex) "Fixed a typo"
21   - ex) "Fixed compile warnings"
22   - ex) "Code refactoring"
23   - ex) "Fixed a rendering bug that overlapped shapes inproper way."
24   
25 - [Description] There is no any strict formats, but it must describe what you did in this patch as far as possible you can describe in detail.
26
27   If you fixed any bugs, it must contain below:
28   - what type of bug  
29   - conditions to reproduce it
30   - root cause
31   - solution 
32   
33   Or if you add a new feature or function, it must contain below:
34   - what sort of features
35   - api full specification (if any api additions)
36   - any necessity
37   - condition / restriction  
38   - reference or sample
39   
40   Lastly, please append any issue ticket numbers in this section if any.
41   
42   - ex) common composite: newly added path clipping feature
43
44     We introduced new method Paint::composite() to support composite behaviors. </br>
45     This allows paints to composite with other paints instances. </br>
46     Composite behaviors depends on its compoite method type. </br>
47     Here we firstly introduced "ClipPath" method to support clipping by path unit of paint.</br>    
48     
49     tagetPaint->composite(srcPaint, CompoisiteMethod::ClipPath);</br>
50     
51     Beaware if the source paint doesn't contain any path info, clipping won't be applied as you expected.
52     
53     @API Additions:</br>
54     enum CompositeMethod {None = 0, ClipPath}; </br>
55     Result Paint::composite(std::unique_ptr<Paint> target, CompMethod method) const noexcept;</br>
56
57     @Examples: added ClipPath</br>
58
59     @Issues: 49
60   
61