forked from KolibriOS/kolibrios
newlib: new functions get_skin_height() and get_os_event()
git-svn-id: svn://kolibrios.org@4499 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
05df377e5f
commit
db4fbe185d
@ -1,7 +1,6 @@
|
|||||||
#ifndef __KOS_32_SYS_H__
|
#ifndef __KOS_32_SYS_H__
|
||||||
#define __KOS_32_SYS_H__
|
#define __KOS_32_SYS_H__
|
||||||
|
|
||||||
|
|
||||||
#include <newlib.h>
|
#include <newlib.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
@ -12,6 +11,8 @@
|
|||||||
// #define DBG(format,...)
|
// #define DBG(format,...)
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
|
#define TYPE_3_BORDER_WIDTH 5
|
||||||
|
|
||||||
typedef unsigned int color_t;
|
typedef unsigned int color_t;
|
||||||
|
|
||||||
typedef union __attribute__((packed))
|
typedef union __attribute__((packed))
|
||||||
@ -60,6 +61,18 @@ void DefineButton(uint32_t x_w, uint32_t y_h, uint32_t id, uint32_t color)
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline
|
||||||
|
uint32_t get_skin_height(void)
|
||||||
|
{
|
||||||
|
uint32_t height;
|
||||||
|
|
||||||
|
__asm__ __volatile__(
|
||||||
|
"int $0x40 \n\t"
|
||||||
|
:"=a"(height)
|
||||||
|
:"a"(48),"b"(4));
|
||||||
|
return height;
|
||||||
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
void BeginDraw(void)
|
void BeginDraw(void)
|
||||||
{
|
{
|
||||||
@ -74,15 +87,15 @@ void EndDraw(void)
|
|||||||
"int $0x40" ::"a"(12),"b"(2));
|
"int $0x40" ::"a"(12),"b"(2));
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline void DrawWindow(int x, int y, int w, int h, char *name,
|
static inline void DrawWindow(int x, int y, int w, int h, const char *name,
|
||||||
color_t workcolor, uint32_t style)
|
color_t workcolor, uint32_t style)
|
||||||
{
|
{
|
||||||
|
|
||||||
__asm__ __volatile__(
|
__asm__ __volatile__(
|
||||||
"int $0x40"
|
"int $0x40"
|
||||||
::"a"(0),
|
::"a"(0),
|
||||||
"b"((x << 16) | (w & 0xFFFF)),
|
"b"((x << 16) | ((w-1) & 0xFFFF)),
|
||||||
"c"((y << 16) | (h & 0xFFFF)),
|
"c"((y << 16) | ((h-1) & 0xFFFF)),
|
||||||
"d"((style << 24) | (workcolor & 0xFFFFFF)),
|
"d"((style << 24) | (workcolor & 0xFFFFFF)),
|
||||||
"D"(name));
|
"D"(name));
|
||||||
};
|
};
|
||||||
@ -159,6 +172,16 @@ static inline uint32_t check_os_event()
|
|||||||
return val;
|
return val;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline uint32_t get_os_event()
|
||||||
|
{
|
||||||
|
uint32_t val;
|
||||||
|
__asm__ __volatile__(
|
||||||
|
"int $0x40"
|
||||||
|
:"=a"(val)
|
||||||
|
:"a"(10));
|
||||||
|
return val;
|
||||||
|
};
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
uint32_t get_tick_count(void)
|
uint32_t get_tick_count(void)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user