diff options
author | Silenio Quarti <silenio> | 2002-03-18 17:23:39 +0000 |
---|---|---|
committer | Silenio Quarti <silenio> | 2002-03-18 17:23:39 +0000 |
commit | 32e3f63cbd1057feae4c4436db81e59de021daf6 (patch) | |
tree | 7914aafd65954295d8c59bf624781815d85cea06 /bundles/org.eclipse.swt | |
parent | 81b69e387cdd58484952ce2e04785a8dfecf0969 (diff) | |
download | eclipse.platform.swt-32e3f63cbd1057feae4c4436db81e59de021daf6.tar.gz eclipse.platform.swt-32e3f63cbd1057feae4c4436db81e59de021daf6.tar.xz eclipse.platform.swt-32e3f63cbd1057feae4c4436db81e59de021daf6.zip |
*** empty log message ***
Diffstat (limited to 'bundles/org.eclipse.swt')
20 files changed, 438 insertions, 400 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.c index fdda81656b..3feeb99c7f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.c @@ -25,6 +25,7 @@ GdkFont_FID_CACHE GdkFontFc; GdkGCValues_FID_CACHE GdkGCValuesFc; GdkRectangle_FID_CACHE GdkRectangleFc; GdkVisual_FID_CACHE GdkVisualFc; +GdkImage_FID_CACHE GdkImageFc; GtkAdjustment_FID_CACHE GtkAdjustmentFc; GtkAllocation_FID_CACHE GtkAllocationFc; @@ -69,10 +70,10 @@ void cacheGdkEventExposeFids(JNIEnv *env, jobject lpGdkEventExpose, PGdkEventExp if (lpCache->cached) return; lpCache->GdkEventExposeClass = (*env)->GetObjectClass(env, lpGdkEventExpose); - lpCache->x = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "x", "S"); - lpCache->y = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "y", "S"); - lpCache->width = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "width", "S"); - lpCache->height = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "height", "S"); + lpCache->x = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "x", "I"); + lpCache->y = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "y", "I"); + lpCache->width = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "width", "I"); + lpCache->height = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "height", "I"); lpCache->region = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "region", "I"); lpCache->count = (*env)->GetFieldID(env, lpCache->GdkEventExposeClass, "count", "I"); @@ -130,10 +131,10 @@ void cacheGdkRectangleFids(JNIEnv *env, jobject lpGdkRectangle, PGdkRectangle_FI if (lpCache->cached) return; lpCache->GdkRectangleClass = (*env)->GetObjectClass(env, lpGdkRectangle); - lpCache->x = (*env)->GetFieldID(env, lpCache->GdkRectangleClass, "x", "S"); - lpCache->y = (*env)->GetFieldID(env, lpCache->GdkRectangleClass, "y", "S"); - lpCache->width = (*env)->GetFieldID(env, lpCache->GdkRectangleClass, "width", "S"); - lpCache->height = (*env)->GetFieldID(env, lpCache->GdkRectangleClass, "height", "S"); + lpCache->x = (*env)->GetFieldID(env, lpCache->GdkRectangleClass, "x", "I"); + lpCache->y = (*env)->GetFieldID(env, lpCache->GdkRectangleClass, "y", "I"); + lpCache->width = (*env)->GetFieldID(env, lpCache->GdkRectangleClass, "width", "I"); + lpCache->height = (*env)->GetFieldID(env, lpCache->GdkRectangleClass, "height", "I"); lpCache->cached = 1; }; @@ -161,6 +162,27 @@ void cacheGdkVisualFids(JNIEnv *env, jobject lpGdkVisual, PGdkVisual_FID_CACHE l lpCache->cached = 1; }; +void cacheGdkImageFids(JNIEnv *env, jobject lpGdkImage, PGdkImage_FID_CACHE lpCache) +{ + if (lpCache->cached) return; + + lpCache->GdkImageClass = (*env)->GetObjectClass(env, lpGdkImage); + lpCache->type = (*env)->GetFieldID(env, lpCache->GdkImageClass, "type", "I"); + lpCache->visual = (*env)->GetFieldID(env, lpCache->GdkImageClass, "visual", "I"); + lpCache->byte_order = (*env)->GetFieldID(env, lpCache->GdkImageClass, "byte_order", "I"); + lpCache->width = (*env)->GetFieldID(env, lpCache->GdkImageClass, "width", "I"); + lpCache->height = (*env)->GetFieldID(env, lpCache->GdkImageClass, "height", "I"); + lpCache->depth = (*env)->GetFieldID(env, lpCache->GdkImageClass, "depth", "S"); + lpCache->bpp = (*env)->GetFieldID(env, lpCache->GdkImageClass, "bpp", "S"); + lpCache->bpl = (*env)->GetFieldID(env, lpCache->GdkImageClass, "bpl", "S"); + lpCache->bits_per_pixel = (*env)->GetFieldID(env, lpCache->GdkImageClass, "bits_per_pixel", "S"); + lpCache->mem = (*env)->GetFieldID(env, lpCache->GdkImageClass, "mem", "I"); + lpCache->colormap = (*env)->GetFieldID(env, lpCache->GdkImageClass, "colormap", "I"); + lpCache->windowing_data = (*env)->GetFieldID(env, lpCache->GdkImageClass, "windowing_data", "I"); + + lpCache->cached = 1; +}; + void cacheGtkAllocationFids(JNIEnv *env, jobject lpGtkAllocation, PGtkAllocation_FID_CACHE lpCache) { if (lpCache->cached) return; @@ -603,21 +625,21 @@ void setGdkColorFields(JNIEnv *env, jobject lpObject, GdkColor *lpGdkColor, GdkC void getGdkEventExposeFields(JNIEnv *env, jobject lpObject, GdkEvent *lpGdkEvent, GdkEventExpose_FID_CACHE *lpGdkEventExposeFc) { GdkEventExpose *lpGdkEventExpose = (GdkEventExpose*)lpGdkEvent; - lpGdkEventExpose->area.x = (*env)->GetShortField(env, lpObject, lpGdkEventExposeFc->x); - lpGdkEventExpose->area.y = (*env)->GetShortField(env, lpObject, lpGdkEventExposeFc->y); - lpGdkEventExpose->area.width = (*env)->GetShortField(env, lpObject, lpGdkEventExposeFc->width); - lpGdkEventExpose->area.height = (*env)->GetShortField(env, lpObject, lpGdkEventExposeFc->height); - lpGdkEventExpose->region = (*env)->GetIntField(env, lpObject, lpGdkEventExposeFc->region); + lpGdkEventExpose->area.x = (*env)->GetIntField(env, lpObject, lpGdkEventExposeFc->x); + lpGdkEventExpose->area.y = (*env)->GetIntField(env, lpObject, lpGdkEventExposeFc->y); + lpGdkEventExpose->area.width = (*env)->GetIntField(env, lpObject, lpGdkEventExposeFc->width); + lpGdkEventExpose->area.height = (*env)->GetIntField(env, lpObject, lpGdkEventExposeFc->height); + lpGdkEventExpose->region = (GdkRegion *)(*env)->GetIntField(env, lpObject, lpGdkEventExposeFc->region); lpGdkEventExpose->count = (*env)->GetIntField(env, lpObject, lpGdkEventExposeFc->count); } void setGdkEventExposeFields(JNIEnv *env, jobject lpObject, GdkEvent *lpGdkEvent, GdkEventExpose_FID_CACHE *lpGdkEventExposeFc) { GdkEventExpose *lpGdkEventExpose = (GdkEventExpose*)lpGdkEvent; - (*env)->SetShortField(env, lpObject, lpGdkEventExposeFc->x, (jshort)lpGdkEventExpose->area.x); - (*env)->SetShortField(env, lpObject, lpGdkEventExposeFc->y, (jshort)lpGdkEventExpose->area.y); - (*env)->SetShortField(env, lpObject, lpGdkEventExposeFc->width, (jshort)lpGdkEventExpose->area.width); - (*env)->SetShortField(env, lpObject, lpGdkEventExposeFc->height, (jshort)lpGdkEventExpose->area.height); + (*env)->SetIntField(env, lpObject, lpGdkEventExposeFc->x, (jshort)lpGdkEventExpose->area.x); + (*env)->SetIntField(env, lpObject, lpGdkEventExposeFc->y, (jshort)lpGdkEventExpose->area.y); + (*env)->SetIntField(env, lpObject, lpGdkEventExposeFc->width, (jshort)lpGdkEventExpose->area.width); + (*env)->SetIntField(env, lpObject, lpGdkEventExposeFc->height, (jshort)lpGdkEventExpose->area.height); (*env)->SetIntField(env, lpObject, lpGdkEventExposeFc->count, (jint)lpGdkEventExpose->count); } @@ -693,18 +715,18 @@ void setGdkGCValuesFields(JNIEnv *env, jobject lpObject, GdkGCValues *lpGdkGCVal void getGdkRectangleFields(JNIEnv *env, jobject lpObject, GdkRectangle *lpGdkRectangle, GdkRectangle_FID_CACHE *lpGdkRectangleFc) { - lpGdkRectangle->x = (*env)->GetShortField(env, lpObject, lpGdkRectangleFc->x); - lpGdkRectangle->y = (*env)->GetShortField(env, lpObject, lpGdkRectangleFc->y); - lpGdkRectangle->width = (*env)->GetShortField(env, lpObject, lpGdkRectangleFc->width); - lpGdkRectangle->height = (*env)->GetShortField(env, lpObject, lpGdkRectangleFc->height); + lpGdkRectangle->x = (*env)->GetIntField(env, lpObject, lpGdkRectangleFc->x); + lpGdkRectangle->y = (*env)->GetIntField(env, lpObject, lpGdkRectangleFc->y); + lpGdkRectangle->width = (*env)->GetIntField(env, lpObject, lpGdkRectangleFc->width); + lpGdkRectangle->height = (*env)->GetIntField(env, lpObject, lpGdkRectangleFc->height); } void setGdkRectangleFields(JNIEnv *env, jobject lpObject, GdkRectangle *lpGdkRectangle, GdkRectangle_FID_CACHE *lpGdkRectangleFc) { - (*env)->SetShortField(env, lpObject, lpGdkRectangleFc->x, (jshort)lpGdkRectangle->x); - (*env)->SetShortField(env, lpObject, lpGdkRectangleFc->y, (jshort)lpGdkRectangle->y); - (*env)->SetShortField(env, lpObject, lpGdkRectangleFc->width, (jshort)lpGdkRectangle->width); - (*env)->SetShortField(env, lpObject, lpGdkRectangleFc->height, (jshort)lpGdkRectangle->height); + (*env)->SetIntField(env, lpObject, lpGdkRectangleFc->x, (jshort)lpGdkRectangle->x); + (*env)->SetIntField(env, lpObject, lpGdkRectangleFc->y, (jshort)lpGdkRectangle->y); + (*env)->SetIntField(env, lpObject, lpGdkRectangleFc->width, (jshort)lpGdkRectangle->width); + (*env)->SetIntField(env, lpObject, lpGdkRectangleFc->height, (jshort)lpGdkRectangle->height); } void getGdkVisualFields(JNIEnv *env, jobject lpObject, GdkVisual *lpGdkVisual, GdkVisual_FID_CACHE *lpGdkVisualFc) @@ -743,6 +765,38 @@ void setGdkVisualFields(JNIEnv *env, jobject lpObject, GdkVisual *lpGdkVisual, G (*env)->SetIntField(env, lpObject, lpGdkVisualFc->blue_prec, (jint)lpGdkVisual->blue_prec); } +void getGdkImageFields(JNIEnv *env, jobject lpObject, GdkImage *lpGdkImage, GdkImage_FID_CACHE *lpGdkImageFc) +{ + lpGdkImage->type = (*env)->GetIntField(env, lpObject, lpGdkImageFc->type); + lpGdkImage->visual = (GdkVisual *)(*env)->GetIntField(env, lpObject, lpGdkImageFc->visual); + lpGdkImage->byte_order = (*env)->GetIntField(env, lpObject, lpGdkImageFc->byte_order); + lpGdkImage->width = (*env)->GetIntField(env, lpObject, lpGdkImageFc->width); + lpGdkImage->height = (*env)->GetIntField(env, lpObject, lpGdkImageFc->height); + lpGdkImage->depth = (*env)->GetShortField(env, lpObject, lpGdkImageFc->depth); + lpGdkImage->bpp = (*env)->GetShortField(env, lpObject, lpGdkImageFc->bpp); + lpGdkImage->bpl = (*env)->GetShortField(env, lpObject, lpGdkImageFc->bpl); + lpGdkImage->bits_per_pixel = (*env)->GetShortField(env, lpObject, lpGdkImageFc->bits_per_pixel); + lpGdkImage->mem = (gpointer)(*env)->GetIntField(env, lpObject, lpGdkImageFc->mem); + lpGdkImage->colormap = (GdkColormap *)(*env)->GetIntField(env, lpObject, lpGdkImageFc->colormap); + lpGdkImage->windowing_data = (gpointer)(*env)->GetIntField(env, lpObject, lpGdkImageFc->windowing_data); +} + +void setGdkImageFields(JNIEnv *env, jobject lpObject, GdkImage *lpGdkImage, GdkImage_FID_CACHE *lpGdkImageFc) +{ + (*env)->SetIntField(env, lpObject, lpGdkImageFc->type, (jint)lpGdkImage->type); + (*env)->SetIntField(env, lpObject, lpGdkImageFc->visual, (jint)lpGdkImage->visual); + (*env)->SetIntField(env, lpObject, lpGdkImageFc->byte_order, (jint)lpGdkImage->byte_order); + (*env)->SetIntField(env, lpObject, lpGdkImageFc->width, (jint)lpGdkImage->width); + (*env)->SetIntField(env, lpObject, lpGdkImageFc->height, (jint)lpGdkImage->height); + (*env)->SetShortField(env, lpObject, lpGdkImageFc->depth, (jshort)lpGdkImage->depth); + (*env)->SetShortField(env, lpObject, lpGdkImageFc->bpp, (jshort)lpGdkImage->bpp); + (*env)->SetShortField(env, lpObject, lpGdkImageFc->bpl, (jshort)lpGdkImage->bpl); + (*env)->SetShortField(env, lpObject, lpGdkImageFc->bits_per_pixel, (jshort)lpGdkImage->bits_per_pixel); + (*env)->SetIntField(env, lpObject, lpGdkImageFc->mem, (jint)lpGdkImage->mem); + (*env)->SetIntField(env, lpObject, lpGdkImageFc->colormap, (jint)lpGdkImage->colormap); + (*env)->SetIntField(env, lpObject, lpGdkImageFc->windowing_data, (jint)lpGdkImage->windowing_data); +} + void getGtkAllocationFields(JNIEnv *env, jobject lpObject, GtkAllocation *lpGtkAllocation, GtkAllocation_FID_CACHE *lpGtkAllocationFc) { lpGtkAllocation->x = (*env)->GetShortField(env, lpObject, lpGtkAllocationFc->x); diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.h index ce88e231aa..f3bb667171 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.h +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.h @@ -91,6 +91,15 @@ typedef struct GdkVisual_FID_CACHE { typedef GdkVisual_FID_CACHE *PGdkVisual_FID_CACHE; + +typedef struct GdkImage_FID_CACHE { + int cached; + jclass GdkImageClass; + jfieldID type, visual, byte_order, width, height, depth, bpp, bpl, bits_per_pixel, mem, colormap, windowing_data; +} GdkImage_FID_CACHE; + +typedef GdkImage_FID_CACHE *PGdkImage_FID_CACHE; + /* GTK */ typedef struct GtkAdjustment_FID_CACHE { @@ -244,6 +253,7 @@ void cacheGdkFontFids(JNIEnv *env, jobject lpGdkFont, PGdkFont_FID_CACHE lpCache void cacheGdkGCValuesFids(JNIEnv *env, jobject lpGdkGCValues, PGdkGCValues_FID_CACHE lpCache); void cacheGdkRectangleFids(JNIEnv *env, jobject lpGdkRectangle, PGdkRectangle_FID_CACHE lpCache); void cacheGdkVisualFids(JNIEnv *env, jobject lpGdkVisual, PGdkVisual_FID_CACHE lpCache); +void cacheGdkImageFids(JNIEnv *env, jobject lpGdkImage, PGdkImage_FID_CACHE lpCache); void cacheGtkAdjustmentFids(JNIEnv *env, jobject lpGtkAdjustment, PGtkAdjustment_FID_CACHE lpCache); void cacheGtkComboFids(JNIEnv *env, jobject lpGtkCombo, PGtkCombo_FID_CACHE lpCache); @@ -277,6 +287,8 @@ void getGdkRectangleFields(JNIEnv *env, jobject lpObject, GdkRectangle *lpGdkRec void setGdkRectangleFields(JNIEnv *env, jobject lpObject, GdkRectangle *lpGdkRectangle, GdkRectangle_FID_CACHE *lpGdkRectangleFc); void getGdkVisualFields(JNIEnv *env, jobject lpObject, GdkVisual *lpGdkVisual, GdkVisual_FID_CACHE *lpGdkVisualFc); void setGdkVisualFields(JNIEnv *env, jobject lpObject, GdkVisual *lpGdkVisual, GdkVisual_FID_CACHE *lpGdkVisualFc); +void getGdkImageFields(JNIEnv *env, jobject lpObject, GdkImage *lpGdkImage, GdkImage_FID_CACHE *lpGdkImageFc); +void setGdkImageFields(JNIEnv *env, jobject lpObject, GdkImage *lpGdkImage, GdkImage_FID_CACHE *lpGdkImageFc); void getGtkAllocationFields(JNIEnv *env, jobject lpObject, GtkAllocation *lpGtkAllocation, GtkAllocation_FID_CACHE *lpGtkAllocationFc); void setGtkAllocationFields(JNIEnv *env, jobject lpObject, GtkAllocation *lpGtkAllocation, GtkAllocation_FID_CACHE *lpGtkAllocationFc); void getGtkCListFields(JNIEnv *env, jobject lpObject, GtkCList *lpGtkCList, GtkCList_FID_CACHE *lpGtkCListFc); @@ -306,6 +318,7 @@ extern GdkFont_FID_CACHE GdkFontFc; extern GdkGCValues_FID_CACHE GdkGCValuesFc; extern GdkRectangle_FID_CACHE GdkRectangleFc; extern GdkVisual_FID_CACHE GdkVisualFc; +extern GdkImage_FID_CACHE GdkImageFc; extern GtkAdjustment_FID_CACHE GtkAdjustmentFc; extern GtkAllocation_FID_CACHE GtkAllocationFc; diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdk.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdk.c index 7a0023c3ce..f83e283a4e 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdk.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdk.c @@ -124,11 +124,10 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1rect_1i return rc; } -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1union_1with_1rect +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1union_1with_1rect (JNIEnv *env, jclass that, jint region, jobject rect) { DECL_GLOB(pGlob) - jint rc; GdkRectangle rect_struct, *rect1 = NULL; if (rect) { rect1 = &rect_struct; @@ -139,19 +138,18 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1union_1 if (rect) { setGdkRectangleFields(env, rect, rect1, &PGLOB(GdkRectangleFc)); } - return 0; } -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1regions_1union +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1union (JNIEnv *env, jclass that, jint source1, jint source2) { - return (jint)gdk_regions_union((GdkRegion*)source1, (GdkRegion*)source2); + gdk_region_union((GdkRegion*)source1, (GdkRegion*)source2); } -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1regions_1subtract +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1subtract (JNIEnv *env, jclass that, jint source1, jint source2) { - return (jint)gdk_regions_subtract((GdkRegion*)source1, (GdkRegion*)source2); + gdk_region_subtract((GdkRegion*)source1, (GdkRegion*)source2); } @@ -163,18 +161,6 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1new return (jint)gdk_gc_new((GdkWindow*)window); } -JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1unref - (JNIEnv *env, jclass that, jint gc) -{ - gdk_gc_unref((GdkGC*)gc); -} - -JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1destroy - (JNIEnv *env, jclass that, jint gc) -{ - gdk_gc_destroy((GdkGC*)gc); -} - JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1get_1values (JNIEnv *env, jclass that, jint gc, jobject values) { @@ -191,6 +177,22 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1get_1values } } +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1values + (JNIEnv *env, jclass that, jint gc, jobject values, jint values_mask) +{ + DECL_GLOB(pGlob) + GdkGCValues values_struct, *values1 = NULL; + if (values) { + values1 = &values_struct; + cacheGdkGCValuesFids(env, values, &PGLOB(GdkGCValuesFc)); + getGdkGCValuesFields(env, values, values1, &PGLOB(GdkGCValuesFc)); + } + gdk_gc_set_values((GdkGC*)gc, (GdkGCValues*)values1, values_mask); + if (values) { + setGdkGCValuesFields(env, values, values1, &PGLOB(GdkGCValuesFc)); + } +} + JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1foreground (JNIEnv *env, jclass that, jint gc, jobject color) { @@ -253,6 +255,12 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1 gdk_gc_set_clip_mask((GdkGC*)gc, (GdkBitmap*)mask); } +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1origin + (JNIEnv *env, jclass that, jint gc, jint x, jint y) +{ + gdk_gc_set_clip_origin((GdkGC*)gc, x, y); +} + JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1rectangle (JNIEnv *env, jclass that, jint gc, jobject rectangle) { @@ -328,15 +336,15 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1arc } JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1polygon - (JNIEnv *env, jclass that, jint drawable, jint gc, jint filled, jshortArray points, jint npoints) + (JNIEnv *env, jclass that, jint drawable, jint gc, jint filled, jintArray points, jint npoints) { - jshort *points1 = NULL; + jint *points1 = NULL; if (points) { - points1 = (*env)->GetShortArrayElements(env, points, NULL); + points1 = (*env)->GetIntArrayElements(env, points, NULL); } gdk_draw_polygon((GdkDrawable*)drawable, (GdkGC*)gc, (gint)filled, (GdkPoint*)points1, (gint)npoints); if (points) { - (*env)->ReleaseShortArrayElements(env, points, points1, 0); + (*env)->ReleaseIntArrayElements(env, points, points1, 0); } } @@ -360,18 +368,24 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1pixmap } JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1lines - (JNIEnv *env, jclass that, jint drawable, jint gc, jshortArray points, jint npoints) + (JNIEnv *env, jclass that, jint drawable, jint gc, jintArray points, jint npoints) { - jshort *points1 = NULL; + jint *points1 = NULL; if (points) { - points1 = (*env)->GetShortArrayElements(env, points, NULL); + points1 = (*env)->GetIntArrayElements(env, points, NULL); } gdk_draw_lines((GdkDrawable*)drawable, (GdkGC*)gc, (GdkPoint*)points1, (gint)npoints); if (points) { - (*env)->ReleaseShortArrayElements(env, points, points1, 0); + (*env)->ReleaseIntArrayElements(env, points, points1, 0); } } +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1drawable + (JNIEnv *env, jclass that, jint drawable, jint gc, jint src, jint xsrc, jint ysrc, jint xdest, jint ydest, jint width, jint height) +{ + gdk_draw_drawable((GdkDrawable*)drawable, (GdkGC*)gc, (GdkDrawable*)src, xsrc, ysrc, xdest, ydest, width, height); +} + /* ***** Bitmaps and Pixmaps ***** */ @@ -397,19 +411,6 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1bitmap_1create_ return rc; } -JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixmap_1unref - (JNIEnv *env, jclass that, jint pixmap) -{ - gdk_pixmap_unref((GdkPixmap*)pixmap); -} - -JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1bitmap_1unref - (JNIEnv *env, jclass that, jint pixmap) -{ - gdk_bitmap_unref((GdkBitmap*)pixmap); -} - - /* ***** GdkRGB ***** */ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1rgb_1init @@ -564,8 +565,8 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1font_1ref JNIEXPORT jstring JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1font_1full_1name_1get (JNIEnv *env, jclass that, jint font) { - gchar *name = gdk_font_full_name_get ((GdkFont*)font); - return NewStringUTF (env, name); + gchar *name = (gchar *)gdk_font_full_name_get ((GdkFont*)font); + return (jstring)NewStringUTF (env, name); } JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1font_1unref @@ -866,6 +867,12 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1 return (jint)gdk_drawable_get_depth((GdkDrawable*)drawable); } +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1image + (JNIEnv *env, jclass that, jint drawable, jint x, jint y, jint width, jint height) +{ + return (jint)gdk_drawable_get_image((GdkDrawable*)drawable, x, y, width, height); +} + JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1origin (JNIEnv *env, jclass that, jint window, jintArray x, jintArray y) { @@ -1076,6 +1083,41 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1CURRENT_1TIME return (jint) GDK_CURRENT_TIME; } +JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1alloc_1color + (JNIEnv *env, jclass that, jint colormap, jobject color, jboolean writeable, jboolean best_match) +{ + DECL_GLOB(pGlob) + GdkColor color_struct, *color1 = NULL; + jboolean rc; + + if (color) { + color1 = &color_struct; + cacheGdkColorFids(env, color, &PGLOB(GdkColorFc)); + getGdkColorFields(env, color, color1, &PGLOB(GdkColorFc)); + } + rc = gdk_colormap_alloc_color((GdkColormap*)colormap, (GdkColor*)color1, (gboolean)writeable, (gboolean)best_match); + if (color) { + setGdkColorFields(env, color, color1, &PGLOB(GdkColorFc)); + } + return rc; +} + +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1free_1colors + (JNIEnv *env, jclass that, jint colormap, jobject color, jint ncolors) +{ + DECL_GLOB(pGlob) + GdkColor color_struct, *color1 = NULL; + + if (color) { + color1 = &color_struct; + cacheGdkColorFids(env, color, &PGLOB(GdkColorFc)); + getGdkColorFields(env, color, color1, &PGLOB(GdkColorFc)); + } + gdk_colormap_free_colors((GdkColormap*)colormap, (GdkColor*)color1, (gint)ncolors); + if (color) { + setGdkColorFields(env, color, color1, &PGLOB(GdkColorFc)); + } +} JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1frame_1extents (JNIEnv *env, jclass that, jint window, jobject rectangle) @@ -1104,4 +1146,4 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1process (JNIEnv *env, jclass that, jint window, jboolean update_children) { gdk_window_process_updates((GdkWindow*)window, (gboolean)update_children); -}
\ No newline at end of file +} diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdkpixbuf.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdkpixbuf.c index d62cf3a524..3fc15d7123 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdkpixbuf.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-gdkpixbuf.c @@ -16,99 +16,99 @@ #include <gdk-pixbuf/gdk-pixbuf.h> /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_get_colorspace * Signature: (I)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1get_1colorspace +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1colorspace (JNIEnv *env, jclass cl, jint pixbuf) { return (jint) gdk_pixbuf_get_colorspace((GdkPixbuf*)pixbuf); } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_get_n_channels * Signature: (I)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1get_1n_1channels +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1n_1channels (JNIEnv *env, jclass cl, jint pixbuf) { return (jint) gdk_pixbuf_get_n_channels((GdkPixbuf*)pixbuf); } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_get_has_alpha * Signature: (I)Z */ -JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1get_1has_1alpha +JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1has_1alpha (JNIEnv *env, jclass cl, jint pixbuf) { return (jboolean) gdk_pixbuf_get_has_alpha((GdkPixbuf*)pixbuf); } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_get_bits_per_sample * Signature: (I)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1get_1bits_1per_1sample +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1bits_1per_1sample (JNIEnv *env, jclass cl, jint pixbuf) { return (jint) gdk_pixbuf_get_bits_per_sample((GdkPixbuf*)pixbuf); } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_get_pixels * Signature: (I)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1get_1pixels +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1pixels (JNIEnv *env, jclass cl, jint pixbuf) { return (jint) gdk_pixbuf_get_pixels((GdkPixbuf*)pixbuf); } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_get_width * Signature: (I)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1get_1width +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1width (JNIEnv *env, jclass cl, jint pixbuf) { return (jint) gdk_pixbuf_get_width((GdkPixbuf*)pixbuf); } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_get_height * Signature: (I)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1get_1height +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1height (JNIEnv *env, jclass cl, jint pixbuf) { return (jint) gdk_pixbuf_get_height((GdkPixbuf*)pixbuf); } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_get_rowstride * Signature: (I)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1get_1rowstride +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1rowstride (JNIEnv *env, jclass cl, jint pixbuf) { return (jint) gdk_pixbuf_get_rowstride((GdkPixbuf*)pixbuf); } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_new * Signature: (IZIII)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1new +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1new (JNIEnv *env, jclass cl, jint colorspace, jboolean hasAlpha, @@ -124,22 +124,22 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1 } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_copy * Signature: (I)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1copy +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1copy (JNIEnv *env, jclass cl, jint source) { return (jint)gdk_pixbuf_copy ((GdkPixbuf*) source); } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_render_to_drawable * Signature: (IIIIIIIIIIII)V */ -JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1render_1to_1drawable +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1render_1to_1drawable (JNIEnv *env, jclass cl, jint pixbuf, jint drawable, @@ -163,11 +163,11 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1 /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_render_to_drawable_alpha * Signature: (IIIIIIIIIIIII)V */ -JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1render_1to_1drawable_1alpha +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1render_1to_1drawable_1alpha (JNIEnv *env, jclass cl, jint pixbuf, jint drawable, @@ -192,11 +192,11 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1 } /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_scale * Signature: (IIIIIIDDDDI)V */ -JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1scale +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1scale (JNIEnv *env, jclass cl, jint source, jint dest, jint dest_x, jint dest_y, @@ -213,12 +213,18 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1 ); } +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1scale_1simple + (JNIEnv *env, jclass cl, jint source, jint dest_width, jint dest_height, jint interp_type) +{ + return (jint)gdk_pixbuf_scale_simple ((GdkPixbuf*)source, dest_width, dest_height, interp_type); +} + /* - * Class: org_eclipse_swt_internal_gtk_GDKPIXBUF + * Class: org_eclipse_swt_internal_gtk_OS * Method: gdk_pixbuf_get_from_drawable * Signature: (IIIIIIIII)I */ -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1get_1from_1drawable +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1from_1drawable (JNIEnv *env, jclass cl, jint dest, jint src, jint cmap, jint src_x, jint src_y, @@ -234,8 +240,15 @@ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_gdk_1pixbuf_1 width, height); } -JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GDKPIXBUF_GDK_1COLORSPACE_1RGB +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1COLORSPACE_1RGB (JNIEnv *env, jclass cl) { return (jint)GDK_COLORSPACE_RGB; } + +JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1add_1alpha + (JNIEnv *env, jclass cl, jint pixbuf, jboolean substitute_color, jbyte r, jbyte g, jbyte b) +{ + return (jint)gdk_pixbuf_add_alpha((GdkPixbuf *)pixbuf, (gboolean)substitute_color, r, g, b); +} + diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-memmove.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-memmove.c index e89f082ee2..f98801fd91 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-memmove.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt-memmove.c @@ -30,7 +30,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGdkColorFids(env, dest, &PGLOB(GdkColorFc)); - setGdkColorFields(env, dest, src, &PGLOB(GdkColorFc)); + setGdkColorFields(env, dest, (GdkColor *)src, &PGLOB(GdkColorFc)); } } @@ -40,7 +40,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGdkEventExposeFids(env, dest, &PGLOB(GdkEventExposeFc)); - setGdkEventExposeFields(env, dest, src, &PGLOB(GdkEventExposeFc)); + setGdkEventExposeFields(env, dest, (GdkEventExpose *)src, &PGLOB(GdkEventExposeFc)); } } @@ -50,7 +50,17 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGdkVisualFids(env, dest, &PGLOB(GdkVisualFc)); - setGdkVisualFields(env, dest, src, &PGLOB(GdkVisualFc)); + setGdkVisualFields(env, dest, (GdkVisual *)src, &PGLOB(GdkVisualFc)); + } +} + +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I + (JNIEnv *env, jclass that, jobject dest, jint src, jint count) +{ + DECL_GLOB(pGlob) + if (dest) { + cacheGdkImageFids(env, dest, &PGLOB(GdkImageFc)); + setGdkImageFields(env, dest, (GdkImage *)src, &PGLOB(GdkImageFc)); } } @@ -62,7 +72,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkStyleClassFids(env, dest, &PGLOB(GtkStyleClassFc)); - setGtkStyleClassFields(env, dest, src, &PGLOB(GtkStyleClassFc)); + setGtkStyleClassFields(env, dest, (GtkStyleClass *)src, &PGLOB(GtkStyleClassFc)); } } @@ -72,7 +82,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkAllocationFids(env, dest, &PGLOB(GtkAllocationFc)); - setGtkAllocationFields(env, dest, src, &PGLOB(GtkAllocationFc)); + setGtkAllocationFields(env, dest, (GtkAllocation *)src, &PGLOB(GtkAllocationFc)); } } @@ -82,7 +92,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkComboFids(env, dest, &PGLOB(GtkComboFc)); - setGtkComboFields(env, dest, src, &PGLOB(GtkComboFc)); + setGtkComboFields(env, dest, (GtkCombo *)src, &PGLOB(GtkComboFc)); } } @@ -92,7 +102,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkCListFids(env, dest, &PGLOB(GtkCListFc)); - setGtkCListFields(env, dest, src, &PGLOB(GtkCListFc)); + setGtkCListFields(env, dest, (GtkCList *)src, &PGLOB(GtkCListFc)); } } @@ -102,7 +112,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkCTreeFids(env, dest, &PGLOB(GtkCTreeFc)); - setGtkCTreeFields(env, dest, src, &PGLOB(GtkCTreeFc)); + setGtkCTreeFields(env, dest, (GtkCTree *)src, &PGLOB(GtkCTreeFc)); } } @@ -112,7 +122,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkRequisitionFids(env, dest, &PGLOB(GtkRequisitionFc)); - setGtkRequisitionFields(env, dest, src, &PGLOB(GtkRequisitionFc)); + setGtkRequisitionFields(env, dest, (GtkRequisition *)src, &PGLOB(GtkRequisitionFc)); } } @@ -122,7 +132,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkStyleFids(env, dest, &PGLOB(GtkStyleFc)); - setGtkStyleFields(env, dest, src, &PGLOB(GtkStyleFc)); + setGtkStyleFields(env, dest, (GtkStyle *)src, &PGLOB(GtkStyleFc)); } } @@ -132,7 +142,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkAdjustmentFids(env, dest, &PGLOB(GtkAdjustmentFc)); - setGtkAdjustmentFields(env, dest, src, &PGLOB(GtkAdjustmentFc)); + setGtkAdjustmentFields(env, dest, (GtkAdjustment *)src, &PGLOB(GtkAdjustmentFc)); } } @@ -142,7 +152,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkCListRowFids(env, dest, &PGLOB(GtkCListRowFc)); - setGtkCListRowFields(env, dest, src, &PGLOB(GtkCListRowFc)); + setGtkCListRowFields(env, dest, (GtkCListRow *)src, &PGLOB(GtkCListRowFc)); } } @@ -152,7 +162,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkCListColumnFids(env, dest, &PGLOB(GtkCListColumnFc)); - setGtkCListColumnFields(env, dest, src, &PGLOB(GtkCListColumnFc)); + setGtkCListColumnFields(env, dest, (GtkCListColumn *)src, &PGLOB(GtkCListColumnFc)); } } @@ -162,7 +172,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclips DECL_GLOB(pGlob) if (dest) { cacheGtkCTreeRowFids(env, dest, &PGLOB(GtkCTreeRowFc)); - setGtkCTreeRowFields(env, dest, src, &PGLOB(GtkCTreeRowFc)); + setGtkCTreeRowFields(env, dest, (GtkCTreeRow *)src, &PGLOB(GtkCTreeRowFc)); } } @@ -174,7 +184,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclip DECL_GLOB(pGlob) if (src) { cacheGtkAdjustmentFids(env, src, &PGLOB(GtkAdjustmentFc)); - getGtkAdjustmentFields(env, src, dest, &PGLOB(GtkAdjustmentFc)); + getGtkAdjustmentFields(env, src, (GtkAdjustment *)dest, &PGLOB(GtkAdjustmentFc)); } } @@ -185,7 +195,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclip DECL_GLOB(pGlob) if (src) { cacheGtkCListColumnFids(env, src, &PGLOB(GtkCListColumnFc)); - getGtkCListColumnFields(env, src, dest, &PGLOB(GtkCListColumnFc)); + getGtkCListColumnFields(env, src, (GtkCListColumn *)dest, &PGLOB(GtkCListColumnFc)); } } @@ -195,7 +205,7 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclip DECL_GLOB(pGlob) if (src) { cacheGtkStyleFids(env, src, &PGLOB(GtkStyleFc)); - getGtkStyleFields(env, src, dest, &PGLOB(GtkStyleFc)); + getGtkStyleFields(env, src, (GtkStyle *)dest, &PGLOB(GtkStyleFc)); } } diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt.c index f3f2f622d3..bbef4067ae 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt.c +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/swt.c @@ -1639,6 +1639,16 @@ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1free g_free((gpointer)mem); } +JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1unref + (JNIEnv *env, jclass that, jint object) +{ +#ifdef DEBUG_CALL_PRINTS + fprintf(stderr, "g_object_unref"); +#endif + + g_object_unref((gpointer)object); +} + /* * Class: org_eclipse_swt_internal_gtk_OS * Method: g_strdup diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDKPIXBUF.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDKPIXBUF.java deleted file mode 100644 index d84a0bec18..0000000000 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GDKPIXBUF.java +++ /dev/null @@ -1,218 +0,0 @@ -package org.eclipse.swt.internal.gtk; - -/* - * Copyright (c) IBM Corp. 2000, 2001. All rights reserved. - * - * The contents of this file are made available under the terms - * of the GNU Lesser General Public License (LGPL) Version 2.1 that - * accompanies this distribution (lgpl-v21.txt). The LGPL is also - * available at http://www.gnu.org/licenses/lgpl.html. If the version - * of the LGPL at http://www.gnu.org is different to the version of - * the LGPL accompanying this distribution and there is any conflict - * between the two license versions, the terms of the LGPL accompanying - * this distribution shall govern. - */ - -import org.eclipse.swt.internal.Library; - -public class GDKPIXBUF extends OS { - - /* GdkColorspace enumeration */ - /* R/G/B additive color space */ - public static final native int GDK_COLORSPACE_RGB(); - - /* GIF-like animation overlay modes for frames */ - public final static int GDK_PIXBUF_FRAME_RETAIN = 0; - public final static int GDK_PIXBUF_FRAME_DISPOSE = 1; - public final static int GDK_PIXBUF_FRAME_REVERT = 2; - - /* Alpha compositing mode */ - public final static int GDK_PIXBUF_ALPHA_BILEVEL = 0; - public final static int GDK_PIXBUF_ALPHA_FULL = 1; - - /* Interpolation modes */ - public final static int GDK_INTERP_NEAREST = 0; - public final static int GDK_INTERP_TILES = 1; - public final static int GDK_INTERP_BILINEAR = 2; - public final static int GDK_INTERP_HYPER = 3; - - -/* - * NATIVES - */ - -/* GdkPixbuf accessors */ - -/** - * Returns the colorspace of the pixbuf argument - */ -public static final native int gdk_pixbuf_get_colorspace (int pixbuf); - -/** - * Returns the number of channels in the pixbuf argument - */ -public static final native int gdk_pixbuf_get_n_channels (int pixbuf); - -/** - * Returns true if the pixbuf specified by the argument has an alpha channel - * (opacity information), and false otherwise. - */ -public static final native boolean gdk_pixbuf_get_has_alpha (int pixbuf); - -/** - * Returns the number of bits per pixel in each channel. - * Normally 8. - */ -public static final native int gdk_pixbuf_get_bits_per_sample (int pixbuf); - -/** - * Returns the address of the actual image data in the OS memory. - */ -public static final native int gdk_pixbuf_get_pixels (int pixbuf); - -/** - * Returns the width of the pixbuf specified by the argument. - */ -public static final native int gdk_pixbuf_get_width (int pixbuf); - -/** - * Returns the height of the pixbuf specified by the argument. - */ -public static final native int gdk_pixbuf_get_height (int pixbuf); - -/** - * Returns the rowstride of the pixbuf specified by the argument. - */ -public static final native int gdk_pixbuf_get_rowstride (int pixbuf); - - -/* PIXBUF CREATION FROM DATA IN MEMORY */ - -/** - * Create a blank pixbuf with an optimal rowstride and a new buffer - */ -public static final native int gdk_pixbuf_new ( - int colorspace, - boolean has_alpha, - int bits_per_sample, - int width, - int height); - -public static final native int gdk_pixbuf_copy(int source); - -public static final native int gdk_pixbuf_new_from_data ( - byte[] data, - int colorspace, - boolean has_alpha, - int bits_per_sample, - int width, - int height, - int rowstride, - int destroy_fn, - int destroy_fn_data); - -public static final native int gdk_pixbuf_new_from_xpm_data (int pdata); - - -/* PIXBUF CREATION - FILE LOADING */ - -public static final native int gdk_pixbuf_new_from_file (byte[] filename); - - - -/* RENDERING TO A DRAWABLE */ - - -public static final native void gdk_pixbuf_render_to_drawable_alpha (int pixbuf, - int drawable, - int src_x, int src_y, - int dest_x, int dest_y, - int width, int height, - int alpha_mode, - int alpha_threshold, - int dither, - int x_dither, int y_dither); - -public static final native void gdk_pixbuf_render_to_drawable (int pixbuf, - int drawable, - int gc, - int src_x, int src_y, - int dest_x, int dest_y, - int width, int height, - int dither, - int x_dither, int y_dither); - -/* SCALING */ - -public static final native void gdk_pixbuf_scale ( - int src, int dest, - int dest_x, - int dest_y, - int dest_width, - int dest_height, - double offset_x, - double offset_y, - double scale_x, - double scale_y, - int interp_type); - -public static final native void gdk_pixbuf_composite ( - int src, int dest, - int dest_x, - int dest_y, - int dest_width, - int dest_height, - double offset_x, - double offset_y, - double scale_x, - double scale_y, - int interp_type, - int overall_alpha); - -public static final native void gdk_pixbuf_composite_color ( - int src, - int dest, - int dest_x, - int dest_y, - int dest_width, - int dest_height, - double offset_x, - double offset_y, - double scale_x,double scale_y, - int interp_type, - int overall_alpha, - int check_x, - int check_y, - int check_size, - int color1, - int color2); - -public static final native int gdk_pixbuf_scale_simple ( - int src, - int dest_width, - int dest_height, - int interp_type); - -public static final native int gdk_pixbuf_composite_color_simple ( - int src,int dest_width, - int dest_height, - int interp_type, - int overall_alpha, - int check_size, - int color1, - int color2); - - - -public static final native int gdk_pixbuf_get_from_drawable ( - int dest, - int src, - int cmap, - int src_x, - int src_y, - int dest_x, - int dest_y, - int width, - int height); - -} diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java index 33dca749ec..312b783bf9 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java @@ -14,10 +14,10 @@ package org.eclipse.swt.internal.gtk; */
public class GdkEventExpose {
- public short x;
- public short y;
- public short width;
- public short height;
+ public int x;
+ public int y;
+ public int width;
+ public int height;
public int region;
public int count;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java new file mode 100644 index 0000000000..7e7453363b --- /dev/null +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java @@ -0,0 +1,39 @@ +package org.eclipse.swt.internal.gtk;
+
+/*
+ * Copyright (c) IBM Corp. 2000, 2001. All rights reserved.
+ *
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ */
+
+public class GdkImage {
+// GObject parent_instance;
+ //public int parent_instance_g_type_instance;
+ //public int parent_instance_ref_count;
+ //public int parent_instance_qdata;
+ public int type;
+ public int visual;
+ public int byte_order;
+ public int width;
+ public int height;
+ public short depth;
+ public short bpp;
+ public short bpl;
+ public short bits_per_pixel;
+ public int mem;
+ public int colormap;
+ public int windowing_data;
+ public static final int sizeof = 52;
+
+ private GdkImage () {}
+ public GdkImage (int ptr) {
+ OS.memmove(this, ptr);
+ }
+}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java index 1dad9e7991..63442788ce 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java @@ -14,9 +14,9 @@ package org.eclipse.swt.internal.gtk; */
public class GdkRectangle {
- public short x;
- public short y;
- public short width;
- public short height;
+ public int x;
+ public int y;
+ public int width;
+ public int height;
public static final int sizeof = 8;
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java index 912d38f28a..78a789f47e 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java +++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java @@ -22,6 +22,41 @@ public class OS { public static final int GDK_NONE = 0; + + /* GIF-like animation overlay modes for frames */ + public final static int GDK_PIXBUF_FRAME_RETAIN = 0; + public final static int GDK_PIXBUF_FRAME_DISPOSE = 1; + public final static int GDK_PIXBUF_FRAME_REVERT = 2; + + /* Alpha compositing mode */ + public final static int GDK_PIXBUF_ALPHA_BILEVEL = 0; + public final static int GDK_PIXBUF_ALPHA_FULL = 1; + + /* Interpolation modes */ + public final static int GDK_INTERP_NEAREST = 0; + public final static int GDK_INTERP_TILES = 1; + public final static int GDK_INTERP_BILINEAR = 2; + public final static int GDK_INTERP_HYPER = 3; + + /* GdkGC set values mask */ + public static final int GDK_GC_FOREGROUND = 1 << 0; + public static final int GDK_GC_BACKGROUND = 1 << 1; + public static final int GDK_GC_FONT = 1 << 2; + public static final int GDK_GC_FUNCTION = 1 << 3; + public static final int GDK_GC_FILL = 1 << 4; + public static final int GDK_GC_TILE = 1 << 5; + public static final int GDK_GC_STIPPLE = 1 << 6; + public static final int GDK_GC_CLIP_MASK = 1 << 7; + public static final int GDK_GC_SUBWINDOW = 1 << 8; + public static final int GDK_GC_TS_X_ORIGIN = 1 << 9; + public static final int GDK_GC_TS_Y_ORIGIN = 1 << 10; + public static final int GDK_GC_CLIP_X_ORIGIN = 1 << 11; + public static final int GDK_GC_CLIP_Y_ORIGIN = 1 << 12; + public static final int GDK_GC_EXPOSURES = 1 << 13; + public static final int GDK_GC_LINE_WIDTH = 1 << 14; + public static final int GDK_GC_LINE_STYLE = 1 << 15; + public static final int GDK_GC_CAP_STYLE = 1 << 16; + public static final int GDK_GC_JOIN_STYLE = 1 << 17; /* For Display.KeyTable: */ /* Keyboard and mouse masks */ @@ -79,6 +114,7 @@ public class OS { public static final int GDK_COPY = 0; public static final int GDK_INVERT = 1; public static final int GDK_XOR = 2; + public static final int GDK_AND = 4; public static final int GDK_STIPPLED = 2; public static final int GDK_LINE_SOLID = 0; public static final int GDK_LINE_ON_OFF_DASH = 1; @@ -226,8 +262,6 @@ public static final native int GTK_TOOLBAR_CHILD_WIDGET(); public static final int G_LOG_LEVEL_MASK = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL); - - /* * Native methods. */ @@ -336,6 +370,7 @@ public static final native int g_list_nth(int list, int n); public static final native int g_list_nth_data(int list, int n); public static final native void g_list_free(int list); public static final native int g_malloc(int size); +public static final native void g_object_unref(int object); public static final native int g_list_append(int list, int data); public static final native int g_slist_length(int list); public static final native int g_slist_nth(int list, int n); @@ -344,6 +379,8 @@ public static final native int g_strdup(byte[] str); public static final native int gdk_colormap_get_system(); public static final native void gdk_colors_free(int colormap, int[] pixels, int npixels, int planes); public static final native boolean gdk_color_alloc(int colormap, GdkColor color); +public static final native boolean gdk_colormap_alloc_color(int colormap, GdkColor color, boolean writeable, boolean best_match); +public static final native void gdk_colormap_free_colors(int colormap, GdkColor colors, int ncolors); public static final native int gdk_cursor_new(int cursor_type); public static final native int gdk_bitmap_create_from_data(int window, byte[] data, int width, int height); public static final native int gdk_cursor_new_from_pixmap(int source, int mask, GdkColor fg, GdkColor bg, int x, int y); @@ -356,10 +393,12 @@ public static final native void gdk_font_unref(int font); public static final native boolean gdk_font_equal(int fonta, int fontb); public static final native int gdk_char_width(int font, byte character); public static final native void gdk_gc_get_values(int gc, GdkGCValues values); +public static final native void gdk_gc_set_values(int gc, GdkGCValues values, int values_mask); public static final native void gdk_gc_set_font(int gc, int font); public static final native void gdk_gc_set_foreground(int gc, GdkColor color); public static final native void gdk_gc_set_background(int gc, GdkColor color); public static final native void gdk_gc_set_clip_mask(int gc, int mask); +public static final native void gdk_gc_set_clip_origin(int gc, int x, int y); public static final native void gdk_gc_set_clip_rectangle(int gc, GdkRectangle rectangle); public static final native void gdk_gc_set_clip_region(int gc, int region); public static final native void gdk_gc_set_line_attributes(int gc, int line_width, int line_style, int cap_style, int join_style); @@ -367,15 +406,13 @@ public static final native void gdk_gc_set_dashes(int gc, int dash_offset, byte[ public static final native void gdk_gc_set_function(int gc, int function); public static final native void gdk_draw_line(int drawable, int gc, int x1, int y1, int x2, int y2); public static final native void gdk_draw_arc(int drawable, int gc, int filled, int x, int y, int width, int height, int angle1, int angle2); +public static final native void gdk_draw_drawable(int drawable, int gc, int src, int xsrc, int ysrc, int xdest, int ydest, int width, int height); public static final native void gdk_draw_rectangle(int drawable, int gc, int filled, int x, int y, int width, int height); public static final native void gdk_draw_pixmap(int drawable, int gc, int src, int xsrc, int ysrc, int xdest, int ydest, int width, int height); -public static final native void gdk_draw_lines(int drawable, int gc, short[] points, int npoints); -public static final native void gdk_draw_polygon(int drawable, int gc, int filled, short[] points, int npoints); +public static final native void gdk_draw_lines(int drawable, int gc, int[] points, int npoints); +public static final native void gdk_draw_polygon(int drawable, int gc, int filled, int[] points, int npoints); public static final native void gdk_draw_string(int drawable, int font, int gc, int x, int y, byte[] string); -public static final native void gdk_gc_unref(int gc); public static final native int gdk_gc_new(int window); -public static final native void gdk_gc_destroy(int gc); -public static final native void gdk_bitmap_unref(int pixmap); public static final native boolean gdk_color_white(int colormap, GdkColor color); public static final native int gdk_image_get(int window, int x, int y, int width, int height); public static final native int gdk_image_get_pixel(int image, int x, int y); @@ -408,12 +445,11 @@ public static final native void gdk_gc_set_subwindow(int gc, int mode); public static final native void gdk_gc_set_fill(int gc, int fill); public static final native int gdk_atom_intern(byte[] atom_name, int only_if_exists); public static final native int gdk_event_get(); -public static final native void gdk_pixmap_unref(int pixmap); public static final native void gdk_region_get_clipbox(int region, GdkRectangle rectangle); public static final native int gdk_region_new(); -public static final native int gdk_region_union_with_rect(int region, GdkRectangle rect); -public static final native int gdk_regions_subtract(int source1, int source2); -public static final native int gdk_regions_union(int source1, int source2); +public static final native void gdk_region_union_with_rect(int region, GdkRectangle rect); +public static final native void gdk_region_subtract(int source1, int source2); +public static final native void gdk_region_union(int source1, int source2); public static final native void gdk_region_destroy(int region); public static final native int gdk_pixmap_new(int window, int width, int height, int depth); public static final native boolean gdk_region_point_in(int region, int x, int y); @@ -434,6 +470,7 @@ public static final native void gdk_window_move (int window, int x, int y); public static final native int gdk_window_at_pointer(int[] win_x, int[] win_y); public static final native int GDK_CURRENT_TIME(); public static final native int gdk_screen_width_mm(); +public static final native int gdk_drawable_get_image(int drawable, int x, int y, int width, int height); public static final native void gdk_drawable_get_size(int drawable, int[] width, int[] height); public static final native int gdk_drawable_get_depth(int drawable); public static final native void gdk_window_raise(int window); @@ -724,10 +761,46 @@ public static final native int pango_font_metrics_get_ascent(int metrics); public static final native int pango_font_metrics_get_descent(int metrics); public static final native int pango_font_metrics_get_approximate_char_width(int metrics); +/* GdkColorspace enumeration */ +/* R/G/B additive color space */ +public static final native int GDK_COLORSPACE_RGB(); + +/* GdkPixbuf accessors */ + +public static final native int gdk_pixbuf_get_colorspace (int pixbuf); +public static final native int gdk_pixbuf_get_n_channels (int pixbuf); +public static final native boolean gdk_pixbuf_get_has_alpha (int pixbuf); +public static final native int gdk_pixbuf_get_bits_per_sample (int pixbuf); +public static final native int gdk_pixbuf_get_pixels (int pixbuf); +public static final native int gdk_pixbuf_get_width (int pixbuf); +public static final native int gdk_pixbuf_get_height (int pixbuf); +public static final native int gdk_pixbuf_get_rowstride (int pixbuf); + +/* PIXBUF CREATION FROM DATA IN MEMORY */ + +public static final native int gdk_pixbuf_new (int colorspace, boolean has_alpha, int bits_per_sample, int width, int height); +public static final native int gdk_pixbuf_copy(int source); +public static final native int gdk_pixbuf_add_alpha (int pixbuf, boolean substitute_color, byte r, byte g, byte b); +public static final native int gdk_pixbuf_new_from_data (byte[] data, int colorspace, boolean has_alpha, int bits_per_sample, int width, int height, int rowstride, int destroy_fn, int destroy_fn_data); +public static final native int gdk_pixbuf_new_from_xpm_data (int pdata); + +/* PIXBUF CREATION - FILE LOADING */ + +public static final native int gdk_pixbuf_new_from_file (byte[] filename); +/* RENDERING TO A DRAWABLE */ +public static final native void gdk_pixbuf_render_to_drawable_alpha (int pixbuf, int drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_mode, int alpha_threshold, int dither, int x_dither, int y_dither); +public static final native void gdk_pixbuf_render_to_drawable (int pixbuf, int drawable, int gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int dither, int x_dither, int y_dither); +/* SCALING */ +public static final native void gdk_pixbuf_scale (int src, int dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, int interp_type); +public static final native void gdk_pixbuf_composite (int src, int dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, int interp_type, int overall_alpha); +public static final native void gdk_pixbuf_composite_color (int src, int dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x,double scale_y, int interp_type, int overall_alpha, int check_x, int check_y, int check_size, int color1, int color2); +public static final native int gdk_pixbuf_scale_simple (int src, int dest_width, int dest_height, int interp_type); +public static final native int gdk_pixbuf_composite_color_simple (int src,int dest_width, int dest_height, int interp_type, int overall_alpha, int check_size, int color1, int color2); +public static final native int gdk_pixbuf_get_from_drawable (int dest, int src, int cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height); /* Other */ @@ -745,6 +818,7 @@ public static final native void memmove(int dest, int[] src, int size); /* Read memmoves */ +static final native void memmove(GdkImage dest, int src); static final native void memmove(GdkVisual dest, int src); static final native void memmove(GdkFont dest, int src); static final native void memmove(GdkColor dest, int src); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java index ae94ecf618..9284802004 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java @@ -134,7 +134,7 @@ public void scroll (int destX, int destY, int x, int y, int width, int height, b int gc = OS.gdk_gc_new (window); OS.gdk_gc_set_exposures(gc, true); OS.gdk_window_copy_area (window, gc, x, y, window, x, y, width, height); - OS.gdk_gc_destroy (gc); + OS.g_object_unref (gc); /* Flush outstanding Exposes */ int eventHandle=0; @@ -147,7 +147,7 @@ public void scroll (int destX, int destY, int x, int y, int width, int height, b int gc1 = OS.gdk_gc_new (window); OS.gdk_gc_set_exposures(gc1, true); OS.gdk_window_copy_area (window, gc1, destX, destY, window, x, y, width, height); - OS.gdk_gc_destroy (gc1); + OS.g_object_unref (gc1); boolean disjoint = (destX + width < x) || (x + width < destX) || (destY + height < y) || (y + height < destY); if (disjoint) { OS.gdk_window_clear_area(window, x, y, width, height); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java index 68a74a8f3f..babeb98591 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java @@ -111,7 +111,7 @@ boolean drawCaret () { int nWidth = width; if (nWidth <= 0) nWidth = 2; OS.gdk_draw_rectangle(window, gc, 1, x, y, nWidth, height); - OS.gdk_gc_destroy(gc); + OS.g_object_unref(gc); return true; } /** diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java index c38e264f19..a31a6b57f6 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java @@ -1125,7 +1125,7 @@ public boolean forceFocus () { */ public Color getBackground () { checkWidget(); - return Color.gtk_new (_getBackgroundGdkColor()); + return Color.gtk_new (getDisplay (), _getBackgroundGdkColor()); } /* @@ -1227,7 +1227,7 @@ int _getFontHandle () { */ public Color getForeground () { checkWidget(); - return Color.gtk_new (_getForegroundGdkColor()); + return Color.gtk_new (getDisplay (), _getForegroundGdkColor()); } /* @@ -1376,18 +1376,17 @@ public boolean getVisible () { public int internal_new_GC (GCData data) { if (data == null) error (SWT.ERROR_NULL_ARGUMENT); if (paintHandle() == 0) error(SWT.ERROR_UNSPECIFIED); - - // Create the GC with default values for this control - int window = OS.GTK_WIDGET_WINDOW(paintHandle()); - int gc = OS.gdk_gc_new(window); - - OS.gdk_gc_set_font(gc, _getFontHandle()); - OS.gdk_gc_set_background(gc, _getBackgroundGdkColor()); - OS.gdk_gc_set_foreground(gc, _getForegroundGdkColor()); - - data.drawable = window; - return gc; + int gdkGC = OS.gdk_gc_new(window); + if (gdkGC == 0) error(SWT.ERROR_NO_HANDLES); + if (data != null) { + data.drawable = window; + data.device = getDisplay (); + data.background = _getBackgroundGdkColor (); + data.foreground = _getForegroundGdkColor (); +// OS.gdk_gc_set_font(gc, _getFontHandle ()); + } + return gdkGC; } /** @@ -1405,9 +1404,8 @@ public int internal_new_GC (GCData data) { * * @private */ -public void internal_dispose_GC (int xGC, GCData data) { - if(xGC == 0) error(SWT.ERROR_NO_HANDLES); - OS.gdk_gc_unref(xGC); +public void internal_dispose_GC (int gdkGC, GCData data) { + OS.g_object_unref(gdkGC); } /** diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java index 2a24ef5f3d..6b44200fd4 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java @@ -801,77 +801,77 @@ final void initializeSystemColors() { gdk_NORMAL_dark.red = defaultStyle.dark0_red; gdk_NORMAL_dark.green = defaultStyle.dark0_green; gdk_NORMAL_dark.blue = defaultStyle.dark0_blue; - NORMAL_dark = Color.gtk_new(gdk_NORMAL_dark); + NORMAL_dark = Color.gtk_new(this, gdk_NORMAL_dark); GdkColor gdk_NORMAL_mid = new GdkColor(); gdk_NORMAL_mid.pixel = defaultStyle.mid0_pixel; gdk_NORMAL_mid.red = defaultStyle.mid0_red; gdk_NORMAL_mid.green = defaultStyle.mid0_green; gdk_NORMAL_mid.blue = defaultStyle.mid0_blue; - NORMAL_mid = Color.gtk_new(gdk_NORMAL_mid); + NORMAL_mid = Color.gtk_new(this, gdk_NORMAL_mid); GdkColor gdk_NORMAL_light = new GdkColor(); gdk_NORMAL_light.pixel = defaultStyle.light0_pixel; gdk_NORMAL_light.red = defaultStyle.light0_red; gdk_NORMAL_light.green = defaultStyle.light0_green; gdk_NORMAL_light.blue = defaultStyle.light0_blue; - NORMAL_light = Color.gtk_new(gdk_NORMAL_light); + NORMAL_light = Color.gtk_new(this, gdk_NORMAL_light); GdkColor gdk_NORMAL_fg = new GdkColor(); gdk_NORMAL_fg.pixel = defaultStyle.fg0_pixel; gdk_NORMAL_fg.red = defaultStyle.fg0_red; gdk_NORMAL_fg.green = defaultStyle.fg0_green; gdk_NORMAL_fg.blue = defaultStyle.fg0_blue; - NORMAL_fg = Color.gtk_new(gdk_NORMAL_fg); + NORMAL_fg = Color.gtk_new(this, gdk_NORMAL_fg); GdkColor gdk_NORMAL_bg = new GdkColor(); gdk_NORMAL_bg.pixel = defaultStyle.bg0_pixel; gdk_NORMAL_bg.red = defaultStyle.bg0_red; gdk_NORMAL_bg.green = defaultStyle.bg0_green; gdk_NORMAL_bg.blue = defaultStyle.bg0_blue; - NORMAL_bg = Color.gtk_new(gdk_NORMAL_bg); + NORMAL_bg = Color.gtk_new(this, gdk_NORMAL_bg); GdkColor gdk_NORMAL_text = new GdkColor(); gdk_NORMAL_text.pixel = defaultStyle.text0_pixel; gdk_NORMAL_text.red = defaultStyle.text0_red; gdk_NORMAL_text.green = defaultStyle.text0_green; gdk_NORMAL_text.blue = defaultStyle.text0_blue; - NORMAL_text = Color.gtk_new(gdk_NORMAL_text); + NORMAL_text = Color.gtk_new(this, gdk_NORMAL_text); GdkColor gdk_NORMAL_base = new GdkColor(); gdk_NORMAL_base.pixel = defaultStyle.base0_pixel; gdk_NORMAL_base.red = defaultStyle.base0_red; gdk_NORMAL_base.green = defaultStyle.base0_green; gdk_NORMAL_base.blue = defaultStyle.base0_blue; - NORMAL_base = Color.gtk_new(gdk_NORMAL_base); + NORMAL_base = Color.gtk_new(this, gdk_NORMAL_base); GdkColor gdk_SELECTED_text = new GdkColor(); gdk_SELECTED_text.pixel = defaultStyle.text3_pixel; gdk_SELECTED_text.red = defaultStyle.text3_red; gdk_SELECTED_text.green = defaultStyle.text3_green; gdk_SELECTED_text.blue = defaultStyle.text3_blue; - SELECTED_text = Color.gtk_new(gdk_SELECTED_text); + SELECTED_text = Color.gtk_new(this, gdk_SELECTED_text); GdkColor gdk_SELECTED_bg = new GdkColor(); gdk_SELECTED_bg.pixel = defaultStyle.bg3_pixel; gdk_SELECTED_bg.red = defaultStyle.bg3_red; gdk_SELECTED_bg.green = defaultStyle.bg3_green; gdk_SELECTED_bg.blue = defaultStyle.bg3_blue; - SELECTED_bg = Color.gtk_new(gdk_SELECTED_bg); + SELECTED_bg = Color.gtk_new(this, gdk_SELECTED_bg); GdkColor gdk_SELECTED_base = new GdkColor(); gdk_SELECTED_base.pixel = defaultStyle.base3_pixel; gdk_SELECTED_base.red = defaultStyle.base3_red; gdk_SELECTED_base.green = defaultStyle.base3_green; gdk_SELECTED_base.blue = defaultStyle.base3_blue; - SELECTED_base = Color.gtk_new(gdk_SELECTED_base); + SELECTED_base = Color.gtk_new(this, gdk_SELECTED_base); GdkColor gdk_SELECTED_light = new GdkColor(); gdk_SELECTED_light.pixel = defaultStyle.light3_pixel; gdk_SELECTED_light.red = defaultStyle.light3_red; gdk_SELECTED_light.green = defaultStyle.light3_green; gdk_SELECTED_light.blue = defaultStyle.light3_blue; - SELECTED_light = Color.gtk_new(gdk_SELECTED_light); + SELECTED_light = Color.gtk_new(this, gdk_SELECTED_light); GdkColor gdk_PRELIGHT_light = new GdkColor(); @@ -879,28 +879,28 @@ final void initializeSystemColors() { gdk_PRELIGHT_light.red = defaultStyle.light2_red; gdk_PRELIGHT_light.green = defaultStyle.light2_green; gdk_PRELIGHT_light.blue = defaultStyle.light2_blue; - PRELIGHT_light = Color.gtk_new(gdk_PRELIGHT_light); + PRELIGHT_light = Color.gtk_new(this, gdk_PRELIGHT_light); GdkColor gdk_INSENSITIVE_light = new GdkColor(); gdk_INSENSITIVE_light.pixel = defaultStyle.light4_pixel; gdk_INSENSITIVE_light.red = defaultStyle.light4_red; gdk_INSENSITIVE_light.green = defaultStyle.light4_green; gdk_INSENSITIVE_light.blue = defaultStyle.light4_blue; - INSENSITIVE_light = Color.gtk_new(gdk_INSENSITIVE_light); + INSENSITIVE_light = Color.gtk_new(this, gdk_INSENSITIVE_light); GdkColor gdk_INSENSITIVE_fg = new GdkColor(); gdk_INSENSITIVE_fg.pixel = defaultStyle.fg4_pixel; gdk_INSENSITIVE_fg.red = defaultStyle.fg4_red; gdk_INSENSITIVE_fg.green = defaultStyle.fg4_green; gdk_INSENSITIVE_fg.blue = defaultStyle.fg4_blue; - INSENSITIVE_fg = Color.gtk_new(gdk_INSENSITIVE_fg); + INSENSITIVE_fg = Color.gtk_new(this, gdk_INSENSITIVE_fg); GdkColor gdk_INSENSITIVE_bg = new GdkColor(); gdk_INSENSITIVE_bg.pixel = defaultStyle.bg4_pixel; gdk_INSENSITIVE_bg.red = defaultStyle.bg4_red; gdk_INSENSITIVE_bg.green = defaultStyle.bg4_green; gdk_INSENSITIVE_bg.blue = defaultStyle.bg4_blue; - INSENSITIVE_bg = Color.gtk_new(gdk_INSENSITIVE_bg); + INSENSITIVE_bg = Color.gtk_new(this, gdk_INSENSITIVE_bg); } /** @@ -986,8 +986,8 @@ void initializeCallbacks () { * * @private */ -public void internal_dispose_GC (int handle, GCData data) { - OS.gdk_gc_destroy(handle); +public void internal_dispose_GC (int gdkGC, GCData data) { + OS.g_object_unref(gdkGC); } /** @@ -1008,9 +1008,13 @@ public void internal_dispose_GC (int handle, GCData data) { public int internal_new_GC (GCData data) { if (isDisposed()) SWT.error(SWT.ERROR_DEVICE_DISPOSED); int root = OS.GDK_ROOT_PARENT(); - int gc = OS.gdk_gc_new(root); - data.drawable = root; - return gc; + int gdkGC = OS.gdk_gc_new(root); + if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES); + if (data != null) { + data.device = this; + data.drawable = root; + } + return gdkGC; } boolean isValidThread () { diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java index c779a425f4..3911e13761 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java @@ -319,8 +319,8 @@ void drawBand (int x, int y, int width, int height) { drawing = true; drawX=x;drawY=y; OS.gdk_draw_rectangle(window, gc, 1, x, y, width, height); - OS.gdk_bitmap_unref(stipplePixmap); - OS.gdk_gc_destroy(gc); + OS.g_object_unref(stipplePixmap); + OS.g_object_unref(gc); } static int checkStyle (int style) { return checkBits (style, SWT.HORIZONTAL, SWT.VERTICAL, 0, 0, 0, 0); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java index efa5cf9075..25ac0f9fb4 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java @@ -182,7 +182,7 @@ int createCheckPixmap(boolean checked) { OS.gdk_draw_line(pixmap, gc, 0,check_height-1, check_width-1,0); } - OS.gdk_gc_destroy(gc); + OS.g_object_unref(gc); return pixmap; } @@ -844,8 +844,8 @@ void releaseWidget () { } items = null; itemBeingSelected = null; - if (check != 0) OS.gdk_pixmap_unref (check); - if (uncheck != 0) OS.gdk_pixmap_unref (uncheck); + if (check != 0) OS.g_object_unref (check); + if (uncheck != 0) OS.g_object_unref (uncheck); check = uncheck = 0; super.releaseWidget (); } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java index 457a15393f..8ce2b87b52 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java @@ -343,7 +343,7 @@ private void drawRectangles () { Rectangle rect = rectangles [i];
OS.gdk_draw_rectangle(xWindow, gc, 0, rect.x, rect.y, rect.width, rect.height);
}
- OS.gdk_gc_destroy(gc);
+ OS.g_object_unref(gc);
}
/*
* Wait for an event to show up.
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java index c84686edbe..2790cd8ada 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java @@ -234,7 +234,7 @@ int createCheckPixmap(boolean checked) { OS.gdk_draw_line(pixmap, gc, 0,check_height-1, check_width-1,0); } - OS.gdk_gc_destroy(gc); + OS.g_object_unref(gc); return pixmap; } @@ -727,8 +727,8 @@ void releaseWidget () { } } items = null; - if (check != 0) OS.gdk_pixmap_unref (check); - if (uncheck != 0) OS.gdk_pixmap_unref (uncheck); + if (check != 0) OS.g_object_unref (check); + if (uncheck != 0) OS.g_object_unref (uncheck); check = uncheck = 0; super.releaseWidget (); } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java index be276ebc48..508b95505f 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java @@ -550,7 +550,6 @@ void postEvent (int eventType, Event event) { } int processEvent (int eventNumber, int int0, int int1, int int2) { - System.out.println("event: "+eventNumber+" in "+this); switch (eventNumber) { case SWT.Arm: return processArm (int0, int1, int2); case SWT.Collapse: return processCollapse (int0, int1, int2); |