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 8c902dd8fc7298bac78150eb2c04e440cb8dca6b.
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
David Capello
f8dabfa294
Use portable memcpy instead of memcpy_s
2021-10-04 18:07:20 -03:00
lampysprites
2628afdfce
Remove unneeded Sprite.__gc
2021-10-04 23:15:55 +07:00
lampysprites
bf53fa26cd
Make onChange callbacks more predictable
2021-10-04 12:17:25 +07:00
lampysprites
a90853f765
Extend WebSocket API
2021-10-03 12:52:37 +07:00
lampysprites
4354be1d7a
Add CMake option to disable websockets
2021-10-03 12:40:29 +07:00
lampysprites
711741a358
Remove unneeded lua stack pops
2021-10-03 02:22:15 +07:00
lampysprites
28595a410d
Clean up sprite observers on lua GC
2021-10-02 22:10:25 +07:00
lampysprites
83c03a3158
Expose site observer to lua API
2021-10-02 20:09:35 +07:00
lampysprites
2aa3fdbd95
Execute websocket callbacks in the ui thread
2021-10-02 18:34:17 +07:00
lampysprites
22e3e6244a
Simplify user API for Sprite observers
2021-10-02 16:22:31 +07:00
lampysprites
f8ef06a86e
Lua API Image:bytes - convert lua Image to data string and back
2021-10-02 14:40:28 +07:00
lampysprites
b0f10ee276
Add Websocket client API
2021-10-02 13:57:51 +07:00
David Capello
33595c8bbb
Merge branch 'plugin-onenabled'
2021-09-30 15:02:14 -03:00
David Capello
b5d230d52f
Increment Lua API version
2021-09-30 15:01:57 -03:00
David Capello
1e92f66ff2
Remove trailing whitespace
2021-09-30 14:22:21 -03:00
David Capello
89904afa82
Simplify app::Job implementation
...
* Remove pointers to base::thread/mutex
* Use std::thread/mutex as values
2021-09-30 14:09:39 -03:00