1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 17:47:36 +00:00

Share GraphicsBitmaps between the windowing server and the client process.

This is pretty cool. :^)

GraphicsBitmaps are now mapped into both the server and the client address
space (usually at different addresses but that doesn't matter.)

Added a GUI syscall for getting a window's backing store, and another one
for invalidating a window so that the server redraws it.
This commit is contained in:
Andreas Kling 2019-01-14 15:25:34 +01:00
parent b0e3f73375
commit 0c5ecd303c
13 changed files with 139 additions and 46 deletions

View file

@ -5,6 +5,9 @@ AK_OBJS = \
../AK/FileSystemPath.o \
../AK/kmalloc.o
WIDGETS_OBJS = \
../Widgets/Color.o
LIBC_OBJS = \
stdio.o \
unistd.o \
@ -35,7 +38,7 @@ LIBC_OBJS = \
utime.o \
entry.o
OBJS = $(AK_OBJS) $(LIBC_OBJS)
OBJS = $(AK_OBJS) $(WIDGETS_OBJS) $(LIBC_OBJS)
LIBRARY = LibC.a
ARCH_FLAGS =

View file

@ -215,4 +215,18 @@ long atol(const char* str)
return atoi(str);
}
static unsigned long s_next_rand = 1;
int rand()
{
s_next_rand = s_next_rand * 1103515245 + 12345;
return((unsigned)(s_next_rand/((RAND_MAX + 1) * 2)) % (RAND_MAX + 1));
}
void srand(unsigned seed)
{
s_next_rand = seed;
}
}

View file

@ -19,5 +19,9 @@ void qsort(void* base, size_t nmemb, size_t size, int (*compar)(const void *, co
void exit(int status) __NORETURN;
void abort() __NORETURN;
#define RAND_MAX 32767
int rand();
void srand(unsigned seed);
__END_DECLS