javauis/nokiauiapi_qt/library/os.cpp
changeset 21 2a9601315dfc
child 23 98ccebc37403
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/nokiauiapi_qt/library/os.cpp	Mon May 03 12:27:20 2010 +0300
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This main entry point of Java processes.
+*
+*/
+
+
+
+#include<QWidget>
+#include <coecntrl.h>
+#include <touchfeedback.h>
+#include <com_nokia_mid_ui_internal_OS.h>
+
+static CCoeControl* convertToSymbian(QWidget* window)
+{
+    CCoeControl* control = 0;
+    if (window && window->winId())
+    {
+        control = reinterpret_cast<CCoeControl*>(window->winId());
+    }
+    return control;
+}
+
+JNIEXPORT void JNICALL Java_com_nokia_mid_ui_internal_OS_MTouchFeedback_1InstantFeedback
+(JNIEnv *, jclass, jint aStyle)
+{
+    MTouchFeedback* feedback = MTouchFeedback::Instance();
+    if (feedback)
+    {
+        feedback->InstantFeedback(static_cast<TTouchLogicalFeedback>(aStyle));
+    }
+}
+
+JNIEXPORT jboolean JNICALL Java_com_nokia_mid_ui_internal_OS_MTouchFeedback_1TouchFeedbackSupported
+(JNIEnv *, jclass)
+{
+    jboolean enabled = JNI_FALSE;
+    MTouchFeedback* feedback = MTouchFeedback::Instance();
+    if (feedback)
+    {
+        enabled = feedback->TouchFeedbackSupported() ? JNI_TRUE : JNI_FALSE;
+    }
+    return enabled;
+}
+
+JNIEXPORT void JNICALL Java_com_nokia_mid_ui_internal_OS_MTouchFeedback_1SetFeedbackArea
+(JNIEnv *, jclass, jint aControl, jint aAreaIndex, jint aX, jint aY, jint aWidth, jint aHeight, jint aStyle)
+{
+    MTouchFeedback* feedback = MTouchFeedback::Instance();
+    if (feedback)
+    {
+        CCoeControl* control = convertToSymbian(reinterpret_cast<QWidget*>(aControl));
+        TRect feedbackRect(aX, aY, aX + aWidth, aY + aHeight);
+        feedback->SetFeedbackArea(control,
+                                  static_cast<TUint32>(aAreaIndex),
+                                  feedbackRect,
+                                  static_cast<TTouchLogicalFeedback>(aStyle),
+                                  ETouchEventStylusDown);
+    }
+}
+
+JNIEXPORT void JNICALL Java_com_nokia_mid_ui_internal_OS_MTouchFeedback_1RemoveFeedbackArea
+(JNIEnv *, jclass, jint aControl, jint aAreaIndex)
+{
+    MTouchFeedback* feedback = MTouchFeedback::Instance();
+    if (feedback)
+    {
+        CCoeControl* control = convertToSymbian(reinterpret_cast<QWidget*>(aControl));
+        feedback->RemoveFeedbackArea(control, aAreaIndex);
+    }
+}
+
+JNIEXPORT void JNICALL Java_com_nokia_mid_ui_internal_OS_MTouchFeedback_1RemoveFeedbackForControl
+(JNIEnv *, jclass, jint aControl)
+{
+    MTouchFeedback* feedback = MTouchFeedback::Instance();
+    if (feedback)
+    {
+        CCoeControl* control = convertToSymbian(reinterpret_cast<QWidget*>(aControl));
+        feedback->RemoveFeedbackForControl(control);
+    }
+}
+
+JNIEXPORT void JNICALL Java_com_nokia_mid_ui_internal_OS_MTouchFeedback_1MoveFeedbackAreaToFirstPriority
+(JNIEnv *, jclass, jint aControl, jint aAreaIndex)
+{
+    MTouchFeedback* feedback = MTouchFeedback::Instance();
+    if (feedback)
+    {
+        CCoeControl* control = convertToSymbian(reinterpret_cast<QWidget*>(aControl));
+        feedback->MoveFeedbackAreaToFirstPriority(control, static_cast<TUint32>(aAreaIndex));
+    }
+}
+
+
+