ui/wpf/UIwrapper/UIwrapper/toolkit.h

Thu, 03 Oct 2024 11:42:14 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Thu, 03 Oct 2024 11:42:14 +0200
branch
newapi
changeset 320
be224cf1f50e
parent 135
b9dc9cdfa23a
permissions
-rw-r--r--

add alternative ui_dialog implementation for libadwaita

// UIwrapper.h

#pragma once

#include <vcclr.h>

using namespace System;
using namespace System::Runtime::InteropServices;
using namespace System::Threading;
using namespace System::Windows;
using namespace System::Windows::Controls;

#define UI_EXPORT extern "C" __declspec(dllexport)

extern "C" typedef void(*UIcallback)(void*, void*);

void* ObjectToPtr(Object ^obj);
Object^ PtrToObject(void *ptr);

public ref class ObjEventWrapper {
	UIcallback callback = NULL;
	void *eventdata = NULL;
	Action<IntPtr> ^action;

public:
	ObjEventWrapper(UIcallback callback, void *eventdata);

	Action<IntPtr>^ GetAction();

	void Callback(IntPtr uiobj);
};

public ref class EventWrapper {
	UIcallback callback = NULL;
	void *eventdata = NULL;
	

public:
	EventWrapper(UIcallback callback, void *eventdata);
	void Callback(Object ^sender, RoutedEventArgs ^e);
};

mercurial