Commit Graph

327 Commits

Author SHA1 Message Date
David Capello
0b8d88d6ee Add "slice" ink and tool (it is not yet implemented) 2014-06-27 22:58:38 -03:00
David Capello
331688bd86 Add "Zoom with Scroll Wheel" option (on/true by default) 2014-06-22 22:35:51 -03:00
David Capello
0c250df97a Separate Options dialog in different sections
* Add ui::Panel widget
2014-06-22 21:56:04 -03:00
David Capello
abe957f037 Update version to 1.0.2 2014-06-15 12:03:23 -03:00
David Capello
c639b4dba3 Add "dots" freehand algorithm (change to ButtonSet the selection of FreehandAlgorithm) 2014-06-15 04:14:53 -03:00
David Capello
9ac51fd0be Rename raster::Pen -> raster::Brush 2014-06-14 15:09:43 -03:00
David Capello
3c959233b6 Add link label in Options dialog to locate the configuration file 2014-06-13 23:00:49 -03:00
David Capello
d8d637a056 New version 1.0.1 in dev 2014-06-09 22:05:19 -03:00
David Capello
dbe4f872c5 New icon 2014-06-04 00:44:43 -03:00
David Capello
ed6c0f986d ColorSelector: Add WarningIcon to add colors to the palette
Simplified the color selector UI. Now RGB/HSV colors are shown correctly
and a new warning icon/button is visible when the color is not part of
the current palette. This button can be used to quickly add the new entry
to the palette.
2014-06-01 18:15:11 -03:00
David Capello
dc5a019c13 ContextBar: Add buttons to drop the selection or cancel the whole operation
- Add ContextBarObserver (and MovingPixelsState implements this interface)
- PixelMovements::discardImage() receives a "commit" flag to do a rollback
  of the operation if the user needs it.
2014-05-26 00:20:16 -03:00
David Capello
08fb98d40d New notifications area at the top-right corner 2014-05-25 11:21:10 -03:00
David Capello
8d3b132082 Change ConfigureTimelinePopup layout 2014-05-18 16:49:24 -03:00
David Capello
a15aea5ed7 Add timeline options for onion skin, loop section, and animation direction
- Add red/blue onion skin type
- Add app::calculate_next_frame() function to calculate the next frame
  depending of the timeline configuration (loop range, animation direction)
- Add app::finder() to simplify the access to widgets loaded from xml files
2014-05-17 21:27:44 -03:00
David Capello
43ed994812 Add more palettes 2014-05-09 00:30:15 -03:00
David Capello
391a5c0bf4 Add command to switch onion skin visibility 2014-05-08 08:47:45 -03:00
David Capello
5a45d1ec23 Remove the number of colors entry field from "New Sprite" dialog
This field is disabled, and the program isn't ready to support less than
256 colors in Indexed mode, so it's better if we remove this field to avoid
confusion.
2014-05-06 00:08:43 -03:00
David Capello
fa204baf42 Easier way to reference the program website in commands 2014-05-05 21:28:58 -03:00
David Capello
e624b391c2 Fix quickref link 2014-05-05 21:28:20 -03:00
David Capello
6774ec89f9 Update URL in gui.xml 2014-05-03 17:05:54 -03:00
David Capello
a445ec4b07 Minor change in sprite_properties.xml (change box -> hbox/vbox/boxfiller) 2014-05-02 20:09:18 -03:00
David Capello
c879d114e0 Version 1.0.0 2014-05-02 19:58:34 -03:00
David Capello
d298c55238 Make "Transparent Color" tooltip smaller in SpriteProperties dialog 2014-05-02 19:47:41 -03:00
David Capello
f60d1c5c4f Add "Cancel" option to cel_movement_popup (popup when you move cels in the Timeline) 2014-05-02 11:55:44 -03:00
David Capello
5ba85c01dc Improve "Load" button label in PalettePopup to know what it does when there is no active document 2014-04-19 20:52:36 -03:00
David Capello
4c706afb90 New zoom tool 2014-04-19 20:08:21 -03:00
David Capello
1ab7de6668 Adjust some skin colors in filelist and selected background 2014-04-19 19:04:45 -03:00
David Capello
05507408e1 Remove hardcoded value from main_window.xml for the color bar splitter 2014-04-17 16:23:09 -03:00
David Capello
113d0d4df9 Add pixel art palettes
From Richard 'DawnBringer' Fhager and Arne Niklas Jansson.
2014-04-17 01:38:13 -03:00
David Capello
c8c8738ef8 Add PalettePopup in ColorBar to load predefined palettes from data/palette/
- Add PalettesLoader helper class to load palettes in background
- Add PaletteListBox widget
- Add PalettePopup widget
2014-04-17 01:35:02 -03:00
David Capello
5567e3dfc5 main_window.xml: Give more space to the ContextBar 2014-04-13 16:35:11 -03:00
David Capello
e310ef1428 Change StatusBar colors 2014-04-13 13:51:28 -03:00
David Capello
44c9bb520d Fix borders in ColorBar 2014-04-13 13:40:33 -03:00
David Capello
71b7000c8a Update links 2014-04-12 12:28:34 -03:00
David Capello
942dba36fd Timeline: add support to move/copy ranges (multiple cels/frames/layers)
- Merge Timeline::STATE_MOVING_LAYER/CEL/FRAME to STATE_MOVING_RANGE.
- Remove celmove.h/cpp and move_cel/copy_cel functions. Now they are
  in the Timeline as dropRange/Cels/Frames/Layers member functions.
