Commit Graph

505 Commits

Author SHA1 Message Date
David Capello
9d5d911830 Update version to 1.0.9-dev 2015-01-25 19:51:59 -03:00
David Capello
d2ea95716f Add Unlink Cel command 2015-01-20 09:39:12 -03:00
David Capello
052a736a49 Timeline: add UI decorators for linked cels 2015-01-20 09:38:39 -03:00
David Capello
309d1299ae Minor label fix in options.xml 2015-01-20 09:31:20 -03:00
David Capello
15c6ee9046 Remove old layer icons from skin sprite sheet 2015-01-18 22:45:58 -03:00
David Capello
e55865843e Replace undo impl: replace undoers with cmds
Undoers were little objects to swap/revert an action. They didn't
execute the action itself, they just revert its previous state. Now
undoers were replaced with cmds: A cmd is an object that
executes/undoes/redoes just one action.

Changes:
* Remove old undo library and app/objects_container_impl.cpp
  (now we use the doc::ObjectId directly to store undo info)
* Remove all Undoers from app/undoers/
* Replace DocumentApi impl with little Cmds in app/cmd/, these
  cmds handle execute/undo/redo of each action at the logic layer
* Remove doc::Dirty object
* Remove doc::Settings: all undo configuration is in the app side
* Move undo options from app:ISettings to app::Preferences
* Rename UndoTransaction to Transaction
* Create a CmdSequence to store a sequence of Cmds (as now the new
  undo library doesn't support open/close groups)
* Add doc::get<T>(ObjectId) function to get any kind of object
  from the doc library by its ID
* Add Cel::document() and Sprite::document() members
* Add Sprite::cels(frame_t) to get all cels in the given frame
* Add Layer::displaceFrames() member function
* Move the "allow non-linear history" flag from undo2::UndoHistory
  to app::DocumentUndo
2015-01-18 22:05:33 -03:00
David Capello
06d18f1e8a Replace doc::FrameNumber with doc::frame_t 2014-12-28 20:39:11 -03:00
David Capello
da1358c5dc Unify all render code in one library
Changes:
* Create render library (move util/render.cpp to render/render.cpp)
* Move app::Zoom class to render::Zoom
* Remove doc::Image::merge() member function
* Add gfx::Clip helper class (to clip dst/src rectangles before a blit)
* Move doc::composite_image() to render::composite_image()
* Remove doc::Sprite::render()
* Replace Sprite::getPixel() with render::get_sprite_pixel()
* Remove doc::layer_render() function
* Convert DitheringMethod to a enum class
* Add AppRender to configure a render::Render with the app configuration
* Move checked background preferences as document-specific configuration
* Add doc::Sprite::layer() and palette() member functions
* Add doc::Layer::cel() member function
* Add doc::Palette::entry() member function()
* Add doc::frame_t type
* Move create_palette_from_rgb/convert_pixel_format to render library
* ExportSpriteSheet doesn't need a temporary image now that we can specify
  the source rectangle in the render routine
2014-12-28 11:06:11 -03:00
David Capello
73658399cc Add setting/preference classes/enums generator
Changes:
* Add a class (Option<T>) to get/set/listen changes to one specific
  preference option
* Add data/pref.xml with the metadata to generate types/classes (not it's
  quite easy to add new preferences)
* Modify the generator to support generation of .h and .cpp files of
  preference types
* Add code to migrate old options to new ones (and functions to delete
  old values)
* Only a couple of options were migrated at the moment, it is a WIP, in the
  future we should completely remove ISettings and direct calls
  to set/get_config_*
2014-12-14 20:19:31 -03:00
David Capello
709d23606a Remove minor comment in gui.xml 2014-12-13 19:33:26 -03:00
David Capello
5c9240d4d1 Add Ctrl+T to transform the cel content (close #560) 2014-12-13 19:32:58 -03:00
David Capello
afbd3b2d96 Optimize ToolLoop with modified regions of pixels
Here we avoid copying and clearing pixels that will not be used
in the whole tool loop process.
Changes:
* Add several member functions in ToolLoop to validate/invalidate regions
  of source/destination images so we know what regions are safe to use
  by inks and can be shown in the editor
* Add new DocumentObserver::onExposeSpritePixels() member to validate
  pixels that will be displayed in the editor
* Add Ink::needs/createSpecialSourceArea() member functions to validate
  extra areas for inks like blur or jumble
* Add undoers::ModifiedRegion to save the undo information about the
  modified region
* Add ShowHideDrawingCursor class
* Change "blur" tool policy from overlap to accumulate

(This is a real fix for issue #239)
2014-12-08 14:57:56 -03:00
David Capello
5aea29348e Merge branch '1.0'
Conflicts:
	data/gui.xml
	src/app/CMakeLists.txt
	src/app/color_utils.cpp
	src/app/color_utils.h
	src/app/commands/cmd_preview.cpp
	src/app/document_exporter.cpp
	src/app/document_exporter.h
	src/app/ui/editor/standby_state.cpp
	src/config.h
	src/main/resources_win32.rc
2014-12-03 11:15:09 -03:00
David Capello
08f846c83d Convert gui.xml to Unix EOLs 2014-12-02 01:47:54 -03:00
David Capello
a0c8b1f188 Update version to 1.0.8-dev 2014-11-30 21:09:50 -03:00
David Capello
f1cd3bbbe2 Merge branch '1.0'
Conflicts:
	src/app/ui/editor/standby_state.cpp
	src/app/ui/editor/tool_loop_impl.cpp
2014-11-24 21:53:10 -03:00
David Capello
a00a3b2a83 Fix crash changing ConfigureTools options when activeDoc == NULL 2014-11-24 20:52:52 -03:00
David Capello
3437c49f0b Add opacity to grid and grid pixel (close #58) 2014-11-24 19:13:25 -03:00
David Capello
934c9c3fe9 Merge branch '1.0' 2014-11-20 21:48:13 -03:00
David Capello
3645ffe2a5 Change Alt modifier to Shift+Alt to substract selection
This is to avoid conflicts with the eyedropper tool, which can be used
to change the background color.
2014-11-17 07:23:48 -03:00
David Capello
acfe155b24 Merge branch '1.0'
Conflicts:
	src/app/color_picker.cpp
	src/raster/sprite.h
2014-11-16 18:59:30 -03:00
David Capello
c64ee5729b Add "Auto Select Layer" check box to Move Tool (close #527) 2014-11-16 18:33:31 -03:00
David Capello
c0078809f7 Merge branch '1.0'
Conflicts:
	data/gui.xml
	src/config.h
	src/main/resources_win32.rc
2014-11-16 13:26:02 -03:00
David Capello
7b4cd3e136 Re-add Ctrl+Q for Windows and Linux 2014-11-16 12:30:06 -03:00
David Capello
497f0ffee0 Update version 1.0.7-dev 2014-11-13 11:12:25 -03:00
David Capello
228d1e39e6 Update gui.xml and resources_win32.rc versions 2014-11-12 23:35:14 -03:00
David Capello
8716214718 Add SetLoopSection command and F2 keyboard shortcut (close #491) 2014-11-08 19:57:46 -03:00
David Capello
cd913f7619 Do not center editor scroll by default when we zoom with keys or zoom tool 2014-11-07 19:11:23 -03:00
David Capello
d69a418017 Minor layout changes in SelectAccelerator window 2014-10-30 00:33:40 -03:00
David Capello
d90150fed9 Move button to delete shortcuts from SelectAccelerator to KeyItem 2014-10-29 22:06:25 -03:00
David Capello
f939ef5f02 Add keyboard shortcuts customization (close #253)
Changes:
* Add KeyboardShortcutsCommand and window
* Add SelectAccelerator window
* Replace modules/gui.cpp functions with app::KeyboardShortcuts and
  app::Key with the logic to load/save/handle keyboard shortcuts
* Change ui::Accelerator concept: now it represent just one keyboard
  shortcut, not a set of shortcuts
* Remove ui::Accelerator from ui::MenuItem, now the key is associated
  in app::AppMenuItem and it's a app::Key
* Add Command::onGetFriendlyName() to get a user friendly name of the
  command depending on its parameters
2014-10-29 11:58:03 -03:00
David Capello
d327ab536f Add "View > Show Pixel Grid" menu option to switch the pixel grid 2014-10-29 10:36:50 -03:00
David Capello
c6aedc117a Add Alt+Shift+G shortcut to toogle the pixel grid visibility (fix #504) 2014-10-26 00:48:15 -03:00
David Capello
d68f1fa1b8 Add experimental option to flash the selected layer when Up/down array keys are used (fix #111) 2014-10-25 16:04:39 -03:00
David Capello
21b0f64a34 Add Cmd+, and Ctrl+K keyboard shortcuts to open preferences 2014-10-25 11:49:24 -03:00
David Capello
bb24d8b995 Add option to enable/disable automatic menu bar items popup (related to issue #501) 2014-10-25 11:24:29 -03:00
David Capello
4188fa1408 Add ReverseFramesCommand (fix #503) 2014-10-24 11:37:52 -03:00
David Capello
81d725e8c3 Update version to 1.0.6-dev 2014-10-23 10:58:09 -03:00
David Capello
546d3af5e8 Fix problems clearing background cels
- The background color to clear is calculated in one place: DocumentApi
- Rename RemoveCel command to ClearCel
2014-09-17 09:53:25 -03:00
David Capello
993ed28991 Update version to 1.0.5-dev 2014-09-09 08:52:22 -03:00
David Capello
d14a0fe075 Add "Size" options in CanvasSizeCommand to specify width/height
- Added canvas icons to change the expansion direction in CanvasSizeCommand
- Added Widget::at() and Widget::offerCapture() member functions
- Improved ButtonSet widget
2014-09-08 02:27:41 -03:00
David Capello
7e40d05119 Merge pull request #465 from msisinni/patch-1
Add Google's UI color palette
2014-08-29 21:25:29 -03:00
msisinni
2ddfcc56d1 Added color names 2014-08-29 13:14:13 -04:00
David Capello
55fca6a89f PalettePopup: Show three buttons: "Load", "Set as Default", and "Open Folder"
This is to show the "Set as Default" option when there is an open
document.
2014-08-29 09:42:07 -03:00
David Capello
a2107f5bd9 Mac OS X: Avoid Cocoa error beep when a Cmd+key is used
This change should be reverted in some way when the OS X menus
are implemented (issue #135)
2014-08-28 09:50:32 -03:00
David Capello
a122b2d3c6 Add Alt+C as shortcut for RemoveFrame 2014-08-28 09:04:49 -03:00
msisinni
85d1baa26b Based on Google's UI color palette
http://www.google.com/design/spec/style/color.html#color-ui-color-palette
2014-08-26 01:58:56 -04:00
David Capello
58b3e09d86 Remove all "infinite scroll" stuff to avoid changing mouse position (fixes #350)
Changing the mouse position isn't user-friendly in desktop apps, and
has several problems in some platforms (Mac OS X). In this way we've
changed the approach to handle the mouse position when it goes outside
the ui::Editor viewport.
2014-08-25 22:49:19 -03:00
David Capello
d4f056100b Now we can rotate the current cel or a range of cels (related to issue #161) 2014-08-25 09:06:38 -03:00
David Capello
0aea78318a Now you can move the selection with arrow keys when it is visible 2014-08-25 00:55:54 -03:00
David Capello
355ecbb2af Add space bar as modifier
Now we can scroll with space bar + arrow keys
2014-08-24 23:40:33 -03:00
David Capello
4e061d1a56 Add , and . shortcuts to navigate frames 2014-08-24 23:32:17 -03:00
David Capello
522e9a0337 Add Shift/Alt modifiers to selection tools to change Union/Subtract modes (fix #217) 2014-08-24 19:19:38 -03:00
David Capello
6c571adbd4 Add Alt+B shortcut to create new empty frames 2014-08-24 18:01:52 -03:00
David Capello
44c6f9400e Add a notification to report the last crash 2014-08-20 00:11:19 -03:00
David Capello
7144457249 Change Ctrl+I (or Cmd+I) shortcut to ImportSpriteSheet (as InvestColor is generally not used in pixel art) 2014-08-19 08:22:04 -03:00
David Capello
9a15126682 Fix issue 188: Pick foreground color with right mouse button 2014-08-19 08:17:57 -03:00
David Capello
d0a7831589 Add document icon 2014-08-18 23:51:57 -03:00
David Capello
9ab62149aa Minor fix in 64x64 version of ase.ico 2014-08-18 23:36:12 -03:00
David Capello
6db36fe30b Add ZoomCommand so zoom keys are configured in gui.xml file 2014-08-13 00:22:29 -03:00
David Capello
dde7915c24 ExportSpriteSheet: Fix "Height" combobox to make it editable 2014-08-12 07:29:57 -03:00
David Capello
df3c16b802 Add more options to export sprite sheet (e.g. best fit for texture) 2014-08-11 11:33:17 -03:00
David Capello
c936a792ab Add export_sprite_sheet.xml widget 2014-08-11 07:27:10 -03:00
David Capello
a767eb187d Add layer_properties.xml widget 2014-08-11 06:57:22 -03:00
David Capello
1c324c9b14 Add experimental option to use native mouse cursors (and some renames of cursor names) 2014-08-10 19:51:14 -03:00
David Capello
f48440fe71 Use the generated app::gen::Options widget for OptionsCommand 2014-08-10 01:12:31 -03:00
David Capello
303595689f Use generated widget app::gen::NewSprite in NewFileCommand 2014-08-09 21:45:07 -03:00
David Capello
d23fa2230b Implement option to generate one optimized palette for all frames when we save a .gif file 2014-08-09 12:51:11 -03:00
David Capello
bebc129a4d Remove rounded corners to minifont.png to make it more readable 2014-08-09 10:45:06 -03:00
David Capello
626ec1d2ba Add MoveTaskCommand: now you can move the selection with Shift+arrow keys 2014-08-08 01:00:02 -03:00
David Capello
6d1602f278 Minor change in gui.xml 2014-08-07 20:26:02 -03:00
David Capello
d74944c885 Updated NES palettes (issue 411 for details and authors) 2014-08-06 08:57:41 -03:00
David Capello
fcfaacd4d7 Update version to 1.0.3-dev 2014-08-06 00:50:35 -03:00
David Capello
a856cdf8bd Add support for command key in Mac OS X platform
Other change:
- Fixed ui::Message::onlyCtrl/Shift/AltPressed() member functions
2014-08-06 00:42:50 -03:00
David Capello
411ceda0e7 Add options to save GIF files (how to quantize palettes mainly)
* Added "context" parameter to save/load routines so we can test them.
2014-07-19 22:01:39 -03:00
David Capello
958d8f922f Merge branch 'next' into dev 2014-07-11 01:15:30 -03:00
David Capello
6861bd7bb7 Minor change in options dialog 2014-07-06 20:51:27 -03:00
David Capello
950a9fe82f Add button to create new folders in FileSelector (issue 233) 2014-06-28 18:01:32 -03:00
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
David Capello
da0a4f67dd Add ase icon (32,48,64 created by iLKke) 2011-08-22 21:02:46 -03:00
David Capello
d5dd899d3d Add "Export Sprite Sheet" command. 2011-08-07 22:24:21 -03:00
David Capello
0bddf2611c Add "Import Sprite Sheet" command (part of issue #4). 2011-07-31 22:55:52 -03:00
David Capello
dd65f0cf7f Replace "QuickReference" and "Donate" commands with "Launch". 2011-07-28 19:32:04 -03:00
David Capello
04c675bd15 Merge branch 'ft-updater' 2011-07-27 22:10:49 -03:00
David Capello
cf9a296e5d Add automatic check for updates with app::CheckUpdateThreadLauncher
and show notifications in StatusBar.
+ Added updater library.
+ Removed "Check for New Version" command.
2011-07-26 23:25:02 -03:00
David Capello
ff481003c8 Now right-clicking a tab shows a popup-menu with useful options for the document.
+ Added OpenInFolder and OpenWithApp commands.
+ Added Launcher::openFolder.
+ Added document_tab_popup_menu.
2011-06-25 14:28:50 -03:00
David Capello
5361d22879 Add button to disable mini editor. 2011-04-30 16:55:22 -03:00
David Capello
bda7f6c31d Add DropDownButton widget. 2011-04-30 15:31:03 -03:00
David Capello
210e33f76a Improve "Canvas Size" command to show rulers to change the canvas size.
+ Added EditorDecorator and EditorState::getDecorator().
+ Added EditorPreRender and EditorPostRender classes.
+ Added Image::rectblend and image_rectblend functions to draw
  transparent rectangles.
+ Added SelectTileState and Ruler classes.
2011-04-21 17:39:43 -03:00
David Capello
36b3309125 Fix "i" glyph in minifont. 2011-04-02 23:08:46 -03:00
David Capello
19ea79b41e Add minifont in SkinTheme for color buttons. 2011-04-02 11:45:43 -03:00
David Capello
450e97ef92 Move data/skins/default_skin to data/skins/default. 2011-04-02 10:53:52 -03:00
David Capello
c5801760b6 Use PNG for fonts instead of PCX. 2011-04-02 10:50:59 -03:00
David Capello
3c3136235f Several fixes in font glyphs to improve the overall look of the program. 2011-04-02 09:49:21 -03:00
David Capello
3ad44e3004 Add a "pin" in color selectors to make the popup window floating.
+ Added Frame::hitTest() and Frame::onHitTest().
+ Added LookType enum for SkinProperty.
2011-03-29 21:07:37 -03:00
David Capello
94ad5cc0fc Fix layer_editable and layer_locked parts (they were switched). 2011-03-27 00:20:23 -03:00
David Capello
d95919beb5 Add a simple DeveloperConsole for debugging purposes (F11 key). 2011-03-26 20:43:43 -03:00
David Capello
a8d9636467 Refactor filters (effects).
+ Added Filter, FilterManager, and FilterIndexedData interfaces.
+ Moved all widgets related to filters to src/commands/filters.
+ Added the filters library.
+ Added FilterWindow and one derived window for each filter.
2011-03-13 15:50:31 -03:00
David Capello
6d5531b998 Replace old gfx-data with graphics from the skin sheet.
+ Removed gfxdata.cpp file.
+ Removed get_gfx() from modules/gfx.h/cpp.
+ Added skin parts for each removed graphics of gfxdata.
+ Added IButtonIcon interface and an implementation for skin theme.
+ Removed "icon_buttons" from gui.cpp.
+ Now icons in button are set through set_gfxicon_to_button function.
+ Removed from Theme class check/radio_icon_size member variables
  (they are replaced with the new IButtonIcon interface).
+ Removed jdraw_inverted_sprite(), now each icon has it normal/selected
  version in the skin sheet.
2011-03-06 16:15:05 -03:00
David Capello
de47c6ff59 Rewritten palette editor using ColorSliders and HexColorEntry widgets. 2011-03-03 22:17:25 -03:00
David Capello
b0ff50ec0e New color-bar with scrollable palette-view.
+ Removed palette-view from Palette Editor.
+ Fixed problems pasting RGB values in #hex format and HSV sliders.
2011-02-23 19:29:57 -03:00