@@ -164,7 +164,8 @@ function newSimpleShape(
164164 hasInsideColor , fillStyle , fillStyleAlarm ,
165165 alarmExpr ,
166166 leftExpr , topExpr , rightExpr , bottomExpr ,
167- invisibleExpr
167+ invisibleExpr ,
168+ frameFlagsExpr
168169 )
169170{
170171 this . isA = 'SimpleShape' ;
@@ -191,6 +192,7 @@ function newSimpleShape(
191192 this . rightExpr = rightExpr ;
192193 this . bottomExpr = bottomExpr ;
193194 this . invisibleExpr = invisibleExpr ;
195+ this . frameFlagsExpr = frameFlagsExpr ;
194196}
195197
196198function registerSimpleShape (
@@ -200,7 +202,8 @@ function registerSimpleShape(
200202 hasInsideColor , fillStyle , fillStyleAlarm ,
201203 alarmExpr ,
202204 leftExpr , topExpr , rightExpr , bottomExpr ,
203- invisibleExpr
205+ invisibleExpr ,
206+ frameFlagsExpr
204207 )
205208{
206209 drawObjects . push ( new newSimpleShape (
@@ -210,7 +213,8 @@ function registerSimpleShape(
210213 hasInsideColor , fillStyle , fillStyleAlarm ,
211214 alarmExpr ,
212215 leftExpr , topExpr , rightExpr , bottomExpr ,
213- invisibleExpr
216+ invisibleExpr ,
217+ frameFlagsExpr
214218 ) ) ;
215219 // Gib die ID (den Index) des eben registrierten Objekts zurück
216220 //Log("registerSimpleShape return "+(drawObjects.length-1))
@@ -358,7 +362,8 @@ function newPolygon(
358362 hasInsideColor , fillStyle , fillStyleAlarm ,
359363 alarmExpr ,
360364 leftExpr , topExpr ,
361- invisibleExpr
365+ invisibleExpr ,
366+ frameFlagsExpr
362367 ) {
363368 this . isA = 'Polygon' ;
364369 this . polyShape = polyShape ;
@@ -379,6 +384,7 @@ function newPolygon(
379384 this . leftExpr = leftExpr ;
380385 this . topExpr = topExpr ;
381386 this . invisibleExpr = invisibleExpr ;
387+ this . frameFlagsExpr = frameFlagsExpr ;
382388}
383389
384390function registerPolygon (
@@ -388,7 +394,8 @@ function registerPolygon(
388394 hasInsideColor , fillStyle , fillStyleAlarm ,
389395 alarmExpr ,
390396 leftExpr , topExpr ,
391- invisibleExpr
397+ invisibleExpr ,
398+ frameFlagsExpr
392399 ) {
393400 drawObjects . push ( new newPolygon (
394401 polyShape ,
@@ -397,7 +404,8 @@ function registerPolygon(
397404 hasInsideColor , fillStyle , fillStyleAlarm ,
398405 alarmExpr ,
399406 leftExpr , topExpr ,
400- invisibleExpr
407+ invisibleExpr ,
408+ frameFlagsExpr
401409 ) ) ;
402410 // Gib die ID (den Index) des eben registrierten Objekts zurück
403411 //Log("registerPolygon return "+(drawObjects.length-1))
@@ -1034,6 +1042,8 @@ function drawAllObjects(ctx, clickContext, objects) {
10341042 if ( obj . rightExpr . length > 0 ) { right = evalExpression ( obj . rightExpr ) ; }
10351043 var bottom = 0 ;
10361044 if ( obj . bottomExpr . length > 0 ) { bottom = evalExpression ( obj . bottomExpr ) ; }
1045+ var frameStyle = 0 ;
1046+ if ( obj . frameFlagsExpr . length > 0 ) { frameStyle = evalExpression ( obj . frameFlagsExpr ) ; }
10371047
10381048 switch ( obj . shape ) {
10391049 case 'rectangle' :
@@ -1079,8 +1089,10 @@ function drawAllObjects(ctx, clickContext, objects) {
10791089 if ( obj . hasFrameColor == 'true' ) {
10801090 ctx . lineWidth = obj . lineWidth ;
10811091 ctx . strokeStyle = strokeStyle ;
1092+ setLineDash ( frameStyle , ctx ) ;
10821093 ctx . stroke ( ) ;
10831094 clickContext . stroke ( ) ;
1095+ resetLineDash ( ctx ) ;
10841096 }
10851097
10861098 ctx . closePath ( ) ;
@@ -1221,6 +1233,8 @@ function drawAllObjects(ctx, clickContext, objects) {
12211233 if ( obj . leftExpr . length > 0 ) { left = evalExpression ( obj . leftExpr ) ; }
12221234 var top = 0 ;
12231235 if ( obj . topExpr . length > 0 ) { top = evalExpression ( obj . topExpr ) ; }
1236+ var lineStyle = 0 ;
1237+ if ( obj . frameFlagsExpr . length > 0 ) { lineStyle = evalExpression ( obj . frameFlagsExpr ) ; }
12241238
12251239 if ( obj . polyShape == 'polyline' || obj . polyShape == 'polygon' )
12261240 {
@@ -1344,8 +1358,10 @@ function drawAllObjects(ctx, clickContext, objects) {
13441358 if ( obj . hasFrameColor == 'true' ) {
13451359 ctx . lineWidth = obj . lineWidth ;
13461360 ctx . strokeStyle = strokeStyle ;
1361+ setLineDash ( lineStyle , ctx ) ;
13471362 ctx . stroke ( ) ;
13481363 clickContext . stroke ( ) ;
1364+ resetLineDash ( ctx ) ;
13491365 }
13501366
13511367 ctx . closePath ( ) ;
0 commit comments