Commit Graph

1007 Commits

Author SHA1 Message Date
Adam
4fca052475 library: fix memory leak issues with plugin_free 2024-10-31 22:36:30 +00:00
Adam
732c3278a9 library: loadfile, loadconfig, saveconfig APIs 2024-10-31 19:04:02 +00:00
Adam
7408a45db5 client: add config path to StartPlugin 2024-10-31 19:03:31 +00:00
Adam
abe8650c5c library: add config path to StartPlugin IPC 2024-10-31 19:03:02 +00:00
Adam
ec2ebf29b6 window_launcher: fix UI closing on login 2024-10-31 17:15:06 +00:00
Adam
d64a1b63be cmake: fix libcef never being installed 2024-10-31 17:14:08 +00:00
Adam
6334e900dc readme: document all optional build settings 2024-10-31 00:46:03 +00:00
Adam
080d36391e cmake: add various configuration options 2024-10-31 00:45:24 +00:00
Adam
ddfcb00ba6 main: add resource path settings 2024-10-31 00:45:10 +00:00
Adam
83dfa28667 main: always delete CefCache before starting CEF
It seems CEF can't be trusted to store valid cache between shutdowns or
system updates, which leads to infrequent reports of SKIA shader
compilation errors, the only fix for which is to delete CefCache or
GPUCache. If that's the case, I won't let it store anything at all. This
doesn't appear to affect startup time.
2024-10-30 15:51:29 +00:00
Adam
f375d3ab4e library: various build errors... 2024-10-27 19:30:35 +00:00
Adam
da881776b7 library: generalise handle_mouse_event
This was long overdue, there were two almost-identical copies of the
same function in so/main.c and dll/main.c but with the latter growing
more and more outdated.
2024-10-27 19:20:15 +00:00
Adam
b527c10a72 library: new capture-id when remapping on windows
Using a completely different object name appears to be the only way to
stop the render process from getting an error on MapViewOfFile
sometimes. This is at least the third time I've thought I've fixed this
bug, so it'll probably happen again...
2024-10-27 18:22:18 +00:00
Adam
71ce193596 library: BoltSHM map_length is unused on windows 2024-10-27 18:02:33 +00:00
Adam
0c0e3fe36c library: fix shm_resize windows bug
It was passing NULL for the name even though outbound SHM objects are
supposed to be named
2024-10-27 17:49:49 +00:00
Adam
eeca7d84e3 app: use OpenFileMappingW on windows 2024-10-27 17:48:53 +00:00
Adam
2e05c66d75 browser: always send CAPTUREDONE when appropriate
Fixes at least one case where a capture would not be handled and a
CAPTUREDONE message would not be sent, leading to a lock-up.
2024-10-27 16:01:09 +00:00
Adam
639349ad24 library: fix snwprintf usage on windows
Seemed to be working correctly somehow but with a few compiler warnings.
The format-string needs to be wide, and a narrow-string as a paramater
needs to be passed using %hs rather than %s.
2024-10-27 15:58:42 +00:00
Adam
953dd32893 library: unlink outbound shm objects 2024-10-27 14:29:15 +00:00
Adam
04cdb54a1d browser: request handler doesn't need runtime_dir 2024-10-27 14:09:59 +00:00
Adam
56b7f69bc8 library: windows shm mapping names aren't paths 2024-10-27 14:09:03 +00:00
Adam
5b0d33c516 Merge pull request #80 from Adamcake/screen-capture-api
Screen capture api
2024-10-26 23:17:28 +01:00
Adam
316b35024c readme: note known compiler version requirements 2024-10-26 22:58:24 +01:00
Adam
6bd012221f Merge branch 'master' into screen-capture-api 2024-10-26 22:54:57 +01:00
Adam
1d9b3fcce8 github: build on ubuntu-24.04 2024-10-26 22:53:06 +01:00
Adam
066c2ae31e app: windows build error 2024-10-26 22:33:23 +01:00
Adam
1735ec872b library: windows build error 2024-10-26 22:28:00 +01:00
Adam
1eec08d20e library: make new windows remap shm 2024-10-26 22:07:14 +01:00
Adam
13f0a0247a browser: handle shm capture messages 2024-10-26 22:00:54 +01:00
Adam
5537aa2231 library: capture to SHM as appropriate 2024-10-26 22:00:11 +01:00
Adam
cedbbb516e library: add messaging for capture APIs 2024-10-26 21:59:47 +01:00
Adam
e053f4e651 library: clarify doc comment for enablecapture 2024-10-26 19:14:32 +01:00
Adam
eb55aca783 library: add screen-capture functionality with shm 2024-10-26 14:41:20 +01:00
Adam
93c0e335aa library: buffer drawtoscreen calls with an overlay
There are three main benefits to this.

1. SwapBuffers event will now be fired after input events for each
   frame, instead of before. The control flow previously was confusing,
   incorrect, and undocumented.
2. Screen capture APIs (planned feature) will no longer capture things
   rendered by the plugin itself - nor, for that matter, by others.
3. Plugins can now call drawtoscreen APIs at any time, not necessarily
   in a SwapBuffers callback, since the draw will be buffered anyway.
2024-10-24 17:02:51 +01:00
Adam
5c9a7d3df6 window_plugin: cancel-reposition API 2024-10-24 16:26:22 +01:00
Adam
faacac811f library: window cancelreposition API 2024-10-24 16:25:58 +01:00
Adam
eb1c10c2a7 repo: remove unused lodepng module 2024-10-24 15:37:09 +01:00
Adam
632de86d71 browser: fix msvc build probably 2024-10-21 23:16:24 +01:00
Adam
4224132dd4 browser: lock IPC sends
Instead of heap-allocating and sending all the data in one chunk, do
multiple sends with a mutex preventing any interleaving. Potentially
slightly faster, and fixes a plethora of bugs.
2024-10-21 22:38:20 +01:00
Adam
a9aa588b1f library: support all anti-aliasing modes
Previously only supported MSAA, and even that level of support was hacky
and poorly-researched. This commit adds support for, and notes about,
all known rendering pipelines for OpenGL.
2024-10-21 21:12:50 +01:00
Adam
9113031993 browser: less buggy close handling 2024-10-20 23:05:28 +01:00
Adam
1d0b7231ca osr: don't force-close 2024-10-20 22:45:18 +01:00
Adam
1a56b3fd98 app: use & document /close endpoint
Workaround for CEF bug, see 260a0fe
2024-10-20 22:28:22 +01:00
Adam
885aee6012 window_launcher: /close API 2024-10-20 22:27:42 +01:00
Adam
8a3cb21cad library: rework plugin.c with macros for IPC read 2024-10-19 02:02:25 +01:00
Adam
d8cd16d710 browser: add plugin close-request API 2024-10-18 23:21:29 +01:00
Adam
0da03508cb library: add missing closerequest APIs 2024-10-18 23:18:01 +01:00
Adam
260a0fe202 app: delete window.close()
window.close() is completely broken in CEF, it destroys the browser and
calls OnBeforeClose before calling CanClose, which generally leads to
segmentation faults no matter how you handle it. So don't use it. Close
via the Bolt API instead.
2024-10-18 21:08:30 +01:00
Adam
8e5ea8dae4 browser: remove leftover from DoClose model 2024-10-18 21:00:40 +01:00
Adam
3688f2d9c1 Merge pull request #75 from Jacoby6000/fix-workflow-perms
Fix workflow permissions and enable windows releases
2024-10-17 02:11:54 +01:00