var params = { x: 0, y: 0, pad: 0, ang: 0, rot: 0, }; var graph1 = NewGraph2D( { Width: '100%', Height: '60%', DrawFunc: Draw1 } ); function Draw1( g ) { g.Reset(); g.SetWindow( -15, -9, 15, 9 ); g.Frame(); g.Axes(); g.TransRotateAtPoint( params.x, params.y, params.ang ); g.Rect( -2, -1, 2, 1 ); g.Rect( 4, 5, 8, 7 ); g.Ellipse( 0, 0, 4, 3, 0 ); g.Marker( params.x, params.y ); g.SetTextAttr( 'Arial', 24, 'black', 'normal', 'normal', 'left', 'bottom', params.pad, params.pad, params.rot ); g.TextBox( 'Text', 4, -4 ); g.Text( 'Text', 4, -4 ); g.SetMarkerSymbol( 'Cross' ); g.Marker( 4, -4 ); g.SetLineAttr( 'blue', 3 ); g.SetMarkerSymbol( 'Arrow1' ); g.Arrow( 0, 0, 6, 0 ); g.Arrow( 0, 0, 0, 6 ); } function Update1() { ControlPanels.Update(); Draw1( graph1 ); } ControlPanels.NewSliderPanel( { ModelRef: 'params', OnModelChange: Update1, Format: 'fix0', Digits: 2 } ).AddValueSliderField( { Name: 'x', Min: -6, Max: 6 } ).AddValueSliderField( { Name: 'y', Min: -6, Max: 6 } ).AddValueSliderField( { Name: 'pad', Min: 0, Max: 10 } ).AddValueSliderField( { Name: 'rot', Min: -360, Max: 360 } ).AddValueSliderField( { Name: 'ang', Min: -360, Max: 360 } ).Render();