/*
 * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
 */

#import <jni.h>
#import <pthread.h>

extern pthread_key_t GlassThreadDataKey;

extern JavaVM *jVM;
extern JNIEnv *jEnv;

extern jclass jWindowClass;
extern jclass jViewClass;
extern jclass jGestureSupportClass;

extern jclass jScreenClass;
extern jclass jMenuBarDelegateClass;
extern jclass jIntegerClass;
extern jclass jMapClass;
extern jclass jBooleanClass;

extern jmethodID jRunnableRun;

extern jmethodID jWindowNotifyMove;
extern jmethodID jWindowNotifyResize;
extern jmethodID jWindowNotifyClose;
extern jmethodID jWindowNotifyMoveToAnotherScreen;
extern jmethodID jWindowNotifyFocus;
extern jmethodID jWindowNotifyFocusUngrab;
extern jmethodID jWindowNotifyFocusDisabled;
extern jmethodID jWindowNotifyDestroy;
extern jmethodID jWindowNotifyDelegatePtr;

extern jmethodID jHandleViewEvent;
extern jmethodID jViewNotifyRepaint;
extern jmethodID jViewNotifyResize;
extern jmethodID jViewNotifyKey;
extern jmethodID jViewNotifyMouse;
extern jmethodID jViewNotifyMenu;
extern jmethodID jViewNotifyScroll;
extern jmethodID jViewNotifyInputMethod;
extern jmethodID jViewNotifyDragEnter;
extern jmethodID jViewNotifyDragOver;
extern jmethodID jViewNotifyDragLeave;
extern jmethodID jViewNotifyDragDrop;
extern jmethodID jViewNotifyDragEnd;

extern jmethodID jGestureSupportRotateGesturePerformed;
extern jmethodID jGestureSupportScrollGesturePerformed;
extern jmethodID jGestureSupportSwipeGesturePerformed;
extern jmethodID jGestureSupportMagnifyGesturePerformed;
extern jmethodID jGestureSupportGestureFinished;
extern jmethodID jGestureSupportNotifyBeginTouchEvent;
extern jmethodID jGestureSupportNotifyNextTouchEvent;
extern jmethodID jGestureSupportNotifyEndTouchEvent;

extern jmethodID jMapGetMethod;
extern jmethodID jBooleanValueMethod;
extern jmethodID jIntegerValueMethod;
extern jmethodID jListAddMethod;

extern jmethodID jSizeInit;

extern jmethodID jPixelsAttachData;
