diff options
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.c')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.c | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.c deleted file mode 100644 index 4f85d99ca7..0000000000 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/library/os_custom.c +++ /dev/null @@ -1,134 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2008 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -#include "swt.h" -#include "os_structs.h" -#include "os_stats.h" - -#define OS_NATIVE(func) Java_org_eclipse_swt_internal_win32_OS_##func - -__declspec(dllexport) HRESULT DllGetVersion(DLLVERSIONINFO *dvi); -HRESULT DllGetVersion(DLLVERSIONINFO *dvi) -{ - dvi->dwMajorVersion = SWT_VERSION / 1000; - dvi->dwMinorVersion = SWT_VERSION % 1000; - dvi->dwBuildNumber = 0; - dvi->dwPlatformID = DLLVER_PLATFORM_WINDOWS; - return 1; -} - -HINSTANCE g_hInstance = NULL; -BOOL WINAPI DllMain(HANDLE hInstDLL, DWORD dwReason, LPVOID lpvReserved) -{ - if (dwReason == DLL_PROCESS_ATTACH) { - if (g_hInstance == NULL) g_hInstance = hInstDLL; - } - return TRUE; -} - -#ifndef NO_GetLibraryHandle -JNIEXPORT jintLong JNICALL OS_NATIVE(GetLibraryHandle) - (JNIEnv *env, jclass that) -{ - jintLong rc; - OS_NATIVE_ENTER(env, that, GetLibraryHandle_FUNC) - rc = (jintLong)g_hInstance; - OS_NATIVE_EXIT(env, that, GetLibraryHandle_FUNC) - return rc; -} -#endif - -#ifndef NO_IsPPC -JNIEXPORT jboolean JNICALL OS_NATIVE(IsPPC) - (JNIEnv *env, jclass that) -{ - jboolean rc; - OS_NATIVE_ENTER(env, that, IsPPC_FUNC) -#ifdef WIN32_PLATFORM_PSPC - rc = (jboolean)TRUE; -#else - rc = (jboolean)FALSE; -#endif - OS_NATIVE_EXIT(env, that, IsPPC_FUNC) - return rc; -} -#endif - -#ifndef NO_IsSP -JNIEXPORT jboolean JNICALL OS_NATIVE(IsSP) - (JNIEnv *env, jclass that) -{ - jboolean rc; - OS_NATIVE_ENTER(env, that, IsSP_FUNC) -#ifdef WIN32_PLATFORM_WFSP - rc = (jboolean)TRUE; -#else - rc = (jboolean)FALSE; -#endif - OS_NATIVE_EXIT(env, that, IsSP_FUNC) - return rc; -} -#endif - -#if (!defined(NO_SendMessageW__II_3I_3I) && !defined(JNI64)) || (!defined(SendMessageW__JI_3I_3I) && defined(JNI64)) -#ifdef JNI64 -JNIEXPORT jintLong JNICALL OS_NATIVE(SendMessageW__JI_3I_3I) -#else -JNIEXPORT jintLong JNICALL OS_NATIVE(SendMessageW__II_3I_3I) -#endif - (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jintArray arg2, jintArray arg3) -{ - jint *lparg2=NULL; - jint *lparg3=NULL; - jintLong rc = 0; -#ifdef JNI64 - OS_NATIVE_ENTER(env, that, SendMessageW__JI_3I_3I_FUNC) -#else - OS_NATIVE_ENTER(env, that, SendMessageW__II_3I_3I_FUNC) -#endif - if (arg2) if ((lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL)) == NULL) goto fail; - if (arg3) if ((lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL)) == NULL) goto fail; -#ifdef _WIN32_WCE - /* - * Bug on WinCE. SendMessage can fail (return 0) when being passed references - * to parameters allocated from the heap. The workaround is to allocate - * the parameters on the stack and to copy them back to the java array. - * Observed on Pocket PC WinCE 3.0 with EM_GETSEL and CB_GETEDITSEL messages. - */ - switch (arg1) { - case EM_GETSEL: - case CB_GETEDITSEL: { - jint wParam = 0, lParam = 0; - jintLong *lpwParam = NULL, *lplParam = NULL; - if (lparg2 != NULL) lpwParam = &wParam; - if (lparg3 != NULL) lplParam = &lParam; - rc = (jintLong)SendMessageW((HWND)arg0, arg1, (WPARAM)lpwParam, (LPARAM)lplParam); - if (lparg2 != NULL) lparg2[0] = wParam; - if (lparg3 != NULL) lparg3[0] = lParam; - break; - } - default: - rc = (jintLong)SendMessageW((HWND)arg0, arg1, (WPARAM)lparg2, (LPARAM)lparg3); - } -#else - rc = (jintLong)SendMessageW((HWND)arg0, arg1, (WPARAM)lparg2, (LPARAM)lparg3); -#endif -fail: - if (arg2 && lparg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0); - if (arg3 && lparg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0); -#ifdef JNI64 - OS_NATIVE_EXIT(env, that, SendMessageW__JI_3I_3I_FUNC) -#else - OS_NATIVE_EXIT(env, that, SendMessageW__II_3I_3I_FUNC) -#endif - return rc; -} -#endif |