- Add DocumentApi::copyFrame/moveCel/copyCel member functions.
- Add timeline_drop_layer_deco and timeline_drop_frame_deco skin parts.
- Move code from DuplicateLayerCommand::onExecute() to new member
  function DocumentApi::duplicateLayer().
- Fix a bug changing Cel's frame number: we weren't updating the Cel
  position properly inside the LayerImage::m_cels collection. Now we use
  LayerImage::moveCel() to change the Cel frame number.
- Other fixes to DocumentApi: Change bgcolor from int to color_t.
2014-04-09 21:56:06 -03:00
David Capello
7ea7521f6a TimeLine: add range outline and hot state
This is the first step to improve the copy/move of ranges in the timeline.
2014-03-30 12:53:57 -03:00
David Capello
b16bf981d0 Implement issue #265 - command/keyboard shortcut for "last export" operation
- Add doc::ExportData with information about the last export operation.
- Add RepeatLastExport command.
- Add SaveFileBaseCommand as base Command class, to accept "filename"
  param.
- Add parameters to ExportSpriteSheet so we can call it without UI
  from "repeat last export".
2014-03-29 16:58:35 -03:00
David Capello
ccdbfd1cf5 Remove Ctrl+Q shortcut for Exit (it remains reserved for other purposes in the future) 2014-03-29 15:42:13 -03:00
David Capello
04a0845a62 SkinTheme: paint windows using styles 2014-03-21 00:28:01 -03:00
David Capello
e082cd96f1 Make ScreenScale option configurable through UI 2014-02-08 00:19:20 -03:00
David Capello
eee1719109 Implemented issue 260: Scroll-bars for sprite editor 2014-01-26 13:28:11 -03:00
David Capello
11f864da12 Minor changes in skin parts to improve context bar buttons 2014-01-26 11:03:32 -03:00
David Capello
9423b967ab Change selection behavior: left-click replace the selection
With this patch we replace the "unique/odd" behavior of Aseprite where
you add selection regions with left-click and remove with right-click.
Now by default you replace the selection with left-click (as in regular
gfx programs). Also you can change the selection tool behavior with
buttons/icons at the context bar (to select between replace/add/subtract).
2014-01-25 17:58:29 -03:00
David Capello
400a2c1993 Timeline: Add support to delete several cels at once 2013-12-22 18:52:25 -03:00
David Capello
b4d9e3c9ca Timeline: Add button and handles to configure onionskin range 2013-12-18 00:01:55 -03:00
David Capello
ccb24cad35 Timeline: fix minor details in padding drawing code 2013-12-15 17:49:46 -03:00
David Capello
9806e33876 Timeline: Add code to show equal keyframes joined
This code is disabled at the moment because there isn't a fast way
to compare frames.
2013-12-15 14:02:00 -03:00
David Capello
3c861f1a7e Show timeline automatically when a new frame/layer is created (configurable option) 2013-12-15 12:58:14 -03:00
David Capello
bcab165700 Timeline: improve look & feel of range selections 2013-12-15 09:42:05 -03:00
David Capello
4e917fc81c Add padding to text style 2013-12-11 01:35:40 -03:00
David Capello
4bd4aac429 Add styles to the Timeline widget
- Added support for styles to SkinTheme and skin.xml.
- Added app::skin::Style/Rule/BackgroundRule/IconRule/TextRule classes.
- Added app::skin::SkinPart class to refer to one part (BITMAP) of
  the skin sheet.
