// ...
public
procedure DrawBitmap(bitMap: jObject; srcLeft, srcTop, srcRight, srcBottom: Integer; dstLeft, dstTop, dstRight, dstBottom: Single); overload;
procedure DrawFrame(bitMap: jObject; srcX, srcY, srcW, srcH: Integer; X, Y, W, H: Single; rotateDegree: Single=0); overload; // by Kordal
procedure DrawFrame(bitMap: jObject; X, Y: Single; Index, Size: Integer; scaleFactor: Single=1; rotateDegree: Single=0); overload;
end;
//...
procedure jDrawingView_DrawBitmap(env: PJNIEnv; _jdrawingview: JObject; _bitmap: jObject; _sl, _st, _sr, _sb: Integer; _dl, _dt, _dr, _db: Single); overload;
procedure jDrawingView_DrawFrame(env: PJNIEnv; _jdrawingview: JObject; _bitmap: jObject; _srcX, _srcY, _srcW, _srcH: Integer; _X, _Y, _Wh, _Ht, _rotateDegree: Single); overload;
procedure jDrawingView_DrawFrame(env: PJNIEnv; _jdrawingview: JObject; _bitmap: jObject; _X, _Y: Single; _Index, _Size: Integer; _scaleFactor, _rotateDegree: Single); overload;
implementation
procedure jDrawingView.DrawBitmap(bitMap: jObject; srcLeft, srcTop, srcRight, srcBottom: Integer; dstLeft, dstTop, dstRight, dstBottom: Single);
begin
if FInitialized then
jDrawingView_DrawBitmap(FjEnv, FjObject, bitMap, srcLeft, srcTop, srcRight, srcBottom, dstLeft, dstTop, dstRight, dstBottom);
end;
procedure jDrawingView.DrawFrame(bitMap: jObject; srcX, srcY, srcW, srcH: Integer; X, Y, W, H, rotateDegree: Single);
begin
if FInitialized then
jDrawingView_DrawFrame(FjEnv, FjObject, bitMap, srcX, srcY, srcW, srcH, X, Y, W, H, rotateDegree);
end;
procedure jDrawingView.DrawFrame(bitMap: jObject; X, Y: Single; Index, Size: Integer; scaleFactor: Single; rotateDegree: Single);
begin
if FInitialized then
jDrawingView_DrawFrame(FjEnv, FjObject, bitMap, X, Y, Index, Size, scaleFactor, rotateDegree);
end;
procedure jDrawingView_DrawBitmap(env: PJNIEnv; _jdrawingview: JObject; _bitmap: jObject; _sl, _st, _sr, _sb: Integer; _dl, _dt, _dr, _db: Single);
var
jParams: array [0..8] of jValue;
jMethod: jMethodID=nil;
jCls : jClass=nil;
begin
jParams[0].l := _bitmap;
jParams[1].i := _sl;
jParams[2].i := _st;
jParams[3].i := _sr;
jParams[4].i := _sb;
jParams[5].f := _dl;
jParams[6].f := _dt;
jParams[7].f := _dr;
jParams[8].f := _db;
jCls:= env^.GetObjectClass(env, _jdrawingview);
jMethod:= env^.GetMethodID(env, jCls, 'DrawBitmap', '(Landroid/graphics/Bitmap;IIIIFFFF)V');
env^.CallVoidMethodA(env, _jdrawingview, jMethod, @jParams);
env^.DeleteLocalRef(env, jCls);
end;
procedure jDrawingView_DrawFrame(env: PJNIEnv; _jdrawingview: JObject; _bitmap: jObject; _srcX, _srcY, _srcW, _srcH: Integer; _X, _Y, _Wh, _Ht, _rotateDegree: Single);
var
jParams: array [0..9] of jValue;
jMethod: jMethodID = nil;
jCls : jClass = nil;
begin
jParams[0].l := _bitmap;
jParams[1].i := _srcX;
jParams[2].i := _srcY;
jParams[3].i := _srcW;
jParams[4].i := _srcH;
jParams[5].f := _X;
jParams[6].f := _Y;
jParams[7].f := _Wh;
jParams[8].f := _Ht;
jParams[9].f := _rotateDegree;
jCls := env^.GetObjectClass(env, _jdrawingview);
jMethod := env^.GetMethodID(env, jCls, 'DrawFrame', '(Landroid/graphics/Bitmap;IIIIFFFFF)V');
env^.CallVoidMethodA(env, _jdrawingview, jMethod, @jParams);
env^.DeleteLocalRef(env, jCls);
end;
procedure jDrawingView_DrawFrame(env: PJNIEnv; _jdrawingview: JObject; _bitmap: jObject; _X, _Y: Single; _Index, _Size: Integer; _scaleFactor, _rotateDegree: Single);
var
jParams: array [0..6] of jValue;
jMethod: jMethodID = nil;
jCls : jClass = nil;
begin
jParams[0].l := _bitmap;
jParams[1].f := _X;
jParams[2].f := _Y;
jParams[3].i := _Index;
jParams[4].i := _Size;
jParams[5].f := _scaleFactor;
jParams[6].f := _rotateDegree;
jCls := env^.GetObjectClass(env, _jdrawingview);
jMethod := env^.GetMethodID(env, jCls, 'DrawFrame', '(Landroid/graphics/Bitmap;FFIIFF)V');
env^.CallVoidMethodA(env, _jdrawingview, jMethod, @jParams);
env^.DeleteLocalRef(env, jCls);
end;