X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.eclipse.swt.win32.win32.x86_64%2Flibrary%2Fcallback.h;fp=bundles%2Forg.eclipse.swt.win32.win32.x86_64%2Flibrary%2Fcallback.h;h=a9bc844c73ca3bc33ccdf7e20bd741a14d0be0c1;hb=6b98970d0458754dd67f789afbd0a39e1e7ac6eb;hp=0000000000000000000000000000000000000000;hpb=56a61575ce0d27b340cb12438c8a7f303842095e;p=simantics%2Fplatform.git diff --git a/bundles/org.eclipse.swt.win32.win32.x86_64/library/callback.h b/bundles/org.eclipse.swt.win32.win32.x86_64/library/callback.h new file mode 100644 index 000000000..a9bc844c7 --- /dev/null +++ b/bundles/org.eclipse.swt.win32.win32.x86_64/library/callback.h @@ -0,0 +1,71 @@ +/******************************************************************************* + * Copyright (c) 2000, 2011 IBM Corporation and others. + * + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ + +/** + * Callback implementation. + */ +#ifndef INC_callback_H +#define INC_callback_H + +#include "swt.h" + +#if defined (_WIN32) || defined (_WIN32_WCE) +#include "windows.h" +#define RETURN_TYPE LRESULT CALLBACK +#define RETURN_CAST (LRESULT) +#endif + +#if defined COCOA +#import +#endif + +#ifndef RETURN_TYPE +#define RETURN_TYPE jintLong +#endif + +#ifndef RETURN_CAST +#define RETURN_CAST +#endif + +/* +* Note that only x86 assembler is supported +*/ +#if !(defined(__i386__) || defined(_M_IX86) || defined(_X86_)) +#undef USE_ASSEMBLER +#endif + +#ifdef REDUCED_CALLBACKS +#define MAX_CALLBACKS 16 +#else +#if (defined(USE_ASSEMBLER) || defined(GTK)) +#define MAX_CALLBACKS 256 +#else +#define MAX_CALLBACKS 128 +#endif +#endif /* REDUCED_CALLBACKS */ + +#define MAX_ARGS 12 + +typedef struct CALLBACK_DATA { + jobject callback; + jmethodID methodID; + jobject object; + jboolean isStatic; + jboolean isArrayBased; + jint argCount; + jintLong errorResult; +} CALLBACK_DATA; + +#endif /* ifndef INC_callback_H */ +