- Renamed app::skin::SkinPart to SkinParts as now SkinPart is a class.
2013-12-11 00:34:16 -03:00
David Capello
f3a9f97513 Fix new Unicode font, issue 294 (missing range of Cyrillic script) 2013-11-25 23:39:41 -03:00
David Capello
59c1c93f29 Add some German and Russian Unicode characters to font.png (to fix issue 294) 2013-11-25 20:32:43 -03:00
David Capello
ddf4a13490 Add the Palette menu with Load/Save commands 2013-11-15 16:56:50 -03:00
David Capello
af3df61ca3 Fix main_window.xml to show the ContextBar again 2013-11-10 19:06:37 -03:00
David Capello
b0cd01b425 Add the old "Animation Editor" as a timeline at the bottom of sprite editors (Workspace)
- Renamed AnimationEditor (dialogs/aniedit.h) to Timeline
  class (app/ui/timeline.h)
- Renamed FilmEditor command to Timeline
2013-11-10 18:27:11 -03:00
David Capello
fd6e4ccc21 Add support for transparent background color for ui::Slider to draw ui::IntEntry popup window without background 2013-04-03 21:17:12 -03:00
David Capello
d259b5c394 Add experimental webserver API and home page
Added webserver::IRequest/IResponse/IDelegate interfaces.
2013-04-01 19:37:02 -03:00
David Capello
ce6b186e1b Remove tool configuration from ConfigureTools command (it's in ContextBar now) 2013-03-30 21:46:35 -03:00
David Capello
7c15aee0a5 Use new Entry suffixes in SpriteSizeCommand 2013-03-30 20:10:54 -03:00
David Capello
bf745b1033 Add ContextBar in the MainWindow 2013-03-30 13:43:00 -03:00
David Capello
3171bd5ce7 Fix widgets borders using the "sunken_normal" SkinTheme part
Now the background color of the parent widget is used to draw the borders.
2013-03-30 13:27:38 -03:00
David Capello
f805a83527 Add entry_suffix color for skin theme 2013-03-29 16:27:08 -03:00
David Capello
9b8e87da10 Update copyright year to 2013 2013-01-27 12:13:13 -03:00
David Capello
544a63cc28 Add "play" button in MiniEditorWindow (UI only)
At this moment the button isn't functional because the current frame
position is stored in the sprite (instead of the Editor). In this case,
when the "play" button is pressed, the mini-editor should show other
frames instead of the current one (should play the whole animation).
2013-01-20 21:58:16 -03:00
David Capello
337af9715e Minor change in document_tab_popup labels 2013-01-20 18:41:38 -03:00
David Capello
ed90055bf7 Replace modules/editors.cpp with widgets::Workspace class
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.)
2013-01-20 18:40:37 -03:00
David Capello
a517deee0d Add ui::Color and ThemeColor, move Color to app::Color
Now colors are customizable from skin.xml file.
2013-01-06 14:45:43 -03:00
David Capello
3aad5a570c Update version to 0.9.6-dev 2012-08-24 21:42:46 -03:00
David Capello
525851e6a1 The color bar is now resizable.
- Added Splitter::Type so it can be by pixel or by percentage.
- Added Widget::load/saveLayout functions and Widget::onLoad/SaveLayout
  events.
- Added LayoutIO interface so we can delegate the serialization of the
  layout.
