feat: move Files to its own process; add window server messaging (multi-format clipboard, drag and drop), undo/redo, sidebar, breadcrumbs, thumbnails, file type icons, New menu and proper text fields
This commit is contained in:
1 parent
07191b1286
commit
d3e49a925d
66 files changed
+6855
-905
No files matched your search
@@ -795,6 +795,20 @@ namespace montauk {
|
||||
inline int clipboard_clear() {
|
||||
return (int)syscall0(montauk::abi::SYS_CLIPBOARD_CLEAR);
|
||||
}
|
||||
// Multi-format clipboard. The text calls above operate on its
|
||||
// TRANSFER_MIME_TEXT format; gui/transfer.hpp has friendlier helpers.
|
||||
inline int clipboard_set_data(const montauk::abi::TransferItem* items, uint32_t count) {
|
||||
return (int)syscall2(montauk::abi::SYS_CLIPBOARD_SET_DATA, (uint64_t)items, (uint64_t)count);
|
||||
}
|
||||
inline int clipboard_formats(montauk::abi::TransferFormatInfo* out, uint32_t max,
|
||||
uint64_t* outSerial = nullptr) {
|
||||
return (int)syscall3(montauk::abi::SYS_CLIPBOARD_FORMATS, (uint64_t)out, (uint64_t)max,
|
||||
(uint64_t)outSerial);
|
||||
}
|
||||
inline int clipboard_get_data(const char* mime, void* buf, uint32_t bufLen, uint32_t* outLen) {
|
||||
return (int)syscall4(montauk::abi::SYS_CLIPBOARD_GET_DATA, (uint64_t)mime, (uint64_t)buf,
|
||||
(uint64_t)bufLen, (uint64_t)outLen);
|
||||
}
|
||||
|
||||
// Window server
|
||||
inline int win_create(const char* title, int w, int h, montauk::abi::WinCreateResult* result) {
|
||||
@@ -837,4 +851,26 @@ namespace montauk {
|
||||
return (int)syscall2(montauk::abi::SYS_WINSETFLAGS, (uint64_t)id, (uint64_t)flags);
|
||||
}
|
||||
|
||||
// Window server messaging (see Api/Syscall.hpp, gui/transfer.hpp).
|
||||
inline int win_request(int id, const montauk::abi::WinRequest* request) {
|
||||
return (int)syscall2(montauk::abi::SYS_WIN_REQUEST, (uint64_t)id, (uint64_t)request);
|
||||
}
|
||||
inline int win_request_poll(montauk::abi::WinRequest* out) {
|
||||
return (int)syscall1(montauk::abi::SYS_WIN_REQUEST_POLL, (uint64_t)out);
|
||||
}
|
||||
inline int win_drag_begin(int id, const montauk::abi::WinDragBegin* info,
|
||||
const montauk::abi::TransferItem* items, uint32_t count) {
|
||||
return (int)syscall4(montauk::abi::SYS_WIN_DRAG_BEGIN, (uint64_t)id, (uint64_t)info,
|
||||
(uint64_t)items, (uint64_t)count);
|
||||
}
|
||||
inline int win_drag_formats(uint32_t serial, montauk::abi::TransferFormatInfo* out, uint32_t max) {
|
||||
return (int)syscall3(montauk::abi::SYS_WIN_DRAG_FORMATS, (uint64_t)serial, (uint64_t)out,
|
||||
(uint64_t)max);
|
||||
}
|
||||
inline int win_drag_get_data(uint32_t serial, const char* mime, void* buf, uint32_t bufLen,
|
||||
uint32_t* outLen) {
|
||||
return (int)syscall5(montauk::abi::SYS_WIN_DRAG_GET_DATA, (uint64_t)serial, (uint64_t)mime,
|
||||
(uint64_t)buf, (uint64_t)bufLen, (uint64_t)outLen);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user