Mitchell Hashimoto
b21e18a9e6
font: start converting Box font to our abstract canvas interface
2022-12-13 16:16:56 -08:00
Mitchell Hashimoto
c8252133a3
update zig version
2022-12-12 22:10:52 -08:00
Mitchell Hashimoto
6ad45f0237
update zig
2022-11-30 16:54:04 -08:00
Mitchell Hashimoto
abfffdcabe
pkg/pixman: more getters
2022-11-27 13:54:30 -08:00
Mitchell Hashimoto
120dfb4043
more wedges
2022-11-25 15:12:34 -08:00
Mitchell Hashimoto
2c9b3e2f9b
wedge triangles
2022-11-25 15:02:12 -08:00
Mitchell Hashimoto
88ff221d6d
pkg/pixman: fill rects
2022-11-25 14:10:25 -08:00
Mitchell Hashimoto
f1a052640c
pkg/pixman: rasterize trapezoids
2022-11-25 13:36:17 -08:00
Mitchell Hashimoto
336d2c4e13
pkg/pixman: more image APIs
2022-11-25 11:34:31 -08:00
Mitchell Hashimoto
433d41fa9a
pkg/pixman: add more types
2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
ac4a45bdf3
pkg/pixman: fix math for bpp calculation
2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
5f77ac145c
pkg/pixman: some drawing
2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
699370bd4a
pkg/pixman: starting API
2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
ef65b261de
vendor/pixman and basic building
2022-11-24 10:21:27 -08:00
Mitchell Hashimoto
9b0fbde838
put some config in the devmode UI
2022-11-21 09:09:25 -08:00
Mitchell Hashimoto
1bce3d8e72
pkg/objc: make ptrcast var so that LLVM backend sees sig
2022-11-20 08:19:50 -08:00
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