
wt.org.eclipse.swt.win32.win32.x86.4.3.source-code.gdip_structs.cpp Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.eclipse.swt.win32.win32.x86 Show documentation
Show all versions of org.eclipse.swt.win32.win32.x86 Show documentation
SWT is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the operating systems on which it is implemented.
The newest version!
/*******************************************************************************
* Copyright (c) 2000, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
#include "swt.h"
#include "gdip_structs.h"
#ifndef NO_BitmapData
typedef struct BitmapData_FID_CACHE {
int cached;
jclass clazz;
jfieldID Width, Height, Stride, PixelFormat, Scan0, Reserved;
} BitmapData_FID_CACHE;
BitmapData_FID_CACHE BitmapDataFc;
void cacheBitmapDataFields(JNIEnv *env, jobject lpObject)
{
if (BitmapDataFc.cached) return;
BitmapDataFc.clazz = env->GetObjectClass(lpObject);
BitmapDataFc.Width = env->GetFieldID(BitmapDataFc.clazz, "Width", "I");
BitmapDataFc.Height = env->GetFieldID(BitmapDataFc.clazz, "Height", "I");
BitmapDataFc.Stride = env->GetFieldID(BitmapDataFc.clazz, "Stride", "I");
BitmapDataFc.PixelFormat = env->GetFieldID(BitmapDataFc.clazz, "PixelFormat", "I");
BitmapDataFc.Scan0 = env->GetFieldID(BitmapDataFc.clazz, "Scan0", I_J);
BitmapDataFc.Reserved = env->GetFieldID(BitmapDataFc.clazz, "Reserved", I_J);
BitmapDataFc.cached = 1;
}
BitmapData *getBitmapDataFields(JNIEnv *env, jobject lpObject, BitmapData *lpStruct)
{
if (!BitmapDataFc.cached) cacheBitmapDataFields(env, lpObject);
lpStruct->Width = env->GetIntField(lpObject, BitmapDataFc.Width);
lpStruct->Height = env->GetIntField(lpObject, BitmapDataFc.Height);
lpStruct->Stride = env->GetIntField(lpObject, BitmapDataFc.Stride);
lpStruct->PixelFormat = (PixelFormat)env->GetIntField(lpObject, BitmapDataFc.PixelFormat);
lpStruct->Scan0 = (void*)env->GetIntLongField(lpObject, BitmapDataFc.Scan0);
lpStruct->Reserved = (UINT_PTR)env->GetIntLongField(lpObject, BitmapDataFc.Reserved);
return lpStruct;
}
void setBitmapDataFields(JNIEnv *env, jobject lpObject, BitmapData *lpStruct)
{
if (!BitmapDataFc.cached) cacheBitmapDataFields(env, lpObject);
env->SetIntField(lpObject, BitmapDataFc.Width, (jint)lpStruct->Width);
env->SetIntField(lpObject, BitmapDataFc.Height, (jint)lpStruct->Height);
env->SetIntField(lpObject, BitmapDataFc.Stride, (jint)lpStruct->Stride);
env->SetIntField(lpObject, BitmapDataFc.PixelFormat, (jint)lpStruct->PixelFormat);
env->SetIntLongField(lpObject, BitmapDataFc.Scan0, (jintLong)lpStruct->Scan0);
env->SetIntLongField(lpObject, BitmapDataFc.Reserved, (jintLong)lpStruct->Reserved);
}
#endif
#ifndef NO_ColorPalette
typedef struct ColorPalette_FID_CACHE {
int cached;
jclass clazz;
jfieldID Flags, Count, Entries;
} ColorPalette_FID_CACHE;
ColorPalette_FID_CACHE ColorPaletteFc;
void cacheColorPaletteFields(JNIEnv *env, jobject lpObject)
{
if (ColorPaletteFc.cached) return;
ColorPaletteFc.clazz = env->GetObjectClass(lpObject);
ColorPaletteFc.Flags = env->GetFieldID(ColorPaletteFc.clazz, "Flags", "I");
ColorPaletteFc.Count = env->GetFieldID(ColorPaletteFc.clazz, "Count", "I");
ColorPaletteFc.Entries = env->GetFieldID(ColorPaletteFc.clazz, "Entries", "[I");
ColorPaletteFc.cached = 1;
}
ColorPalette *getColorPaletteFields(JNIEnv *env, jobject lpObject, ColorPalette *lpStruct)
{
if (!ColorPaletteFc.cached) cacheColorPaletteFields(env, lpObject);
lpStruct->Flags = env->GetIntField(lpObject, ColorPaletteFc.Flags);
lpStruct->Count = env->GetIntField(lpObject, ColorPaletteFc.Count);
{
jintArray lpObject1 = (jintArray)env->GetObjectField(lpObject, ColorPaletteFc.Entries);
env->GetIntArrayRegion(lpObject1, 0, sizeof(lpStruct->Entries) / sizeof(jint), (jint *)lpStruct->Entries);
}
return lpStruct;
}
void setColorPaletteFields(JNIEnv *env, jobject lpObject, ColorPalette *lpStruct)
{
if (!ColorPaletteFc.cached) cacheColorPaletteFields(env, lpObject);
env->SetIntField(lpObject, ColorPaletteFc.Flags, (jint)lpStruct->Flags);
env->SetIntField(lpObject, ColorPaletteFc.Count, (jint)lpStruct->Count);
{
jintArray lpObject1 = (jintArray)env->GetObjectField(lpObject, ColorPaletteFc.Entries);
env->SetIntArrayRegion(lpObject1, 0, sizeof(lpStruct->Entries) / sizeof(jint), (jint *)lpStruct->Entries);
}
}
#endif
#ifndef NO_GdiplusStartupInput
typedef struct GdiplusStartupInput_FID_CACHE {
int cached;
jclass clazz;
jfieldID GdiplusVersion, DebugEventCallback, SuppressBackgroundThread, SuppressExternalCodecs;
} GdiplusStartupInput_FID_CACHE;
GdiplusStartupInput_FID_CACHE GdiplusStartupInputFc;
void cacheGdiplusStartupInputFields(JNIEnv *env, jobject lpObject)
{
if (GdiplusStartupInputFc.cached) return;
GdiplusStartupInputFc.clazz = env->GetObjectClass(lpObject);
GdiplusStartupInputFc.GdiplusVersion = env->GetFieldID(GdiplusStartupInputFc.clazz, "GdiplusVersion", "I");
GdiplusStartupInputFc.DebugEventCallback = env->GetFieldID(GdiplusStartupInputFc.clazz, "DebugEventCallback", I_J);
GdiplusStartupInputFc.SuppressBackgroundThread = env->GetFieldID(GdiplusStartupInputFc.clazz, "SuppressBackgroundThread", "Z");
GdiplusStartupInputFc.SuppressExternalCodecs = env->GetFieldID(GdiplusStartupInputFc.clazz, "SuppressExternalCodecs", "Z");
GdiplusStartupInputFc.cached = 1;
}
GdiplusStartupInput *getGdiplusStartupInputFields(JNIEnv *env, jobject lpObject, GdiplusStartupInput *lpStruct)
{
if (!GdiplusStartupInputFc.cached) cacheGdiplusStartupInputFields(env, lpObject);
lpStruct->GdiplusVersion = env->GetIntField(lpObject, GdiplusStartupInputFc.GdiplusVersion);
lpStruct->DebugEventCallback = (DebugEventProc)env->GetIntLongField(lpObject, GdiplusStartupInputFc.DebugEventCallback);
lpStruct->SuppressBackgroundThread = (BOOL)env->GetBooleanField(lpObject, GdiplusStartupInputFc.SuppressBackgroundThread);
lpStruct->SuppressExternalCodecs = (BOOL)env->GetBooleanField(lpObject, GdiplusStartupInputFc.SuppressExternalCodecs);
return lpStruct;
}
void setGdiplusStartupInputFields(JNIEnv *env, jobject lpObject, GdiplusStartupInput *lpStruct)
{
if (!GdiplusStartupInputFc.cached) cacheGdiplusStartupInputFields(env, lpObject);
env->SetIntField(lpObject, GdiplusStartupInputFc.GdiplusVersion, (jint)lpStruct->GdiplusVersion);
env->SetIntLongField(lpObject, GdiplusStartupInputFc.DebugEventCallback, (jintLong)lpStruct->DebugEventCallback);
env->SetBooleanField(lpObject, GdiplusStartupInputFc.SuppressBackgroundThread, (jboolean)lpStruct->SuppressBackgroundThread);
env->SetBooleanField(lpObject, GdiplusStartupInputFc.SuppressExternalCodecs, (jboolean)lpStruct->SuppressExternalCodecs);
}
#endif
#ifndef NO_PointF
typedef struct PointF_FID_CACHE {
int cached;
jclass clazz;
jfieldID X, Y;
} PointF_FID_CACHE;
PointF_FID_CACHE PointFFc;
void cachePointFFields(JNIEnv *env, jobject lpObject)
{
if (PointFFc.cached) return;
PointFFc.clazz = env->GetObjectClass(lpObject);
PointFFc.X = env->GetFieldID(PointFFc.clazz, "X", "F");
PointFFc.Y = env->GetFieldID(PointFFc.clazz, "Y", "F");
PointFFc.cached = 1;
}
PointF *getPointFFields(JNIEnv *env, jobject lpObject, PointF *lpStruct)
{
if (!PointFFc.cached) cachePointFFields(env, lpObject);
lpStruct->X = (REAL)env->GetFloatField(lpObject, PointFFc.X);
lpStruct->Y = (REAL)env->GetFloatField(lpObject, PointFFc.Y);
return lpStruct;
}
void setPointFFields(JNIEnv *env, jobject lpObject, PointF *lpStruct)
{
if (!PointFFc.cached) cachePointFFields(env, lpObject);
env->SetFloatField(lpObject, PointFFc.X, (jfloat)lpStruct->X);
env->SetFloatField(lpObject, PointFFc.Y, (jfloat)lpStruct->Y);
}
#endif
#ifndef NO_Rect
typedef struct Rect_FID_CACHE {
int cached;
jclass clazz;
jfieldID X, Y, Width, Height;
} Rect_FID_CACHE;
Rect_FID_CACHE RectFc;
void cacheRectFields(JNIEnv *env, jobject lpObject)
{
if (RectFc.cached) return;
RectFc.clazz = env->GetObjectClass(lpObject);
RectFc.X = env->GetFieldID(RectFc.clazz, "X", "I");
RectFc.Y = env->GetFieldID(RectFc.clazz, "Y", "I");
RectFc.Width = env->GetFieldID(RectFc.clazz, "Width", "I");
RectFc.Height = env->GetFieldID(RectFc.clazz, "Height", "I");
RectFc.cached = 1;
}
Rect *getRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct)
{
if (!RectFc.cached) cacheRectFields(env, lpObject);
lpStruct->X = env->GetIntField(lpObject, RectFc.X);
lpStruct->Y = env->GetIntField(lpObject, RectFc.Y);
lpStruct->Width = env->GetIntField(lpObject, RectFc.Width);
lpStruct->Height = env->GetIntField(lpObject, RectFc.Height);
return lpStruct;
}
void setRectFields(JNIEnv *env, jobject lpObject, Rect *lpStruct)
{
if (!RectFc.cached) cacheRectFields(env, lpObject);
env->SetIntField(lpObject, RectFc.X, (jint)lpStruct->X);
env->SetIntField(lpObject, RectFc.Y, (jint)lpStruct->Y);
env->SetIntField(lpObject, RectFc.Width, (jint)lpStruct->Width);
env->SetIntField(lpObject, RectFc.Height, (jint)lpStruct->Height);
}
#endif
#ifndef NO_RectF
typedef struct RectF_FID_CACHE {
int cached;
jclass clazz;
jfieldID X, Y, Width, Height;
} RectF_FID_CACHE;
RectF_FID_CACHE RectFFc;
void cacheRectFFields(JNIEnv *env, jobject lpObject)
{
if (RectFFc.cached) return;
RectFFc.clazz = env->GetObjectClass(lpObject);
RectFFc.X = env->GetFieldID(RectFFc.clazz, "X", "F");
RectFFc.Y = env->GetFieldID(RectFFc.clazz, "Y", "F");
RectFFc.Width = env->GetFieldID(RectFFc.clazz, "Width", "F");
RectFFc.Height = env->GetFieldID(RectFFc.clazz, "Height", "F");
RectFFc.cached = 1;
}
RectF *getRectFFields(JNIEnv *env, jobject lpObject, RectF *lpStruct)
{
if (!RectFFc.cached) cacheRectFFields(env, lpObject);
lpStruct->X = env->GetFloatField(lpObject, RectFFc.X);
lpStruct->Y = env->GetFloatField(lpObject, RectFFc.Y);
lpStruct->Width = env->GetFloatField(lpObject, RectFFc.Width);
lpStruct->Height = env->GetFloatField(lpObject, RectFFc.Height);
return lpStruct;
}
void setRectFFields(JNIEnv *env, jobject lpObject, RectF *lpStruct)
{
if (!RectFFc.cached) cacheRectFFields(env, lpObject);
env->SetFloatField(lpObject, RectFFc.X, (jfloat)lpStruct->X);
env->SetFloatField(lpObject, RectFFc.Y, (jfloat)lpStruct->Y);
env->SetFloatField(lpObject, RectFFc.Width, (jfloat)lpStruct->Width);
env->SetFloatField(lpObject, RectFFc.Height, (jfloat)lpStruct->Height);
}
#endif
© 2015 - 2025 Weber Informatics LLC | Privacy Policy