2012-07-18 01:10:43 -03:00
David Capello
6caaca8179 Advance to 0.9.4-dev version. 2012-07-11 18:32:07 -03:00
David Capello
5d26b90276 Implement issue #129 - Return to frame/layer where action is undone. 2012-07-10 18:26:08 -03:00
David Capello
cd23721a97 Add MainWindow & MainMenuBar, and replace rootmenu module with AppMenus class.
Also the ToolBar widget was published in the toolbar.h header file.
2012-07-09 13:20:58 -03:00
David Capello
9b9daca59f Add "LockAxis" key (Shift) to move the selection in X or Y axis only.
Now "Alt" modifier is the key used to snap to grid the selection.
2012-07-06 19:51:40 -03:00
David Capello
11d20a6e33 Add links to README file and Twitter account in Help menu. 2012-07-06 19:26:36 -03:00
David Capello
02e8c66da4 Remove signals and hooks in GUI code.
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.
2012-06-15 23:37:59 -03:00
David Capello
1029792a25 Update gui.xml file to 0.9.3-dev. 2012-05-27 21:10:50 -03:00
David Capello
390c0136ad Update version of gui.xml file. 2012-04-05 19:35:14 -03:00
David Capello
55a4002ec5 Add posibility to scroll by-tiles using Ctrl+arrow keys (Paul Pridham idea).
+ Added ScrollCommand.
2012-04-04 00:49:13 -03:00
David Capello
3ed8d5b565 The version in the repository will be "-dev" always. 2012-02-14 20:01:02 -03:00
David Capello
7354bb83cb Update gui.xml version. 2012-02-14 18:41:37 -03:00
David Capello
041140f528 Change "imgtype" int type to PixelFormat enumeration. 2012-02-12 23:21:06 -03:00
David Capello
bc32ded8a5 Add Ctrl+Tab and Ctrl+Shift+Tab keys to switch between tabs. 2012-02-12 11:33:06 -03:00
David Capello
ab333ff02b Remove the ScreenShot command. 2012-02-12 10:55:33 -03:00
David Capello
0d582f9d5f Improve the MovingPixelsState to support Enter and Esc keys to drop the pixels.
Also any executed command will drop the pixels and return the editor to
its standby state.
2012-02-06 00:17:42 -03:00
David Capello
bad1178617 Add JM_CLOSE_APP message to know when the user pressed the native window close button.
This way is a lot better than simulating an ESC key down/up event.
2012-02-02 20:01:54 -03:00
David Capello
917f724861 Add text entry to go to frame in the status bar (issue #6).
+ Added a button to create new frames in the status bar.
2012-01-09 21:18:32 -03:00
David Capello
b97fb14e0a Add GotoFrame command (like issue #6, but it does not use the status bar).
+ Replaced ScopedPtr defined in gui.h with UniquePtr.
+ Fix problem in keycombo_get_string() converting keyboard shortcuts
  with "Alt" modifier.
2012-01-09 20:28:04 -03:00
David Capello
deb3fdb48a Add the standard Ctrl+Y keyboard shortcut to execute Redo command. 2012-01-07 20:33:34 -03:00
David Capello
1dd4120951 Add "maintain aspect ratio" in selection transformation (issue #48). 2012-01-07 18:47:48 -03:00
David Capello
99bd0015b9 Change "N" keyboard shortcut to "Alt+N" to avoid creation of frames by mistake. 2012-01-07 17:04:18 -03:00
David Capello
a17d925847 Add angle snap with Shift key to rotation. 2012-01-07 16:37:07 -03:00
David Capello
b8fbaad7fb Replace Allegro Sprite Editor or ASE with ASEPRITE in all files. 2012-01-06 01:12:57 -03:00
David Capello
02a9d50524 Update copyright year to 2012. 2012-01-06 00:52:11 -03:00
David Capello
ed6090bc36 Convert all newline to LF style and remove all tabs.
This was done to avoid mixed files (CRLF & LF) in the repository.
2012-01-05 19:45:03 -03:00
David Capello
07edcdb1e2 Add transformation support (scale/rotate) to the selected area.
+ Added support to rotate images of IMAGE_BITMAP type.
+ Added transformation_handle & pivot_handle parts in sheet.png.
+ Added rotation cursors in sheet.png.
+ Added gfx::Transformation class and Document::m_transformation field.
+ Added StandbyState::Decorator and TransformHandles class to draw
  transformation handles.
+ Modified PixelsMovement class to support transformation handles.
+ Added new Linear Algebra library with Vector2d class.
2012-01-01 23:08:25 -03:00
David Capello
d55e4c58e4 Fix regression bug: user isn't able to copy pixels using Ctrl + selection tool.
+ The problem is that "Ctrl" key is a quicktool (move cel), and it was
  stealing the "Ctrl" key to the selection tool.
+ Added <spriteeditor> section in gui.xml to specify which key is
  used to copy the selection (instead of moving). "Ctrl" is the default.
+ Added EditorCustomizationDelegate interface.
2011-10-29 19:21:19 -03:00
David Capello
cfd74c79bd Move to 0.9.1 version. 2011-10-29 11:18:07 -03:00
David Capello
0771f708da Remove the *super old* es.po file. 2011-09-06 20:40:28 -03:00
David Capello
c64a0d1171 Add gui.xml version validation to avoid using an old customized gui.xml file. 2011-08-22 21:37:14 -03:00