blob: d4311c7596eae8b7e63c53fa13069e0f732bb97a [file] [log] [blame]
/*
* Copyright (c) IBM Corp. 2000, 2002. 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.
*/
/**
* SWT OS natives implementation: OS.memmove(...)
*/
#include "swt.h"
#include "structs.h"
#include <stdio.h>
#include <assert.h>
/* Read */
/* GDK */
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGdkColorFids(env, dest, &PGLOB(GdkColorFc));
setGdkColorFields(env, dest, (GdkColor *)src, &PGLOB(GdkColorFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGdkEventExposeFids(env, dest, &PGLOB(GdkEventExposeFc));
setGdkEventExposeFields(env, dest, (GdkEvent *)src, &PGLOB(GdkEventExposeFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I
(JNIEnv *env, jclass that, jobject dest, jint src, jint count)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGdkVisualFids(env, dest, &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));
}
}
/* GTK */
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkStyleClass_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkStyleClassFids(env, dest, &PGLOB(GtkStyleClassFc));
setGtkStyleClassFields(env, dest, (GtkStyleClass *)src, &PGLOB(GtkStyleClassFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkAllocation_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkAllocationFids(env, dest, &PGLOB(GtkAllocationFc));
setGtkAllocationFields(env, dest, (GtkAllocation *)src, &PGLOB(GtkAllocationFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkComboFids(env, dest, &PGLOB(GtkComboFc));
setGtkComboFields(env, dest, (GtkCombo *)src, &PGLOB(GtkComboFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkCList_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkCListFids(env, dest, &PGLOB(GtkCListFc));
setGtkCListFields(env, dest, (GtkCList *)src, &PGLOB(GtkCListFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkCTree_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkCTreeFids(env, dest, &PGLOB(GtkCTreeFc));
setGtkCTreeFields(env, dest, (GtkCTree *)src, &PGLOB(GtkCTreeFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkRequisition_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkRequisitionFids(env, dest, &PGLOB(GtkRequisitionFc));
setGtkRequisitionFields(env, dest, (GtkRequisition *)src, &PGLOB(GtkRequisitionFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkStyle_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkStyleFids(env, dest, &PGLOB(GtkStyleFc));
setGtkStyleFields(env, dest, (GtkStyle *)src, &PGLOB(GtkStyleFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkAdjustmentFids(env, dest, &PGLOB(GtkAdjustmentFc));
setGtkAdjustmentFields(env, dest, (GtkAdjustment *)src, &PGLOB(GtkAdjustmentFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkCListRow_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkCListRowFids(env, dest, &PGLOB(GtkCListRowFc));
setGtkCListRowFields(env, dest, (GtkCListRow *)src, &PGLOB(GtkCListRowFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkCListColumn_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkCListColumnFids(env, dest, &PGLOB(GtkCListColumnFc));
setGtkCListColumnFields(env, dest, (GtkCListColumn *)src, &PGLOB(GtkCListColumnFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkCTreeRow_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkCTreeRowFids(env, dest, &PGLOB(GtkCTreeRowFc));
setGtkCTreeRowFields(env, dest, (GtkCTreeRow *)src, &PGLOB(GtkCTreeRowFc));
}
}
/* Write */
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2
(JNIEnv *env, jclass that, jint dest, jobject src)
{
DECL_GLOB(pGlob)
if (src) {
cacheGtkAdjustmentFids(env, src, &PGLOB(GtkAdjustmentFc));
getGtkAdjustmentFields(env, src, (GtkAdjustment *)dest, &PGLOB(GtkAdjustmentFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclipse_swt_internal_gtk_GtkCListColumn_2
(JNIEnv *env, jclass that, jint dest, jobject src)
{
DECL_GLOB(pGlob)
if (src) {
cacheGtkCListColumnFids(env, src, &PGLOB(GtkCListColumnFc));
getGtkCListColumnFields(env, src, (GtkCListColumn *)dest, &PGLOB(GtkCListColumnFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclipse_swt_internal_gtk_GtkStyle_2
(JNIEnv *env, jclass that, jint dest, jobject src)
{
DECL_GLOB(pGlob)
if (src) {
cacheGtkStyleFids(env, src, &PGLOB(GtkStyleFc));
getGtkStyleFields(env, src, (GtkStyle *)dest, &PGLOB(GtkStyleFc));
}
}
/* Primitive memmoves */
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__I_3BI
(JNIEnv *env, jclass that, jint dest, jbyteArray src, jint count)
{
jbyte *src1;
if (src) {
src1 = (*env)->GetByteArrayElements(env, src, NULL);
memmove((void*)dest, (void*)src1, count);
(*env)->ReleaseByteArrayElements(env, src, src1, 0);
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__I_3II
(JNIEnv *env, jclass that, jint dest, jintArray src, jint count)
{
jint *src1;
if (src) {
src1 = (*env)->GetIntArrayElements(env, src, NULL);
memmove((void*)dest, (void*)src1, count);
(*env)->ReleaseIntArrayElements(env, src, src1, 0);
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3III
(JNIEnv *env, jclass that, jintArray dest, jint src, jint count)
{
jint *dest1;
if (dest) {
dest1 = (*env)->GetIntArrayElements(env, dest, NULL);
memmove((void*)dest1, (void*)src, count);
(*env)->ReleaseIntArrayElements(env, dest, dest1, 0);
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3BII
(JNIEnv *env, jclass that, jbyteArray dest, jint src, jint count)
{
jbyte *dest1;
if (dest) {
dest1 = (*env)->GetByteArrayElements(env, dest, NULL);
memmove((void*)dest1, (void*)src, count);
(*env)->ReleaseByteArrayElements(env, dest, dest1, 0);
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3I_3BI
(JNIEnv *env, jclass that, jintArray dest, jbyteArray src, jint count)
{
jint *dest1;
jbyte *src1;
if (src && dest) {
dest1 = (*env)->GetIntArrayElements(env, dest, NULL);
src1 = (*env)->GetByteArrayElements(env, dest, NULL);
memmove((void*)dest1, (void*)src1, count);
(*env)->ReleaseIntArrayElements(env, dest, dest1, 0);
(*env)->ReleaseByteArrayElements(env, src, src1, 0);
}
}
/* Clipboard */
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2I
(JNIEnv *env, jclass that, jobject dest, jint src)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGtkSelectionDataFids(env, dest, &PGLOB(GtkSelectionDataFc));
setGtkSelectionDataFields(env, dest, (GtkSelectionData *)src, &PGLOB(GtkSelectionDataFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2
(JNIEnv *env, jclass that, jint dest, jobject src)
{
DECL_GLOB(pGlob)
if (src) {
cacheGtkTargetEntryFids(env, src, &PGLOB(GtkTargetEntryFc));
getGtkTargetEntryFields(env, src, (GtkTargetEntry *)dest, &PGLOB(GtkTargetEntryFc));
}
}
JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II
(JNIEnv *env, jclass that, jobject dest, jint src, jint size)
{
DECL_GLOB(pGlob)
if (dest) {
cacheGdkRectangleFids(env, dest, &PGLOB(GdkRectangleFc));
setGdkRectangleFields(env, dest, (GdkRectangle *)src, &PGLOB(GdkRectangleFc));
}
}