milsko/src/backend/call.c
IoIxD 9a4c74ad93 Unfinished Wayland PR (#1)
moved from the github repo.

current progress:

<img width="389" alt="image.png" src="attachments/6a2cb365-7348-44b4-8fa7-9980df965a67">

Other notes:

- took the opportunity to remove MwLLSetBackground which I was told was deprecated
- Updated .gitignore to more accurately cover/remove example binaries
- Uses OpenGL as the backend.
- New LL function for swapping buffers, MwLLEndDraw
- [TODO] Uses weak linking for all libraries so that systems that don't support Wayland or even have it installed can launch without it.

Reviewed-on: https://gitea.nishi.boats/pyrite-dev/milsko/pulls/1
Co-authored-by: IoIxD <alphaproject217@gmail.com>
Co-committed-by: IoIxD <alphaproject217@gmail.com>
2025-12-09 20:11:01 -06:00

59 lines
1.7 KiB
C

/* This file gets included by backend */
#define CALL(NAME) \
int MwLL##NAME##CallInit(void) { \
int st; \
\
if((st = MwLL##NAME##CallInitImpl()) != 0) return st; \
\
MwLLCreate = MwLLCreateImpl; \
MwLLDestroy = MwLLDestroyImpl; \
\
MwLLPolygon = MwLLPolygonImpl; \
MwLLLine = MwLLLineImpl; \
MwLLBeginDraw = MwLLBeginDrawImpl; \
MwLLEndDraw = MwLLEndDrawImpl; \
\
MwLLAllocColor = MwLLAllocColorImpl; \
MwLLColorUpdate = MwLLColorUpdateImpl; \
MwLLFreeColor = MwLLFreeColorImpl; \
\
MwLLGetXYWH = MwLLGetXYWHImpl; \
MwLLSetXY = MwLLSetXYImpl; \
MwLLSetWH = MwLLSetWHImpl; \
\
MwLLSetTitle = MwLLSetTitleImpl; \
\
MwLLPending = MwLLPendingImpl; \
MwLLNextEvent = MwLLNextEventImpl; \
\
MwLLCreatePixmap = MwLLCreatePixmapImpl; \
MwLLPixmapUpdate = MwLLPixmapUpdateImpl; \
MwLLDestroyPixmap = MwLLDestroyPixmapImpl; \
MwLLDrawPixmap = MwLLDrawPixmapImpl; \
MwLLSetIcon = MwLLSetIconImpl; \
\
MwLLForceRender = MwLLForceRenderImpl; \
\
MwLLSetCursor = MwLLSetCursorImpl; \
MwLLDetach = MwLLDetachImpl; \
MwLLShow = MwLLShowImpl; \
\
MwLLSetSizeHints = MwLLSetSizeHintsImpl; \
MwLLMakeBorderless = MwLLMakeBorderlessImpl; \
MwLLMakeToolWindow = MwLLMakeToolWindowImpl; \
MwLLMakePopup = MwLLMakePopupImpl; \
\
MwLLBeginStateChange = MwLLBeginStateChangeImpl; \
MwLLEndStateChange = MwLLEndStateChangeImpl; \
\
MwLLFocus = MwLLFocusImpl; \
MwLLGrabPointer = MwLLGrabPointerImpl; \
\
MwLLSetClipboard = MwLLSetClipboardImpl; \
MwLLGetClipboard = MwLLGetClipboardImpl; \
\
MwLLGetCursorCoord = MwLLGetCursorCoordImpl; \
MwLLGetScreenSize = MwLLGetScreenSizeImpl; \
\
return 0; \
}