- Rename _rgba/_graya to raster::rgba()/graya()
- Add raster::color_t type (alias for uint32_t)
- Rename raster::GfxObj to Object. And GfxObj::getType() to Object::type()
- Move conversion from raster::Image/Palette to Allegro BITMAP/RGB
to raster/conversion_alleg.h file
- Add raster/color_scales.h
- Rename image_* functions to raster/primitives.h
- Reimplement ink processing with templates instead of macros
- Add HAVE_CONFIG_H wrapper to #include "config.h"
- Removed widgets namespace (it's in app now)
- Move some functions from src/file/file.h to src/base/cfile.h
- Move Vector2d to base library
- Rename MenuItem2 to AppMenuItem
This change is the first step to create a mini editor with the capability
to show the animation while we edit other frames. Also it will allow us
to have two or more editors of the same document in different frames.
- Added DocumentLocation: now the location in a document is a property
of the current Context (Context::getActiveLocation()).
- Added ContextAccess/Reader/Writer classes.
- Added DocumentApi class: high-level API with the majority of methods
in UndoTransaction class (that were not directly related to a undo
transaction).
- Added AddFrame/RemoveFrame undoers to handle add/remove frame correctly:
this fix issue #212.
- Removed SetCurrentLayer/Frame undoers.
Now we have one editor for each Document we want to edit. Before we were
creating one editor and switching the document on it, but now we have
several Editors (one for each opened Document). This simplifies the
Document implementation, because it doesn't need to know temporal
Editor information (like "preferred editor settings").
- Removed all code from modules/editors.cpp (legacy from C code).
- Removed PreferredEditorSettings class and
Document::getPreferredEditorSettings().
- Added Workspace/WorkspaceView classes.
- Added DocumentView (a DocumentObserver).
- Added MiniEditorWindow class.
- Removed SelectFileCommand & CloseEditorCommand.
- Added TabView interface instead of using a raw void* in
Tabs/TabsDelegate classes.
- Modified editors_draw_sprite() calls to Document::notifySpritePixelsModified
notifications.
- The "current_editor" global variable wasn't removed because it's
used in several places yet, but it will be removed in the near future.
(Also this variable now can be NULL when we don't have an opened
document.)
The OpenGroup & CloseGroup undoers now save the current SpritePosition
when the Undoer instance is created. Before we were using the current
Layer and Frame at the moment of the OpenGroup creation, it was generating
buggy undoers.
This is the starting point to create a layer to isolate Allegro access.
In the future, we will be able to switch to SDL or Allegro 5 easily.
Anyway this will be a progressive refactoring.
The UndoHistory was simplified, m_enabled/label/modification members
were removed because they aren't part of the undo library goal.
Now the "label" field is part of Open/CloseGroup undoers, and all undoers
must be enclosed in a group (this restriction is only for the app, the
undo library doesn't have this restriction). In this way, the
label/modification information is exchanged between an
OpenGroup <-> CloseGroup pair only.
- Added ThumbnailGenerator class to avoid mixing the thumbnail generation
code with FileList widget.
- Added IFileOpProgress for fop_operate() so we can update the job progress
when the "file operation" progress changes.
Several refactoring tasks where made:
- Removed the old Widget::id field (JID).
- Renamed Widget::get/setName to get/setId.
- Moved load_widget_from_xmlfile() to app::load_widget and WidgetLoader
class.
- Removed jhook structure & jwidget_add_hook function. Hooks were replaced
subclassing widgets.
- Added InitThemeEvent class and Widget::onInitTheme member function.