Compile fix, cleanup

This commit is contained in:
Joshua Granick
2016-10-24 17:46:54 -07:00
parent fe13ea21f3
commit 384fdf2942
5 changed files with 59 additions and 34 deletions

View File

@@ -1,34 +1,56 @@
package lime.ui;
#if android
import lime.system.JNI;
#elseif (lime_cffi && !macro)
import lime.system.CFFI;
import lime.utils.Log;
#if !macro
@:build(lime.system.CFFI.build())
#end
class Haptic {
#if ( android || ios )
private static var __vibrate:Int->Int->Void = null;
#end
public static function vibrate(period:Int, duration:Int){
public static function vibrate (period:Int, duration:Int):Void {
#if android
if(__vibrate==null){
__vibrate = JNI.createStaticMethod("org/haxe/lime/GameActivity", "vibrate", "(II)V");
if (lime_haptic_vibrate == null) {
lime_haptic_vibrate = JNI.createStaticMethod ("org/haxe/lime/GameActivity", "vibrate", "(II)V");
}
try {
// This will raise an exception if you don't have VIBRATE permission
__vibrate(period, duration);
lime_haptic_vibrate (period, duration);
} catch (e:Dynamic) {
trace("JNI Exception: Have you added VIBRATE permission?");
Log.warn ("Haptic.vibrate is not available (the VIBRATE permission may be missing)");
}
#elseif ios
if(__vibrate == null){
__vibrate = CFFI.load ("lime", "lime_haptic_vibrate", 2);
}
__vibrate(period, duration);
#else
lime_haptic_vibrate (period, duration);
#end
}
// Native Methods
#if android
private static var lime_haptic_vibrate (period:Int, duration:Int):Void;
#elseif (lime_cffi && !macro)
@:cffi private static function lime_haptic_vibrate (period:Int, duration:Int):Void;
#end
}

View File

@@ -8,9 +8,8 @@ namespace lime {
class Haptic {
public:
#ifdef IPHONE
static void Vibrate (int period, int duration);
#endif
};

View File

@@ -697,6 +697,7 @@ namespace lime {
}
void lime_haptic_vibrate (int period, int duration) {
#ifdef IPHONE
@@ -705,6 +706,7 @@ namespace lime {
}
value lime_image_encode (value buffer, int type, int quality, value bytes) {
ImageBuffer imageBuffer = ImageBuffer (buffer);
@@ -1677,7 +1679,7 @@ namespace lime {
DEFINE_PRIME1 (lime_gamepad_get_device_name);
DEFINE_PRIME2 (lime_gzip_compress);
DEFINE_PRIME2 (lime_gzip_decompress);
DEFINE_PRIME2 (lime_haptic_vibrate);
DEFINE_PRIME2v (lime_haptic_vibrate);
DEFINE_PRIME3v (lime_image_data_util_color_transform);
DEFINE_PRIME6v (lime_image_data_util_copy_channel);
DEFINE_PRIME7v (lime_image_data_util_copy_pixels);

View File

@@ -2,6 +2,7 @@
#import <AudioToolbox/AudioServices.h>
namespace lime {

View File

@@ -40,6 +40,7 @@ public class GameActivity extends SDLActivity {
}
public static void vibrate (int period, int duration) {
Vibrator v = (Vibrator)mSingleton.getSystemService (Context.VIBRATOR_SERVICE);