Mitchell Hashimoto
2100523822
pkg/objc: correct objc_msgSend call on x86_64 depending on return type
...
On x86_64, we have to use specialized forms of `objc_msgSend` depending
on the return type (and the byte size of the return type). If we don't
do this, the calling convention is wrong and we'll get a segfault when
objc_msgSend tries to read a register that is [rightly] not set.
On aarch64, we do not have this issue because the calling convention is
different and objc_msgSend handles all cases.
2022-11-19 21:45:38 -08:00
Mitchell Hashimoto
da2942e083
font: specific codepoint lookup in internals
2022-11-17 15:49:14 -08:00
Mitchell Hashimoto
b91cd8e41c
pkg/macos: character set in range
2022-11-17 15:15:09 -08:00
Mitchell Hashimoto
843dc8ae14
pkg/macos: support CFCharacterSet
2022-11-17 15:09:53 -08:00
Mitchell Hashimoto
7703873142
pkg/fontconfig: charset can add chars
2022-11-17 14:37:36 -08:00
Mitchell Hashimoto
69b91a951b
pkg/objc: autorelease pools
2022-11-14 09:59:09 -08:00
Mitchell Hashimoto
46a9998762
tracy: support naming threads
2022-11-07 07:33:36 -08:00
Mitchell Hashimoto
7b94153458
libuv: Prepare handles
2022-11-07 07:33:29 -08:00
Mitchell Hashimoto
afd4800da4
pkg/imgui: support context current
2022-11-06 16:03:03 -08:00
Mitchell Hashimoto
9e3bbc1598
macos: send logs to unified logging
2022-10-31 15:16:29 -07:00
Mitchell Hashimoto
7608d7921f
pkg/macos: OS Log support
2022-10-31 14:47:10 -07:00
Mitchell Hashimoto
c1b70cb788
metal: devmode
2022-10-31 09:44:37 -07:00
Mitchell Hashimoto
090bab6798
metal: setup the render loop, draw the background color
2022-10-31 09:44:36 -07:00
Mitchell Hashimoto
6d0b8a24d9
pkg/objc: shortcut for set/get property
2022-10-28 14:38:50 -07:00
Mitchell Hashimoto
1e5c17dffa
Comment to show native access
2022-10-28 10:02:32 -07:00
Mitchell Hashimoto
71042b6f1b
pkg/objc: more methods
2022-10-28 09:36:56 -07:00
Mitchell Hashimoto
59cb774cdd
pkg/objc: properties
2022-10-25 21:25:07 -07:00
Mitchell Hashimoto
aaaae38fa1
pkg/objc: more message send stuff
2022-10-25 20:55:41 -07:00
Mitchell Hashimoto
7d48e564b5
pkg/objc: message send
2022-10-25 20:30:42 -07:00
Mitchell Hashimoto
10ee05b435
pkg/objc: selectors
2022-10-25 16:33:45 -07:00
Mitchell Hashimoto
dd8fde52d9
pkg/objc starting
2022-10-25 16:21:11 -07:00
Mitchell Hashimoto
d346309cb3
pkg/libuv: generate cimport.zig for specific platforms
2022-10-24 14:35:30 -07:00
Mitchell Hashimoto
aa3d132947
run rendering on another real thread (still bugs)
2022-10-24 09:17:48 -07:00
Mitchell Hashimoto
77b981950c
pkg/libuv: Idle handles
2022-10-23 21:15:58 -07:00
Mitchell Hashimoto
c3d9ee1d85
pkg/libuv: get rid of sleep state, it did nothing
2022-10-23 16:15:47 -07:00
Mitchell Hashimoto
58c107dceb
freetype: resize glyphs that are too tall prior to storing in texture
...
Most emoji fonts are massive glyphs (128x128, 256x256, etc.). This means
the texture we need to store emoji is also massive. For a 128x128 emoji
font (both Apple and Noto), we can only store 12 emoji before resizing
prior to this commit.
This commit now threads through a max height through to the font face
and resizes the bitmap in memory before putting it in the atlas. This
results in significant savings. The max height is the cell height. We
allow the glyphs to be as wide as necessary due to double (and more)
wide glyphs.
For the unicode emoji test file, the atlas size before and after:
Before: 262 MB
After: 16 MB
2022-10-17 19:14:30 -07:00
Mitchell Hashimoto
c103a278f1
render font info in dev mode
2022-10-17 14:47:51 -07:00
Mitchell Hashimoto
7cb3f2267f
use our built-in font for dev mode
2022-10-17 11:56:46 -07:00
Mitchell Hashimoto
20f1077e86
enable freetype with imgui
2022-10-17 11:41:46 -07:00
Mitchell Hashimoto
15a57983a6
pkg/freetype: remove unused API
2022-10-16 21:03:17 -07:00
Mitchell Hashimoto
2e1bc7bb01
Bring back freetype font bitmap conversion
...
Monaco on Mac is mono
2022-10-16 20:47:21 -07:00
Mitchell Hashimoto
f29393bca6
Imgui ( #20 )
...
* vendor/cimgui
* Add a "dev mode" window which for now is just imgui demo
2022-10-16 16:20:08 -07:00
Mitchell Hashimoto
5b6eb2736a
pkg/libpng: name the lib png, so its not "liblibpng"
2022-10-15 14:55:11 -07:00
Mitchell Hashimoto
6c84199b84
fix more stage2 build errors
2022-10-14 10:01:41 -07:00
Mitchell Hashimoto
83c9390ac9
pkg/libuv: workaround stage2 issue
2022-10-14 09:57:52 -07:00
Mitchell Hashimoto
b28b04d710
pkg/libuv: fix stage2 compilation issues
2022-10-14 09:44:22 -07:00
Mitchell Hashimoto
e493a722a3
fix some issues that fail nightly stage2 compiler
2022-10-13 10:54:30 -07:00
Mitchell Hashimoto
a6c3ee3bc2
pkg/macos: fix zig C ABI issue
2022-10-10 09:18:57 -07:00
Mitchell Hashimoto
1e23779337
pkg/macos: more stuff
2022-10-10 09:03:03 -07:00
Mitchell Hashimoto
1cf390729e
pkg/macos: bitmap info arg
2022-10-09 16:29:19 -07:00
Mitchell Hashimoto
1b7bc052d4
font: coretext calculate cell metrics
2022-10-09 10:57:19 -07:00
Mitchell Hashimoto
8b3959dceb
macos: frames, attributed strings, stylized strings
2022-10-09 08:07:56 -07:00
Mitchell Hashimoto
1e2e4169a5
pkg/macos: starting frames
2022-10-08 17:52:01 -07:00
Mitchell Hashimoto
cc14344bf8
pkg/macos: path
2022-10-08 17:39:25 -07:00
Mitchell Hashimoto
061f7f6a30
pkg/macos: text framesetter
2022-10-08 17:29:50 -07:00
Mitchell Hashimoto
26280d4fe5
macos: AttributedString
2022-10-08 17:24:33 -07:00
Mitchell Hashimoto
a97f997f9a
font: start working on core text cell height calcs
2022-10-08 17:03:09 -07:00
Mitchell Hashimoto
c9a335646e
pkg/macos: some font metrics functions
2022-10-08 11:34:45 -07:00
Mitchell Hashimoto
26629bcb6e
pkg/macos: create fonts from data
2022-10-08 10:21:33 -07:00
Mitchell Hashimoto
d0e269df6a
macos: data
2022-10-08 10:20:48 -07:00