Takase and Guldoman
84c7bb9de6
Asynchronous process reaping ( #1412 )
...
* refactor(process): introduce process_stream_handle separate from process_handle
* feat(process): introduce process_handle helper functions
* feat(process): add asynchronous process reaping
* feat(process): wait for shorter period if possible
* style(process): remove unecessary brackets
* style(process): fix parentheses
* refactor(process): remove useless setvbuf call
* style(process): remove unecessary value
* refactor(process): add size field into kill_list
* refactor(process): use SDL_Delay for sleeping
* style(process): remove trailing whitespace
* fix(main): destroy window before closing lua
* fix(process): check for timeout correctly
* refactor(process): remove unecessary if check
* refactor(process): remove size from the list
* fix(process): fix invalid delay calculation
Co-authored-by: Guldoman <giulio.lettieri@gmail.com >
---------
Co-authored-by: Guldoman <giulio.lettieri@gmail.com >
2023-08-19 12:38:49 +08:00
Guldoman and takase1121
89864ee88c
Aggregate SDL_Surfaces and their scale in RenSurface ( #1429 )
2023-08-19 12:38:49 +08:00
Guldoman and takase1121
a61531dbf0
Use clipping functions provided by SDL ( #1426 )
2023-08-19 12:38:35 +08:00
Guldoman and takase1121
1d0725f904
Improve text width calculation precision ( #1408 )
...
In some extreme cases (~30000 chars) text width precision takes a hit.
Using double instead of float fixes that.
2023-08-19 12:38:35 +08:00
Takase
32860c111e
refactor(main): move SetProcessDPIAware to manifests ( #1413 )
2023-08-19 12:38:35 +08:00
Guldoman and takase1121
8c47fad637
Split Command struct into different structs for each command type ( #1407 )
...
This reduces the space needed for each command.
2023-08-19 12:38:34 +08:00
Takase
f685293417
Add manifest on Windows ( #1405 )
...
* fix(gitignore): add exclusion for manifest files
* feat(windows): add application manifest
* feat(build): use application manifest on windows
* refactor(build): use genrate_file to generate the manifest
* style(manifest): remove trailing whitespace
2023-08-19 12:38:34 +08:00
Takase
b95fdfcf5f
fix: exec() error not returned to parent ( #1363 )
...
* fix: exec() error not returned to parent
* chore: remove accidental lua.h inclusion
2023-08-19 12:37:20 +08:00
Jan and takase1121
a951c3cd39
pass RenWindow by argument ( #1321 )
...
* pass RenWindow to all renderer functions that need it
* pass RenWindow to all rencache functions that need it
2023-08-19 12:30:41 +08:00
Guldoman and takase1121
bddb5e274d
Avoid drawing hidden text in DocView:draw_line_text ( #1298 )
...
* Stop drawing text past the `DocView` edge in `DocView:draw_line_text`
* Don't add draw commands if they fall outside the latest clip
The check was previously done with the window rect, so this will reduce
a bit more the number of commands sent.
2023-08-19 12:28:48 +08:00
Adam Harrison and takase1121
4c18cf6744
Updated dummy method signature to match prototypes.
2023-08-19 12:28:48 +08:00
Guldoman and takase1121
a9d8f12cb7
Make empty groups in regex.gmatch return their offset ( #1325 )
...
This makes `regex.gmatch` behave like `string.gmatch`.
2023-08-19 12:28:47 +08:00
adityaraj and takase1121
ae218bc005
Create Renderer Only When It Doesn't Exist ( #1315 )
2023-08-19 12:28:21 +08:00
Jan and takase1121
c8afe3d1bf
replace uses of SDL_Window with RenWindow ( #1319 )
...
Since Renwindow contains our instance of SDL_Window we can use this
to simplify future logic to create separate window instances
2023-08-19 12:28:21 +08:00
Jan and takase1121
f5a224999a
defer lua error until after cleanup ( #1310 )
2023-08-19 12:28:20 +08:00
Julien Voisin and takase1121
1ab320bb9b
Handle readlink errors ( #1292 )
2023-08-19 12:28:19 +08:00
Julien Voisin and takase1121
d86413cc30
Don't set a value twice ( #1306 )
2023-08-19 12:28:19 +08:00
Julien Voisin and takase1121
d06c9f401c
Fix a memory leak ( #1305 )
...
`font` was not freed upon error.
2023-08-19 12:28:19 +08:00
Julien Voisin and takase1121
d755fa6fba
Make api_require's nodes const ( #1296 )
2023-08-19 12:28:18 +08:00
Takase
69ce580970
do not allow users to create an empty font group ( #1303 )
2023-08-19 12:28:18 +08:00
Guldoman and takase1121
bd4e64cc7e
Allow command buffer to be expanded ( #1297 )
2023-08-19 12:28:18 +08:00
jgmdev
79908baed6
regex: properly call pcre2_jit_compile
2022-12-28 19:40:20 -04:00
Quinten Kock and GitHub
3fda8c0a09
Fix userdata APIs for Lua 5.4 in native plugin interface ( #1188 )
...
* Reintroduce some missing Lua API's from native plugin API
* Add new upvalue functions to header
* Fix things that are actually macros in current lua
* Introduce lua_insert,replace,remove macros from lua5.4
2022-12-27 23:39:28 -05:00
Jefferson González and GitHub
141d00795c
dirmonitor: use pipes on fsevents ( #1274 )
...
As suggested by Guldoman this change introduces the usage
of pipes to allow blocking the get changes call until any
file system changes are received, which now properly reduces
the cpu usage on idle to 0%.
This change better fixes #1237
2022-12-27 23:07:12 -04:00
Jefferson González and GitHub
5fa7dabd34
dirmonitor: fix high cpu usage, fixes #1237 ( #1271 )
2022-12-27 18:23:39 -05:00
Guldoman and GitHub
c29b1c2cb9
Use Lua string length instead of relying on strlen ( #1262 )
...
This allows us to render `NULL` byte sequences and not truncate strings
that contain them.
2022-12-26 13:49:07 -04:00
jgmdev
0ab7fe9311
core regex: use backward compatible lua_newuserdata
2022-12-21 00:54:12 -04:00
Guldoman and GitHub
24179bbb23
Merge pull request #1245 from Jan200101/PR/touch-event
...
add touch events
2022-12-21 00:13:52 +01:00
Jan and GitHub
b584f1fe35
Simplify SDL message boxes ( #1249 )
...
It has what we needs and needs less abstraction, overall simplifying the code
2022-12-20 18:36:18 -04:00
Takase and GitHub
6d0e7f3046
Fix some syntax errors ( #1243 )
...
* move signal.h inclusion outside of if-else block
not sure if this change is appropriate, we need to make sure SIG_IGN
is only set on POSIX targets. To verify this we might need to include
unistd.h,
* fix syntax error
this is often overlooked when compiling for normal platforms
2022-12-20 18:11:05 -04:00
Jefferson González and GitHub
3c64c32379
core: ported regex.gsub to faster native version ( #1233 )
...
* added regex.gmatch iterator and other fixes
* fixed issues reported by Guldoman
* push strings with fixed len just in case for binary safety
* added limit to regex.gsub and use pushinteger
* added description to regex.gsub limits param
* replaced substitutions regex description for correctness
* ignore negative limits on regex.gsub
2022-12-20 17:46:37 -04:00
Jan200101
b137d77183
add touch events
2022-12-20 09:30:58 +01:00
Adam Harrison
5ab8dc0275
Converted from bytes to characters, as this is what windows is expecting.
2022-12-18 14:49:59 -05:00
Delta-official and GitHub
5db5512663
Fix native plugins not reloading upon core:restart ( #1219 )
...
* Fix native plugins not reloading upon core:restart
* Move the metatable name definition to api.h
* Replace metatable name with const
2022-12-02 17:06:35 -05:00
Takase and GitHub
2e186a746d
better error messages for checkcolor ( #1211 )
2022-11-30 01:38:35 -04:00
Guldoman
9f917052ad
Add initialization to variable in ren_draw_text
2022-11-27 00:45:57 +01:00
Takase and GitHub
7fa51bb7ab
Windows font loading hotfix ( #1205 )
...
* add missing windows header
* hold the handle until GC so that the file can't be modified in use,
this is a regression when we switched to CreateFile.
* set wpath to NULL to avoid double free
2022-11-17 01:09:38 -04:00
Jefferson González and GitHub
c8e525c126
Merge pull request #1201 from takase1121/PR/font-load-utf8
...
Load fonts with UTF-8 filenames
2022-11-15 23:27:03 -04:00
Takase and GitHub
4107b0c3fe
MSVC Support ( #1199 )
...
* fix stdalign and min/max for MSVC
* add missing ISREG and ISDIR for MSVC
* use MAX_PATH instead of PATH_MAX
* remove unecessary headers inclusion
* add MSVC CI
* add appropriate macros to platform detection
* re-add msvc CI artifacts
* upload the generated artifacts
* patch lua for MSVC CI builds
* update patch for MSVC compatibility
2022-11-15 23:23:45 -04:00
Guldoman
38a8549e71
Replace deprecated meson feature gui_app with win_subsystem
2022-11-15 16:57:50 +01:00
takase1121
69938c619c
add support for loading fonts with UTF-8 filenames
2022-11-14 22:01:24 +08:00
takase1121
4457f26502
use flexible structure member from C99
2022-11-14 22:00:40 +08:00
takase1121
5cabc68ccb
fix utfconv.h duplicate functions
2022-11-14 21:59:32 +08:00
Guldoman
66198eb327
Use a better fallback in case get_exe_filename fails
2022-11-13 19:47:32 +01:00
Alexey Dokuchaev and Guldoman
1b1c13e3de
Add missing get_exe_filename() implementation for FreeBSD
2022-11-13 19:47:32 +01:00
Jan and GitHub
56e465c351
dirmonitor: give kevent a timeout so it doesn't lock forever ( #1180 )
2022-11-05 20:00:32 -04:00
Adam and GitHub
9951e785b6
Getting ready for 2.1. ( #1181 )
...
* Getting ready for 2.1.
* Fixed version.
* Year.
* Manually added line as takase said to.
* Fixed minor issue at takase's behest.
* Dunno where that went.
* Updated to use a function pointer.
* OK, as discussed, adding this manually for now.
* Updated SDL.
2022-11-02 03:38:58 +01:00
jgmdev
3c752f86f3
core renderer: increased max font fallbacks to 10
2022-10-19 21:12:04 -04:00
jgmdev
1708462f4c
core renderer: fixed small issue introduced on #1145
2022-10-19 21:11:29 -04:00
Guldoman and GitHub
6b754eb628
Refactor scrollbar into its own file ( #1124 )
...
* Move scrollbar to its own file
* Don't call `Scrollbar` functions if `View` is not scrollable
* Allow horizontal scrolling in `Scrollbar`
* Add horizontal scrollbar to `View`
* Add `root:horizontal-scroll` command with `shift+wheel` keymap
* Prioritize vertical scrollbar hover
* Don't send mouse movement to vertical scrollbar when dragging horizontal one
* Fix clicking on horizontal scrollbar track
* Implement `start` scrollbar alignment
* Add documentation to `Scrollbar`
* Make `DocView` infinitely scrollable horizontally
* Handle horizontal scroll SDL event
2022-10-15 20:12:15 -04:00