at least no more segfault
All checks were successful
pyrite-dev/milsko/pipeline/head This commit looks good
All checks were successful
pyrite-dev/milsko/pipeline/head This commit looks good
This commit is contained in:
parent
d980f5c6b2
commit
39b3c035fc
8 changed files with 104 additions and 11 deletions
|
|
@ -10,6 +10,10 @@
|
||||||
#include <Mw/TypeDefs.h>
|
#include <Mw/TypeDefs.h>
|
||||||
#include <Mw/LowLevel.h>
|
#include <Mw/LowLevel.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
struct _MwLLClassicMacOS {
|
struct _MwLLClassicMacOS {
|
||||||
struct _MwLLCommon common;
|
struct _MwLLCommon common;
|
||||||
|
|
||||||
|
|
@ -32,4 +36,8 @@ struct _MwLLClassicMacOSPixmap {
|
||||||
|
|
||||||
MWDECL int MwLLClassicMacOSCallInit(void);
|
MWDECL int MwLLClassicMacOSCallInit(void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -160,7 +160,9 @@ typedef struct {
|
||||||
#define OBJC(x) void*
|
#define OBJC(x) void*
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
MWDECL int MwLLCocoaCallInit(void);
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
struct _MwLLCocoa {
|
struct _MwLLCocoa {
|
||||||
struct _MwLLCommon common;
|
struct _MwLLCommon common;
|
||||||
|
|
@ -178,4 +180,10 @@ struct _MwLLCocoaPixmap {
|
||||||
real;
|
real;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
MWDECL int MwLLCocoaCallInit(void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,10 @@
|
||||||
#include <Mw/TypeDefs.h>
|
#include <Mw/TypeDefs.h>
|
||||||
#include <Mw/LowLevel.h>
|
#include <Mw/LowLevel.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
struct _MwLLGDI {
|
struct _MwLLGDI {
|
||||||
struct _MwLLCommon common;
|
struct _MwLLCommon common;
|
||||||
|
|
||||||
|
|
@ -43,4 +47,8 @@ struct _MwLLGDIPixmap {
|
||||||
MWDECL int MwLLGDICallInit(void);
|
MWDECL int MwLLGDICallInit(void);
|
||||||
MWDECL HCURSOR MwLLGDICreateCursor(MwCursor* image, MwCursor* mask);
|
MWDECL HCURSOR MwLLGDICreateCursor(MwCursor* image, MwCursor* mask);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -16,8 +16,16 @@
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <dbus/dbus.h>
|
#include <dbus/dbus.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
MWDECL int MwLLWaylandCallInit(void);
|
MWDECL int MwLLWaylandCallInit(void);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#define CSD_BORDER_FRAME_LEFT 5
|
#define CSD_BORDER_FRAME_LEFT 5
|
||||||
#define CSD_BORDER_FRAME_RIGHT 5
|
#define CSD_BORDER_FRAME_RIGHT 5
|
||||||
#define CSD_BORDER_FRAME_TOP 24
|
#define CSD_BORDER_FRAME_TOP 24
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,10 @@
|
||||||
#include <X11/extensions/Xrender.h>
|
#include <X11/extensions/Xrender.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
struct _MwLLX11 {
|
struct _MwLLX11 {
|
||||||
struct _MwLLCommon common;
|
struct _MwLLCommon common;
|
||||||
|
|
||||||
|
|
@ -86,4 +90,8 @@ struct _MwLLX11Pixmap {
|
||||||
MWDECL int MwLLX11CallInit(void);
|
MWDECL int MwLLX11CallInit(void);
|
||||||
MWDECL Cursor MwLLX11CreateCursor(Display* display, MwCursor* image, MwCursor* mask);
|
MWDECL Cursor MwLLX11CreateCursor(Display* display, MwCursor* image, MwCursor* mask);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,11 @@
|
||||||
#include <dlfcn.h>
|
#include <dlfcn.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__HAIKU__) && defined(__cplusplus)
|
||||||
|
#include <Window.h>
|
||||||
|
#include <View.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
#include <mach/clock.h>
|
#include <mach/clock.h>
|
||||||
#include <mach/mach.h>
|
#include <mach/mach.h>
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,7 @@ if (grep(/^cocoa$/, @backends) || param_get("gnustep")) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (grep(/^haiku$/, @backends)) {
|
if (grep(/^haiku$/, @backends)) {
|
||||||
|
add_cflags("-DUSE_HAIKU");
|
||||||
new_object("src/backend/haiku.cxx");
|
new_object("src/backend/haiku.cxx");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,21 @@
|
||||||
#include <Mw/Milsko.h>
|
#include <Mw/Milsko.h>
|
||||||
|
|
||||||
MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) {}
|
MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) {
|
||||||
|
MwLL r = (MwLL)malloc(sizeof(*r));
|
||||||
|
|
||||||
void MwLLDestroyImpl(MwLL handle) {}
|
MwLLCreateCommon(r);
|
||||||
|
|
||||||
|
r->common.copy_buffer = 1;
|
||||||
|
r->common.type = MwLLBackendHaiku;
|
||||||
|
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MwLLDestroyImpl(MwLL handle) {
|
||||||
|
MwLLDestroyCommon(handle);
|
||||||
|
|
||||||
|
free(handle);
|
||||||
|
}
|
||||||
|
|
||||||
void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLLColor color) {}
|
void MwLLPolygonImpl(MwLL handle, MwPoint* points, int points_count, MwLLColor color) {}
|
||||||
|
|
||||||
|
|
@ -12,9 +25,17 @@ void MwLLBeginDrawImpl(MwLL handle) {}
|
||||||
|
|
||||||
void MwLLEndDrawImpl(MwLL handle) {}
|
void MwLLEndDrawImpl(MwLL handle) {}
|
||||||
|
|
||||||
MwLLColor MwLLAllocColorImpl(MwLL handle, int r, int g, int b) {}
|
MwLLColor MwLLAllocColorImpl(MwLL handle, int r, int g, int b) {
|
||||||
|
MwLLColor c = (MwLLColor)malloc(sizeof(*c));
|
||||||
|
MwLLColorUpdate(handle, c, r, g, b);
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
void MwLLColorUpdateImpl(MwLL handle, MwLLColor c, int r, int g, int b) {}
|
void MwLLColorUpdateImpl(MwLL handle, MwLLColor c, int r, int g, int b) {
|
||||||
|
c->common.red = r;
|
||||||
|
c->common.green = g;
|
||||||
|
c->common.blue = b;
|
||||||
|
}
|
||||||
|
|
||||||
void MwLLFreeColorImpl(MwLLColor color) {}
|
void MwLLFreeColorImpl(MwLLColor color) {}
|
||||||
|
|
||||||
|
|
@ -26,15 +47,33 @@ void MwLLSetWHImpl(MwLL handle, int w, int h) {}
|
||||||
|
|
||||||
void MwLLSetTitleImpl(MwLL handle, const char* title) {}
|
void MwLLSetTitleImpl(MwLL handle, const char* title) {}
|
||||||
|
|
||||||
int MwLLPendingImpl(MwLL handle) {}
|
int MwLLPendingImpl(MwLL handle) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void MwLLNextEventImpl(MwLL handle) {}
|
void MwLLNextEventImpl(MwLL handle) {}
|
||||||
|
|
||||||
MwLLPixmap MwLLCreatePixmapImpl(MwLL handle, unsigned char* data, int width, int height) {}
|
MwLLPixmap MwLLCreatePixmapImpl(MwLL handle, unsigned char* data, int width, int height) {
|
||||||
|
MwLLPixmap r = (MwLLPixmap)malloc(sizeof(*r));
|
||||||
|
r->common.raw = (unsigned char*)malloc(4 * width * height);
|
||||||
|
memcpy(r->common.raw, data, 4 * width * height);
|
||||||
|
|
||||||
|
r->common.width = width;
|
||||||
|
r->common.height = height;
|
||||||
|
|
||||||
|
MwLLPixmapUpdate(r);
|
||||||
|
return r;
|
||||||
|
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
void MwLLPixmapUpdateImpl(MwLLPixmap pixmap) {}
|
void MwLLPixmapUpdateImpl(MwLLPixmap pixmap) {}
|
||||||
|
|
||||||
void MwLLDestroyPixmapImpl(MwLLPixmap pixmap) {}
|
void MwLLDestroyPixmapImpl(MwLLPixmap pixmap) {
|
||||||
|
free(pixmap->common.raw);
|
||||||
|
|
||||||
|
free(pixmap);
|
||||||
|
}
|
||||||
|
|
||||||
void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) {}
|
void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) {}
|
||||||
|
|
||||||
|
|
@ -72,11 +111,19 @@ void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) {}
|
||||||
|
|
||||||
void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) {}
|
void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) {}
|
||||||
|
|
||||||
void MwLLSetDarkThemeImpl(MwLL handle, int toggle) {}
|
void MwLLSetDarkThemeImpl(MwLL handle, int toggle) {
|
||||||
|
(void)handle;
|
||||||
|
(void)toggle;
|
||||||
|
}
|
||||||
|
|
||||||
MwBool MwLLDoModernImpl(MwLL handle) {}
|
MwBool MwLLDoModernImpl(MwLL handle) {
|
||||||
|
(void)handle;
|
||||||
|
return MwTRUE;
|
||||||
|
}
|
||||||
|
|
||||||
int MwLLHaikuCallInitImpl() {}
|
int MwLLHaikuCallInitImpl() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#include "call.c"
|
#include "call.c"
|
||||||
CALL(Haiku);
|
CALL(Haiku);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue