Commit Graph

60 Commits

Author SHA1 Message Date
David Capello
ac67cb9e49 Remove unused graphics from skin 2016-03-04 15:09:50 -03:00
Gabriel Rauter
b01a8626f1 replace onion settings icon fixes #956 2016-03-02 12:18:34 +01:00
David Capello
36b4b65642 Update timeline cel skin parts by Ilija Melentijevic 2016-02-07 14:39:25 -03:00
David Capello
f530664657 New updates to the skin by Ilija Melentijevic
Updated graphics:
* the eyedropper, rotation, scaling, and zoom mouse cursors
* hand and zoom tool icons
* timeline icons (eye, padlock, gear/hammer icon, onionskin icon,
  linked cels icon)
2016-02-05 18:29:57 -03:00
David Capello
7b5827a151 Modify style of colored layers and cels in Timeline
Now colored layers/cels are filled with the user-defined color as
background and the text in the foreground.
2015-12-23 19:57:31 -03:00
David Capello
08bef859e3 Add user data field on layers and cels 2015-12-10 18:34:25 -03:00
David Capello
c1392909bb Show ColorSpectrum's indicator white-colored if it's in the dark side 2015-12-05 16:11:03 -03:00
David Capello
771a7ba467 Add search field in keyboard shortcuts dialog (fix #849)
Changes:
* Added "icon_search" part in the skin
* Added app::SearchEntry widget
* Fixed Separator widget to handle a custom background color, because
  now we use Separators inside a ListBox too
* Added Entry::(on)getEntryTextBounds() to specify a customized area
  to show text (as SearchEntry needs space for search and close icons)
2015-11-30 15:08:18 -03:00
David Capello
cf7c4754cc Convert InkShadesField in a combobox-like widget to store several shades (#85)
Changes:
* Added new ui::IconButton widget to create widgets with one skin icon
  that is colored depending on the button state.
* ContextBar::InkShadesField was divided into a couple widgets (ShadeWidget
  and IconButton to drop-down a little menu with saved shades)
* Fixed CommonLockedSurface::drawColoredRgbaSurface() impl.
* Removed invalid gfx::setr/g/b/a() functions.
2015-11-24 18:37:13 -03:00
David Capello
56854cdb9f Add symmetry mode (fix #208)
This is a first iteration of the feature, it doesn’t have handles to
move the symmetry line and it only contains two symmetry modes:
horizontal or vertical.

As an extra change, we have added the new Stroke type to wrap a vector
of gfx::Points and simplify some existing code in the ToolLoop.
2015-10-26 17:51:32 -03:00
David Capello
9772f99303 Add scroll bars to Timeline widget (fix #732)
Changes:
- Added ui::ScrollableViewDelegate so ui::ScrollBar can be child of
  a non-ui::View widget.
- Added a generic ui::setup_scrollbars() utility to locate
  horizontal/vertical scrollbars depending on the scrollable area and
  the available viewport area.
- Replaced Timeline::m_scroll_x/y ints with m_hbar/m_vbar widgets.
- Added transparent scrollbar look & feel.
- Added a "hover" state to mini-scrollbars used in sprite editors.
2015-09-17 15:19:47 -03:00
David Capello
5c371285ab Improve FilterTargetButtons UI style using a ButtonSet
Related to #786
2015-08-28 14:37:00 -03:00
David Capello
f3ac563e33 Add shading ink (fix #85) 2015-08-26 16:48:01 -03:00
David Capello
b0877df0cb Show current color indicator in the color wheel 2015-08-21 12:34:06 -03:00
David Capello
dd6c028477 Add handle to resize the palette (fix #754) 2015-08-20 12:08:08 -03:00
David Capello
75a743f141 Separate pivot visibility and location options 2015-08-14 10:09:15 -03:00
David Capello
32bf3314e6 Add a new simple/default ink
This ink behaves as alpha compositing but doesn't use the opacity slider
(opacity is used from current color's alpha channel). Also, in case that
we pick the mask color, it behaves as the eraser tool.
2015-08-13 13:26:52 -03:00
David Capello
6b9c4c53ae Add icons in "New Sprite" dialog
Some changes needed to do this:
* Added support to show icon+text in ButtonSet items
* Added an extra parameter in Graphics::drawUIString() to avoid drawing
  the underscore
* Fixed expansion of ButtonSet items when the grid is resized
* Added support for Alt+mnemonic shortcuts in ButtonSet items
2015-08-12 12:38:07 -03:00
David Capello
b0a42ed4f1 Make color sliders style smaller 2015-08-06 11:23:39 -03:00
David Capello
7cfdf76b0e Add rotation pivot options in context bar (fix #370)
With these options we can configure to show the pivot and the default
location when we select a sprite area.
2015-07-29 16:35:34 -03:00
David Capello
bc29cd4bc5 Set alpha compositing as default
And "replace pixel" and "set alpha" were merged into "copy color" ink.
2015-07-27 11:24:00 -03:00
David Capello
35229e99a6 Add opaque/transparent mode in context bar for transformations (fix #546)
With this change now we add a "mask" image/parameter in rotation
functions. In this way we can identify which specific pixels are
inside the original mask/selection, and in opaque mode we can
include/scale/rotate all those pixels inside the mask, whatever
value they are, even if they are the mask color.

Fixes #730
2015-07-23 22:42:14 -03:00
David Capello
d80b984f00 Adjust default ink to be more pixel-art friendly (just replace RGBA values)
Now that we have alpha channel in color selector and palette entries, it's
nice to have as a default ink a more pixel-art friendly, i.e.
an ink that just replace RGBA values instead of doing alpha compositing.

Issue #286
2015-07-02 13:16:06 -03:00
David Capello
a0de785843 Change timeline_drop_layer/frame_deco style 2015-06-18 15:39:26 -03:00
David Capello
5437ccd2a2 Move palette menu to color bar options button 2015-05-08 14:36:54 -03:00
David Capello
575e94e559 Add popup menu to sort palette colors 2015-05-08 13:03:06 -03:00
David Capello
1b25c4e9e9 Add slots in the ContextBar to select brushes with Alt+1, Alt+2, etc.
Now the ContextBar contains a set of brushes. The ChangeBrushCommand
supports a new "slot" parameter and "change" = "custom" to select a
specific custom brush from the ContextBar. Alt+1, Alt+2, etc. are mapped
to this ChangeBrushCommand (see changes in gui.xml).

Also, as the ButtonSet that represent different brushes in the ContextBar
uses icons generated from the brush, we don't need the skin parts that
represent each brush type (we can generate those icons from some standard
brushes). Those skin parts were removed.
2015-04-29 12:32:44 -03:00
David Capello
7a3c0a1eed Minor fixes in style for ButtonSet and StatusBar controls (mini Entry/Slider) 2015-04-07 11:29:36 -03:00
David Capello
82c485a054 StatusBar: Improve animation buttons style using a ButtonSet
Also now the play button changes to a stop button when the animation is
begin played.
2015-04-07 02:29:33 -03:00
David Capello
9dd944fc76 Add "docked" style for WorkspaceTabs 2015-04-01 10:27:22 -03:00
David Capello
58d302749c Use a FrameTag for the loop section (fix #557)
Changes:
* Paint FrameTags in Timeline with labels
* Add app::ui::FrameTagWindow
* Fix FrameTag::m_aniDir initialization
* Add warning for files that doesn't support frame tags
* Remove document preferences related to the active loop
2015-03-09 13:57:54 -03:00
David Capello
8c6f55cc41 Add support to reorder tabs (close #118) 2015-02-24 20:10:22 -03:00
David Capello
e850c8dbb0 Add an icon to "Home" tab 2015-02-19 21:44:22 -03:00
David Capello
f4e01345c6 Add close/modified icon to tabs 2015-02-19 13:13:25 -03:00
David Capello
22f35ab249 Independent scroll/zoom in Preview window (part of issue #407) 2015-02-10 12:59:43 -03:00
David Capello
052a736a49 Timeline: add UI decorators for linked cels 2015-01-20 09:38:39 -03:00
David Capello
15c6ee9046 Remove old layer icons from skin sprite sheet 2015-01-18 22:45:58 -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
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
c639b4dba3 Add "dots" freehand algorithm (change to ButtonSet the selection of FreehandAlgorithm) 2014-06-15 04:14:53 -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
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
4c706afb90 New zoom tool 2014-04-19 20:08:21 -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
eee1719109 Implemented issue 260: Scroll-bars for sprite editor 2014-01-26 13:28:11 -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
b4d9e3c9ca Timeline: Add button and handles to configure onionskin range 2013-12-18 00:01:55 -03:00