Commit 121334c9 authored by Christoffer Ackelman's avatar Christoffer Ackelman

Migrated from JS to TS, fixed a couple of errors due to type mismatch.

parent 4bcdcc9f
This diff is collapsed.
This diff is collapsed.
"use strict";
if (!Object.create) {
Object.create = function (proto) {
function ctor() {
}
ctor.prototype = proto;
return new ctor();
};
}
function PwrtStatus(sts) {
this.sts = sts;
this.evenSts = function () {
return (sts % 2 === 0);
};
this.oddSts = function () {
return (sts % 2 === 1);
};
this.getSts = function () {
return sts;
};
}
var Pwr = {
eType_Boolean: 98305,
eType_Float32: 98306,
eType_Float64: 98307,
eType_Char: 98308,
eType_Int8: 98309,
eType_Int16: 98310,
eType_Int32: 98311,
eType_UInt8: 98312,
eType_UInt16: 98313,
eType_UInt32: 98314,
eType_Objid: 98315,
eType_Buffer: 98316,
eType_String: 98317,
eType_Enum: 98318,
eType_Struct: 98319,
eType_Mask: 98320,
eType_Array: 98321,
eType_Time: 98322,
eType_Text: 98323,
eType_AttrRef: 98324,
eType_UInt64: 98325,
eType_Int64: 98326,
eType_ClassId: 98327,
eType_TypeId: 98328,
eType_VolumeId: 98329,
eType_ObjectIx: 98330,
eType_RefId: 98331,
eType_DeltaTime: 98332,
eType_Status: 98333,
eType_NetStatus: 98334,
eType_CastId: 98335,
eType_ProString: 98336,
eType_DisableAttr: 98337,
eType_DataRef: 98338,
mPrv_RtRead: 1 << 0,
mPrv_RtWrite: 1 << 1,
mPrv_System: 1 << 2,
mPrv_Maintenance: 1 << 3,
mPrv_Process: 1 << 4,
mPrv_Instrument: 1 << 5,
mPrv_Operator1: 1 << 6,
mPrv_Operator2: 1 << 7,
mPrv_Operator3: 1 << 8,
mPrv_Operator4: 1 << 9,
mPrv_Operator5: 1 << 10,
mPrv_Operator6: 1 << 11,
mPrv_Operator7: 1 << 12,
mPrv_Operator8: 1 << 13,
mPrv_Operator9: 1 << 14,
mPrv_Operator10: 1 << 15,
mPrv_RtEventsAck: 1 << 18,
mPrv_RtPlc: 1 << 19,
mPrv_RtNavigator: 1 << 20,
mPrv_DevRead: 1 << 21,
mPrv_DevPlc: 1 << 22,
mPrv_DevConfig: 1 << 23,
mPrv_DevClass: 1 << 24,
mPrv_RtEventsBlock: 1 << 25,
mPrv_Administrator: 1 << 26,
mPrv_SevRead: 1 << 27,
mPrv_SevAdmin: 1 << 28,
mAccess_RtRead: 1 << 0,
mAccess_RtWrite: 1 << 1,
mAccess_System: 1 << 2,
mAccess_Maintenance: 1 << 3,
mAccess_Process: 1 << 4,
mAccess_Instrument: 1 << 5,
mAccess_RtEventsBlock: 1 << 25,
mAccess_RtEventsAck: 1 << 18,
mAccess_RtPlc: 1 << 19,
mAccess_RtNavigator: 1 << 20,
mAccess_AllRt: 1 << 2 | 1 << 3 | 1 << 4 | 1 << 5 | 1 << 0 | 1 << 1 | 1 << 25 |
1 << 18 | 1 << 19 | 1 << 20 | 1 << 6 | 1 << 7 | 1 << 8 | 1 << 9 | 1 << 10 |
1 << 11 | 1 << 12 | 1 << 13 | 1 << 14 | 1 << 15,
mAccess_AllOperators: 1 << 6 | 1 << 7 | 1 << 8 | 1 << 9 | 1 << 10 | 1 << 11 |
1 << 12 | 1 << 13 | 1 << 14 | 1 << 15,
mAccess_AllPwr: ~0,
mAdef_pointer: 1,
mAdef_array: 2,
mAdef_backup: 4,
mAdef_changelog: 8,
mAdef_state: 16,
mAdef_const: 32,
mAdef_rtvirtual: 64,
mAdef_devbodyref: 128,
mAdef_dynamic: 256,
mAdef_publicwrite: 512,
mAdef_noedit: 1024,
mAdef_invisible: 2048,
mAdef_refdirect: 4096,
mAdef_noinvert: 8192,
mAdef_noremove: 16384,
mAdef_rtdbref: 32768,
mAdef_private: 65536,
mAdef_class: 131072,
mAdef_superclass: 262144,
mAdef_buffer: 524288,
mAdef_nowbl: 1048576,
mAdef_alwayswbl: 2097152,
mAdef_disableattr: 4194304,
mAdef_rthide: 8388608
};
var Pwrb = {
mXttMethodsFlagsMask_IsConfigured: 1,
mXttOpMethodsMask_OpenGraph: 1,
mXttOpMethodsMask_OpenObjectGraph: 2,
mXttOpMethodsMask_OpenTrend: 4,
mXttOpMethodsMask_OpenHistory: 8,
mXttOpMethodsMask_OpenFast: 16,
mXttOpMethodsMask_Camera: 32,
mXttOpMethodsMask_HistEvent: 64,
mXttOpMethodsMask_BlockEvents: 128,
mXttOpMethodsMask_Help: 256,
mXttOpMethodsMask_Photo: 512,
mXttOpMethodsMask_Note: 1024,
mXttOpMethodsMask_ParentObjectGraph: 2048,
mXttMntMethodsMask_OpenObject: 1,
mXttMntMethodsMask_OpenTrace: 2,
mXttMntMethodsMask_RtNavigator: 4,
mXttMntMethodsMask_OpenCrossref: 8,
mXttMntMethodsMask_HelpClass: 16,
mXttMntMethodsMask_DataSheet: 32,
mXttMntMethodsMask_CircuitDiagram: 64,
mXttMntMethodsMask_Simulate: 1 << 31
};
function PwrtObjid(vid, oix) {
this.oix = oix;
this.vid = vid;
}
function PwrtAttrRef() {
this.objid;
this.offset;
this.body;
this.size;
this.flags;
}
function CdhrNumber(value, sts) {
this.value = value;
this.sts = sts;
this.evenSts = function () {
return (sts % 2 === 0);
};
this.oddSts = function () {
return (sts % 2 === 1);
};
this.getSts = function () {
return sts;
};
}
var CdhC = {
cUserVolMin: (0 + (0 << 24) + (1 << 16) + (1 << 8) + 1),
cUserVolMax: (0 + (0 << 24) + (254 << 16) + (254 << 8) + 254)
};
function UserdataCbReturn() {
this.userdata;
this.row;
}
\ No newline at end of file
"use strict";
function even(sts) {
return sts % 2 === 0;
}
function odd(sts) {
return sts % 2 === 1;
}
function clamp(val, min, max) {
return val > max ? max : (val < min ? min : val);
}
enum Type {
Bit = (1 << 15) + 1,
Boolean = 98305,
Float32,
Float64,
Char,
Int8,
Int16,
Int32,
UInt8,
UInt16,
UInt32,
Objid,
Buffer,
String,
Enum,
Struct,
Mask,
Array,
Time,
Text,
AttrRef,
UInt64,
Int64,
ClassId,
TypeId,
VolumeId,
ObjectIx,
RefId,
DeltaTime,
Status,
NetStatus,
CastId,
ProString,
DisableAttr,
DataRef
}
enum Prv {
RtRead = 1 << 0,
RtWrite = 1 << 1,
System = 1 << 2,
Maintenance = 1 << 3,
Process = 1 << 4,
Instrument = 1 << 5,
Operator1 = 1 << 6,
Operator2 = 1 << 7,
Operator3 = 1 << 8,
Operator4 = 1 << 9,
Operator5 = 1 << 10,
Operator6 = 1 << 11,
Operator7 = 1 << 12,
Operator8 = 1 << 13,
Operator9 = 1 << 14,
Operator10 = 1 << 15,
RtEventsAck = 1 << 18,
RtPlc = 1 << 19,
RtNavigator = 1 << 20,
DevRead = 1 << 21,
DevPlc = 1 << 22,
DevConfig = 1 << 23,
DevClass = 1 << 24,
RtEventsBlock = 1 << 25,
Administrator = 1 << 26,
SevRead = 1 << 27,
SevAdmin = 1 << 28
}
enum Access {
RtRead = 1 << 0,
RtWrite = 1 << 1,
System = 1 << 2,
Maintenance = 1 << 3,
Process = 1 << 4,
Instrument = 1 << 5,
RtEventsBlock = 1 << 25,
RtEventsAck = 1 << 18,
RtPlc = 1 << 19,
RtNavigator = 1 << 20,
AllRt = 1 << 2 | 1 << 3 | 1 << 4 | 1 << 5 | 1 << 0 | 1 << 1 | 1 << 25 |
1 << 18 | 1 << 19 | 1 << 20 | 1 << 6 | 1 << 7 | 1 << 8 | 1 << 9 | 1 << 10 |
1 << 11 | 1 << 12 | 1 << 13 | 1 << 14 | 1 << 15,
AllOperators = 1 << 6 | 1 << 7 | 1 << 8 | 1 << 9 | 1 << 10 | 1 << 11 |
1 << 12 | 1 << 13 | 1 << 14 | 1 << 15,
AllPwr = ~0
}
enum Adef {
Pointer = 1,
Array = 2,
Backup = 4,
Changelog = 8,
State = 16,
Const = 32,
Rtvirtual = 64,
Devbodyref = 128,
Dynamic = 256,
Publicwrite = 512,
Noedit = 1024,
Invisible = 2048,
Refdirect = 4096,
Noinvert = 8192,
Noremove = 16384,
Rtdbref = 32768,
Private = 65536,
Class = 131072,
Superclass = 262144,
Buffer = 524288,
Nowbl = 1048576,
Alwayswbl = 2097152,
Disableattr = 4194304,
Rthide = 8388608
}
enum XttMethodsFlagsMask {
IsConfigured = 1
}
enum XttOpMethodsMask {
OpenGraph = 1,
OpenObjectGraph = 2,
OpenTrend = 4,
OpenHistory = 8,
OpenFast = 16,
Camera = 32,
HistEvent = 64,
BlockEvents = 128,
Help = 256,
Photo = 512,
Note = 1024,
ParentObjectGraph = 2048
}
enum XttMntMethodsMask {
OpenObject = 1,
OpenTrace = 2,
RtNavigator = 4,
OpenCrossref = 8,
HelpClass = 16,
DataSheet = 32,
CircuitDiagram = 64,
Simulate = 1 << 31
}
class PwrtObjid {
vid: number;
oix: number;
constructor(vid, oix) {
this.oix = oix;
this.vid = vid;
}
}
class PwrtAttrRef {
objid;
offset;
body;
size;
flags;
}
class CdhrNumber {
value: number;
sts: number;
constructor(value, sts) {
this.value = value;
this.sts = sts;
}
}
enum UserVol {
Min = ((0 << 24) + (1 << 16) + (1 << 8) + 1),
Max = ((0 << 24) + (254 << 16) + (254 << 8) + 254)
}
class UserdataCbReturn {
userdata;
row;
}
class Point {
x = 0;
y = 0;
constructor() {
}
constructor(x: number, y:number) {
this.x = x;
this.y = y;
}
}
class Rect {
x = 0;
y = 0;
width = 0;
height = 0;
constructor() {
}
constructor(x: number, y:number, width: number, height: number) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
}
}
\ No newline at end of file
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<script type="text/babel" src="cli.js"></script> <script type="text/babel" src="cli.js"></script>
<script type="text/babel" src="gdh.js"></script> <script type="text/babel" src="gdh.js"></script>
<script type="text/babel" src="plow.js"></script> <script type="text/babel" src="plow.js"></script>
<script type="text/babel" src="ev.js"></script> <script type="text/babel" src="ev.ts"></script>
<hr> <hr>
<address><a href="mailto:claes@debian86.ssab.com"></a></address> <address><a href="mailto:claes@debian86.ssab.com"></a></address>
</body> </body>
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel" src="pwr.js"></script> <script type="text/babel" src="pwr.js"></script>
<script type="text/babel" src="gdh.js"></script> <script type="text/babel" src="gdh.js"></script>
<script type="text/babel" src="flow.js"></script> <script type="text/babel" src="flow.ts"></script>
<hr> <hr>
<address><a href="mailto:claes@debian86.ssab.com"></a></address> <address><a href="mailto:claes@debian86.ssab.com"></a></address>
</body> </body>
......
...@@ -11,8 +11,58 @@ ...@@ -11,8 +11,58 @@
<script type="text/babel" src="pwr.js"></script> <script type="text/babel" src="pwr.js"></script>
<script type="text/babel" src="cli.js"></script> <script type="text/babel" src="cli.js"></script>
<script type="text/babel" src="gdh.js"></script> <script type="text/babel" src="gdh.js"></script>
<script type="text/babel" src="glow.js"></script>
<script type="text/babel" src="ge.js"></script> <script type="text/babel" src="glow.ts"></script>
<script type="text/babel" src="glow_point.ts"></script>
<script type="text/babel" src="glow_color.ts"></script>
<script type="text/babel" src="glow_array.ts"></script>
<script type="text/babel" src="glow_transform.ts"></script>
<script type="text/babel" src="glow_nodeclass.ts"></script>
<script type="text/babel" src="glow_nodegroup.ts"></script>
<script type="text/babel" src="glow_conclass.ts"></script>
<script type="text/babel" src="glow_con.ts"></script>
<script type="text/babel" src="glow_line.ts"></script>
<script type="text/babel" src="glow_arc.ts"></script>
<script type="text/babel" src="glow_rect.ts"></script>
<script type="text/babel" src="glow_text.ts"></script>
<script type="text/babel" src="glow_conpoint.ts"></script>
<script type="text/babel" src="glow_draw.ts"></script>
<script type="text/babel" src="glow_cformat.ts"></script>
<script type="text/babel" src="grow_node.ts"></script>
<script type="text/babel" src="grow_group.ts"></script>
<script type="text/babel" src="grow_slider.ts"></script>
<script type="text/babel" src="grow_toolbar.ts"></script>
<script type="text/babel" src="grow_rect.ts"></script>
<script type="text/babel" src="grow_rectrounded.ts"></script>
<script type="text/babel" src="grow_line.ts"></script>
<script type="text/babel" src="grow_arc.ts"></script>
<script type="text/babel" src="grow_text.ts"></script>
<script type="text/babel" src="grow_annot.ts"></script>
<script type="text/babel" src="grow_polyline.ts"></script>
<script type="text/babel" src="grow_conpoint.ts"></script>
<script type="text/babel" src="grow_image.ts"></script>
<script type="text/babel" src="grow_conglue.ts"></script>
<script type="text/babel" src="grow_bar.ts"></script>
<script type="text/babel" src="grow_bararc.ts"></script>
<script type="text/babel" src="grow_trend.ts"></script>
<script type="text/babel" src="grow_xycurve.ts"></script>
<script type="text/babel" src="grow_menu.ts"></script>
<script type="text/babel" src="grow_scrollbar.ts"></script>
<script type="text/babel" src="grow_window.ts"></script>
<script type="text/babel" src="grow_folder.ts"></script>
<script type="text/babel" src="grow_axis.ts"></script>
<script type="text/babel" src="grow_axisarc.ts"></script>
<script type="text/babel" src="grow_pie.ts"></script>
<script type="text/babel" src="grow_barchart.ts"></script>
<script type="text/babel" src="grow_table.ts"></script>
<script type="text/babel" src="grow_ctx.ts"></script>
<script type="text/babel" src="grow_frame.ts"></script>
<script type="text/babel" src="ge.ts"></script>
<script type="text/babel" src="ge_dyn.ts"></script>
<script type="text/babel" src="ge_graph.ts"></script>
<script type="text/babel" src="ge_appl.ts"></script>
<hr> <hr>
<address><a href="mailto:claes@debian86.ssab.com"></a></address> <address><a href="mailto:claes@debian86.ssab.com"></a></address>
</body> </body>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
class GlowArc {
ctx: GrowCtx;
ll: GlowPoint;
ur: GlowPoint;
draw_type;
angle1;
angle2;
line_width;
display_level;
fill;
border;
shadow;
constructor(ctx) {
this.ctx = ctx;
this.ll = new GlowPoint();
this.ur = new GlowPoint();
}
open(lines, row) {
let i;
for (i = row; i < lines.length; i++) {
let tokens = lines[i].split(' ');
let key = parseInt(tokens[0], 10);
if (this.ctx.debug) {
console.log("GlowArc : " + lines[i]);
}
switch (key) {
case GlowSave.Arc:
break;
case GlowSave.Arc_draw_type:
this.draw_type = parseInt(tokens[1], 10);
break;
case GlowSave.Arc_angle1:
this.angle1 = parseInt(tokens[1], 10);
break;
case GlowSave.Arc_angle2:
this.angle2 = parseInt(tokens[1], 10);
break;
case GlowSave.Arc_line_width:
this.line_width = parseInt(tokens[1], 10);
break;
case GlowSave.Arc_fill:
this.fill = parseInt(tokens[1], 10);
break;
case GlowSave.Arc_ll:
i = this.ll.open(lines, i + 1);
break;
case GlowSave.Arc_ur:
i = this.ur.open(lines, i + 1);
break;
case GlowSave.End:
return i;
default:
console.log("Syntax error in GlowArc");
break;
}
}
return i;
}
draw(highlight, hot) {
if (this.ctx.nodraw !== 0) {
return;
}
let ll_x, ll_y, ur_x, ur_y;
ll_x = Math.floor(this.ll.x * this.ctx.mw.zoom_factor_x + 0.5) -
this.ctx.mw.offset_x;
ll_y = Math.floor(this.ll.y * this.ctx.mw.zoom_factor_y + 0.5) -
this.ctx.mw.offset_y;
ur_x = Math.floor(this.ur.x * this.ctx.mw.zoom_factor_x + 0.5) -
this.ctx.mw.offset_x;
ur_y = Math.floor(this.ur.y * this.ctx.mw.zoom_factor_y + 0.5) -
this.ctx.mw.offset_y;
if (ll_x === ur_x && ll_y === ur_y) {
return;
}
let idx = Math.floor(this.ctx.mw.zoom_factor_y /
this.ctx.mw.base_zoom_factor * this.line_width - 1);
idx += hot;
idx = Math.max(0, idx);
idx = Math.min(idx, DRAW_TYPE_SIZE - 1);
this.ctx.gdraw.arc(ll_x, ll_y, ur_x - ll_x, ur_y - ll_y, this.angle1,
this.angle2, this.draw_type, idx, highlight);
}
draw_shadow(border, shadow, highlight, hot) {
if (this.ctx.nodraw !== 0) {
return;
}
let ll_x, ll_y, ur_x, ur_y;
ll_x = Math.floor(this.ll.x * this.ctx.mw.zoom_factor_x + 0.5) -
this.ctx.mw.offset_x;
ll_y = Math.floor(this.ll.y * this.ctx.mw.zoom_factor_y + 0.5) -
this.ctx.mw.offset_y;
ur_x = Math.floor(this.ur.x * this.ctx.mw.zoom_factor_x + 0.5) -
this.ctx.mw.offset_x;
ur_y = Math.floor(this.ur.y * this.ctx.mw.zoom_factor_y + 0.5) -
this.ctx.mw.offset_y;
let idx = Math.floor(this.ctx.mw.zoom_factor_y /
this.ctx.mw.base_zoom_factor * this.line_width - 1);
idx += hot;
idx = Math.max(0, idx);
idx = Math.min(idx, DRAW_TYPE_SIZE - 1);
let ish = 1;
let offs = this.border;
if (this.shadow !== 0 && idx > 2) {
if (this.angle1 === 0) {
this.ctx.gdraw.arc(ll_x + idx / 2 - idx + offs, ll_y + idx / 2 - idx +
offs, ur_x - ll_x + idx - offs * 2, ur_y - ll_y + idx - offs *
2, this.angle1 + 45, this.angle2 - 45,
GlowColor.shift_drawtype(this.draw_type, -2, null), ish - 1,
highlight);
this.ctx.gdraw.arc(ll_x + idx / 2 - idx + offs, ll_y + idx / 2 - idx +
offs, ur_x - ll_x + idx - offs * 2, ur_y - ll_y + idx - offs * 2,
this.angle1, this.angle2 - 45,
GlowColor.shift_drawtype(this.draw_type, 2, null), ish - 1,
highlight);
this.ctx.gdraw.arc(ll_x + idx / 2 - offs, ll_y + idx / 2 - offs,
Math.max(0, ur_x - ll_x - idx + offs * 2),
Math.max(0, ur_y - ll_y - idx + offs * 2), this.angle1 +
45, this.angle2 - 45,
GlowColor.shift_drawtype(this.draw_type, 2, null), ish - 1,
highlight);
this.ctx.gdraw.arc(ll_x + idx / 2 - offs, ll_y + idx / 2 - offs,
Math.max(0, ur_x - ll_x - idx + offs * 2),
Math.max(0, ur_y - ll_y - idx + offs * 2), this.angle1, this.angle2 -
45, GlowColor.shift_drawtype(this.draw_type, -2, null), ish - 1,
highlight);
} else if (this.angle1 === 90) {
this.ctx.gdraw.arc(ll_x + idx / 2 - idx + offs, ll_y + idx / 2 - idx +
offs, ur_x - ll_x + idx - offs * 2, ur_y - ll_y + idx - offs * 2,
this.angle1, this.angle2,
GlowColor.shift_drawtype(this.draw_type, -2, null), ish - 1,
highlight);
this.ctx.gdraw.arc(ll_x + idx / 2 - offs, ll_y + idx / 2 - offs,
Math.max(0, ur_x - ll_x - idx + offs * 2),
Math.max(0, ur_y - ll_y - idx + offs * 2), this.angle1, this.angle2,
GlowColor.shift_drawtype(this.draw_type, 2, null), ish - 1,
highlight);
} else if (this.angle1 === 180) {
this.ctx.gdraw.arc(ll_x + idx / 2 - idx + offs, ll_y + idx / 2 - idx +
offs, ur_x - ll_x + idx - offs * 2, ur_y - ll_y + idx - offs *
2, this.angle1 + 45, this.angle2 - 45,
GlowColor.shift_drawtype(this.draw_type, 2, null), ish - 1,
highlight);
this.ctx.gdraw.arc(ll_x + idx / 2 - idx + offs, ll_y + idx / 2 - idx +
offs, ur_x - ll_x + idx - offs * 2, ur_y - ll_y + idx - offs * 2,
this.angle1, this.angle2 - 45,
GlowColor.shift_drawtype(this.draw_type, -2, null), ish - 1,
highlight);
this.ctx.gdraw.arc(ll_x + idx / 2 - offs, ll_y + idx / 2 - offs,
Math.max(0, ur_x - ll_x - idx + offs * 2),
Math.max(0, ur_y - ll_y - idx + offs * 2), this.angle1 +
45, this.angle2 - 45,
GlowColor.shift_drawtype(this.draw_type, -2, null), ish - 1,
highlight);
this.ctx.gdraw.arc(ll_x + idx / 2 - offs, ll_y + idx / 2 - offs,
Math.max(0, ur_x - ll_x - idx + offs * 2),
Math.max(0, ur_y - ll_y - idx + offs * 2), this.angle1, this.angle2 -
45, GlowColor.shift_drawtype(this.draw_type, 2, null), ish - 1,
highlight);
} else if (this.angle1 === 270) {
this.ctx.gdraw.arc(ll_x + idx / 2 - idx + offs, ll_y + idx / 2 - idx +
offs, ur_x - ll_x + idx - offs * 2, ur_y - ll_y + idx - offs * 2,
this.angle1, this.angle2,
GlowColor.shift_drawtype(this.draw_type, 2, null), ish - 1,
highlight);
this.ctx.gdraw.arc(ll_x + idx / 2 - offs, ll_y + idx / 2 - offs,
Math.max(0, ur_x - ll_x - idx + offs * 2),
Math.max(0, ur_y - ll_y - idx + offs * 2), this.angle1, this.angle2,
GlowColor.shift_drawtype(this.draw_type, -2, null), ish - 1,
highlight);
}
}
if (border !== 0) {
this.ctx.gdraw.arc(ll_x + idx / 2 - idx, ll_y + idx / 2 - idx, ur_x -
ll_x + idx, ur_y - ll_y + idx, this.angle1, this.angle2,
DrawType.Line, 0, highlight);
if (idx > 0) {
this.ctx.gdraw.arc(ll_x + idx / 2, ll_y + idx / 2,
Math.max(0, ur_x - ll_x - idx), Math.max(0, ur_y - ll_y - idx),
this.angle1, this.angle2, DrawType.Line, 0, highlight);
}
}
}
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment