309 Commits

Author SHA1 Message Date
David Capello
c23967b547 Fix soft light layer blending mode 2017-03-29 17:35:09 -03:00
David Capello
27bc151a37 Improve handling of overlapping frame tags in the Timeline (fix #768) 2017-03-26 21:52:50 -03:00
David Capello
fb64d5406a Add some colors for cel edges/guides in doc pref 2017-03-23 20:23:25 -03:00
David Capello
347ccfbb78 Add --list-slices CLI option 2017-03-16 10:35:26 -03:00
David Capello
9585d75794 Include <limits> needed by gcc 2017-03-15 15:13:08 -03:00
David Capello
f7cf65b245 Move <cursors> to <parts> on theme.xml
For this the "pivot" property was added to doc::SliceKeys.
2017-03-14 19:00:24 -03:00
David Capello
be3c9c1bcc Convert timeline widget to new styles
And remove the old skin::Style.
2017-03-13 18:13:38 -03:00
David Capello
643cad5c97 Add basic implementation of slice tool (#721) to modify theme parts
It still need support to export to .aseprite-data as <slice> XML elements, and animation support.
2017-03-06 19:27:43 -03:00
David Capello
a39627fe28 Merge branch 'master' into beta 2016-12-29 09:56:55 -03:00
David Capello
a56dff5515 Don't ignore "first frame" in tag properties dialog (fix #1350) 2016-12-29 09:42:44 -03:00
David Capello
afdb6b511f Fix all commands using uniqueCels() (sprite size, rotate/flip sprite, etc.)
We have to iterate all layers on commands that modify the whole
sprite. It doesn't matter if the layer is "browsable" (e.g. it's
expanded or collapsed).
2016-12-08 09:11:54 -03:00
David Capello
d0c9266eaf Merge branch 'master' into beta 2016-11-09 18:49:56 -03:00
David Capello
d6f2bec3fe Unlock document from backup thread when UI needs it
Added a new "weak lock" concept to RWLock/Document class. The background
thread that saves data recovery information can obtain this "weak lock"
which can be unlocked by the UI thread in any moment (i.e. when the user
needs the document immediately for UI.)
2016-11-09 17:22:55 -03:00
David Capello
5c3f75c64b Merge branch 'master' into beta 2016-11-07 18:17:42 -03:00
David Capello
ce6c85996e Update laf library (base/path is gone, use base/fs) 2016-11-01 19:14:05 -03:00
David Capello
21b6e8716d Merge branch 'beta' into ref-layer 2016-11-01 14:11:03 -03:00
David Capello
54e60f058f Merge branch 'master' into beta 2016-11-01 14:09:02 -03:00
David Capello
c2103df444 Move base module to laf library 2016-11-01 12:47:48 -03:00
David Capello
2e66b227f6 Merge branch 'beta' into ref-layer 2016-10-31 20:15:41 -03:00
David Capello
c60e0b915c Merge branch 'master' into beta 2016-10-27 13:00:57 -03:00
David Capello
cc18334c5a Changes in LOG/TRACE messages 2016-10-27 12:25:33 -03:00
David Capello
693a68844c New docio-lib to detect file format by content (fix #776) 2016-10-26 19:37:42 -03:00
David Capello
bc939d5638 New eyedropper mode to pick colors from reference layers 2016-10-13 21:19:25 -03:00
David Capello
1b053de2f2 Fix eyedropper/move tool for reference layers 2016-10-13 19:58:42 -03:00
David Capello
1de5837676 Remove fflush() call from Sprite::pickCels()
Probably from an infamous printf() debugging session.
2016-10-13 19:37:04 -03:00
David Capello
080e7e3f68 Add subpixel bounds for reference layer cels
Now we can move a reference layer cel in a X,Y position with floating
point coordinates (i.e. in a subpixel position).
2016-10-10 23:42:47 -03:00
David Capello
512ccb5dd0 Add bounds (width/height) to doc::Cel/CelData 2016-10-04 21:17:17 -03:00
David Capello
99f37ef242 Add LayerFlags::Reference flag to identify a reference layers
With this flag we can show reference layers in a special way on the
Timeline.
2016-10-04 20:06:24 -03:00
David Capello
7fb984b18d Fix compilation errors when HAVE_CONFIG_H isn't defined 2016-09-26 09:44:43 -03:00
David Capello
e46d453356 Merge branch 'master' into beta 2016-09-23 13:21:51 -03:00
David Capello
fac2dd046c Fix generating CompressedImage with mask 2016-09-23 12:59:20 -03:00
David Capello
dfecffd465 Merge branch 'master' into beta 2016-09-19 19:02:49 -03:00
David Capello
18b4008c6f Fix issues creating brushes with transparent color 2016-09-19 16:17:24 -03:00
David Capello
3e9e49caf9 Allow to save specific layers/frames in Save Copy As (fix #1080) 2016-09-17 01:01:28 -03:00
David Capello
1404b0ce7d Merge branch 'master' into beta 2016-09-16 16:02:26 -03:00
David Capello
2e3bbe2968 Show a tooltip with author+link of each palette (fix #540) 2016-09-15 15:30:45 -03:00
David Capello
6377b550e3 Replace base::Signal/Observable* with obs::signal/observable
We can use the obs library directly for signal/slots and observable
objects.
2016-09-13 15:02:00 -03:00
David Capello
6bbd6b27ff Fix "Export Sprite Sheet" for selected layers using groups and children 2016-09-12 17:56:48 -03:00
David Capello
a104afc670 Merge branch 'master' into beta 2016-09-12 17:53:01 -03:00
David Capello
5a55a9e276 Add support to load/save palettes from/to a list of hex values (.hex files) 2016-09-07 09:19:40 -03:00
David Capello
20b726f73b Merge branch 'master' into beta 2016-08-31 19:53:52 -03:00
David Capello
f2f1c1008b Add support to move/copy non-adjacent layers/frames
Changes:
* With this patch we finally removed the LayerIndex class and member
  functions to access layers by index (like Sprite::firstLayer/layerLayer
  /layer/indexToLayer/layerToIndex() etc.). As layer groups can be
  expanded/collapsed, it doesn't make sense to use layer index to
  access layers directly from sprite.
* Now we use a layer_t (int) to access a list of browsable layers each
  time we want to iterate visible layers in the timeline.
* Replaced CelsRange() and Sprite::uniqueCels() param with
  SelectedFrames to iterate non-adjacent cels.
* Updated clipboard operations (copy/paste) in timeline to support
  layer groups.
* Updated Timeline control to support selecting multiple layer/frame
  ranges with Ctrl+ or Alt+click (fix #1157)
* Added more test units for DocumentRange operations (mainly for
  non-adjacent ranges).
2016-08-25 12:31:00 -03:00
David Capello
8bc6149798 Add extra checks to SelectedLayers/Frames 2016-08-23 15:12:24 -03:00
David Capello
356d88b413 Fix crash in SelectedLayers::displace() when layerDelta is out of bounds 2016-08-23 13:50:35 -03:00
David Capello
36719da7b2 Convert SelectedLayers into a class 2016-08-12 18:01:12 -03:00
David Capello
8971c8857a Remove Sprite::countLayers() member function 2016-08-12 14:21:15 -03:00
David Capello
906d76ad41 Add SelectedFrames::displace() member function
We have plans to include a SelectedFrames in DocumentRange to select
non-adjacent frames. This member function will be useful to displace
those frames.
2016-08-12 13:08:22 -03:00
David Capello
e35a26fdeb Replace access to the first sprite layer with Sprite::root()->firstLayer() 2016-08-11 20:51:14 -03:00
David Capello
22203fb4d3 Add SelectedFrames::operator== and != 2016-08-11 15:54:50 -03:00
David Capello
fbc8d72f1f Add doc::are_layers_adjacent() function
It'll be useful to know if a range operation (e.g. restack layers) will
be applied to adjacent layers (i.e. a range of layers like in previous
Aseprite versions), or to a non-adjacent set of layers.
2016-08-11 15:15:53 -03:00