|
@@ -16,6 +16,11 @@ function __fresnel_canvas_allocate(
|
|
aID: PCanvasID
|
|
aID: PCanvasID
|
|
): TCanvasError; external 'fresnel_api' name 'canvas_allocate';
|
|
): TCanvasError; external 'fresnel_api' name 'canvas_allocate';
|
|
|
|
|
|
|
|
+function __fresnel_canvas_deallocate(
|
|
|
|
+ aID: TCanvasID
|
|
|
|
+): TCanvasError; external 'fresnel_api' name 'canvas_deallocate';
|
|
|
|
+
|
|
|
|
+
|
|
function __fresnel_canvas_getbyid(
|
|
function __fresnel_canvas_getbyid(
|
|
PElementID : PByte;
|
|
PElementID : PByte;
|
|
Len : Longint;
|
|
Len : Longint;
|
|
@@ -163,6 +168,13 @@ function __fresnel_canvas_draw_image(
|
|
aImageData : PByte
|
|
aImageData : PByte
|
|
): TCanvasError; external 'fresnel_api' name 'canvas_draw_image';
|
|
): TCanvasError; external 'fresnel_api' name 'canvas_draw_image';
|
|
|
|
|
|
|
|
+{ ---------------------------------------------------------------------
|
|
|
|
+ Timer API
|
|
|
|
+ ---------------------------------------------------------------------}
|
|
|
|
+
|
|
|
|
+function __fresnel_timer_allocate(ainterval : longint; userdata: pointer) : TTimerID; external 'fresnel_api' name 'timer_allocate';
|
|
|
|
+
|
|
|
|
+procedure __fresnel_timer_deallocate(timerid: TTimerID); external 'fresnel_api' name 'timer_deallocate';
|
|
|
|
|
|
{ ---------------------------------------------------------------------
|
|
{ ---------------------------------------------------------------------
|
|
Event API
|
|
Event API
|
|
@@ -183,13 +195,23 @@ function __fresnel_event_count(
|
|
Type
|
|
Type
|
|
TFresnelTickEvent = Procedure(aCurrent,aPrevious : Double) of Object;
|
|
TFresnelTickEvent = Procedure(aCurrent,aPrevious : Double) of Object;
|
|
TFresnelProcessMessageEvent = TFresnelTickEvent;
|
|
TFresnelProcessMessageEvent = TFresnelTickEvent;
|
|
|
|
+ TFresnelTimerTickEvent = Procedure (aTimerID : TTimerID; userdata : pointer; var aContinue : Boolean);
|
|
|
|
+ TFresnelLogHook = procedure (const Msg : string) of object;
|
|
|
|
|
|
var
|
|
var
|
|
OnFresnelWasmTick : TFresnelTickEvent;
|
|
OnFresnelWasmTick : TFresnelTickEvent;
|
|
OnFresnelProcessMessage : TFresnelProcessMessageEvent;
|
|
OnFresnelProcessMessage : TFresnelProcessMessageEvent;
|
|
|
|
+ OnFresnelTimerTick : TFresnelTimerTickEvent;
|
|
|
|
+ OnFresnelLog : TFresnelLogHook;
|
|
|
|
+
|
|
|
|
+{ Exported functions }
|
|
|
|
|
|
procedure __fresnel_tick (aCurrent,aPrevious : double);
|
|
procedure __fresnel_tick (aCurrent,aPrevious : double);
|
|
procedure __fresnel_process_message (aCurrent,aPrevious : double);
|
|
procedure __fresnel_process_message (aCurrent,aPrevious : double);
|
|
|
|
+function __fresnel_timer_tick(timerid: TTimerID; userdata : pointer) : boolean;
|
|
|
|
+
|
|
|
|
+procedure __fresnel_log(Const Msg : string);
|
|
|
|
+procedure __fresnel_log(Const Fmt : string; args : Array of const);
|
|
|
|
|
|
implementation
|
|
implementation
|
|
|
|
|
|
@@ -207,8 +229,35 @@ begin
|
|
OnFresnelProcessMessage(aCurrent,aPrevious);
|
|
OnFresnelProcessMessage(aCurrent,aPrevious);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+procedure __fresnel_log(Const Msg : string);
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ {$IFDEF FASMXLOG}
|
|
|
|
+ Writeln(Msg);
|
|
|
|
+ if Assigned(OnFresnelLog) then
|
|
|
|
+ OnFresnelLog(Msg);
|
|
|
|
+ {$ENDIF}
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+procedure __fresnel_log(Const Fmt : string; args : Array of const);
|
|
|
|
+begin
|
|
|
|
+ {$IFDEF FASMXLOG}
|
|
|
|
+ Writeln(SafeFormat(Fmt,Args));
|
|
|
|
+ {$ENDIF}
|
|
|
|
+end;
|
|
|
|
+
|
|
|
|
+function __fresnel_timer_tick(timerid: TTimerID; userdata : pointer) : boolean;
|
|
|
|
+
|
|
|
|
+begin
|
|
|
|
+ if assigned(OnFresnelTimerTick) then
|
|
|
|
+ OnFresnelTimerTick(timerid,userdata,Result)
|
|
|
|
+ else
|
|
|
|
+ Result:=False;
|
|
|
|
+end;
|
|
|
|
+
|
|
exports
|
|
exports
|
|
__fresnel_process_message,
|
|
__fresnel_process_message,
|
|
|
|
+ __fresnel_timer_tick,
|
|
__fresnel_tick;
|
|
__fresnel_tick;
|
|
|
|
|
|
end.
|
|
end.
|