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

Build Painter & friends into LibC. Use it in the GUI test app.

This commit is contained in:
Andreas Kling 2019-01-14 20:00:42 +01:00
parent bfef4afa6a
commit b673c1a77d
16 changed files with 105 additions and 50 deletions

View file

@ -6,6 +6,10 @@ AK_OBJS = \
../AK/kmalloc.o
WIDGETS_OBJS = \
../Widgets/Painter.o \
../Widgets/Font.o \
../Widgets/GraphicsBitmap.o \
../Widgets/CharacterBitmap.o \
../Widgets/Color.o
LIBC_OBJS = \
@ -36,6 +40,7 @@ LIBC_OBJS = \
ioctl.o \
math.o \
utime.o \
gui.o \
entry.o
OBJS = $(AK_OBJS) $(WIDGETS_OBJS) $(LIBC_OBJS)

22
LibC/gui.cpp Normal file
View file

@ -0,0 +1,22 @@
#include "gui.h"
#include <Kernel/GUITypes.h>
#include <Kernel/Syscall.h>
#include <errno.h>
int gui_create_window(const GUI_CreateWindowParameters* params)
{
int rc = syscall(SC_gui_create_window, params);
__RETURN_WITH_ERRNO(rc, rc, -1);
}
int gui_invalidate_window(int window_id)
{
int rc = syscall(SC_gui_invalidate_window, window_id);
__RETURN_WITH_ERRNO(rc, rc, -1);
}
int gui_get_window_backing_store(int window_id, GUI_WindowBackingStoreInfo* info)
{
int rc = syscall(SC_gui_get_window_backing_store, window_id, info);
__RETURN_WITH_ERRNO(rc, rc, -1);
}

13
LibC/gui.h Normal file
View file

@ -0,0 +1,13 @@
#pragma once
#include <sys/cdefs.h>
#include <Kernel/GUITypes.h>
__BEGIN_DECLS
int gui_create_window(const GUI_CreateWindowParameters* params);
int gui_invalidate_window(int window_id);
int gui_get_window_backing_store(int window_id, GUI_WindowBackingStoreInfo* info);
__END_DECLS

View file

@ -230,7 +230,7 @@ static void sys_putch(char*&, char ch)
syscall(SC_putch, ch);
}
int sys_printf(const char* fmt, ...)
int dbgprintf(const char* fmt, ...)
{
va_list ap;
va_start(ap, fmt);

View file

@ -54,7 +54,7 @@ int vfprintf(FILE*, const char* fmt, va_list);
int vsprintf(char* buffer, const char* fmt, va_list);
int fprintf(FILE*, const char* fmt, ...);
int printf(const char* fmt, ...);
int sys_printf(const char* fmt, ...);
int dbgprintf(const char* fmt, ...);
int sprintf(char* buffer, const char* fmt, ...);
int putchar(int ch);
int putc(int ch, FILE*);