< prev index next >

modules/graphics/src/main/native-glass/gtk/GlassWindow.cpp

Print this page




  38 static WindowFrameType glass_mask_to_window_frame_type(jint mask) {
  39     if (mask & com_sun_glass_ui_gtk_GtkWindow_TRANSPARENT) {
  40         return TRANSPARENT;
  41     }
  42     if (mask & com_sun_glass_ui_gtk_GtkWindow_TITLED) {
  43         return TITLED;
  44     }
  45     return UNTITLED;
  46 }
  47 
  48 static WindowType glass_mask_to_window_type(jint mask) {
  49     if (mask & com_sun_glass_ui_gtk_GtkWindow_POPUP) {
  50         return POPUP;
  51     }
  52     if (mask & com_sun_glass_ui_gtk_GtkWindow_UTILITY) {
  53         return UTILITY;
  54     }
  55     return NORMAL;
  56 }
  57 
















  58 extern "C" {
  59 
  60 /*
  61  * Class:     com_sun_glass_ui_gtk_GtkWindow
  62  * Method:    _createWindow
  63  * Signature: (JJI)J
  64  */
  65 JNIEXPORT jlong JNICALL Java_com_sun_glass_ui_gtk_GtkWindow__1createWindow
  66   (JNIEnv * env, jobject obj, jlong owner, jlong screen, jint mask)
  67 {
  68     (void)env;
  69 
  70     WindowContext* ctx = new WindowContextTop(obj,
  71             (WindowContext*)JLONG_TO_PTR(owner),
  72             screen,
  73             glass_mask_to_window_frame_type(mask),
  74             glass_mask_to_window_type(mask));


  75 
  76     return PTR_TO_JLONG(ctx);
  77 }
  78 
  79 /*
  80  * Class:     com_sun_glass_ui_gtk_GtkWindow
  81  * Method:    _createChildWindow
  82  * Signature: (J)J
  83  */
  84 JNIEXPORT jlong JNICALL Java_com_sun_glass_ui_gtk_GtkWindow__1createChildWindow
  85   (JNIEnv * env, jobject obj , jlong owner)
  86 {
  87     (void)env;
  88 
  89     GdkWindow *parent_window = NULL;
  90     GtkWidget *parent_widget = NULL;
  91     WindowContextPlug *parent_ctx = NULL;
  92     WindowContext *ctx = NULL;
  93 
  94     parent_window = GLASS_GDK_WINDOW_LOOKUP_FOR_DISPLAY(




  38 static WindowFrameType glass_mask_to_window_frame_type(jint mask) {
  39     if (mask & com_sun_glass_ui_gtk_GtkWindow_TRANSPARENT) {
  40         return TRANSPARENT;
  41     }
  42     if (mask & com_sun_glass_ui_gtk_GtkWindow_TITLED) {
  43         return TITLED;
  44     }
  45     return UNTITLED;
  46 }
  47 
  48 static WindowType glass_mask_to_window_type(jint mask) {
  49     if (mask & com_sun_glass_ui_gtk_GtkWindow_POPUP) {
  50         return POPUP;
  51     }
  52     if (mask & com_sun_glass_ui_gtk_GtkWindow_UTILITY) {
  53         return UTILITY;
  54     }
  55     return NORMAL;
  56 }
  57 
  58 static GdkWMFunction glass_mask_to_wm_function(jint mask) {
  59     int func = GDK_FUNC_RESIZE | GDK_FUNC_MOVE;
  60 
  61     if (mask & com_sun_glass_ui_gtk_GtkWindow_CLOSABLE) {
  62         func |= GDK_FUNC_CLOSE;
  63     }
  64     if (mask & com_sun_glass_ui_gtk_GtkWindow_MAXIMIZABLE) {
  65         func |= GDK_FUNC_MAXIMIZE;
  66     }
  67     if (mask & com_sun_glass_ui_gtk_GtkWindow_MINIMIZABLE) {
  68         func |= GDK_FUNC_MINIMIZE;
  69     }
  70 
  71     return (GdkWMFunction) func;
  72 }
  73 
  74 extern "C" {
  75 
  76 /*
  77  * Class:     com_sun_glass_ui_gtk_GtkWindow
  78  * Method:    _createWindow
  79  * Signature: (JJI)J
  80  */
  81 JNIEXPORT jlong JNICALL Java_com_sun_glass_ui_gtk_GtkWindow__1createWindow
  82   (JNIEnv * env, jobject obj, jlong owner, jlong screen, jint mask)
  83 {
  84     (void)env;
  85 
  86     WindowContext* ctx = new WindowContextTop(obj,
  87             (WindowContext*)JLONG_TO_PTR(owner),
  88             screen,
  89             glass_mask_to_window_frame_type(mask),
  90             glass_mask_to_window_type(mask),
  91             glass_mask_to_wm_function(mask)
  92             );
  93 
  94     return PTR_TO_JLONG(ctx);
  95 }
  96 
  97 /*
  98  * Class:     com_sun_glass_ui_gtk_GtkWindow
  99  * Method:    _createChildWindow
 100  * Signature: (J)J
 101  */
 102 JNIEXPORT jlong JNICALL Java_com_sun_glass_ui_gtk_GtkWindow__1createChildWindow
 103   (JNIEnv * env, jobject obj , jlong owner)
 104 {
 105     (void)env;
 106 
 107     GdkWindow *parent_window = NULL;
 108     GtkWidget *parent_widget = NULL;
 109     WindowContextPlug *parent_ctx = NULL;
 110     WindowContext *ctx = NULL;
 111 
 112     parent_window = GLASS_GDK_WINDOW_LOOKUP_FOR_DISPLAY(


< prev index next >