4 T T T T     T @Y T      !" #$ %& %'( !) *+ , -@ T. / 0 12? 34?zG{ T5 !6 #78 49 4: ;<= 9> ?@ ABC =D =E =F GHI CJ #K #L .M TNOPQRSTU PV PW PXY TZ[ V> V\ ]^ V_ V` Ta Tb Jc 3d Tef?ə Kg Thi? Hjٙ Lk 3l Mm 3n@333333ffffff@@ffffff No 3p@qQ  Or Ts t uvw Jxy z { | } ~   ShapeOptions InnerClasses PaintPanelframeLjavax/swing/JFrame; canvasPanel*LProGAL/geom2d/viewer/J2DScene$PaintPanel;clickListenersLjava/util/List; Signature6Ljava/util/List;shapes>Ljava/util/List; camCenterLProGAL/geom2d/Point;scaleD shapePainters$[LProGAL/geom2d/viewer/ShapePainter;()VCodeLineNumberTableLocalVariableTablethisLProGAL/geom2d/viewer/J2DScene; getCanvas()Ljavax/swing/JPanel; centerCamerapso,LProGAL/geom2d/viewer/J2DScene$ShapeOptions;minXmaxXminYmaxY StackMapTableY(autoZoomwIhaddShape(LProGAL/geom2d/Shape;)VsLProGAL/geom2d/Shape;((LProGAL/geom2d/Shape;Ljava/awt/Color;)VcLjava/awt/Color;)(LProGAL/geom2d/Shape;Ljava/awt/Color;D)Vborder*(LProGAL/geom2d/Shape;Ljava/awt/Color;DZ)VfillZsavePng(Ljava/lang/String;)VeLjava/io/IOException;fNameLjava/lang/String;bImgLjava/awt/image/BufferedImage;cgLjava/awt/Graphics2D;8I removeShapeoptremoveAllShapesaddClickListener'(LProGAL/geom2d/viewer/ClickListener;)Vcl$LProGAL/geom2d/viewer/ClickListener;repaintgetShapePainter:(LProGAL/geom2d/Shape;)LProGAL/geom2d/viewer/ShapePainter;transformPoint'(LProGAL/geom2d/Point;)Ljava/awt/Point;gXgY'(Ljava/awt/Point;)LProGAL/geom2d/Point;Ljava/awt/Point;xycreateJ2DSceneInFrame!()LProGAL/geom2d/viewer/J2DScene;scenemain([Ljava/lang/String;)V Ljava/lang/InterruptedException;args[Ljava/lang/String;w access$1001(LProGAL/geom2d/viewer/J2DScene;)Ljava/util/List;x0 access$200 access$3006(LProGAL/geom2d/viewer/J2DScene;)LProGAL/geom2d/Point; access$400 SourceFile J2DScene.java java/util/LinkedListjava/util/ArrayList(ProGAL/geom2d/viewer/J2DScene$PaintPanel  ProGAL/geom2d/Point  ProGAL/geom2d/viewer/J2DScene$1      java/lang/Double   *ProGAL/geom2d/viewer/J2DScene$ShapeOptions          java/awt/image/BufferedImage   png java/io/File   java/lang/StringBuilderSuccessfully wrote   java/io/IOException   ProGAL/geom2d/Circle ProGAL/geom2d/LineSegmentProGAL/geom2d/viewer/TextShapeProGAL/geom2d/LSCProGAL/geom2d/TriangleProGAL/geom2d/PolygonProGAL/geom2d/Linejava/awt/Point  ProGAL/geom2d/viewer/J2DScenejavax/swing/JFrameJ2DScene       (1,0)  (0,1)       ProGAL/geom2d/Vector   java/lang/InterruptedException!ProGAL/geom2d/viewer/ShapePainter"ProGAL/geom2d/viewer/CirclePainter'ProGAL/geom2d/viewer/LineSegmentPainter ProGAL/geom2d/viewer/TextPainterProGAL/geom2d/viewer/LSCPainter$ProGAL/geom2d/viewer/TrianglePainter#ProGAL/geom2d/viewer/PolygonPainter ProGAL/geom2d/viewer/LinePainterjava/lang/Objectjava/util/Iteratorjava/awt/Graphics2DC(LProGAL/geom2d/viewer/J2DScene;LProGAL/geom2d/viewer/J2DScene$1;)V(DD)V"(LProGAL/geom2d/viewer/J2DScene;)VaddKeyListener(Ljava/awt/event/KeyListener;)VaddMouseListener!(Ljava/awt/event/MouseListener;)VaddMouseMotionListener'(Ljava/awt/event/MouseMotionListener;)VaddMouseWheelListener&(Ljava/awt/event/MouseWheelListener;)V setFocusable(Z)Vjava/util/Listiterator()Ljava/util/Iterator;hasNext()Znext()Ljava/lang/Object;shapeProGAL/geom2d/Shape getCenter()LProGAL/geom2d/Point;()DgetWidth()I getHeightjava/lang/Mathmin(DD)Djava/awt/ColorGRAYI(LProGAL/geom2d/viewer/J2DScene;LProGAL/geom2d/Shape;Ljava/awt/Color;DZ)Vadd(Ljava/lang/Object;)Z(III)VcreateGraphics()Ljava/awt/Graphics2D;paintAll(Ljava/awt/Graphics;)Vjavax/imageio/ImageIOwriteA(Ljava/awt/image/RenderedImage;Ljava/lang/String;Ljava/io/File;)Zjava/lang/SystemoutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toString()Ljava/lang/String;java/io/PrintStreamprintlnprintStackTraceremoveclear(II)VgetContentPane()Ljava/awt/Container;java/awt/Container*(Ljava/awt/Component;)Ljava/awt/Component;setSize setVisible-(LProGAL/geom2d/Point;LProGAL/geom2d/Point;)VBLACK+(Ljava/lang/String;LProGAL/geom2d/Point;D)V(LProGAL/geom2d/Point;D)V.(LProGAL/geom2d/Point;LProGAL/geom2d/Point;D)VREDB(LProGAL/geom2d/Point;LProGAL/geom2d/Point;LProGAL/geom2d/Point;)VGREEN([LProGAL/geom2d/Point;)VBLUE.(LProGAL/geom2d/Point;LProGAL/geom2d/Vector;)VaddThis-(LProGAL/geom2d/Vector;)LProGAL/geom2d/Point;java/lang/Threadsleep(J)V!Tt**Y*Y * Y* * Y** Y** * * * * * * 2 \TU]'^4_;aJjUk`lkmsn t/* r j HJ99*:  b !:  "#:  $'  $H %  %9 $)  $J %  %9* Y')c&oc&o*(:wxy z{3|?}O~aqH?D 3P  $1 HJ99*:  b !:  "#:  $'  $H %  %9 $)  $J %  %9* )6 * *6  6  6 * )'go go+,k*(J 3?Oaq\ ?D 3P  = 4 *1 E *+./1   M *+,/1    U *+,)1 *   n *!Y*+,)23W 4Y4Y* )* *5M,6N* -7,89Y+:;<=Y>?@+@AB :D$NQC& $5NQSX4SYYB=NB>M*N- - !:"+ M*,EW2=* >>< "8 *F   D *+3W   6* G   ^*H I2*J I2*K I2*L I2*M I2*N I2*O I2" '4AN\ ^  O* )=* *>*+$*$gklc6*w+%*%gklc6PYQFGH)ICJ>OOG?)&C  U* )=* *>+R6+S6ld*o*$c9ld*wo*%c9 YNOPQR2SITRUUME?92#I  4TYUKVYWXL+Y* ZW+[+\*+]*uvwx(y-z2{,"  ٸ^L+JY Y Y_`a+JY Y Y_`a+KYb Ycef+KYg Ycef+HY Yhh/j`1+HY Ycc/j`1+LY Yk Ymcopa+LY Yq Yqhop1 YsM+MY Yu Yu,wx1+NY Y Yu&SY YuySY Y{}SY YS1+OY YY/f+,Y/W+(N-V$D]v9*\/*Q /*Q  /*Q  /*Q  hPYYSYYSYYSYYSYYSYYSYYSI  !T T