Commit Graph

5725 Commits

Author SHA1 Message Date
Chris Speciale
c6165350c6 Font: renderGlyphs should use the internal __setSize() 2024-10-30 13:17:50 -04:00
Chris Speciale
d2562997bf Update CairoBindings to use a default of 72 dpi for fonts
We use a default of 72 for now to ensure text is formatted correctly. Not entirely sure why we are stuck on 72 but that is an investigation for the future.
2024-10-30 13:14:32 -04:00
Chris Speciale
17bd36ac29 Fix compilation for cpp 2024-10-30 13:08:21 -04:00
Chris Speciale
fa77a6b370 Font: Make sure we pass dpi value 2024-10-30 13:04:06 -04:00
Chris Speciale
2f99776336 Font: Set 72 as default dpi for backwards compatibility 2024-10-30 12:56:16 -04:00
Chris Speciale
579efa5351 Font: Allow setting dpi internally
This fixes some unexpected changes in text rendering for OpenFL which rely on a private function in Lime. Previously we defaulted at 72 dpi, which apparently is expected to layout the text properly. Most displays are 96 dpi or higher today, so we should probably look into this. For RenderGlyph, which was previously broken over several versions, we will now use a dpi of 96 for now. In the next version of lime, we absolutely should alter the function signature to allow for renderGlyph to accept a dpi argument.
2024-10-30 12:49:30 -04:00
Chris Speciale
dbfd6615c0 Merge branch 'develop' of https://github.com/openfl/lime into develop 2024-10-30 12:20:14 -04:00
Chris Speciale
e6fa4e73d4 Revert "SetSize should use 96 dpi for now"
This reverts commit 9cbdc83605.
2024-10-30 12:12:58 -04:00
Josh Tynjala
c4faf58ff0 freetype: roll back to freetype version 2.9.1
tag VER-2-9-1

