forked from KolibriOS/kolibrios
kos32sys.h improvement
git-svn-id: svn://kolibrios.org@8453 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
855a24edb4
commit
27aa766598
@ -4,6 +4,7 @@
|
|||||||
#include <newlib.h>
|
#include <newlib.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
@ -125,6 +126,16 @@ void sys_create_window(int x, int y, int w, int h, const char *name,
|
|||||||
"S"(0) : "memory");
|
"S"(0) : "memory");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define OLD -1
|
||||||
|
static inline
|
||||||
|
void sys_change_window(int new_x, int new_y, int new_w, int new_h)
|
||||||
|
{
|
||||||
|
__asm__ __volatile__(
|
||||||
|
"int $0x40"
|
||||||
|
::"a"(67), "b"(new_x), "c"(new_y), "d"(new_w),"S"(new_h)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
void define_button(uint32_t x_w, uint32_t y_h, uint32_t id, uint32_t color)
|
void define_button(uint32_t x_w, uint32_t y_h, uint32_t id, uint32_t color)
|
||||||
{
|
{
|
||||||
@ -178,6 +189,18 @@ void draw_text_sys(const char *text, int x, int y, int len, color_t color)
|
|||||||
:"memory");
|
:"memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
void define_button_text(int x, int y, int w, int h, uint32_t id, uint32_t color, char* text)
|
||||||
|
{
|
||||||
|
define_button(x * 65536 + w, y * 65536 + h, id, color);
|
||||||
|
|
||||||
|
int tx = ((((-strlen(text))*8)+w)/2)+x;
|
||||||
|
int ty = h/2-7+y;
|
||||||
|
|
||||||
|
draw_text_sys(text, tx, ty, strlen(text), 0x90000000);
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
uint32_t get_skin_height(void)
|
uint32_t get_skin_height(void)
|
||||||
{
|
{
|
||||||
@ -265,6 +288,20 @@ static inline uint32_t set_cursor(uint32_t cursor)
|
|||||||
return old;
|
return old;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#define EVM_REDRAW 1
|
||||||
|
#define EVM_KEY 2
|
||||||
|
#define EVM_BUTTON 4
|
||||||
|
#define EVM_EXIT 8
|
||||||
|
#define EVM_BACKGROUND 16
|
||||||
|
#define EVM_MOUSE 32
|
||||||
|
#define EVM_IPC 64
|
||||||
|
#define EVM_STACK 128
|
||||||
|
#define EVM_DEBUG 256
|
||||||
|
#define EVM_STACK2 512
|
||||||
|
#define EVM_MOUSE_FILTER 0x80000000
|
||||||
|
#define EVM_CURSOR_FILTER 0x40000000
|
||||||
|
|
||||||
static inline uint32_t set_wanted_events_mask(uint32_t event_mask)
|
static inline uint32_t set_wanted_events_mask(uint32_t event_mask)
|
||||||
{
|
{
|
||||||
uint32_t old_event_mask;
|
uint32_t old_event_mask;
|
||||||
@ -512,6 +549,19 @@ static inline int GetScreenSize(void)
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
pos_t max_screen_size()
|
||||||
|
{
|
||||||
|
pos_t size;
|
||||||
|
__asm__ __volatile__(
|
||||||
|
"int $0x40"
|
||||||
|
:"=a"(size)
|
||||||
|
:"a"(14));
|
||||||
|
|
||||||
|
|
||||||
|
return size;
|
||||||
|
};
|
||||||
|
|
||||||
static inline void get_system_colors(struct kolibri_system_colors *color_table)
|
static inline void get_system_colors(struct kolibri_system_colors *color_table)
|
||||||
{
|
{
|
||||||
__asm__ volatile ("int $0x40"
|
__asm__ volatile ("int $0x40"
|
||||||
|
Loading…
Reference in New Issue
Block a user