Hi
Here is a new version

A lot of bugs fixes and some interesting new features (Some new features are still in wip).

With he most wanted feature : "Export in purebasic" command (in menu\files\export in purebasic) yes guys
!!It's not finished, but it produce this code :
Code:
; Made with Cartoon ! 0.12
; Date : 08/04/2016
; Pb Version : 5.42 +
Global Zoom.f = 1.0
Procedure defaut(x,y,ScaleX.f=1,ScaleY.f=1,font=-1,txt$="")
Protected Z.f
Z = Zoom
MovePathCursor(141*Z, 107*Z)
AddPathCurve((168)*Z, (98)*Z, (188)*Z, (154)*Z, (151)*Z, (161)*Z)
AddPathCurve((123)*Z, (163)*Z, (112)*Z, (118)*Z, (141)*Z, (107)*Z)
VectorSourceColor(-2491416)
FillPath()
MovePathCursor(144*Z, 117*Z)
AddPathCurve((159)*Z, (112)*Z, (183)*Z, (142)*Z, (153)*Z, (148)*Z)
AddPathCurve((137)*Z, (152)*Z, (126)*Z, (123)*Z, (144)*Z, (117)*Z)
VectorSourceColor(-16760254)
FillPath()
MovePathCursor(225*Z, 290*Z)
AddPathCurve((397)*Z, (263)*Z, (181)*Z, (342)*Z, (82)*Z, (347)*Z)
AddPathCurve((40)*Z, (352)*Z, (170)*Z, (222)*Z, (78)*Z, (190)*Z)
AddPathCurve((-11)*Z, (166)*Z, (0)*Z, (0)*Z, (143)*Z, (103)*Z)
AddPathCurve((146)*Z, (196)*Z, (449)*Z, (235)*Z, (219)*Z, (263)*Z)
AddPathCurve((173)*Z, (265)*Z, (193)*Z, (297)*Z, (225)*Z, (290)*Z)
VectorSourceColor(-16079976)
FillPath()
MovePathCursor(109*Z, 115*Z)
AddPathCurve((136)*Z, (106)*Z, (156)*Z, (162)*Z, (119)*Z, (169)*Z)
AddPathCurve((91)*Z, (171)*Z, (80)*Z, (126)*Z, (109)*Z, (115)*Z)
VectorSourceColor(-2491416)
FillPath()
MovePathCursor(115*Z, 130*Z)
AddPathCurve((130)*Z, (125)*Z, (154)*Z, (155)*Z, (124)*Z, (161)*Z)
AddPathCurve((108)*Z, (165)*Z, (97)*Z, (136)*Z, (115)*Z, (130)*Z)
VectorSourceColor(-16760254)
FillPath()
EndProcedure
For download, please see the first message.
Changelog :V 0.13 (09/04/2016)
// New
- Load Preset Fx
- Object-Layer : now, shape position use the position of the Object-Layer (x,y in "object" panel)
- Object-Layer : size of the layer (w,h) can be changed. Be carefull, for the moment, it's not fine if the view isn't 0,0
- File> save, load : shape image ok
- Options > Change bg color
- Options > BG checker
// Fixes
- the depth of the shape is ok now
- when add a complex shape, it erase the old shape
- when open a file, the layer isn't used as active
- sometimes, add a new shape erase the name of the layer
- when multiselect, selection for complexe shape hasn't the good position
- deselect all > didn't deselect the current shapeId
- various little bugfixes
V 0.12
// New
- Add ExportPbCommand() : export circle, box, complex shape
- we can close or open the path (checkbox "close")
Not finished :
- Point (in panel shape) : button menu -> Clic open a popup menu (for point/shape) : only deletepoint is ok for the moment
// Changes
- save & load : add the x & y for the shape
// Fixes
- scale didn't work with box, ellipse, image, text
- move : now, I use the x & y of the shape, et doesn't change the position of all the points
- creation of shape : now I use the mouseX/mousey for x/y, for shape box,ellipse,text,image,roundbox
- move : the image didn't move with the move tool
- fixe a bug with the down buton for shape depth
- the selected shape wasn't drawn with dashpath
- when line, the 3 points were moved when selecting a point
- when creation shape complexe : it erase the shape0 of the current object
V 0.11
// New
- Shape : link -> to know if the path is "closed" after the previous shape
- Shape : hide, lock
// Fixes
- when we add a new complexe shape, and another one was selected, the other is scaled if we increase the size of the new .
- fixe a crash when select an object without shape
- when delete a shape if the layer was empty, it deleted the shape of the previous layer
- when mouse over a shape, it select the shape even if the shape wasn't on the selected object
Purelust : Thanks for your example. I don't use that technic, but I think it's almost similar at mine.
What is CommandList() in your example ?
Bo Marchais :Thanks for your comments

.
I know Spriter and use it for my 2D games ^^. It's a great soft, but I find it a few bugged (I use the Free version). So, in March 2016, I have decided to create my own sprite animation, with the features I would like to have

(and that I'll be able to dev by my-self). I have simply named this application : "SpriteAnimation" ^^.
A screenshot of spriteanimation :


As you can see, for the moment, it's similar to spriter (we can make transformation on sprite, but the bone system isn't finished).
When developping, I would like to add a little tool to draw our sprites directly in SpriteAnimation. So I have integrated some functions to create vector drawing, directly in spriteAnimation. But, after reflexion, I have found that it will be better to have a standalone application too. So I have named this standalone version "Cartoon ! ", and release it, even if it's not finished at all

.
In the past, I have dev 2 little applications to create bitmap animation :
- Animatoon (software to draw, but in one version I have some animation tools to test ^^)
- spriteSheetmaker (this appli has just a little tool to draw on several frames, oignon skinning...)
In Animation, I think we have 3 technics at least :
- Bitmap animation (like pencil, photoshop, clip paint studio...). It's like traditionnal, you have to create a new drawing each new frame. It's a lot of works

. I have made some little cartoons like that, but it's too much works for me ^^.
- Vector animation : like Flash or Synfig. You can use curves, line, shape (box, circle...) to draw. For animation, you can move the "object" or move his points. It's great, because you can use interpolations, and you don't have to create a new drawing each new frame. But it's a few more complexe to developp (it's not like a "simple" bitmap animation tool ^^).
- Sprite animation (like "spriter", even in "blender" we can make sprite animation if we use planes for sprite) : A software like that use bitmap (for sprite), and interpolation. So, you don't have to create a new drawing each new frame, it's a little like vector animation, but you can only change some parameters of each sprite (not the drawing of the object like in vector animation or bitmap animation).
With sprite animation or vector animation, we can add bones + IK/ FK system. Ik is complexe, but I hope to add that in my softwares ^^.
With purebasic, each technic is different :
- For sprite Animation, I have used the screen and the sprites (but we can use engine3D or openGl canvas if you prefer). But I think screen and sprite are simplier ^^.
- for vector animation, I use the vector drawing lib (you can do the vector operations by your-self, but it's not simple^^). this lib is great and amazing

. But it's a lot of works to create a vector application, even with this lib ^^.
- for bitmap animation, I have used the canvas/image and/or the vectordrawing lib too. The most difficult part is the Stroke drawing if you use canvas/image normal, and the optimisation for very big image (>2000*2000 for example). For animatoon, I use a mimx between sprite (for display) and image to draw.
I hope thoses informations can be helpfull for you

. And thanks for your comments !