Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

eol-style: native, repo-wide

  • Loading branch information...
commit 53d4c441a232a4c909aa5338b0f85aa4fb20efdf 1 parent e031f60
authored December 29, 2010
258  TODO
... ...
@@ -1,129 +1,129 @@
1  
-Pencil
2  
-Last edited: 2007-07-01
3  
-Pascal Naidon
4  
-
5  
-=====================
6  
-Bugs - things to do
7  
-=====================
8  
-
9  
-
10  
-BUGS:
11  
-
12  
-* bug: memory leaks??
13  
-* bug when closing a curve -> straight line or even nothing
14  
-* bug selected point moved --->
15  
-* bug: strange long things protruding out
16  
-
17  
-* bug when variable width and zoom - FIXED
18  
-* bug when adding point -> area shrinks - FIXED
19  
-* bug : new file --> bus error (FIXED?)
20  
-* bug : when deleting/adding layers - FIXED
21  
-* bug : when drawing 2nd vec layer - FIXED
22  
-* bug : when moving a bitmap selection with transparent colour (FIXED?)
23  
-
24  
-
25  
-
26  
-THINGS TO IMPLEMENT:
27  
-
28  
-* compress the Pencil files (XML + data (images)) into a single ZIP archive - similarly to Open Office Documents.
29  
-  implement a open and save function for these ZIP archives
30  
-
31  
-* improve movie export (get a QuickTime dialog, AVI on Windows, MPEG...)
32  
-
33  
-* fast gaussian blur for smooth shading
34  
-
35  
-
36  
-
37  
-
38  
-SUGGESTIONS FROM USERS:
39  
-
40  
-- duplicate frames
41  
-- rotate - DONE ---> but bug when drawing upside down and very slow
42  
-- free selection tool
43  
-- animate selection, and disable selection
44  
-- save colour palettes
45  
-- shortcuts in the menus - DONE
46  
-- customise hotkeys
47  
-- import a sequence of images - DONE (drag and drop only)
48  
-
49  
-
50  
-OTHER IDEAS:
51  
-
52  
-* operate on several (selected?) images at a time
53  
-* morphing/tweening...?
54  
-* multiple documents
55  
-
56  
-
57  
-
58  
-THINGS TO IMPROVE:
59  
-
60  
-Flood fill:
61  
-* problem if a corner is too sharp ---> increase tolerance? temporarily change width? - DONE (but for very sharp? DONE! (up to 3 points) )
62  
-* problem: sometimes the final leaves are not next to each other - OBSOLETE
63  
-* reduce contour pixels to pixels which are in the rectangular area - DONE
64  
-* improve intersections!
65  
-* test if the initial point is contained in the area - DONE
66  
-
67  
-* update areas when adding a point - DONE
68  
-* remove points
69  
-* bug when remove colour - DONE
70  
-
71  
-
72  
-* manage colours
73  
-----> "transparent" colour; for shade contour
74  
-interactive change of colour
75  
-
76  
-* write/read vectorial data - DONE
77  
-
78  
-* better eraser vectorial
79  
-* several layers - DONE
80  
-* eraser tool for vectorial - DONE
81  
-* separate bitmap / vectorial - DONE
82  
-* improve timeline management - DONE
83  
-* warn when using a tool on hidden layer - DONE
84  
-
85  
-* improve the "cancel" function - DONE
86  
-
87  
-* blur tool, spray
88  
-* improve simplification/inerpolation of curves
89  
-
90  
-* copy/paste - DONE
91  
-* import sound - DONE
92  
-* reestablish export movie - DONE
93  
-* mirror option - flip horizontal - DONE
94  
-* double-click on hand to re-establish - DONE
95  
-* implement paint bucket, polyline for bitmap - DONE
96  
-* preferences - DONE
97  
-
98  
-* accelerate : when moving the mouse, cache the background and draw only the modified element - DONE (but memory leaks?)
99  
-* change structure??? -> intersections re-calculated dynamically?
100  
-
101  
-* use the OS clipboard for pasting - DONE
102  
-* CREATE a class "Image" --> BITMAP, VECTORIAL... - DONE
103  
-
104  
-
105  
-* add attribute for thin lines - DONE
106  
-* add attribute for transparency - DONE
107  
-* implement eyedropper - DONE
108  
-
109  
-
110  
-* improve selection of one curve
111  
-* improve selection of frames in timeline - DONE
112  
-
113  
-* suppress areas - DONE
114  
-
115  
-
116  
-
117  
-============= WIN XP ============
118  
-implement export movie
119  
-implement export flash - DONE
120  
-flash compression
121  
-
122  
-bug grey border - FIXED
123  
-bug export jpeg - FIXED
124  
-bug file extension - FIXED
125  
-
126  
-bug release - FIXED
127  
-bug with tablet - CIRCUMVENTED with option
128  
-bug - tablet doesn't work??
129  
-
  1
