Commit Graph

2080 Commits

Author SHA1 Message Date
871b5c6a35
libui: Properly cut off the last drawn character if necessary 2023-08-08 12:51:04 +02:00
a38dbce9bd
libui: Add Rect::contains(Rect) 2023-08-08 12:51:04 +02:00
93d74a29b5
libui: Render font characters properly with no spacing, matching the width calculations 2023-08-08 12:51:04 +02:00
3d3d1aeed5
wind: Render an actual TGA mouse cursor 2023-08-08 12:51:04 +02:00
60385c4614
wind: Add a close button to windows using a TGA icon 2023-08-08 12:51:04 +02:00
38c00a8384
libui: Add support for TGA image loading 2023-08-08 12:51:04 +02:00
ae5dd3f340
libui: Add an interface to fill a Canvas with an array of pixels 2023-08-08 12:51:03 +02:00
a843ef943e
wind: Add window titlebars using ui::Font 2023-08-08 12:51:03 +02:00
4cb2c5ea83
libui: Add PSF font loading and rendering 2023-08-08 12:51:03 +02:00
0bc7af62df
libui: Add Color::GRAY 2023-08-08 12:51:03 +02:00
98a0049e54
libui: Rename Rect::absolute to normalized and add a new absolute function 2023-08-08 12:51:03 +02:00
9c78ec605c
libluna: Add assignment operators to Buffer 2023-08-08 12:51:03 +02:00
d8ba20b23d
wind: Reorder drag sequence 2023-08-08 12:51:02 +02:00
0927dd71cc
libui: Add Rect::relative 2023-08-08 12:51:02 +02:00
3d559cb8c8
libui: Remove redundant statement 2023-08-08 12:51:02 +02:00
42dca14d09
libui: Add getters for separate color values 2023-08-08 12:51:02 +02:00
69b36b0b09
libui: Remove unnecessary stuff 2023-08-08 12:51:02 +02:00
ee0bdd59d3
base: Remove startup items not necessary for GUI startup 2023-08-08 12:51:01 +02:00
d8150113c5
libui+wind: (Draggable) windows 2023-08-08 12:51:01 +02:00
b48daad58a
wind: Create a local server object 2023-08-08 12:51:01 +02:00
a1f47cacd4
libos: Add a new LocalServer class for local domain sockets 2023-08-08 12:51:01 +02:00
78a4c4f111
kernel: Support listening sockets in poll() 2023-08-08 12:51:01 +02:00
cab45a414c
base: Start wind on startup instead of the shell 2023-08-08 12:51:01 +02:00
646ccb2854
wind: Add a simple display server skeleton using libui
No client functionality yet, but it's a start.
2023-08-08 12:51:01 +02:00
1984a4de08
libui: Add a GUI and graphics library 2023-08-08 12:51:00 +02:00
5c09fdfbc6
kernel: Fix negative movement in the PS/2 mouse driver 2023-08-08 12:50:56 +02:00
159c05c064
libluna: Add max() and min()
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 12:39:03 +02:00
b63a8ff245
libluna: Move get_blocks_from_size to a new header and call it ceil_div instead
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 11:58:33 +02:00
917203ef11
kernel: Run the init function in a separate block to free everything before kernel_exit is called
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-08 10:44:18 +02:00
826be882a9
kernel: Interrupt syscalls before exiting because of a signal
Closes #40.
2023-08-08 10:41:46 +02:00
198935eb30
libc: Reset the read buffer even when read() returns an error
This fixes the same data being read multiple times if an error was returned
2023-08-08 10:39:15 +02:00
7c254e5e15
kernel: Properly check memory bounds in strdup_from_user()
All checks were successful
continuous-integration/drone/push Build is passing
Missed this one in 097353e779.
2023-08-08 10:27:19 +02:00
2e63b93e48
libos: Remove debug statements from Process::spawn()
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-07 22:53:37 +02:00
77ebdda2e0
libos: Add Process::spawn()
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-07 22:49:12 +02:00
097353e779
kernel: Properly check memory bounds while touching user memory
Before this patch, one byte of each page was being accessed without checking the page's permissions.
2023-08-07 22:49:00 +02:00
10c892d606
kernel: Allow null envp in execve()
As far as I know, this is not standard, but I'm doing this as a convenience for programs using exec() right after clearenv().
2023-08-07 22:48:21 +02:00
f45734c61d
kernel/ATA: Stop storing ATA::Drive in a separate shared pointer
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-07 19:22:57 +02:00
bc20e1a31b
kernel: Store FD_CLOEXEC in the file descriptor itself
All checks were successful
continuous-integration/drone/push Build is passing
Closes #39.
2023-08-03 17:47:18 +02:00
b01aa72f17
libc+init+shmem-test: Add POSIX shared memory objects
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-03 10:32:52 +02:00
d41fb85466
libluna/SharedPtr: Count references with separately created objects properly 2023-08-03 10:32:22 +02:00
5aa042a5f2
kernel: Add constructors to SharedMemory 2023-08-03 10:31:58 +02:00
f150425222
kernel: Create a new shared memory object if the old one was lost 2023-08-03 10:31:29 +02:00
842b212685
kernel: Set a SharedMemory object's prot value 2023-08-03 10:30:43 +02:00
641b65da0f
kernel: Take devices into account in SharedMemory::free() 2023-08-03 09:33:10 +02:00
bfcca3a220
gol: Use memory-mapped IO
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-03 09:26:35 +02:00
b5d146b492
kernel/mmap: Fix some parameters 2023-08-03 09:26:21 +02:00
b447c1a261
kernel: Set the shmem->inode field in query_shared_memory 2023-08-03 09:25:56 +02:00
f8e86b3b01
fix 2023-08-03 09:25:38 +02:00
d8f6af99b8
kernel: Let devices use shared memory 2023-08-03 09:25:23 +02:00
c5e24e478f
kernel+libc: Add truncate and ftruncate
All checks were successful
continuous-integration/drone/push Build is passing
2023-08-03 08:47:37 +02:00