Commit Graph

6553 Commits

Author SHA1 Message Date
David Capello d6339f163b Don't make SkinTheme surfaces slices immutable as we re-use them
Each time we refresh the default theme we re-use all slices/surfaces
of the SkinTheme. This could be completely avoided if we were able to
create sub-surfaces from the original sprite sheet (sharing the same
pixels).
2021-11-18 13:37:34 -03:00
David Capello f93b33f248 Migrate to Skia m96 API 2021-11-17 12:36:11 -03:00
David Capello a713a88845 [x11] Fix initial black window on Linux
Possible regression introduced in f15589734f
2021-11-17 11:32:15 -03:00
David Capello bed6a8d8b1 [lua] Increment API version 2021-11-16 09:08:39 -03:00
David Capello c78af5241b Merge branch 'lua-filename-event' 2021-11-16 09:08:17 -03:00
David Capello c13c521af2 Minor change in style 2021-11-16 09:07:50 -03:00
David Capello 8deb9c46e7 [lua] Fix clipping when drawing an image on a cel image (fix #3054) 2021-11-15 15:53:14 -03:00
Joshua Ogunyinka 12e61d33be [lua] Fix layer iteration when some layer name contains just a number (fix #3045) 2021-11-12 08:13:43 -03:00
lampysprites 67a9c2fe0d [lua] Add "filenamechange" event to Sprite.events 2021-11-11 20:18:44 +07:00
David Capello a0bea17bc0 Avoid continuous redrawing events when moving mouse on Edit > Preferences listbox of sections 2021-11-05 12:41:53 -03:00
David Capello ca252f9f02 Fix creating two ImageView if we specify "file" and "icon" for <image> widget 2021-11-05 12:15:24 -03:00
David Capello 43ca34bd35 Refactor updater::getUserAgent() using new base::get_platform() 2021-11-02 14:18:14 -03:00
David Capello 7cc9ea08ba Use https to get news items and check the latest version 2021-10-25 18:28:40 -03:00
David Capello 6c0842eaa5 Update copyright year in ver/info.c 2021-10-25 18:28:16 -03:00
David Capello 91e8e5cd46 Support scrolling the debugger source code viewport w/the mouse wheel 2021-10-25 17:40:47 -03:00
David Capello 534163ae5f Fix painting issues in the debugger filling the line number column correctly 2021-10-25 17:40:12 -03:00
Martín Capello c5fccb1499 Add a check to allow exit command execution only when the main window is the currently running 2021-10-20 11:35:54 -03:00
Gaspar Capello f15589734f Fix double-clicking a .aseprite file in macOS Finder doesn't open the file anymore (fix #2985)
More info in: #3006
2021-10-20 11:05:24 -03:00
David Capello ea703a38e6 [lua] Add "fgcolorchange" and "bgcolorchange" events to app 2021-10-19 15:18:13 -03:00
David Capello 4dcdcfe387 Fix deadlock destroying SpriteEvents disconnecting observers onCloseDocument
Instead of using an onDestroy(Document), which can be called from the
ClosedDocs background thread, we can disconnect all Doc observers on a
new onCloseDocument() event called from Doc::close() (from the UI
thread).

This deadlock issue was commented here:
https://github.com/aseprite/aseprite/pull/3009#issue-1029413592
2021-10-19 13:01:37 -03:00
David Capello 246b1930f4 Revert "Avoid deadlock of ClosedDocs and SpriteObserver"
This reverts commit 8c902dd8fc.
2021-10-19 11:56:36 -03:00
David Capello 5d04eb5a2e [lua] Match WebSocketMessageType constants with the style of all other constants 2021-10-19 11:15:00 -03:00
David Capello 5c30315611 Avoid std::bad_function_call if we don't specify an onreceive callback for the WebSocket 2021-10-19 11:12:15 -03:00
David Capello c2f24656d7 Don't create a ui::Timer if the UI is not available 2021-10-19 11:11:57 -03:00
David Capello 651fa4a3b6 Stop the auxiliar ui::Timer when the last WebSocket is GC'd 2021-10-19 10:57:25 -03:00
David Capello b29627c8cb Minor formatting change 2021-10-19 10:50:18 -03:00
lampysprites 6075285b5c Refactor the websocket timer 2021-10-19 12:23:12 +07:00
lampysprites 8c902dd8fc Avoid deadlock of ClosedDocs and SpriteObserver 2021-10-18 23:43:50 +07:00
lampysprites 1f9c2e8987 Handle socket messages when window is out of focus 2021-10-18 23:40:49 +07:00
lampysprites 93fb40ad7d Expose min/max time between websocket reconnects 2021-10-18 23:38:45 +07:00
Martín Capello d1e02cc3c1 Add listitem support to the ui class generation tool 2021-10-15 10:44:30 -03:00
Martín Capello e9e515c03f Add slider's "readonly" attribute support to widget_loader 2021-10-14 15:28:07 -03:00
David Capello 6dd128d637 Add main_area in debugger window to show only the buttons initially 2021-10-13 10:35:55 -03:00
David Capello 212e9fbe6c New initial Lua debugger version (#1967)
Incomplete version of the Lua debugger.
Some available features:

* Break in next executed instruction
* Step in, over, out
* See & navigate stacktrace
* See local variables

Some missing features:

* Breakpoints
* Eval user expressions with local variables

The UX needs some improvement yet.
2021-10-12 16:52:14 -03:00
David Capello 3de3ef5635 Minor change in widget_loader.cpp 2021-10-12 15:32:02 -03:00
David Capello 0b1ae09a63 Avoid exception using <textbox /> on .xml widget files
The exception was thrown using std::string(nullptr) constructor.
2021-10-12 15:30:16 -03:00
David Capello 9dbbcbd7ef Fix Theme::drawTextBox() to calculate the correct textbox size
If we are only calculating the textbox size (Graphics* g=nullptr) we
don't need to use the View scroll information anyway.
2021-10-12 15:28:57 -03:00
David Capello 161264a78d Merge branch 'script-api-layer-is-reference' 2021-10-08 11:47:54 -03:00
David Capello 318d5ed6a0 Avoid removing random values from the Lua registry using Events:off()
Fix proposed in:
https://github.com/aseprite/aseprite/pull/2980#issuecomment-938495522
2021-10-08 11:09:47 -03:00
David Capello 2ddbbf00d6 Fix FileAccessMode::Full security value to include OpenSocket
Commented in:
https://github.com/aseprite/aseprite/pull/2980#issuecomment-938495522
2021-10-08 11:05:16 -03:00
David Capello b9130b83f4 Merge branch 'interprocessing' 2021-10-07 19:38:23 -03:00
David Capello 6e84bb5443 [lua] Ask for permission to open a WebSocket from scripts 2021-10-07 19:37:10 -03:00
David Capello b9241e6d91 Refactor ask_access() with ResourceType argument 2021-10-07 19:34:40 -03:00
David Capello 4cd137a639 [lua] Add Image.rowStride property now that Image.bytes is available
We need to know the specific rowStride to be able to set a proper
Image.bytes (bytes size = Image.height * Image.rowStride).
2021-10-07 19:10:27 -03:00
David Capello cd342f5630 [lua] Add events handling with Sprite.events & App.events
Added a new Events object with :on() and :off() methods to start or
stop listening to a specific event respectively. This also allows to
add several callbacks for the same event.

Replaced the temporal Site.onChange & Sprite.onChange implementations.

Related to several issues (enable more possibilities for): #138, #1403, #1949, #2965, #2980
2021-10-07 18:56:39 -03:00
David Capello 0249275f8c [lua] Change MessageType to WebSocketMessageType
Just in case to avoid collision or confusion with some kind of future
MessageType (e.g. ui::MessageType). There are no plans for this, but
we prefer to use WebSocket* prefix.
2021-10-06 19:33:09 -03:00
David Capello 327b38a05d Wrap MESSAGE_TYPE_BINARY with parenthesis (...) 2021-10-06 19:29:19 -03:00
David Capello 0ca411690b Remove trailing whitespaces 2021-10-06 19:17:10 -03:00
David Capello c117b1b01f Simplify Image_set_bytes(): as bytes_size == bytes_needed we don't need to call std::min() 2021-10-06 19:16:51 -03:00
Jeremy Behreandt e0a747cad7 Expose Layer Is Reference
Exposes a getter for layer is reference in the Lua scripting API.
2021-10-06 14:04:54 -05:00