Quintiq file version 2.0 #parent: CustomDrawRC/CustomDrawDataLayerOperationInputEdge Response OnDrawObject ( PISPOperationInputEdge object ) id:Response_CustomDrawRC_CustomDrawDataLayerOperationInputEdge_OnDrawObject { #keys: '[139394.0.1302355392]' CanBindMultiple: false DefinitionID: 'Responsedef_WebCustomDrawDataLayer_OnDrawObject' QuillAction { Body: [* // Draw PISP Operation Input Edge rcv := MacroPlan.RoutingConfiguratorView(); // Adjust line based on its orientations topdown := object.FromY() < object.ToY(); leftright := object.FromX() < object.ToX(); padding := 6; fromy := region.BoundingRect().Top() + padding; toy := region.BoundingRect().Height() - padding; if( topdown ) { if( not leftright ) { fromy := region.BoundingRect().Top() + padding; toy := region.BoundingRect().Height() - padding; } } else { if( leftright ) { fromy := region.BoundingRect().Height() - padding; toy := region.BoundingRect().Top() + padding; } } surface.Brush().Reset(); // strange. without this line, the arrow head will not be filled. surface.Pen().Color( ColorScheme.RoutingConfigurator_RoutingArrow() ); surface.Brush().Color( ColorScheme.RoutingConfigurator_RoutingArrow() ); // to paint the solid arrowhead surface.Pen().Style( PenSpecification::StyleSolid() ); surface.Pen().Width( rcv.EdgeThickness() ); // Draw the directional line line := GraphicalLine::LineTo( region.BoundingRect().Left(), fromy, region.BoundingRect().Width(), toy ); line.ArrowToEnd( true ).ArrowPos( GraphicalLine::ArrowPosMiddle() ); surface.Draw( line ); *] GroupServerCalls: false } }