+Pencil
  2
+Last edited: 2007-07-01
  3
+Pascal Naidon
  4
+
  5
+=====================
  6
+Bugs - things to do
  7
+=====================
  8
+
  9
+
  10
+BUGS:
  11
+
  12
+* bug: memory leaks??
  13
+* bug when closing a curve -> straight line or even nothing
  14
+* bug selected point moved --->
  15
+* bug: strange long things protruding out
  16
+
  17
+* bug when variable width and zoom - FIXED
  18
+* bug when adding point -> area shrinks - FIXED
  19
+* bug : new file --> bus error (FIXED?)
  20
+* bug : when deleting/adding layers - FIXED
  21
+* bug : when drawing 2nd vec layer - FIXED
  22
+* bug : when moving a bitmap selection with transparent colour (FIXED?)
  23
+
  24
+
  25
+
  26
+THINGS TO IMPLEMENT:
  27
+
  28
+* compress the Pencil files (XML + data (images)) into a single ZIP archive - similarly to Open Office Documents.
  29
+  implement a open and save function for these ZIP archives
  30
+
  31
+* improve movie export (get a QuickTime dialog, AVI on Windows, MPEG...)
  32
+
  33
+* fast gaussian blur for smooth shading
  34
+
  35
+
  36
+
  37
+
  38
+SUGGESTIONS FROM USERS:
  39
+
  40
+- duplicate frames
  41
+- rotate - DONE ---> but bug when drawing upside down and very slow
  42
+- free selection tool
  43
+- animate selection, and disable selection
  44
+- save colour palettes
  45
+- shortcuts in the menus - DONE
  46
+- customise hotkeys
  47
+- import a sequence of images - DONE (drag and drop only)
  48
+
  49
+
  50
+OTHER IDEAS:
  51
+
  52
+* operate on several (selected?) images at a time
  53
+* morphing/tweening...?
  54
+* multiple documents
  55
+
  56
+
  57
+
  58
+THINGS TO IMPROVE:
  59
+
  60
+Flood fill:
  61
+* problem if a corner is too sharp ---> increase tolerance? temporarily change width? - DONE (but for very sharp? DONE! (up to 3 points) )
  62
+* problem: sometimes the final leaves are not next to each other - OBSOLETE
  63
+* reduce contour pixels to pixels which are in the rectangular area - DONE
  64
+* improve intersections!
  65
+* test if the initial point is contained in the area - DONE
  66
+
  67
+* update areas when adding a point - DONE
  68
+* remove points
  69
+* bug when remove colour - DONE
  70
+
  71
+
  72
+* manage colours
  73
+----> "transparent" colour; for shade contour
  74
+interactive change of colour
  75
+
  76
+* write/read vectorial data - DONE
  77
+
  78
+* better eraser vectorial
  79
+* several layers - DONE
  80
+* eraser tool for vectorial - DONE
  81
+* separate bitmap / vectorial - DONE
  82
+* improve timeline management - DONE
  83
+* warn when using a tool on hidden layer - DONE
  84
+
  85
+* improve the "cancel" function - DONE
  86
+
  87
+* blur tool, spray
  88
+* improve simplification/inerpolation of curves
  89
+
  90
+* copy/paste - DONE
  91
+* import sound - DONE
  92
+* reestablish export movie - DONE
  93
+* mirror option - flip horizontal - DONE
  94
+* double-click on hand to re-establish - DONE
  95
+* implement paint bucket, polyline for bitmap - DONE
  96
+* preferences - DONE
  97
+
  98
+* accelerate : when moving the mouse, cache the background and draw only the modified element - DONE (but memory leaks?)
  99
+* change structure??? -> intersections re-calculated dynamically?
  100
+
  101
+* use the OS clipboard for pasting - DONE
  102
+* CREATE a class "Image" --> BITMAP, VECTORIAL... - DONE
  103
+
  104
+
  105
+* add attribute for thin lines - DONE
  106
