|
@@ -30,8 +30,14 @@ uses
|
|
|
|
|
|
const
|
|
|
CanvasMsgSize = 4;
|
|
|
+ FresnelScaleFactor = 100;
|
|
|
|
|
|
Type
|
|
|
+ {$IFNDEF PAS2JS}
|
|
|
+ TFresnelFloat = single;
|
|
|
+ {$ELSE}
|
|
|
+ TFresnelFloat = double;
|
|
|
+ {$ENDIF}
|
|
|
|
|
|
TCanvasError = longint;
|
|
|
TCanvasID = longint;
|
|
@@ -45,6 +51,9 @@ Type
|
|
|
TCanvasMessageID = longint;
|
|
|
TCanvasMessageParam = longint;
|
|
|
TCanvasMessageData = Array[0..CanvasMsgSize-1] of TCanvasMessageParam;
|
|
|
+ TLineDashPattern = longint; // Scaled 100
|
|
|
+ TLineDashPatternData = Array of TLineDashPattern;
|
|
|
+
|
|
|
{$IFDEF PAS2JS}
|
|
|
UTF8String = String;
|
|
|
{$ENDIF}
|
|
@@ -74,6 +83,7 @@ Type
|
|
|
PCanvasMessageData = ^TCanvasMessageData;
|
|
|
PCanvasRoundRectData = ^TCanvasRoundRectData;
|
|
|
PGradientColorPoints = ^TGradientColorPoint;
|
|
|
+ PLineDashPatternData = ^TLineDashPattern;
|
|
|
{$ENDIF}
|
|
|
|
|
|
Const
|
|
@@ -111,48 +121,69 @@ Const
|
|
|
WASMSG_MOUSESTATE_STATE = 2;
|
|
|
WASMSG_MOUSESTATE_BUTTON = 3;
|
|
|
|
|
|
- Const
|
|
|
- WASMSG_NONE = 0;
|
|
|
- WASMSG_MOVE = 1; // Params[0]= X, [1]=Y, [2]=State
|
|
|
- WASMSG_MOUSEDOWN = 2; // Params[0]= X, [1]=Y, [2]=State
|
|
|
- WASMSG_MOUSEUP = 3; // Params[0]= X, [1]=Y, [2]=State
|
|
|
- WASMSG_MOUSESCROLL = 4; // Params[0]= X, [1]=Y, [2]=State
|
|
|
- WASMSG_CLICK = 5; // Params[0]= X, [1]=Y, [2]=State
|
|
|
- WASMSG_WHEELY = 6; // Params[0]= X, [1]=Y, [2]=State [3]=Distance
|
|
|
- WASMSG_DBLCLICK = 7;
|
|
|
- WASMSG_ENTER = 8;
|
|
|
- WASMSG_LEAVE = 9;
|
|
|
- WASMSG_KEY = 10;
|
|
|
-
|
|
|
- // Roundrect flags
|
|
|
- ROUNDRECT_FLAG_FILL = 1;
|
|
|
-
|
|
|
- // Indexes for roundrect data array.
|
|
|
-
|
|
|
- ROUNDRECT_BOXTOPLEFTX = 0;
|
|
|
- ROUNDRECT_BOXTOPLEFTY = 1;
|
|
|
- ROUNDRECT_BOXBOTTOMRIGHTX = 2;
|
|
|
- ROUNDRECT_BOXBOTTOMRIGHTY = 3;
|
|
|
- ROUNDRECT_RADIITOPLEFTX = 4;
|
|
|
- ROUNDRECT_RADIITOPLEFTY = 5;
|
|
|
- ROUNDRECT_RADIITOPRIGHTX = 6;
|
|
|
- ROUNDRECT_RADIITOPRIGHTY = 7;
|
|
|
- ROUNDRECT_RADIIBOTTOMLEFTX = 8;
|
|
|
- ROUNDRECT_RADIIBOTTOMLEFTY = 9;
|
|
|
- ROUNDRECT_RADIIBOTTOMRIGHTX = 10;
|
|
|
- ROUNDRECT_RADIIBOTTOMRIGHTY = 11;
|
|
|
-
|
|
|
- // Flags for SetImageFillStyle
|
|
|
- IMAGEFILLSTYLE_NOREPEAT = 0;
|
|
|
- IMAGEFILLSTYLE_REPEAT = 1;
|
|
|
- IMAGEFILLSTYLE_REPEATX = 2;
|
|
|
- IMAGEFILLSTYLE_REPEATY = 3;
|
|
|
+Const
|
|
|
+ WASMSG_NONE = 0;
|
|
|
+ WASMSG_MOVE = 1; // Params[0]= X, [1]=Y, [2]=State
|
|
|
+ WASMSG_MOUSEDOWN = 2; // Params[0]= X, [1]=Y, [2]=State
|
|
|
+ WASMSG_MOUSEUP = 3; // Params[0]= X, [1]=Y, [2]=State
|
|
|
+ WASMSG_MOUSESCROLL = 4; // Params[0]= X, [1]=Y, [2]=State
|
|
|
+ WASMSG_CLICK = 5; // Params[0]= X, [1]=Y, [2]=State
|
|
|
+ WASMSG_WHEELY = 6; // Params[0]= X, [1]=Y, [2]=State [3]=Distance
|
|
|
+ WASMSG_DBLCLICK = 7;
|
|
|
+ WASMSG_ENTER = 8;
|
|
|
+ WASMSG_LEAVE = 9;
|
|
|
+ WASMSG_KEY = 10;
|
|
|
+
|
|
|
+ // Roundrect flags
|
|
|
+ ROUNDRECT_FLAG_FILL = 1;
|
|
|
+
|
|
|
+ // Indexes for roundrect data array.
|
|
|
+
|
|
|
+ ROUNDRECT_BOXTOPLEFTX = 0;
|
|
|
+ ROUNDRECT_BOXTOPLEFTY = 1;
|
|
|
+ ROUNDRECT_BOXBOTTOMRIGHTX = 2;
|
|
|
+ ROUNDRECT_BOXBOTTOMRIGHTY = 3;
|
|
|
+ ROUNDRECT_RADIITOPLEFTX = 4;
|
|
|
+ ROUNDRECT_RADIITOPLEFTY = 5;
|
|
|
+ ROUNDRECT_RADIITOPRIGHTX = 6;
|
|
|
+ ROUNDRECT_RADIITOPRIGHTY = 7;
|
|
|
+ ROUNDRECT_RADIIBOTTOMLEFTX = 8;
|
|
|
+ ROUNDRECT_RADIIBOTTOMLEFTY = 9;
|
|
|
+ ROUNDRECT_RADIIBOTTOMRIGHTX = 10;
|
|
|
+ ROUNDRECT_RADIIBOTTOMRIGHTY = 11;
|
|
|
+
|
|
|
+ // Flags for SetImageFillStyle
|
|
|
+ IMAGEFILLSTYLE_NOREPEAT = 0;
|
|
|
+ IMAGEFILLSTYLE_REPEAT = 1;
|
|
|
+ IMAGEFILLSTYLE_REPEATX = 2;
|
|
|
+ IMAGEFILLSTYLE_REPEATY = 3;
|
|
|
+
|
|
|
+ // Flags for Arc
|
|
|
+ ARC_FILL = 1;
|
|
|
+ ARC_ROTATE = 2;
|
|
|
|
|
|
Function LineCapToString(aCap: TCanvasLineCap) : String;
|
|
|
Function LineJoinToString(aJoin: TCanvasLineJoin) : String;
|
|
|
|
|
|
+Function FresnelUnScale(aLen : Longint) : TFresnelFloat;
|
|
|
+Function FresnelScale(aLen : TFresnelFloat) : Longint;
|
|
|
+
|
|
|
+
|
|
|
implementation
|
|
|
|
|
|
+Function FresnelUnScale(aLen : Longint) : TFresnelFloat;
|
|
|
+
|
|
|
+begin
|
|
|
+ Result:=aLen/FresnelScaleFactor;
|
|
|
+end;
|
|
|
+
|
|
|
+Function FresnelScale(aLen : TFresnelFloat) : Longint;
|
|
|
+
|
|
|
+begin
|
|
|
+ Result:=Round(aLen*FresnelScaleFactor);
|
|
|
+end;
|
|
|
+
|
|
|
+
|
|
|
function LineCapToString(aCap: TCanvasLineCap): String;
|
|
|
|
|
|
begin
|