David Capello
81d10f1c4f
Add DEBUG_PAINT_EVENTS to manager.cpp
2014-05-04 21:17:45 -03:00
David Capello
ddf894867a
Fix ToolBar behavior to avoid changing tools unintentionally
...
- Avoid opening other groups if the user is not with the mouse down
- A second MouseUp closes the group
2014-05-04 20:56:36 -03:00
David Capello
6414e37f9a
Use IntersectClip when possible
2014-05-04 16:59:11 -03:00
David Capello
df3cb694ae
Add she::Display::setMousePosition()
2014-05-04 16:05:35 -03:00
David Capello
507819a26f
win32: hide scrollbars changing client area in WM_NCCALCSIZE
2014-05-03 20:40:57 -03:00
David Capello
774a36efc9
Fix crash using deleted concurrent queue of event when Alleg4Display() is being destroyed
2014-05-03 18:02:27 -03:00
David Capello
9dff641855
Update win32 resource file
2014-05-03 17:04:49 -03:00
David Capello
7b9f8ce355
Update website URL in config.h
2014-05-03 17:04:33 -03:00
David Capello
b991f3b42e
Rename cmd_change_image_type.cpp to cmd_change_pixel_format.cpp
2014-05-03 16:27:11 -03:00
David Capello
0eb8e344bb
If the save process fails, mark the document as modified
2014-05-03 16:25:39 -03:00
David Capello
a04119eeb4
Fix several reported memory leaks
2014-05-02 23:55:45 -03:00
David Capello
9af8440ba6
Delete all css::Styles when the skin::StyleSheet is destroyed
2014-05-02 23:30:17 -03:00
David Capello
456bdaa20a
Avoid memory leak information about color_mapping in skin_theme.cpp
2014-05-02 23:07:11 -03:00
David Capello
5b62a55a0a
Avoid memory leaks information of FileFormatsManager
2014-05-02 23:04:04 -03:00
David Capello
0cd9bf21f3
Fix memory leak detector for Windows with MSVC compiler
2014-05-02 23:03:40 -03:00
David Capello
cb0f89ea3a
Fix issue with Timeline scroll: when clicking with mouse wheel the scroll jumps to other location
2014-05-02 21:10:19 -03:00
David Capello
a5b1bd1875
Check invalid values of m_clk_layer in Timeline::dropLayers()
2014-05-02 21:08:10 -03:00
David Capello
c34ee7ef6b
Fix compilation error in ase_parallelogram_map()
2014-05-02 20:22:39 -03:00
David Capello
e006d8322f
Use strtol instead of ustrtol in widget_loader.cpp
2014-05-02 20:21:57 -03:00
David Capello
cfa061e014
Fix sprite properties dialog size when jguiscale() = 1 (problem referenced in issue #197 )
2014-05-02 20:19:43 -03:00
David Capello
02a8ea779a
Add missing *jguiscale() in Entry and ColorButton widgets
2014-05-02 20:08:59 -03:00
David Capello
3e70c5316d
Add undo information when the sprite transparent color is modified
2014-05-02 20:00:26 -03:00
David Capello
c879d114e0
Version 1.0.0
2014-05-02 19:58:34 -03:00
David Capello
e36aaa5dfc
Fix issue #197 - Index 0 is made transparent, even when it is not the transparent color
...
Now image_scale and ase_parallelogram_map_standard functions use the image
mask color.
2014-05-02 19:44:26 -03:00
David Capello
66564e354f
Fix issue #394 - crash when we cancel the file save operation
...
There were problems calling a pure virtual function (IFileOpProgress
implemented by OpenFileJob) when we are already in ~Job() dtor. So we've
to wait the background thread (added Job::waitJob() function) to join
the thread so it can use IFileOpProgress safely.
Also the save process of .ase files now can be cancelled (it wasn't
possible before).
2014-05-02 17:04:55 -03:00
David Capello
33753ccde8
.ase format: remove static members to save chunks
2014-05-02 14:59:20 -03:00
David Capello
d0c2107278
.ase format: write the header at the beginning of the process
...
This is a common issue when the save process fails, we get an .ase file
without header. So basically with this change we save the most important
information of the header first, and then save the rest of frames/layers
info. At the end we can save the file size.
- Other change: removed "current_frame_header" static variable.
2014-05-02 14:38:35 -03:00
David Capello
aaa662cf23
Implement CelProperties commands using DocumentApi::setCelOpacity
2014-05-02 12:10:29 -03:00
David Capello
049affae65
Timeline: Fix bug start cels movement with right-click
2014-05-02 11:56:18 -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
7a15f1c909
Merge remote-tracking branch 'origin/dev' into dev
2014-05-02 11:29:24 -03:00
David Capello
4946dd5ebb
Timeline: Fix problem clicking first and second frame
2014-05-02 11:28:44 -03:00
David Capello
d76f6f6716
Add DocumentApi::setCelOpacity()
2014-05-02 11:28:21 -03:00
David Capello
09027fdee4
Fix issue #258 - bug moving a cel from a transparent layer to background
...
The problem was in DocumentApi::moveCel(). We cannot move a Cel between
layers and frames at the same time easily (it's not possible to do it
without being in a temporal invalid state, e.g. where two cels are in the
same frame position). It's better if we create completely new cel for
the target and remove the previous one in all cases (undoers are already
prepared to do those operations correctly).
- Add Sprite::getImageRefs() member function.
2014-05-02 11:28:03 -03:00
David Capello
bee4dff5a8
Merge branch 'dev' of git@github.com:aseprite/aseprite.git into dev
2014-04-29 23:08:20 -03:00
David Capello
6edf02765a
Fix Graphics::fillAreaBetweenRects()
2014-04-29 23:07:25 -03:00
David Capello
62c5d5222f
Redraw editors when all layers are hidden/shown
2014-04-29 23:04:57 -03:00
David Capello
e363577e65
Better double-click: remove DoubleClickeable and make ui::Widget default behavior to convert double-clicks into mouse downs
2014-04-29 23:02:27 -03:00
David Capello
62fc42c24d
Timeline: Add icons to lock/unlock and hide/show all layers
2014-04-29 22:51:14 -03:00
David Capello
be13633d44
Merge branch 'dev' of git@github.com:aseprite/aseprite.git into dev
2014-04-29 01:21:43 -03:00
David Capello
d470a6b78a
Fix Clear command to delete the selection first when the range is enabled in one frame/one layer
2014-04-29 01:19:39 -03:00
David Capello
0120ef58e1
AppMenuItem: fix updating enabled/checked state in popup menus (in timeline popups mainly)
2014-04-29 01:11:50 -03:00
David Capello
4d48e40484
Fix RemoveLayer command so it's disabled when we have no more layers to remove
2014-04-29 01:01:25 -03:00
David Capello
5601b07df6
Fix NewFrame command so it's enabled even when we don't have layers
2014-04-29 01:00:15 -03:00
David Capello
05d0eaee6d
Timeline: fix painting code for paddings area when we've removed all layers
2014-04-29 00:51:42 -03:00
David Capello
870a435cb6
Timeline: fix crash when we remove all layers (issue #393 )
2014-04-29 00:51:08 -03:00
David Capello
17e59bc9e5
And fix mouse wheel from Allegro 4.4 data
2014-04-28 22:07:01 -03:00
David Capello
a21febf6e8
Merge branch 'dev' of git@github.com:aseprite/aseprite.git into dev
2014-04-28 22:03:25 -03:00
David Capello
ec61c6b972
Add support for horizontal mouse wheel and scroll bar notifications (better support for trackpads)
...
WM_HSCROLL/WM_VSCROLL messages are used by some trackpads drivers to
notify about horizontal/vertical pan gestures.
2014-04-28 22:02:56 -03:00
David Capello
58720851c4
Update MiniEditor scroll properly when EditorView scroll changes
2014-04-28 01:45:22 -03:00
David Capello
4ea41e1024
Fix problem rendering underlined characters
2014-04-26 16:19:05 -03:00
David Capello
3935b10467
Merge remote-tracking branch 'origin/dev' into dev
2014-04-26 16:05:55 -03:00
David Capello
9fa0f4077b
Fix default MiniEditorWindow position
2014-04-26 16:05:29 -03:00
David Capello
5584424b79
Adjust windows position when ui::Manager (the main windows/display) is resized
2014-04-26 16:04:25 -03:00
David Capello
75591fa491
Fix animation playback in MiniEditor: now it handles frame duration correctly
2014-04-26 12:06:11 -03:00
David Capello
a411cd88d9
Merge branch 'dev' of git@github.com:aseprite/aseprite.git into dev
2014-04-26 11:34:46 -03:00
David Capello
99ca9f175e
Add View::attachedWidget() member function
2014-04-26 11:33:29 -03:00
David Capello
a6a383ebc8
Fix SkinTheme::paintView() to avoid the little white square in ListBox's bottom-right corner
2014-04-26 11:33:05 -03:00
David Capello
b7de0a9547
Don't reload the theme when the palette is modified
...
This was needed in the old days for 8bpp screens.
2014-04-26 11:22:21 -03:00
David Capello
6fa7abb812
Fix EditorView scrollbar painting code for the little square in the bottom-right corner
2014-04-26 11:16:49 -03:00
David Capello
15a3b6ac2c
Fix double-click issues
...
- Fix double-click behavior when double-clicks are generated from
Manager::generateMouseMessages().
- Add Widget::setDoubleClickeable/isDoubleClickeable() member functions
for widgets that accept double-clicks.
2014-04-26 11:09:59 -03:00
David Capello
5d824512c2
Fix SkinTheme::paintMenuItem() painting code
2014-04-25 08:59:00 -03:00
David Capello
af299eecc8
Hide mouse when it leaves the display
2014-04-25 08:58:19 -03:00
David Capello
95fbfd9fe7
Add a mutex to access to the FileSystemModule
2014-04-24 08:51:59 -03:00
David Capello
b467e57ba3
Update the PaletteListBox view to show the scrollbar when palettes are added
2014-04-24 08:49:52 -03:00
David Capello
a711c8be17
Fix throw of exceptions in FileSystemModule ctor
2014-04-21 23:30:04 -03:00
David Capello
6634c12ad2
Fix problem selecting Default Ink each time we want to show other ink type
2014-04-21 22:23:22 -03:00
David Capello
3c4bbbe30c
Replace jwidget_set_min/max_size() with Width::setMin/MaxSize()
2014-04-21 22:15:29 -03:00
David Capello
b33357ed46
Remove base::string (std::string is good enough for utf8 strings)
2014-04-20 19:53:27 -03:00
David Capello
3322396357
Minor fixes
2014-04-20 17:41:59 -03:00
David Capello
47ee01c1a0
Proper handling of HRESULTs
2014-04-20 17:41:49 -03:00
David Capello
a35cb0d34d
Fix compilation errors (gcc)
2014-04-19 21:06:58 -03:00
David Capello
b36cff8d75
Add missing #include <string>
2014-04-19 21:06:35 -03:00
David Capello
019c7c9f1f
she_alleg4: Define unique_display and display_scale on all platforms
2014-04-19 21:06:07 -03:00
David Capello
bc32c18dbb
Fix PalettePopup::showPopup signature
2014-04-19 21:03:50 -03:00
David Capello
bf03d10b03
Remove extra elements in #endif directives
2014-04-19 21:03:20 -03:00
David Capello
bc3d3e9413
Load a better palette by default
2014-04-19 20:52:56 -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
2c0642d1f1
It's better if mouse wheel doesn't center the scroll on zoom-in/out
2014-04-19 20:43:23 -03:00
David Capello
223988d7ff
Center on zoom (fixed issue #385 )
2014-04-19 20:09:14 -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
3738774efc
Do not apply jguiscale() to Splitter layouts that are handled ByPercentage
2014-04-19 18:57:42 -03:00
David Capello
a34d181530
Add Widget::is/setTransparent property to paint a widget merged with its background
...
This fixes problems with tooltips, toolbar popups and context bar popups.
It fixes issue #297 (undo notifications rendering problems).
2014-04-19 18:51:42 -03:00
David Capello
2b3a4d1668
Paint PopupWindow as popup menus
2014-04-19 16:07:01 -03:00
David Capello
af4e714360
More painting code from ji_screen to ui::Graphics
...
We planned to migrate everything to ui::Graphics to port the program to
other back-end (e.g. SDL or Allegro5). This is one step forward to that
direction.
Changes:
- Delete a lot of deprecated functions from src/ui/draw.h/cpp and SkinTheme
that used BITMAP/ji_screen.
- Rename ui::ji_move_region to ui::_move_region
- Move ui::jwidget_get_texticon_info to ui::Widget::getTextIconInfo.
Now the member function returns client coordinate instead of absolute
ones.
- ui::drawTextBox() now receives a ui::Graphics instead of a BITMAP
- Add ui::Graphics::drawChar/measureChar() member functions.
- Replace ui::jrectexclude() with with ui::Graphics::fillAreaBetweenRects()
2014-04-19 15:18:16 -03:00
David Capello
4beff46e02
We were calling dispatchMessages() on openPopupWindow(), which produces some messages that were deleting the toolstrip
...
We cannot use the "overlapped area" trick to draw the background of the
window. It's better to add a new "composite" kind of window.
2014-04-17 22:52:26 -03:00
David Capello
9ad86ef0ed
Toolbar: Remove slot before the popup window is deleted
...
This fix some strange scenario/bug where slots iterators where invalidated
in the middle of the signaling process. (The whole signal/slot impl needs
a review/simplification.)
2014-04-17 22:30:07 -03:00
David Capello
dd2ce20e25
Win32: Add support to convert mouse messages (WM_) to ui::Messages (using she::Events)
...
On Windows, instead of polling Allegro mouse position/buttons we can use
the mouse messages (WM_*) directly to generate she::Events. Those events
are received by the ui::Manager and converted to ui::Messages.
Maybe this is a possible fix for issue #133 (Wacom tablets don't work
properly).
Changes:
- Don't use jmouse_z() directly (new ui::MouseMessage::wheelDelta() member)
- Add ui::_internal_set_mouse_position() to change the jmouse_x/y(0)
from the new mouse position received in she::Events. The same for
ui::_internal_set_mouse_buttons().
- Modify the ui::Manager to generate mouse events in any case: using old
Allegro 4 polling method, or from she::Events.
2014-04-17 22:23:12 -03:00
David Capello
2e9751fef1
Rename base::file/directory_exists() to base::is_file/directory()
2014-04-17 17:12:55 -03:00
David Capello
138d2f1db8
Fix mouse buttons on kMouseDown/UpMessages
...
This fixes a problem reported on issue #388 where a tool loop couldn't
be canceled pressing left button when it was iniciated with right button.
2014-04-17 17:06:15 -03:00
David Capello
d3591ffdf7
Merge branch 'dev' of git@github.com:aseprite/aseprite.git into dev
2014-04-17 16:24:53 -03:00
David Capello
7989cd81bb
Avoid drawing text over widget borders in SkinTheme::drawTextString()
2014-04-17 16:24:04 -03:00
David Capello
330602a78c
ColorBar: change default FG/BG colors to white and black (RGB)
2014-04-17 16:22:46 -03:00
David Capello
e63831c87f
ColorBar: Show 8 columns by default
2014-04-17 16:22:21 -03:00
David Capello
50369242ee
Change the style of scroll bars in ColorBar
2014-04-17 16:21:52 -03:00
David Capello
f9612eb666
Merge branch 'dev' of git@github.com:aseprite/aseprite.git into gfx
2014-04-17 16:13:55 -03:00
David Capello
3dfc07b724
Remove ui::jwidget_set_border() function
2014-04-17 15:55:55 -03:00
David Capello
ff277dccf7
Add Widget::onSetColor()
2014-04-17 15:46:01 -03:00
David Capello
ed5a2d9570
Replace jwidget_noborders() with Widget::noBorderNoChildSpacing()
2014-04-17 15:44:33 -03:00
David Capello
c16ea3e8a2
Use Graphics object in ImageView::onPaint()
2014-04-17 15:27:45 -03:00
David Capello
6ca003feb0
Do not show empty tabs area in Tabs widget
2014-04-17 14:47:28 -03:00
David Capello
6ad54689dd
PaletteView: Apply jguiscale() to initial m_boxsize
2014-04-17 14:46:23 -03:00
David Capello
defc703208
Fix Splitter::onLoad/SaveLayout() to support jguiscale() changes
2014-04-17 14:44:21 -03:00
David Capello
ab53c81a75
Minor fix in Tabs when close button in each tab is enabled
...
Anyway the close button doesn't work at this moment.
2014-04-17 14:39:29 -03:00
David Capello
f04bca8553
Fix DropDownButton::m_button style (left-align text and expansive widget)
2014-04-17 14:38:48 -03:00
David Capello
3466d17d27
Drop down button in ColorBar switches (open/close) the PalettePopup
2014-04-17 14:38:21 -03:00
David Capello
9ee1da15db
Rename she::NotDisposableSurface to she::NonDisposableSurface
2014-04-17 14:23:43 -03:00
David Capello
6b53e46108
Do not fail if the default palette cannot be loaded
2014-04-17 13:48:33 -03:00
David Capello
a2753fd898
Add missing OVERRIDE modifier to OpenFileCommand member functions
2014-04-17 01:35:31 -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
283d883d37
Add SetPaletteCommand
2014-04-17 01:29:58 -03:00
David Capello
2b7bd3e831
Add base::concurrent_queue: a really simple concurrent queue
...
- Add base::scoped_unlock
2014-04-17 01:25:09 -03:00
David Capello
a8d39e588a
Add raster::Palette::addEntry() and load .gpl files using this addEntry
...
At the moment the program doesn't support palettes with less than 256
colors. But at the future the idea is to load the number of colors that
the palette says.
2014-04-17 01:20:46 -03:00
David Capello
50a10a9056
Add filename to raster::Palette (this will be useful to know the original location of a palette)
2014-04-17 01:19:22 -03:00
David Capello
811a530013
base::open_folder: add support to open a folder/directory
...
Before this we were capable to open/locate a file inside a folder.
2014-04-17 01:18:24 -03:00
David Capello
ad4e08c8f5
Fix issue 98: The mini editor blacks out part of the screen when viewing an animation
2014-04-13 22:57:59 -03:00
David Capello
17adf56337
Fix issue 356: tooltips cause selecting tools require 1 or more extra mouse clicks
...
This is an old bug in the ui::Manager. We don't need to "free" (release)
the mouse widget when we re-stack windows order (e.g. because the user
clicked the non top-most window).
2014-04-13 22:47:40 -03:00
David Capello
4e7a084ced
Remove unnecessary calls in TipWindow
2014-04-13 22:17:36 -03:00
David Capello
b00a187fba
Free the right widget in removeChild() (we've to free "child" instead of "this")
2014-04-13 22:17:00 -03:00
David Capello
39e6f2dbe6
Report Manager::setMouse() calls if REPORT_EVENTS is defined
2014-04-13 22:16:20 -03:00
David Capello
0274e13075
Improve REPORT_EVENTS in manager.cpp to show the Widget type (using typeid)
2014-04-13 21:33:09 -03:00
David Capello
c387d330e6
Make hot-region bigger for ToolStrip popup
2014-04-13 21:20:32 -03:00
David Capello
cd464f6694
Fix tooltip flicker on ToolBar
2014-04-13 21:20:06 -03:00
David Capello
31e1b4e387
Close all TipWindow automatically on click
2014-04-13 20:40:44 -03:00
David Capello
47c92fb755
Fix REPORT_EVENTS in manager.cpp
2014-04-13 20:39:59 -03:00
David Capello
c9bda7b329
Implement TipWindow in terms of PopupWindow
2014-04-13 19:35:15 -03:00
David Capello
312aca755e
Fix issue 333: Tool Selection Icons Flicker
...
- Add PopupWindow::ClickBehavior
2014-04-13 19:25:06 -03:00
David Capello
49844267a5
ToolBar: Now we can press-move-release mouse to select tools over different ToolStrips
2014-04-13 17:34:02 -03:00
David Capello
8dc869e1de
Move drawing code of PaletteView widget from kPaintMessage to onPaint()
2014-04-13 16:26:00 -03:00
David Capello
b41841ddd2
Move drawing code of EditorView from kPaintMessage to onPaint()
2014-04-13 15:08:24 -03:00
David Capello
a0e403b6a6
Move drawing code of FileList from kPaintMessage to onPaint()
2014-04-13 15:06:30 -03:00
David Capello
f964b020dd
Don't hide the MiniEditorWindow automatically if zoom is 1:1
...
As now the mini editor has an animation preview, it makes sense to
have the mini editor whatever the current editor zoom is.
2014-04-13 14:29:54 -03:00
David Capello
23292edf0c
Move drawing code of ToolBar from kPaintMessage to onPaint()
2014-04-13 14:16:29 -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
3313735936
app.cpp: Minor format change
2014-04-12 14:32:45 -03:00
David Capello
6aa4149dec
Fix .gpl loader to ignore extra properties in the file
2014-04-12 14:30:19 -03:00
David Capello
1ab782b85d
Fix base::trim_string() algorithm for empty input
2014-04-12 14:29:37 -03:00
David Capello
8ae3b3075d
Simplify ResourceFinder API
2014-04-12 13:35:55 -03:00
David Capello
852aba87f8
Minor change in src/CMakeLists.txt to see if a unit test needs she library
2014-04-12 12:29:55 -03:00
David Capello
71b7000c8a
Update links
2014-04-12 12:28:34 -03:00
David Capello
30af4e2620
Add trial-mode without save functionality
2014-04-10 00:33:28 -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
cb2c094212
Timeline: use mini font for frame numbers
2014-04-02 17:39:19 -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
875301cb82
TimeLine: disable the selected range when a sprite editor is clicked
...
With this we can avoid confusion in the execution of commands like
Clear, that depending on the enable/disable state of the timeline range
it affects the timeline (clearing the whole range) or the sprite editor
(clearing the selected area). So now, when a sprite editor is clicked
we disable the range in the timeline, it's a way to say "as you clicked
this editor, commands will affect the editor, if you click the timeline
again, commands will affect the timeline".
2014-03-30 01:43:33 -03:00
David Capello
896fb27fd5
Move copy/paste of clipboard text from "ui" to "she" library
2014-03-29 22:12:01 -03:00
David Capello
c1e26d0ac0
Fix image conversion from Indexed to Indexed mapping colors (related to issue #267 and #195 )
2014-03-29 21:31:27 -03:00
David Capello
6262366e91
Fix copy & paste from Indexed to RGB (use the clipboard palette)
2014-03-29 20:55:40 -03:00
David Capello
78ce233756
Fix header of files distributed under the terms of the MIT license
2014-03-29 20:08:05 -03:00
David Capello
f4b2b47a2c
Add #pragma once
2014-03-29 19:40:17 -03:00
David Capello
6ed35b733c
FileSelector: fix combobox behavior as now ComboBox::onChange() event is generated when the combobox is open
2014-03-29 18:42:17 -03:00
David Capello
7e593e92e1
FileSelector: move navigatin_locked as a member variable
2014-03-29 18:00:19 -03:00
David Capello
a2a4eaae91
FileSelector: fix auto-complete to avoid modifying letter case of user-typed text (issue #247 )
2014-03-29 17:26:07 -03:00
David Capello
e777729928
FileSelector: select the whole filename when an item is selected in the list
2014-03-29 17:21:13 -03:00
David Capello
7253fa59c5
Fix combobox widget: fire Change signal when the combobox is selected with the keyboard
2014-03-29 17:17:06 -03:00
David Capello
44d3e228fd
Add missing OVERRIDE modifier to Command::clone() overrides
...
It fixes some invalid clone() overrides without const modifier.
2014-03-29 17:08:40 -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
395be62b03
Fix issue #310 - crash on export sprite sheet
...
The timeline wasn't being added as a Document observer, so it wasn't
getting notifications about layers modifications. In this way the timeline
wasn't able to update its m_layers[] internal field and was accessing to
removed layers/invalid memory.
2014-03-29 16:31:39 -03:00
David Capello
f3bfae7ad5
Fix issue 353: don't show context bar when a new view is activated
...
Now we have three modes: normal mode (everything is visible), the first
intermediate mode (context bar+sprite editor+timeline), and advanced mode
(sprite editor only).
2014-03-21 23:29:01 -03:00
David Capello
0caf41c5fd
Fix compilation warning in cmd_remove_layer.cpp
2014-03-21 23:00:31 -03:00
David Capello
139ecb5604
Fix ReplaceInkProcessing for indexed mode when opacity=255
2014-03-21 22:52:54 -03:00
David Capello
b7ff1d990d
"Put alpha" ink behaves as default ink in indexed mode
2014-03-21 22:32:30 -03:00
David Capello
04f3c522ba
Replace jwidget_get_text_length/height with Widget::getTextWidth/Height
...
Renamed Widget::getTextSize to Widget::getTextLength as now getTextSize
returns a gfx::Size() (not the strlen() of the text)
2014-03-21 19:45:35 -03:00
David Capello
04a0845a62
SkinTheme: paint windows using styles
2014-03-21 00:28:01 -03:00
David Capello
5f4f1ff029
Add README.md to src/modules/
2014-03-20 07:31:34 -03:00
David Capello
1212906d5a
Move drop files event to she library
2014-03-20 07:31:19 -03:00
David Capello
be6b98995e
Add she::EventQueue to she::Display to get events from she library
2014-03-20 00:01:00 -03:00
David Capello
aa27c0d68a
Add dummy src/iff/ directory, this will be the module to load/save docs
2014-03-16 21:58:12 -03:00
David Capello
fabb58e0ea
Fix crash in "go to" commands, don't access to null layer
2014-03-16 21:56:18 -03:00
David Capello
c4605ad513
Enable "remove layer" command to remove all layers
...
We can remove all layers anyway from timeline selecting a range of layers.
2014-03-16 19:26:03 -03:00
David Capello
f0802ed766
Trace unknown scancodes in allegro/src/keyboard.c
2014-03-16 19:24:49 -03:00
David Capello
72036f417c
Minor change in Editor::drawMaskSafe
2014-03-12 20:40:49 -03:00
David Capello
eb7016bede
Fix crash in Editor::drawOneSpriteUnclippedRect() (issue 361)
...
We've to catch std::bad_alloc exceptions.
2014-03-12 19:35:26 -03:00
David Capello
2a70e750cd
Add a basic model layer (doc-lib)
2014-03-12 19:25:09 -03:00
David Capello
15f55c045c
wddlock.c: Don't use _al_wd_dirty_lines if it's null
...
Related to issue 359: Program exits unexpectently after minimizing
and maximizing too fast.
I should find the cause of _al_wd_dirty_lines = NULL, but I wasn't able
to reproduce this bug, so at the moment this is the best I can do to avoid
a crash. (I suppose that it's related to a temporary invalid state because
thread sync issues when the screen/window changes its size.)
2014-03-08 21:34:48 -03:00
David Capello
45f0166508
Fix issue 366: Crash (uncaught exception) on closing application
2014-03-08 21:15:48 -03:00
David Capello
30e26e2a3a
Select correct ink type in InkTypeField
2014-03-08 21:00:14 -03:00
David Capello
d780e90784
Fix issue 367: Put alpha drawing mode isn't working
2014-03-08 20:37:43 -03:00
David Capello
f107dd3cbc
Fix issue 352: Context Bar Eats Hotkey Input
...
Avoid capturing keyboard focus in context bar widgets.
2014-03-08 20:31:55 -03:00
David Capello
10ae3a9d28
Fix editor drawing code (issue 355, editor decorators weren't visible outside sprite bounds)
2014-03-03 00:09:14 -03:00
David Capello
1b86d613bf
Fix issue 360: Cannot save gif files
...
* SaveFile and SaveFileAs commands ask for removing read-only attribute
* Fixed base::open_file_descriptor_with_exception() to create new files
* Added internal base::Win32Exception
* Added unit tests for the creation of file descriptors
* Added base::delete_file, has_readonly_attr, remove_readonly_attr functions
2014-03-02 20:47:34 -03:00
David Capello
6cfcdc23e1
Fix bug in ColorPicker::pickColor() getting colors outside the image bounds
2014-03-02 20:07:11 -03:00
David Capello
77cd0e9cc6
Fix a bug with invalid m_ptr in image iterators when we merge down layers (fix issue 358)
...
The ImageIteratorT implementation was simplified to avoid invalid m_ptrs.
2014-03-02 17:02:03 -03:00
David Capello
316223cee9
Save [Options]/CheckedBgZoom as bool value
2014-03-01 18:53:00 -03:00
David Capello
1d7b51d8f9
Disable inks as they are confusing and shading mode is not done yet
2014-02-24 08:53:46 -03:00
David Capello
c558d664e8
Don't use C++11 enum class style yet
2014-02-24 08:31:02 -03:00
David Capello
d72a7a4dee
Fix compilations errors on gcc
2014-02-24 08:30:43 -03:00
David Capello
3b23184c15
Fix compilation error in ui/clipboard_none.h
2014-02-24 08:23:04 -03:00
David Capello
4b88e90dc6
Fix file_handle.cpp compilation error on Unix-like systems
2014-02-24 08:20:42 -03:00
David Capello
43b2be4f0d
Fix issue 347: Eyedropper tool changes in gui.xml (pick_fg ink) not working
2014-02-24 08:08:34 -03:00
David Capello
f2bdf38cc6
Fix bug loading/saving .gif files with Unicode file names
2014-02-17 21:43:20 -03:00
David Capello
2462767aac
Fix issue 337: Vertical flip and Horizontal flips functions affect more than selected area
2014-02-17 00:41:28 -03:00
David Capello
3b8926b7d1
Remove SnapBehavior::SnapInRightBottom which is confusing (fix issue 343)
2014-02-17 00:00:06 -03:00
David Capello
3cbf3e122f
Now you can press a mouse button in a ComboBoxEntry and drag the mouse to the ComboBoxListBox (issue 339)
2014-02-08 20:09:42 -03:00
David Capello
7251f4b70a
Now you can press a mouse button in a IntEntry and drag the mouse to the slider (issue 339)
2014-02-08 19:39:36 -03:00
David Capello
bb32f1fbf2
slider.cpp: Remove commented code
2014-02-08 19:26:13 -03:00
David Capello
7eb41c73e9
IntEntry: select all text when the value is changed with the slider
2014-02-08 18:58:28 -03:00
David Capello
721734d26c
Don't scroll Entry text if it isn't needed
2014-02-08 18:46:27 -03:00
David Capello
f954556683
Fix crash in Entry::getCaretFromMouse()
2014-02-08 18:31:15 -03:00
David Capello
cc08a054ad
Minor fix for timeline header of frames
2014-02-08 17:56:36 -03:00
David Capello
aa9eec2cfd
Fix issue 341: cannot scroll Timeline with space bar
2014-02-08 17:40:26 -03:00
David Capello
61c5b0dbb6
Move config.h to src/ directory
2014-02-08 00:56:20 -03:00
David Capello
51f70a170a
Move code to handle Windows clipboard (text) to ui/clipboard_win.h
2014-02-08 00:41:16 -03:00
David Capello
e082cd96f1
Make ScreenScale option configurable through UI
2014-02-08 00:19:20 -03:00
David Capello
cff08af639
Fix UISettingsImpl::setBgColor() so right click with eye-dropper set background color
2014-02-06 21:17:47 -03:00
David Capello
d9d761c596
Fix issue 338: Double Clicking Timeline While Holding Control Crashes the Program
2014-02-06 20:40:10 -03:00
David Capello
0480de4388
Add live preview to tiled mode
...
- Removed draw_emptyset_symbol() function
- Added DocumentSettingsObserver
- Moved Editor's painting code from onProcessMessage to onPaint
2014-02-06 20:22:52 -03:00
David Capello
9b2f5399e9
Add ui::Graphics::fillRegion()
2014-02-06 20:01:32 -03:00
David Capello
9050861d78
Add ui::Widget::getGraphics() and GraphicsPtr
2014-02-06 20:00:59 -03:00
David Capello
936b741f90
Stop propagation of keyboard messages if a child use it
...
This fix a new bug with the new EditorView's scroll-bars. As 1,2,3,4,5,6
keys change the zoom, they will change the viewport size, and scroll-bars
will be removed/added. We cannot continue iterating the View::m_children
collection after m_children is modified (scroll-bars are removed/added).
2014-02-03 00:22:24 -03:00
David Capello
d3c72bedf2
Fix issue 309: Program crashes immediately after setting ScreenScale to 1
...
Avoid double destroy_bitmap() call.
2014-02-03 00:09:42 -03:00
David Capello
97d1acc036
Fix issue 313: Canvas does not reflect the change of a layer order
2014-02-02 23:57:30 -03:00
David Capello
c3a03565fb
Fix issue 314 (crash): We were adding an image in the sprite's stock with a shared ImageBuffer
2014-02-02 23:10:09 -03:00
David Capello
858d7ff1b3
Add one assert more in ImageIteratorT() ctor
2014-02-02 23:07:54 -03:00
David Capello
20393c8aaa
Fix bug with empty ContextBar when Ctrl+W is used to close a sprite and then a new sprite is created
...
This happens because Ctrl key activates the Hand/Move quick-tool, so the
ContextBar is updated to shows controls for this tool (an empty context
bar at the moment). Then, as Ctrl+W is pressed, the document is closed,
(we lost the Editor), and we willn't receive a
ContextBar::onCurrentToolChange() event (which should be generated by
releasing Ctrl key).
2014-02-02 21:22:50 -03:00
David Capello
78e5ab356a
Don't show ContextBar when the program starts
2014-02-02 21:17:48 -03:00
David Capello
44c6a9d91a
Fix bug where ContextBar was completely hidden
2014-02-02 21:07:12 -03:00
David Capello
dd2839a49a
Add app::StartView (work-in-progress)
2014-02-02 20:55:32 -03:00
David Capello
0a01828ffe
Don't eat all keystrokes on ui::TextBox::onProcessMessage()
2014-02-02 20:13:52 -03:00
David Capello
ff166107ed
Don't show grid and mask in mini editor
2014-02-02 19:14:27 -03:00
David Capello
0d7f4498b9
Fix const-correctness for ColorPicker::pickColor() member function
2014-02-02 18:49:19 -03:00
David Capello
e671508d85
Change infinite scroll implementation
...
Remove necessity of jmouse_x(1) and jmouse_y(1) calls.
- Renamed jmouse_control_infinite_scroll() -> ui::control_infinite_scroll()
- Renamed jmouse_set_position() -> ui::set_mouse_position()
- Added ui::get_delta_outside_box()
2014-02-02 18:46:19 -03:00
David Capello
5eb516f0f5
Fix FileList navigation with keyboard (enter key focus the FileList again)
2014-01-30 20:05:05 -03:00
David Capello
c8c099864c
Added "Grab Alpha" option to eye dropper (issue 134)
2014-01-28 23:56:44 -03:00
David Capello
beda78e168
Don't use override modifier outside the class definition
2014-01-28 23:46:27 -03:00
David Capello
78fbf07fc7
Fix scroll bar thumb size calculation
2014-01-28 23:46:04 -03:00
David Capello
eee1719109
Implemented issue 260: Scroll-bars for sprite editor
2014-01-26 13:28:11 -03:00
David Capello
c2e50acb0b
Fix issue 298: Crash on quit with multiple viewports open
2014-01-26 11:22:23 -03:00
David Capello
5ccae8c0bb
Remove some labels from ContextBar, modify tooltips look, and use mini font
2014-01-26 08:40:16 -03:00
David Capello
4e6320b03c
Add setup_mini_font
2014-01-26 08:39:33 -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
2d7db879a3
ContextBar: Move m_freehandBox to the last position to improve context bar for selection tools
2014-01-25 16:37:38 -03:00
David Capello
1554875618
Add pixel-perfect drawing mode for freehand tools (issue 315)
...
* Added new app::tools::IntertwineAsPixelPerfect intertwiner
* Added app::tools::FreehandAlgorithm enum
* Added app::tools::WellKnownIntertwiners constants
2014-01-25 16:26:49 -03:00
David Capello
f19aae9232
Fix UISettingsImpl/UIPenSettingsImpl::removeObserver() functions
2014-01-25 16:13:44 -03:00
David Capello
ebc9fa55b1
MSVC: Add support for Windows XP platform
2014-01-05 22:37:53 -03:00
David Capello
5bbe6c6086
Fix compilations problems in g++ 4.2.1 (Mac OS X)
2014-01-05 16:43:39 -03:00
David Capello
2a2c668e4f
Fix operator+(StatefulStyle,States) operator
2014-01-05 16:34:05 -03:00
David Capello
7b5f58aff4
Fix gcc compilation error (using undefined PointT class)
2014-01-05 16:15:37 -03:00
David Capello
6bef259060
Fix gcc compilation error in resize_image_unittest (we cannot use C++11 enums yet)
2014-01-05 16:15:10 -03:00
David Capello
656a1bef2a
Disable ResizeImage BilinearInterpRGBType test
2014-01-05 16:13:53 -03:00
David Capello
6197054a3c
Add base::to/from_utf8 impl for Unix-like platforms
2014-01-05 15:33:09 -03:00
David Capello
0fa2842e40
Fix bug in fixup_image_transparent_colors(): reading pixels out of bounds
2013-12-29 21:19:32 -03:00
David Capello
f8e8657093
Move kPaintMessage code to onPaint() event for some widgets
...
The affected widgets are: ColorBar::ScrollableView, ColorButton, and
StatusBar.
* Added Graphics::drawLine()
* Moved rectgrid and draw_color to modules/gfx.cpp
2013-12-29 21:12:23 -03:00
David Capello
66f357098c
src/app/modules/gfx.cpp: Remove deprecated RectTracker stuff
2013-12-29 20:16:31 -03:00
David Capello
fe552f60de
Temporal fix for issue 299: Don't allow moving the selection from other editor than the current one
2013-12-29 19:53:28 -03:00
David Capello
fc58c24da2
allegro/src/keyboard.c: Avoid accessing out of range items in key/_key arrays
2013-12-29 19:52:21 -03:00
David Capello
ab42d38947
Merge pull request #11 from DocHoncho/issue-295-dev
...
Re-implement nearest-neighbor interpolation
2013-12-29 12:28:39 -08:00
David Capello
02597dcdec
Add RotSprite algorithm for PixelsMovement (issue 121)
...
* Added app::RotationAlgorithm enum.
* Added app::ISelectionSettings::get/setRotationAlgorithm.
* Added app::SelectionSettingsObserver::onSetRotationAlgorithm.
* Added raster::image_rotsprite() function.
* Added ContextBar::RotAlgorithmField class to select the rotation algorithm.
* Now the mask isn't updated constantly on PixelsMovement::moveImage8),
in this way when the user release the mouse button is when we recalculate
the mask (to get better performance when the user is scaling/rotating
the image).
2013-12-29 17:11:56 -03:00
Joel Madigan
9d281793c8
Re-implement nearest-neighbor interpolation
...
Fix for issue 295, there was, what amounts to an off by one error in the
original code, which was causing the problem in issue 295.
This error was probably not very noticable in larger images, but as
pointed out by the bug report smaller images may contain more distortion
than necessary.
Wasn't entirely sure how to correct the original code, so replaced it with
entirely new code.
Also added unit test for resize methods, however the bilinear test only
checks using RGB, and not the other ImageTrait types.
2013-12-25 20:31:02 -05:00
David Capello
12a46f5ca3
Fix PutAlpha ink processing
2013-12-23 00:10:19 -03:00
David Capello
02cb132aa3
Timeline: ask for moving state to check if the user is drag-and-dropping cels
2013-12-23 00:04:38 -03:00
David Capello
6695d15c88
Fix intertwiners problems
...
Pencil with selection ink wasn't working right. Points must be joined
from 0 to 1, from 1 to 2, etc. instead of 0 to 1, 2 to 3, etc.
2013-12-23 00:03:49 -03:00
David Capello
400a2c1993
Timeline: Add support to delete several cels at once
2013-12-22 18:52:25 -03:00
David Capello
ca7f6a055f
Avoid negative values for Timeline::m_separator_x (so the user can expand it again)
2013-12-22 16:35:44 -03:00
David Capello
076be1f22f
Timeline: fix problem setting the duration of a frame range
2013-12-22 16:30:04 -03:00
David Capello
b31f568488
Timeline: show frame/layer/cel properties with double-click
2013-12-22 16:22:57 -03:00
David Capello
7114b1b769
Timeline: add status bar text when we hover different elements
2013-12-22 12:51:15 -03:00
David Capello
d6533d8a3f
StandbyState::onUpdateStatusBar(): show frame duration
2013-12-22 12:28:07 -03:00
David Capello
c3e583f927
Fix some compilations problems in MinGW
...
Anyway without DirectX header files (ddraw.h specifically) we cannot
compile Allegro source code with MinGW.
2013-12-22 12:20:53 -03:00
David Capello
85523ba63a
Add ability to change the properties of several frames (a range of frames) at once
2013-12-22 12:19:03 -03:00
David Capello
9650e1df27
Timeline: Esc key deselect the selected range of frames/layers
2013-12-22 12:17:07 -03:00
David Capello
b4d9e3c9ca
Timeline: Add button and handles to configure onionskin range
2013-12-18 00:01:55 -03:00
David Capello
f467628407
Timeline: Redraw all document views when a layer visibility is modified
2013-12-15 21:14:24 -03:00
David Capello
eabb65be50
Timeline: Add support to move several layers
2013-12-15 21:07:42 -03:00
David Capello
cb11fb3458
Add support to remove several layers & frames at once
2013-12-15 20:21:31 -03:00
David Capello
ccb24cad35
Timeline: fix minor details in padding drawing code
2013-12-15 17:49:46 -03:00
David Capello
9e138c263f
Fix bugs using NULL as text in widgets constructors
2013-12-15 17:42:33 -03:00
David Capello
9aac8ad6d4
Timeline: fix scroll issues redrawing the whole widget
2013-12-15 17:30:19 -03:00
David Capello
792cbd9d35
Timeline: Add proper clip to frames header and cels area
2013-12-15 17:26:29 -03:00
David Capello
ad6f18c11c
Update the timeline after drawing in the sprite editor (after DrawingState)
2013-12-15 16:51:30 -03:00
David Capello
afc83ec09a
Do not reset scroll each time we click a sprite
2013-12-15 16:49:21 -03:00
David Capello
560270dbef
Timeline: clip and draw only necessary parts
2013-12-15 16:49:03 -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
d5dbf72fca
Fix license in some files of base library
2013-12-15 12:48:37 -03:00
David Capello
d96c5ff1e5
Minor changes (code format)
2013-12-15 12:37:30 -03:00
David Capello
7b09aefe6a
Fix bug mixing image buffers in ExpandCelCanvas for new cels
...
Bug introduced from commit 48864b440b
2013-12-15 10:31:25 -03:00
David Capello
bcab165700
Timeline: improve look & feel of range selections
2013-12-15 09:42:05 -03:00
David Capello
6b7625267d
Remove layers button from StatusBar widget
2013-12-11 19:35:03 -03:00
David Capello
1f0d1be396
Rename app::SelectionSettings to app::UISelectionSettingsImpl
...
The class UISelectionSettingsImpl is the implementation
of ISelectionSettingsImpl so it doesn't need to be available from
ui_settings_impl.h. Also we can use anonymous namespaces to put classes
that are used only inside ui_settings_impl.cpp.
2013-12-11 19:19:27 -03:00
David Capello
b5ea9fd7e7
Merge branch 'timeline' into dev
2013-12-11 01:41:48 -03:00
David Capello
773333e264
Timeline: Add multiple frames selection
2013-12-11 01:40:31 -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
Joel Madigan
3ce805f63d
Moved Transparent Color button to ContextBar
...
Implemented SelectionSettings class
Transparent Color button for moving pixels moved from status bar to
context bar. Current Transparent Color stored by new SelectionSettings
class, retrievable from ISettings.
Also implemented Observer classes for existing Settings interfaces for
future use.
StatusBarObserver interface and supporting code removed from StatusBar.
2013-12-10 12:44:00 -05:00
David Capello
11335fd5f3
Improve the generation of css::Query instances (see Sheet::query() member function)
2013-12-09 23:07:48 -03:00
David Capello
20fb1317a3
Fix bug in Graphics::drawStringAlgorithm() painting invalid background color
2013-12-09 22:58:07 -03:00
David Capello
40fd251c39
Add support for vertical text alignment in Graphics::drawStringAlgorithm()
2013-12-09 22:57:43 -03:00
David Capello
4218dd852d
Merge branch 'dev' into timeline
2013-12-08 20:39:01 -03:00
David Capello
f531f6d0d0
Simple implementation of issue #17 - Export animation to JSON/sprite sheet files
...
This is a good start point. From here we can add more formats and options
(XML, custom formats, templates, etc.), rotated sprites, trim, etc.)
2013-12-08 20:19:32 -03:00
David Capello
d77efb602e
Add DocumentApi::undoEnabled()
...
Now we can disable the undo information in DocumentApi() passing
a NULL undoers collection on its ctor.
2013-12-08 20:07:02 -03:00
David Capello
e0a28c1d46
Minor refactor in skin properties
...
- Add get_skin_property(ui::Widget*) function to avoid duplicating code
to create a SkinProperty.
- A SkinSliderProperty is not a SkinProperty: now it has its own name.
2013-12-05 01:19:46 -03:00
David Capello
8e81fb808d
Add css library
...
This is a base library that will be used by SkinTheme to draw parts
with CSS styles (or something similar).
2013-12-03 19:31:36 -03:00
David Capello
61d5693727
Merge branch 'dev' of git@github.com:dacap/aseprite.git into dev
2013-12-01 22:09:11 -03:00
David Capello
2eb84124d0
Merge pull request #10 from DocHoncho/int-entry-fix
...
Tweaked IntEntry behavior - Fix problem selecting the whole text each time a key is pressed and the mouse is over the IntEntry widget
2013-12-01 17:08:02 -08:00
Joel Madigan
838382791e
Tweaked IntEntry behavior
...
Changed behavior of IntEntry to stop it from continously selecting all
text as long as the mouse is over the input box. It appears that
something continues to send kMouseEnterMessage messages while use is
typing, even if the mouse is still. This caused the IntEntry select-all
multiple times and as the user typed would replace what they had already
written.
Also force value to be set within min >= value >= max when focus is lost.
This will get rid of bad values from the entry, such as 10q goes to 10,
40000 goes to 255, etc.
2013-11-30 18:36:22 -05:00
David Capello
3a2ef4644e
Move Manager::getDefault() to .h so it can be inlined
2013-11-30 20:02:45 -03:00
David Capello
8678e3b21b
Mac OS X fix: ALLEGRO_HAVE_STDINT_H is already defined in alplatf.h
2013-11-25 10:44:20 -03:00
David Capello
06e0e5c8b3
Add missing inline modifier for ImageImpl<>::clear() specializations
2013-11-25 10:42:38 -03:00
David Capello
83ba85ff09
Fix get_app_path() impl for Linux and Mac OS X
2013-11-25 10:42:08 -03:00
David Capello
866c770d89
Add missing typenames in ImageImpl
2013-11-25 10:22:29 -03:00
Joel Madigan
dabcad1807
Add string::c_str() to several functions.
...
There were a number of places where a std::string was being used in a function calls that expected a c string. These instances were trivally fixed by adding a call to string::c_str().
Note, I'm not sure if this is a GCC specific issue, however even if it is a case of MSVC simply letting these usages slide it can't hurt to be explicit.
2013-11-24 01:35:55 -05:00
David Capello
86dab97cac
Fix for GCC in string.h
2013-11-23 19:01:28 -03:00
David Capello
033aad9d28
Fix Unicode characters encoding (we've to use utf-8) in Color::toHumanReadableString() and BrushAngleField()
2013-11-23 18:01:42 -03:00
David Capello
ad0b28bd63
Change Window() ctor to avoid ambiguity (DesktopWindow, WithoutTitleBar, or WithTitleBar)
...
In this way we know at the moment of the creation of the window if it
will need the close button.
Issue #280 .
https://github.com/aseprite/aseprite/pull/6
2013-11-23 17:47:57 -03:00
David Capello
7dc8e548be
Fix issue #280 - Close button doesn't appear in some windows
...
Thanks to @DocHoncho for the help.
See https://github.com/aseprite/aseprite/pull/6
2013-11-23 17:25:21 -03:00
David Capello
a1f3e290c2
Fix Timeline::updateUsingEditor() as it can be called with editor=NULL
...
In fact, now it's called with NULL when the program starts
(see commit 517d368f93
).
2013-11-23 17:09:31 -03:00
David Capello
88d8235e86
Merge branch 'dev' of git@github.com:dacap/aseprite.git into dev
2013-11-21 00:28:16 -03:00
David Capello
517d368f93
Merge pull request #5 from DocHoncho/fix-285
...
Fix for issue 285
2013-11-20 19:26:27 -08:00
Joel Madigan
a13603a0aa
Added call to UIContext::setActiveView(NULL) to force window title to have proper default value
2013-11-20 00:12:18 -05:00
Joel Madigan
422f1135d3
Fix for issue 284, assertion error was being triggered by passing an int to a function expecting type Item*. Looks like it was an oversight in commit b45dcf7
when the dialog was modified to use ui::ListItem
2013-11-19 23:32:11 -05:00
Joel Madigan
85503ec691
Fix for issue 279
2013-11-18 20:23:39 -03:00
David Capello
49cf2bdcf0
Fix issue #277 , LoadPalette command can change the default palette
2013-11-15 17:01:28 -03:00
David Capello
ddf4a13490
Add the Palette menu with Load/Save commands
2013-11-15 16:56:50 -03:00
David Capello
f59f6f7d5e
Fix bug creating bitmaps with width < 0 in draw_color() function
2013-11-15 15:46:54 -03:00
David Capello
055907d008
Remove thumbnails generation code
...
At the moment we'll keep the timeline simple (without thumbnails).
2013-11-10 23:11:59 -03:00
David Capello
d39feb063c
Add SKIN_PART_NESW(name) macro in skin_parts.h
2013-11-10 23:06:00 -03:00
David Capello
5141079c5f
Keep timeline in sync with current editor and after commands are executed
2013-11-10 22:59:25 -03:00
David Capello
28fe226236
Fix bug: Notify Context's observers in Context::onAdd/RemoveDocument
2013-11-10 20:36:15 -03:00
David Capello
c9ab56cf69
Timeline: we've to observe the Context to know if the Document is destroyed
...
In this way the timeline can stop observing the Document when it's closed.
2013-11-10 20:29:51 -03:00
David Capello
d8fd4736d4
Timeline: smaller row size
2013-11-10 20:16:09 -03:00
David Capello
c681edbc38
Fix Mask::byColor()
...
Bug introduced in commit e5ba8e0922
2013-11-10 18:42:34 -03:00
David Capello
2173da9fcd
Move src/app/dialogs/maskcol.cpp to src/app/commands/cmd_mask_by_color.cpp
...
Finally src/app/dialogs directory is gone.
2013-11-10 18:34:52 -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
e6450877bb
Minor change: Make Splitter::getPosition() inlined
2013-11-10 18:02:20 -03:00
David Capello
60602f78a8
Show an error if we cannot create a ToolLoopImpl
...
The main issue at the moment is that a std::bad_alloc exception can be
thrown if there isn't enough memory available when the user click the
sprite editor to start drawing.
2013-11-10 16:20:20 -03:00
David Capello
efbb3e52e2
Fix bug where dirty bounds are out of the image bounds
2013-11-10 16:09:46 -03:00
David Capello
13946b310c
Improve creation of Dirty() instance (fix issue #239 )
...
Now Dirty() ctor receives the bounds, so we don't need to iterate over
the whole image to find/shrink the modified region.
2013-11-10 15:54:36 -03:00
David Capello
5b8d000171
Improve put/get_pixel_fast() functions to avoid virtual function call
2013-11-10 14:49:06 -03:00
David Capello
48864b440b
Add ImageBuffer class
...
It tries to mitigate issue #239 , but it's not a full fix yet. A good
possibility would be to change the internal structure of images, creating
tiles. So we don't need to allocate/copy/clear/etc. huge images in each
step.
2013-11-10 13:26:48 -03:00
David Capello
5db38c4a87
Specialize ImageImpl::clear for Indexed and Bitmap images
2013-11-10 13:20:28 -03:00
David Capello
38c64d5460
Avoid calling Image::getPixelAddress() (virtual function) in several ImageImpl functions
2013-11-10 13:19:49 -03:00
David Capello
01d79ddf9b
Merge branch 'dev' of git@github.com:dacap/aseprite.git into dev
2013-11-09 20:00:16 -03:00
David Capello
e5ba8e0922
Encapsulate Image implementation (private members, accessors, iterators, etc.)
...
- 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
2013-11-09 19:59:05 -03:00
David Capello
dbf4d0d490
Replace JRect/jrect struct with gfx::Rect
...
- Replaced Widget::rc -> Widget::m_bounds private member.
- Added Widget::offsetWidgets() method.
- Removed View::displaceWidgets().
2013-10-26 12:50:55 -03:00
David Capello
7657461162
Merge branch 'dev' of git@github.com:dacap/aseprite.git into dev
2013-10-14 20:06:00 -03:00
David Capello
5b252c30f5
Add support for Unicode file names on Windows
...
- Fixed issue #46 : open .png files with Unicode chars
- Fixed issue #150 : ability to uncompress program in folders w/Unicode chars
- Added base::utf8_iterator
- Added base::FileHandle
- Added base::get_app_path()
- Modified ui::KeyMessage::ascii() -> unicodeChar()
- Removed JI_NOTEXT flag
- Added app::XmlDocumentRef class and app::open_xml() function
- Added support for Unicode text exchange with Win32 clipboard
2013-10-14 19:58:11 -03:00
David Capello
092ae7b2d6
Fix warning: Remove AL_CONST modifier from free_config_entries() function
2013-09-30 19:57:49 -03:00
David Capello
251e651cbd
Fix ui::Manager::pumpQueue() error when compiling in debug mode
2013-09-28 17:13:17 -03:00
David Capello
5d0c25b0da
Modify base::convert_to() undefined implementation
...
GCC shows divide-by-zero warnings, so it is better in this way.
2013-09-21 20:40:54 -03:00
David Capello
d91b05667b
Fix compilation errors detected with gcc
2013-08-20 00:51:37 -03:00
David Capello
cde54f3682
Change BSD license to MIT in sublibraries and fix headers
2013-08-08 21:01:20 -03:00
David Capello
a06faeddac
Change README.md to see dependencies between (...)
2013-08-05 22:58:07 -03:00
David Capello
3afd20f6ac
Update src/README.md
2013-08-05 22:40:48 -03:00
David Capello
9eebfc5812
Remove dependency of "undo" library with "base"
2013-08-05 22:11:54 -03:00
David Capello
c88f9b172b
Refactor: Move app files to src/app subdirectory inside app namespace
...
- 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
2013-08-05 21:20:19 -03:00
David Capello
5bd57061c6
Merge branch 'dev' of git@github.com:dacap/aseprite.git into dev
2013-07-28 21:17:54 -03:00
David Capello
1614786408
Convert ui::Message union to a class hierarchy
...
+ Add ui::KeyScancode enum and ui::KeyModifiers flags.
+ Add ui::MouseButtons enum.
2013-07-28 21:17:07 -03:00