+* add attribute for transparency - DONE
  107
+* implement eyedropper - DONE
  108
+
  109
+
  110
+* improve selection of one curve
  111
+* improve selection of frames in timeline - DONE
  112
+
  113
+* suppress areas - DONE
  114
+
  115
+
  116
+
  117
+============= WIN XP ============
  118
+implement export movie
  119
+implement export flash - DONE
  120
+flash compression
  121
+
  122
+bug grey border - FIXED
  123
+bug export jpeg - FIXED
  124
+bug file extension - FIXED
  125
+
  126
+bug release - FIXED
  127
+bug with tablet - CIRCUMVENTED with option
  128
+bug - tablet doesn't work??
  129
+
2  pencil.rc
... ...
@@ -1 +1 @@
1  
-IDI_ICON1       ICON    DISCARDABLE     "pencil.ico"
  1
+IDI_ICON1       ICON    DISCARDABLE     "pencil.ico"
84  src/graphics/vector/colourref.cpp
... ...
@@ -1,42 +1,42 @@
1  
-/*
2  
-
3  
-Pencil - Traditional Animation Software
4  
-Copyright (C) 2006-2009 Pascal Naidon
5  
-
6  
-This program is free software; you can redistribute it and/or
7  
-modify it under the terms of the GNU General Public License
8  
-as published by the Free Software Foundation;
9  
-
10  
-This program is distributed in the hope that it will be useful,
11  
-but WITHOUT ANY WARRANTY; without even the implied warranty of
12  
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  
-GNU General Public License for more details.
14  
-
15  
-*/
16  
-#include "colourref.h"
17  
-
18  
-ColourRef::ColourRef() {
19  
-	colour = Qt::green;
20  
-	name = QString("Green");
21  
-}
22  
-
23  
-ColourRef::ColourRef(QColor theColour, QString theName) {
24  
-	colour = theColour;
25  
-	name = theName;
26  
-}
27  
-
28  
-bool ColourRef::operator==(ColourRef colourRef1) {
29  
-	if( (colour == colourRef1.colour) && (name == colourRef1.name) ) {
30  
-		return true;
31  
-	} else {
32  
-		return false;
33  
-	}
34  
-}
35  
-
36  
-bool ColourRef::operator!=(ColourRef colourRef1) {
37  
-	if( (colour != colourRef1.colour) || (name != colourRef1.name) ) {
38  
-		return true;
39  
-	} else {
40  
-		return false;
41  
-	}
42  
-}
  1
+/*
  2
+
  3
+Pencil - Traditional Animation Software
  4
+Copyright (C) 2006-2009 Pascal Naidon
  5
+
  6
+This program is free software; you can redistribute it and/or
  7
+modify it under the terms of the GNU General Public License
  8
+as published by the Free Software Foundation;
  9
+
  10
+This program is distributed in the hope that it will be useful,
  11
+but WITHOUT ANY WARRANTY; without even the implied warranty of
  12
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13
+GNU General Public License for more details.
  14
+
  15
+*/
  16
+#include "colourref.h"
  17
+
  18
+ColourRef::ColourRef() {
  19
+	colour = Qt::green;
  20
+	name = QString("Green");
  21
+}
  22
+
  23
+ColourRef::ColourRef(QColor theColour, QString theName) {
  24
+	colour = theColour;
  25
+	name = theName;
  26
+}
  27
+
  28
+bool ColourRef::operator==(ColourRef colourRef1) {
  29
+	if( (colour == colourRef1.colour) && (name == colourRef1.name) ) {
  30
+		return true;
  31
+	} else {
  32
+		return false;
  33
+	}
  34
+}
  35
+
  36
+bool ColourRef::operator!=(ColourRef colourRef1) {
  37
+	if( (colour != colourRef1.colour) || (name != colourRef1.name) ) {
  38
+		return true;
  39
+	} else {
  40
+		return false;
  41
+	}
  42
+}
68  src/graphics/vector/colourref.h
... ...
@@ -1,34 +1,34 @@
1  
-/*
2  
-
3  
-Pencil - Traditional Animation Software
4  
-Copyright (C) 2006-2009 Pascal Naidon
5  
-
6  
-This program is free software; you can redistribute it and/or
7  
-modify it under the terms of the GNU General Public License
8  
-as published by the Free Software Foundation;
9  
-
10  
-This program is distributed in the hope that it will be useful,
11  
-but WITHOUT ANY WARRANTY; without even the implied warranty of
12  
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  
-GNU General Public License for more details.
14  
-
15  
-*/
16  
-#ifndef COLOURREF_H
17  
-#define COLOURREF_H
18  
-
19  
-#include <QColor>
20  
-#include <QString>
21  
-
22  
-class ColourRef
23  
-{
24  
-public:
25  
-	ColourRef();
26  
-	ColourRef(QColor theColour, QString theName);
27  
-	bool operator==(ColourRef colourRef1);
28  
-	bool operator!=(ColourRef colourRef1); 
29  
-	
30  
-	QColor colour;
31  
-	QString name;
32  
-};
33  
-
34  
-#endif
  1
+/*
  2
+
  3
+Pencil - Traditional Animation Software
  4
+Copyright (C) 2006-2009 Pascal Naidon
  5
+
  6
+This program is free software; you can redistribute it and/or
  7
+modify it under the terms of the GNU General Public License
  8
+as published by the Free Software Foundation;
  9
+
  10
+This program is distributed in the hope that it will be useful,
  11
+but WITHOUT ANY WARRANTY; without even the implied warranty of
  12
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13
+GNU General Public License for more details.
  14
+
  15
+*/
  16
+#ifndef COLOURREF_H
  17
+#define COLOURREF_H
  18
+
  19
+#include <QColor>
  20
+#include <QString>
  21
+
  22
+class ColourRef
  23
+{
  24
+public:
  25
+	ColourRef();
  26
+	ColourRef(QColor theColour, QString theName);
  27
+	bool operator==(ColourRef colourRef1);
  28
+	bool operator!=(ColourRef colourRef1); 
  29
+	
  30
+	QColor colour;
  31
+	QString name;
  32
+};
  33
+
  34
+#endif
66  src/graphics/vector/vertexref.h
... ...
@@ -1,33 +1,33 @@
1  
-/*
2  
-
3  
-Pencil - Traditional Animation Software
4  
-Copyright (C) 2006-2009 Pascal Naidon
5  
-
6  
-This program is free software; you can redistribute it and/or
7  
-modify it under the terms of the GNU General Public License
8  
-as published by the Free Software Foundation;
9  
-
10  
-This program is distributed in the hope that it will be useful,
11  
-but WITHOUT ANY WARRANTY; without even the implied warranty of
12  
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  
-GNU General Public License for more details.
14  
-
15  
-*/
16  
-#ifndef VERTEXREF_H
17  
-#define VERTEXREF_H
18  
-
19  
-class VertexRef
20  
-{
21  
-public:
22  
-	VertexRef();
23  
-	VertexRef(int curveN, int vertexN);
24  
-	VertexRef nextVertex();
25  
-	VertexRef prevVertex();
26  
-	bool operator==(VertexRef vertexRef1);
27  
-	bool operator!=(VertexRef vertexRef1);
28  
-	int curveNumber;
29  
-	int vertexNumber;
30  
-};
31  
-
32  
-#endif
33  
-
  1
+/*
  2
+
  3
+Pencil - Traditional Animation Software
  4
+Copyright (C) 2006-2009 Pascal Naidon
  5
+
  6
+This program is free software; you can redistribute it and/or
  7
+modify it under the terms of the GNU General Public License
  8
+as published by the Free Software Foundation;
  9
+
  10
+This program is distributed in the hope that it will be useful,
  11
+but WITHOUT ANY WARRANTY; without even the implied warranty of
  12
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13
+GNU General Public License for more details.
  14
+
  15
+*/
  16
+#ifndef VERTEXREF_H
  17
+#define VERTEXREF_H
  18
+
  19
+class VertexRef
  20
+{
  21
+public:
  22
+	VertexRef();
  23
+	VertexRef(int curveN, int vertexN);
  24
+	VertexRef nextVertex();
  25
+	VertexRef prevVertex();
  26
+	bool operator==(VertexRef vertexRef1);
  27
+	bool operator!=(VertexRef vertexRef1);
  28
+	int curveNumber;
  29
+	int vertexNumber;
  30
+};
  31
+
  32
+#endif
  33