Starting with freetype 2.10.0, the sum of the ascent and descent values seem to be more likely to be less than the baseline-to-baseline measurement (called the font's height), which is the font designer's recommend distance between baselines. However, OpenFL doesn't account for the full baseline-to-baseline height at all, so with smaller ascent and descent values, lines render with smaller gaps between them. OpenFL needs to update its TextEngine algorithm to use the height of the line instead of adding ascent and descent together alone, and then we can update freetype. Updating TextEngine is not a trivial change, and may likely require time to discover bugs and stabilize, so it's better to roll back the freetype update for now, and apply it again later after OpenFL can handle it properly.
2024-10-29 15:48:38 -07:00
Chris Speciale
e65e863918 Native RenderGylph should handle alpha properly 2024-10-28 23:38:18 -04:00
Chris Speciale
9cbdc83605 SetSize should use 96 dpi for now
I think it should probably use 96 dpi instead of 72.... In the next minor version of Lime I think we should change the function sig to allow a dpi argument.
2024-10-28 23:02:28 -04:00
Chris Speciale
85414fce46 Font: Fix renderGlyph to render correctly
Accounts for some changes to the native code called through cffi. We use 32 bit space (24 bit color) to create our image. We had some problems using 8 bit color previously. This might be a breaking change to anyone expecting an 8 bit image buffer, but it wasn't working for several versions anyway and this api is not used for anything within lime to render text as is.
2024-10-28 22:58:23 -04:00
Chris Speciale
4673b91c65 Fix RenderGlyph
We change the way RenderGlyph populates the binary data here. It's a little heavier than the 8-bit method used previously but I was having issues getting that to work properly with `Image`.
2024-10-28 22:51:15 -04:00
Josh Tynjala
802ae3518e System: expand documentation of exit() method
Includes explanation that Sys.exit() bypasses Lime's ability to shut down its C++ subsystems, so System.exit() is recommended as best practice instead of Sys.exit().
2024-10-25 09:13:48 -07:00
Chris Speciale
6a4099861e OpenALBindings: Avoid deadlock when Sys.exit() is called
This change eliminates the cleanup attempt of the current OpenAL context and associated system resources. A change in OpenAL 1.20.0 made it unlikely that we will be able to clean up things in this way moving forward. We should steer users toward using `lime.system.System.exit()` or petition a change in the haxe stdlib to allow us to hook into Sys.exit(). 

I am not 100% satisfied with this, so perhaps we will find another solution. In the end, I think the benefit of updating OpenAL supersedes any inconvenience here.

Closes https://github.com/openfl/lime/issues/1803
2024-10-25 11:08:15 -04:00
Chris Speciale
e24ab07125 Revert "Downgrade to OpenAL 1.20.0"
This reverts commit 54f7734d7f.
2024-10-23 23:39:25 -04:00
Chris Speciale
a5d980cf75 Revert "Remove missing file path"
This reverts commit f60d8a75c5.
2024-10-23 23:39:20 -04:00
Chris Speciale
2ae713d180 Revert "Downgrade OpenAL to 1.19.1"
This reverts commit 583e742734.
2024-10-23 23:39:11 -04:00
Chris Speciale
583e742734 Downgrade OpenAL to 1.19.1
This still solves https://github.com/kcat/openal-soft/pull/227 which seems to be fixed in 1.19.1
2024-10-23 22:31:09 -04:00
Chris Speciale
f60d8a75c5 Remove missing file path
Removes an expected file introduced in 1.20.1
2024-10-23 21:25:05 -04:00
Chris Speciale
54f7734d7f Downgrade to OpenAL 1.20.0 2024-10-23 21:22:56 -04:00
player-03
5b4fc0c71f Merge pull request #1852 from player-03/HashLink_Tls_workaround
Work around ThreadPool error when targeting HashLink in Haxe 4.0-4.1.
2024-10-22 14:31:30 -04:00
player-03
579a7cd61b Work around compile error in specific cases.
This appears to have been a bug in Haxe 4.0-4.1's HashLink target. `value++` failed, but `value = value + 1` was fine.
2024-10-22 13:49:03 -04:00
Josh Tynjala
448206cf40 Release checklist 2024-10-22 09:12:34 -07:00
Josh Tynjala
f73ea770b4 Release Checklist 2024-10-22 09:06:12 -07:00
Chris Speciale
866c7c6507 Update Changelog for 8.2.1 2024-10-22 07:33:04 -04:00
Chris Speciale
e480067c07 Bump haxelib version
Prepare for next patch release
2024-10-22 07:25:19 -04:00
Chris Speciale
a8939e9951 Merge pull request #1834 from gepatto/8.2.0-Dev
set correct paths for ndll for linxuarm and linuxarm64 (raspberrypi)
2024-10-22 07:17:56 -04:00
player-03
4c987ef1cc HL didn't support threads in Haxe 3. 2024-10-21 19:51:14 -04:00
Josh Tynjala
1871349077 actions: fix typo in curl output path 8.2.0 2024-10-21 13:40:08 -07:00
Josh Tynjala
be51435b28 actions: fix curl commands 2024-10-21 13:21:53 -07:00
Josh Tynjala
32b86f50f5 actions: don't include hxcpp.zip in haxelib bundle
Download to parent directory instead.
2024-10-21 11:55:12 -07:00
Josh Tynjala
54d647f4c9 README: installation section was missing haxelib install and lime setup commands 2024-10-21 09:16:19 -07:00
Josh Tynjala
d7cd79a7e3 prepare for 8.2.0 2024-10-21 09:16:19 -07:00
Josh Tynjala
91705c0b49 CHANGELOG: more updates 2024-10-21 09:16:19 -07:00
Chris Speciale
8a5b9d506a Font: Add missing Docs 2024-10-18 02:56:35 -04:00
Josh Tynjala
9b1ea24648 FileDialog: Fixes issue where file dialog stops responding in HashLink on Windows (closes #1849)
Does not seem to recover when it happens, requiring the Lime app to be force closed. Some kind of threading issue that is affecting HashLink on Windows only (macOS and Linux are fine, and other sys targets are fine).

Fixed by passing SINGLE_THREADED to ThreadPool constructor using #if (windows && hl)
2024-10-17 13:41:28 -07:00
Josh Tynjala
0e974fd733 AIRHelper: add support for AIR adt -tsa option
Example:

<config:air tsa="http://timestamp.digicert.com"/>

Required to workaround "Could not generate timestamp: Connection reset" error from adt with default timestamp URL.
2024-10-17 09:18:05 -07:00
Chris Speciale
7dc3718551 BackgroundWorker: Add hl flag
Prevents hl from freezing up when using bgworker
2024-10-16 00:34:09 -04:00
Cobalt Bar
ccb7647827 actions: use the same version of hxcpp for all jobs (#1850)
We're currently using a version of hxcpp from GitHub instead of from Haxelib for macOS ARM64 support. Let's just use that version for all jobs, for consistency. Whenever hxcpp finally gets update on Haxelib, we'll switch to that version.
2024-10-10 09:36:46 -07:00
Josh Tynjala
700c2c727b preliminary 8.2.0 CHANGELOG 2024-10-07 14:26:40 -07:00
Josh Tynjala
a1dcad42df harfbuzz: update to 6.0.0
Needed for macOS when using Xcode 16 and clang 16. This version of clang produces errors like this when compiling harfbuzz:

cast from 'void (*)(FT_Face)' (aka 'void (*)(FT_FaceRec_ *)') to 'FT_Generic_Finalizer' (aka 'void (*)(void *)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]

This is the minimum version of harfbuzz that fixes the errors. We could certainly consider upgrading further (current release is 10.0.1 at the time of this commit).
2024-10-07 10:13:03 -07:00
Josh Tynjala
895ce877d9 Default hlc target directory is not the same as hl 2024-10-07 09:40:22 -07:00
Josh Tynjala
dd79e5852a LZMA: fix is check missing parentheses 2024-09-10 11:10:34 -07:00
Josh Tynjala
c4a9bb81b5 Socket: flash extern used wrong type for objectEncoding property 2024-09-04 14:31:10 -07:00
Josh Tynjala
6ab5246a47 actions: update dependencies 2024-09-03 15:32:50 -07:00
Joseph Cloutier
f917cb0133 Merge branch 'develop' into 8.3.0-Dev 2024-09-02 17:14:31 -04:00
player-03
169e737486 Remove unnecessary operations in Promise.
We're allocating memory we don't use and calling functions that it would make more sense to inline.
2024-09-02 15:58:21 -04:00
player-03
96c5c1c121 Simplify ThreadPool.cancelJob().
Offering four options makes the underlying code more complicated for minimal benefit.
2024-08-24 16:19:46 -04:00
Chris Speciale
0b936846d9 AudioBuffer: docs
Missing docs.
2024-08-22 17:40:58 -04:00