mirror of
https://github.com/aseprite/aseprite.git
synced 2024-12-26 18:21:44 +00:00
99 lines
3.8 KiB
Plaintext
99 lines
3.8 KiB
Plaintext
Refactoring
|
|
-----------
|
|
|
|
- Separate the source code in independent libraries:
|
|
1) jinete -> third_party/vaca (it has the core for mutex/threads)
|
|
2) sprite-core
|
|
3) file-io
|
|
4) undo (uses sprite-core)
|
|
5) aseprite (the application)
|
|
- editors_ -> Editors class widget
|
|
- rename core/cfg.h to cfg_file.h
|
|
- convert all widgets to classes:
|
|
+ match Jinete design with Vaca library (Vaca Fusion)
|
|
+ move all functions (jwidget_*) to methods in Widget class.
|
|
+ the same for each widget (e.g. jbutton_* to Button widget)
|
|
+ AppHooks to Vaca::Signals
|
|
+ Convert all JI_SIGNAL to Vaca::Signals
|
|
- all member functions should be named verbNoun instead of verb_noun or noun_verb.
|
|
- all functions to handle an object should be converted to member functions:
|
|
- e.g. jwidget_set_text -> Widget::setText
|
|
|
|
High priority work
|
|
------------------
|
|
|
|
+ Selection tools do not have "move" functionality incorporated yet as we talked (they just add/subtract selection)
|
|
+ The following tools do not work: scroll, move.
|
|
+ "shade" drawing mode
|
|
- Fix paste behavior:
|
|
+ paste when there are no images (create one image or put the
|
|
clipboard as the layer's image)
|
|
+ create a 'floating' flag for image-layers and make the
|
|
trasformation embedded in the editor
|
|
+ Ctrl+T should transform the current cel
|
|
- fix bilinear: when getpixel have alpha = 0 get a neighbor color.
|
|
- fix sliders in Tools Configuration, they are too big
|
|
for small resolutions.
|
|
- rewrite palette-editor to edit multiple-palettes.
|
|
- fix quantize (one palette for all frames, one palette per frame)
|
|
- pal-operations (sort, quantize, gamma by color-curves, etc.);
|
|
- complete palette operations, and palette editor (it needs a slider
|
|
or something to move between palette changes)
|
|
- add undo support for palette changes.
|
|
- if there is activated the Tools Configuration dialog box, the
|
|
Shift+G and Shift+S should update it
|
|
- when press Plus/Minus pad in the editor and the configuration tool
|
|
window is active, the slider of the "Brush Size" must be updated.
|
|
- add two DrawClick2:
|
|
- DrawClick2FreeHand
|
|
- DrawClick2Shape
|
|
- see the new Allegro's load_font
|
|
- finish ICO files support.
|
|
- add "size" to GUI font (for TTF fonts);
|
|
- layer movement between sets in animation-editor;
|
|
+ add all the "set" stuff again;
|
|
- fix algo_ellipsefill;
|
|
- view_tiled() should support animation playback (partial support:
|
|
with left and right keys).
|
|
- make keys like 9, 0, + Pad, - Pad configurable.
|
|
|
|
Wish-list
|
|
---------
|
|
|
|
- dacap wish-list:
|
|
+ added starred file-items in the file-selector.
|
|
+ the commands should use a new ase/ API and not the raster/ low-level
|
|
- "raster/Undoable" is the beginning
|
|
+ the dependencies should be:
|
|
commands/ -> ase/ -> raster/ -> jinete/
|
|
+ consistent error handling (now I'm using exception).
|
|
- manuq wish-list:
|
|
+ layer-with-constant-cel
|
|
- Mateusz Czaplinski ideas:
|
|
+ when move selections, will be good the possibility to see relative
|
|
position from the starting point of movement;
|
|
+ make drawing the 'marching-ants-rectangle' a prioritaire thing to
|
|
draw (when move it).
|
|
|
|
Low priority stuff
|
|
------------------
|
|
|
|
- add more unit-tests.
|
|
- test routines: load/save_pic_file, load/save_msk_file,
|
|
load/save_col_file.
|
|
- fix the fli reader (both Allegro and Gfli): when a frame hasn't
|
|
chunks means that it's looks like the last frame;
|
|
- talk with Ben Davis, his "quantize.c" has memory leaks (test it
|
|
more, I don't think so);
|
|
- talk with Elias Pschernig, his "do_ellipse_diameter" (algo_ellipse)
|
|
has a bug with ellipses of some dimensions (I made a test, and a
|
|
various sizes have errors).
|
|
- optimize the *_to_allegro image methods (I profiled ASE, and these
|
|
are the more slow routines in all the program);
|
|
- remove the jfilesel.c & jquickmenu.c
|
|
- fix Jinete examples:
|
|
+ 05fsel
|
|
+ 09lists
|
|
+ 20combo
|
|
+ 21manage
|