+
126  src/structure/layersound.h
... ...
@@ -1,63 +1,63 @@
1  
-/*
2  
-
3  
-Pencil - Traditional Animation Software
4  
-Copyright (C) 2006-2009 Pascal Naidon
5  
-
6  
-This program is free software; you can redistribute it and/or
7  
-modify it under the terms of the GNU General Public License
8  
-as published by the Free Software Foundation;
9  
-
10  
-This program is distributed in the hope that it will be useful,
11  
-but WITHOUT ANY WARRANTY; without even the implied warranty of
12  
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  
-GNU General Public License for more details.
14  
-
15  
-*/
16  
-#ifndef LAYERSOUND_H
17  
-#define LAYERSOUND_H
18  
-
19  
-#include <QImage>
20  
-#include <QSize>
21  
-#include <QList>
22  
-#include <QString>
23  
-#include <QPainter>
24  
-#include <phonon>
25  
-#include "layerimage.h"
26  
-
27  
-class LayerSound : public LayerImage
28  
-{
29  
-	Q_OBJECT
30  
-
31  
-  public:
32  
-	LayerSound(Object* object);
33  
-	~LayerSound();
34  
-	QDomElement createDomElement(QDomDocument &doc);
35  
-	void loadDomElement(QDomElement element, QString filePath);
36  
-	
37  
-	bool addImageAtFrame(int frameNumber);
38  
-	void removeImageAtFrame(int frameNumber);
39  
-	
40  
-	//void setModified(bool trueOrFalse) { modified = trueOrFalse; }
41  
-	
42  
-	void loadSoundAtFrame( QString filePathString, int frame );
43  
-	
44  
-	bool saveImage(int index, QString path, int layerNumber);
45  
-	void playSound(int frame);
46  
-	void stopSound();
47  
-	
48  
-  protected:
49  
-	//bool modified;
50  
-	//QList<int> startingFrame;
51  
-	//QList<QString> filePath;
52  
-	QList<QString> soundFilepath;
53  
-    QList<Phonon::MediaObject*> sound;
54  
-    QList<Phonon::AudioOutput*> outputDevices;
55  
-    // graphic representation -- could be put in another class
56  
-	void swap(int i, int j);
57  
-
58  
-  private slots:
59  
-    void addTimelineKey(qint64 newTotalTime);
60  
-};
61  
-
62  
-#endif
63  
-
  1
+/*
  2
+
  3
+Pencil - Traditional Animation Software
  4
+Copyright (C) 2006-2009 Pascal Naidon
  5
+
  6
+This program is free software; you can redistribute it and/or
  7
+modify it under the terms of the GNU General Public License
  8
+as published by the Free Software Foundation;
  9
+
  10
+This program is distributed in the hope that it will be useful,
  11
+but WITHOUT ANY WARRANTY; without even the implied warranty of
  12
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13
+GNU General Public License for more details.
  14
+
  15
+*/
  16
+#ifndef LAYERSOUND_H
  17
+#define LAYERSOUND_H
  18
+
  19
+#include <QImage>
  20
+#include <QSize>
  21
+#include <QList>
  22
+#include <QString>
  23
+#include <QPainter>
  24
+#include <phonon>
  25
+#include "layerimage.h"
  26
+
  27
+class LayerSound : public LayerImage
  28
+{
  29
+	Q_OBJECT
  30
+
  31
+  public:
  32
+	LayerSound(Object* object);
  33
+	~LayerSound();
  34
+	QDomElement createDomElement(QDomDocument &doc);
  35
+	void loadDomElement(QDomElement element, QString filePath);
  36
+	
  37
+	bool addImageAtFrame(int frameNumber);
  38
+	void removeImageAtFrame(int frameNumber);
  39
+	
  40
+	//void setModified(bool trueOrFalse) { modified = trueOrFalse; }
  41
+	
  42
+	void loadSoundAtFrame( QString filePathString, int frame );
  43
+	
  44
+	bool saveImage(int index, QString path, int layerNumber);
  45
+	void playSound(int frame);
  46
+	void stopSound();
  47
+	
  48
+  protected:
  49
+	//bool modified;
  50
+	//QList<int> startingFrame;
  51
+	//QList<QString> filePath;
  52
+	QList<QString> soundFilepath;
  53
+    QList<Phonon::MediaObject*> sound;
  54
+    QList<Phonon::AudioOutput*> outputDevices;
  55
+    // graphic representation -- could be put in another class
  56
+	void swap(int i, int j);
  57
+
  58
+  private slots:
  59
+    void addTimelineKey(qint64 newTotalTime);
  60
+};
  61
+
  62
+#endif
  63
+

0 notes on commit 53d4c44

Please sign in to comment.
Something went wrong with that request. Please try again.