This commit is contained in:
Nishi 2026-05-04 19:24:09 +09:00
commit 11069552df
Signed by: nishi
GPG key ID: 27EF69B208EB9343
12 changed files with 50 additions and 15 deletions

View file

@ -328,6 +328,8 @@ MWDECL void (*MwLLSetDarkTheme)(MwLL handle, int toggle);
*/
MWDECL MwBool (*MwLLDoModern)(MwLL handle);
MWDECL void (*MwLLRaise)(MwLL handle);
/* font renderer */
MWDECL void MwFLSetup(void);

View file

@ -39,12 +39,12 @@ class MwView : public BView {
MwView(MwLL handle, BRect rc, uint32 resizingMode, uint32 flags);
~MwView();
void MessageReceived(BMessage* message);
void PostMessage(BMessage* message);
void PostMessage(uint32 command);
void MessageReceived(BMessage* message);
void PostMessage(BMessage* message);
void PostMessage(uint32 command);
status_t SendMessage(BMessage* message);
status_t SendMessage(uint32 command);
void Invalidate();
void Invalidate();
void AttachedToWindow();
void Draw(BRect updateRect);

View file

@ -57,5 +57,7 @@
\
MwLLSetDarkTheme = MwLLSetDarkThemeImpl; \
MwLLDoModern = MwLLDoModernImpl; \
\
MwLLRaise = MwLLRaiseImpl; \
return 0; \
}

View file

@ -351,6 +351,10 @@ static MwBool MwLLDoModernImpl(MwLL handle) {
return MwFALSE;
}
static void MwLLRaiseImpl(MwLL handle) {
(void)handle;
}
static int MwLLClassicMacOSCallInitImpl(void) {
InitGraf(&qd.thePort);
InitFonts();

View file

@ -1164,6 +1164,10 @@ static MwBool MwLLDoModernImpl(MwLL handle) {
return MwTRUE;
}
static void MwLLRaiseImpl(MwLL handle) {
(void)handle;
}
static int MwLLCocoaCallInitImpl(void) {
#ifndef __APPLE__
printf("Using GNUStep Backend\n");

View file

@ -878,6 +878,10 @@ static MwBool MwLLDoModernImpl(MwLL handle) {
return MwTRUE;
}
static void MwLLRaiseImpl(MwLL handle) {
(void)handle;
}
static int MwLLGDICallInitImpl(void) {
void* ntdll;

View file

@ -181,7 +181,7 @@ void MwView::MessageReceived(BMessage* message) {
case BVIEW_MW_GET_MOUSE:
{
BPoint* p;
uint32 btn;
uint32 btn;
if(message->FindPointer("view-ppoint", (void**)&p) != B_OK) break;
@ -217,7 +217,7 @@ void MwView::PostMessage(uint32 command) {
status_t MwView::SendMessage(BMessage* message) {
BMessage copy = *message;
BMessage reply;
MwLL top = this->handle;
MwLL top = this->handle;
while(top->haiku.parent != NULL) top = top->haiku.parent;
@ -730,9 +730,9 @@ void MwLLSetClipboardImpl(MwLL handle, const char* text, int clipboard_type) {}
void MwLLGetClipboardImpl(MwLL handle, int clipboard_type) {}
void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) {
MwLL top = handle;
MwLL top = handle;
BMessage msg(BVIEW_MW_GET_MOUSE);
BPoint p;
BPoint p;
while(top->haiku.parent != NULL) {
top = top->haiku.parent;
}
@ -765,6 +765,10 @@ MwBool MwLLDoModernImpl(MwLL handle) {
return MwTRUE;
}
static void MwLLRaiseImpl(MwLL handle) {
(void)handle;
}
int MwLLHaikuCallInitImpl() {
return 0;
}

View file

@ -2830,6 +2830,10 @@ static void MwLLSetDarkThemeImpl(MwLL handle, int toggle) {
(void)toggle;
}
static void MwLLRaiseImpl(MwLL handle) {
(void)handle;
}
static int MwLLWaylandCallInitImpl(void) {
#ifdef __linux__
MwBool loadWayland = MwFALSE;

View file

@ -80,6 +80,7 @@ static struct symtbl {
void (*XDestroyIC)(XIC);
void (*XSetICFocus)(XIC);
XImage* (*XGetImage)(Display*, Drawable, int, int, unsigned int, unsigned int, unsigned long, int);
int (*XRaiseWindow)(Display*, Window);
XSizeHints* (*XAllocSizeHints)(void);
XVisualInfo* (*XGetVisualInfo)(Display*, long, XVisualInfo*, int*);
@ -182,6 +183,7 @@ static struct symtbl {
#define XPending xsymtbl.XPending
#define XChangeWindowAttributes xsymtbl.XChangeWindowAttributes
#define XGetImage xsymtbl.XGetImage
#define XRaiseWindow xsymtbl.XRaiseWindow
#if USE_XRENDER
#define XRenderFindStandardFormat xsymtbl.XRenderFindStandardFormat
@ -1370,6 +1372,15 @@ static void MwLLSetDarkThemeImpl(MwLL handle, int toggle) {
(void)toggle;
}
static MwBool MwLLDoModernImpl(MwLL handle) {
(void)handle;
return MwTRUE;
}
static void MwLLRaiseImpl(MwLL handle) {
XRaiseWindow(handle->x11.display, handle->x11.window);
}
static int MwLLX11CallInitImpl(void) {
MwBool loadX11 = MwFALSE;
if(getenv("MILSKO_BACKEND")) {
@ -1464,6 +1475,7 @@ static int MwLLX11CallInitImpl(void) {
X11_FUNC_LOAD(XDestroyIC);
X11_FUNC_LOAD(XSetICFocus);
X11_FUNC_LOAD(XGetImage);
X11_FUNC_LOAD(XRaiseWindow);
X11_FUNC_LOAD(XAllocSizeHints);
X11_FUNC_LOAD(XGetVisualInfo);
@ -1491,10 +1503,5 @@ static int MwLLX11CallInitImpl(void) {
return 0;
}
static MwBool MwLLDoModernImpl(MwLL handle) {
(void)handle;
return MwTRUE;
}
#include "call.c"
CALL(X11);

View file

@ -1049,9 +1049,9 @@ void MwReparent(MwWidget handle, MwWidget new_parent) {
MwDispatch(handle->parent, children_update);
}
if(new_parent == NULL){
if(new_parent == NULL) {
handle->top_step = 1;
}else{
} else {
handle->top_step = 0;
}

View file

@ -55,6 +55,8 @@ void (*MwLLSetDarkTheme)(MwLL handle, int toggle) = NULL;
MwBool (*MwLLDoModern)(MwLL handle) = NULL;
void (*MwLLRaise)(MwLL handle) = NULL;
void MwLLCreateCommon(MwLL handle) {
handle->common.handler = malloc(sizeof(*handle->common.handler));
memset(handle->common.handler, 0, sizeof(*handle->common.handler));

View file

@ -355,6 +355,8 @@ static void mouse_down(MwWidget handle, void* ptr) {
sw->base.x = MwGetInteger(handle, MwNx);
sw->base.y = MwGetInteger(handle, MwNy);
}
MwLLRaise(handle->lowlevel);
}
static void func_handler(MwWidget handle, const char* name, void* out, va_list va) {