Commits

Tom Yeh committed f88e414

refactored api.visual
created api.visual.element

Comments (0)

Files changed (14)

src/main/java/org/sikuli/api/audio/HelloJMF.java

+package org.sikuli.api.audio;
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+/**
+ *
+ * @author doGhacker
+ */
+/* Program HelloJMF.java
+Plays an audio file that is present in the same directory wherein the HelloJMF.class file resides.
+*/
+import javax.swing.*;
+import java.awt.*;
+import javax.media.*;
+
+import java.awt.event.*;
+import java.net.*;
+
+public class HelloJMF {
+
+    JFrame frame = new JFrame(" Hello JMF Player");
+    static Player helloJMFPlayer = null;
+
+    public HelloJMF() {
+        try { // method using URL
+            URL url = new URL("file", null, "male.wav");
+            helloJMFPlayer = Manager.createRealizedPlayer(url);
+            helloJMFPlayer.addControllerListener(new ControllerListener(){
+
+				@Override
+				public void controllerUpdate(ControllerEvent e) {
+					System.out.println(e);					
+				}
+            	
+            });
+        } catch (Exception e) {
+            System.out.println(" Unable to create the audioPlayer :" + e);
+        }
+        Component control = helloJMFPlayer.getControlPanelComponent();
+        frame.getContentPane().add(control, BorderLayout.CENTER);
+        frame.addWindowListener(new WindowAdapter() {
+
+            public void windowClosing(WindowEvent we) {
+                HelloJMF.stop();
+                System.exit(0);
+            }
+        });
+        frame.pack();
+        frame.setSize(new Dimension(200, 50));
+        frame.setVisible(true);
+        helloJMFPlayer.start();
+    }
+
+    public static void stop() {
+        helloJMFPlayer.stop();
+        helloJMFPlayer.close();
+    }
+
+    public static void main(String args[]) {
+        HelloJMF helloJMF = new HelloJMF();
+    }
+}

src/main/java/org/sikuli/api/visual/BoxOverlay.java

-package org.sikuli.api.visual;
-
-import java.awt.Color;
-
-
-import edu.umd.cs.piccolo.PNode;
-import edu.umd.cs.piccolo.nodes.PPath;
-import edu.umd.cs.piccolox.nodes.PShadow;
-
-class BoxOverlay extends ScreenOverlayWindow{
-	private final Color SHADOW_PAINT = new Color(10, 10, 10, 200);
-	BoxOverlay(int x, int y, int width, int height){
-		super();
-
-		final PPath p = PPath.createRectangle(1,1,width,height);
-		p.setStrokePaint(Color.red);
-		p.setPaint(null);	
-
-		PNode foregroundNode = new PNode();
-		foregroundNode.addChild(p);
-		foregroundNode.setHeight(p.getHeight()+4);
-		foregroundNode.setWidth(p.getWidth()+4);
-		p.setOffset(2,2);
-
-		int blurRadius = 4;
-		PShadow shadowNode = new PShadow(foregroundNode.toImage(), SHADOW_PAINT, blurRadius );
-
-
-		int tx = 5;
-		int ty = 5;
-		foregroundNode.setOffset(tx,ty);
-		shadowNode.setOffset(tx - (2 * blurRadius) + 1.0d, ty - (2 * blurRadius) + 1.0d);			
-
-		getCanvas().getLayer().addChild(foregroundNode);
-		getCanvas().getLayer().addChild(shadowNode);
-
-		setLocation(x-tx-4,y-ty-4);
-		setSize(width+tx+8,height+ty+8);
-	}
-
-}

src/main/java/org/sikuli/api/visual/Canvas.java

 package org.sikuli.api.visual;
 
-import java.awt.BasicStroke;
 import java.awt.Color;
-import java.awt.Image;
 import java.awt.Rectangle;
 import java.awt.image.BufferedImage;
-import java.io.File;
-import java.io.IOException;
 import java.util.List;
 
-import javax.imageio.ImageIO;
-
 import org.sikuli.api.ScreenLocation;
 import org.sikuli.api.ScreenRegion;
+import org.sikuli.api.visual.element.BoxElement;
+import org.sikuli.api.visual.element.CircleElement;
+import org.sikuli.api.visual.element.Element;
+import org.sikuli.api.visual.element.ImageElement;
+import org.sikuli.api.visual.element.LabelElement;
 
 import com.google.common.collect.Lists;
 
-import edu.umd.cs.piccolo.PNode;
-import edu.umd.cs.piccolo.nodes.PImage;
-import edu.umd.cs.piccolo.nodes.PPath;
-import edu.umd.cs.piccolo.nodes.PText;
-import edu.umd.cs.piccolox.nodes.PShadow;
-
-
-class Element {
-	public int x;
-	public int y;
-	public int width;
-	public int height;	
-
-	public Color lineColor = Color.red;
-	public Color color = Color.black;
-	public int lineWidth = 2;
-	public float fontSize = 12;
-
-	public PNode createPNode(){
-		return new PNode();
-	}
-}
-
-class BoxElement extends Element {
-}
-
-class CircleElement extends Element {
-}
-
-class LabelElement extends Element {
-	public String text;
-}
-
-class ImageElement extends Element {
-	public BufferedImage image;
-}
-
-class PNodeFactory {
-
-	static public PNode createFrom(Element element){
-		Class<? extends Element> clazz = element.getClass();
-		if (clazz == LabelElement.class){
-			return createFrom((LabelElement)element);
-		}else if (clazz == BoxElement.class){
-			return createFrom((BoxElement) element);
-		}else if (clazz == CircleElement.class){
-			return createFrom((CircleElement) element);
-		}else if (clazz == ImageElement.class){
-			return createFrom((ImageElement) element);
-		}	
-		return new PNode();
-	}
-
-	static public PNode createFrom(LabelElement element){
-		final PText txt = new PText(element.text);
-		txt.setTextPaint(Color.black);
-		txt.setPaint(Color.yellow);
-		txt.setTextPaint(element.color);
-		txt.setFont(txt.getFont().deriveFont(element.fontSize));
-
-		PNode labelNode = new PNode();
-		labelNode.setPaint(Color.yellow);
-		labelNode.addChild(txt);
-		labelNode.setHeight(txt.getHeight()+2);
-		labelNode.setWidth(txt.getWidth()+4);
-		txt.setOffset(2,1);
-
-
-		labelNode.setOffset(element.x, element.y);
-		return addShadow(labelNode);
-	}
-	
-	static public PNode createFrom(CircleElement element){
-		PPath p = PPath.createEllipse(1,1,element.width,element.height);
-		p.setStrokePaint(element.lineColor);
-		p.setPaint(null);		
-		p.setStroke(new BasicStroke(element.lineWidth));
-
-		PNode foregroundNode = new PNode();
-		foregroundNode.addChild(p);
-		foregroundNode.setHeight(p.getHeight()+4);
-		foregroundNode.setWidth(p.getWidth()+4);
-		p.setOffset(2,2);
-
-		foregroundNode.setOffset(element.x, element.y);
-
-		return addShadow(foregroundNode);
-	}
-
-	static public PNode createFrom(BoxElement element){
-		PPath p = PPath.createRectangle(1,1,element.width,element.height);
-		p.setStrokePaint(element.lineColor);
-		p.setPaint(null);		
-		p.setStroke(new BasicStroke(element.lineWidth));
-
-
-		PNode foregroundNode = new PNode();
-		foregroundNode.addChild(p);
-		foregroundNode.setHeight(p.getHeight()+4);
-		foregroundNode.setWidth(p.getWidth()+4);
-		p.setOffset(2,2);
-
-		foregroundNode.setOffset(element.x, element.y);
-
-		return addShadow(foregroundNode);
-	}
-	
-	static public PNode createFrom(ImageElement element){
-		PImage p = new PImage(element.image);
-
-		PNode foregroundNode = new PNode();
-		foregroundNode.addChild(p);
-		foregroundNode.setHeight(p.getHeight()+4);
-		foregroundNode.setWidth(p.getWidth()+4);
-		p.setOffset(2,2);
-
-		foregroundNode.setOffset(element.x, element.y);
-
-		return addShadow(foregroundNode);
-	}
-
-	static public void setStyle(){
-
-	}
-
-	static private final Color SHADOW_PAINT = new Color(10, 10, 10, 200);
-	static private PNode addShadow(PNode contentNode){
-
-		PNode contentNodeWithShadow = new PNode();
-
-		double xoffset = contentNode.getXOffset();
-		double yoffset = contentNode.getYOffset();
-
-		int blurRadius = 4;
-		int tx = 5;
-		int ty = 5;
-
-		PShadow shadowNode = new PShadow(contentNode.toImage(), SHADOW_PAINT, blurRadius );		
-		contentNode.setOffset(tx, ty);
-		shadowNode.setOffset(tx - (2 * blurRadius) + 1.0d, ty - (2 * blurRadius) + 1.0d);
-
-		contentNodeWithShadow.addChild(shadowNode);
-		contentNodeWithShadow.addChild(contentNode);		      
-		contentNodeWithShadow.setOffset(xoffset - tx  - blurRadius, yoffset - ty - blurRadius);
-		contentNodeWithShadow.setBounds(0,0, contentNode.getWidth() + 2*blurRadius + tx, contentNode.getHeight() + 2*blurRadius + ty);
-		return contentNodeWithShadow;
-	}
-}
-
-
 abstract public class Canvas {
 
 	private final List<Element> elements = 	Lists.newArrayList();;
 	}
 
 	
-	abstract public void display(int seconds);
+	public void display(int seconds){
+		display((double)seconds);
+	}
+	
 	abstract public void display(double seconds);
 	abstract public void displayWhile(Runnable runnable);
 	

src/main/java/org/sikuli/api/visual/CircleOverlay.java

-package org.sikuli.api.visual;
-
-import java.awt.Color;
-
-
-import edu.umd.cs.piccolo.PNode;
-import edu.umd.cs.piccolo.nodes.PPath;
-import edu.umd.cs.piccolox.nodes.PShadow;
-
-class CircleOverlay extends ScreenOverlayWindow{
-
-	private final Color SHADOW_PAINT = new Color(10, 10, 10, 200);
-	
-	
-	CircleOverlay(int x, int y, int width, int height){
-		super();
-		
-		final PPath circle = PPath.createEllipse(1,1,20,20);
-		circle.setStrokePaint(Color.red);
-		circle.setPaint(null);	
-					
-		PNode foregroundNode = new PNode();
-		foregroundNode.addChild(circle);
-		foregroundNode.setHeight(circle.getHeight()+4);
-		foregroundNode.setWidth(circle.getWidth()+4);
-		circle.setOffset(2,2);
-		
-		int blurRadius = 4;
-		PShadow shadowNode = new PShadow(foregroundNode.toImage(), SHADOW_PAINT, blurRadius );
-		
-		
-		int tx = 5;
-		int ty = 5;
-		foregroundNode.setOffset(tx,ty);
-		shadowNode.setOffset(tx - (2 * blurRadius) + 1.0d, ty - (2 * blurRadius) + 1.0d);			
-		
-		getCanvas().getLayer().addChild(foregroundNode);
-		getCanvas().getLayer().addChild(shadowNode);
-
-		setLocation(x-tx-4,y-ty-4);
-		setSize(40,40);
-	}
-}

src/main/java/org/sikuli/api/visual/ImageOverlay.java

-package org.sikuli.api.visual;
-
-import java.awt.Color;
-import java.awt.image.BufferedImage;
-import java.net.URL;
-
-
-import edu.umd.cs.piccolo.PNode;
-import edu.umd.cs.piccolo.nodes.PImage;
-import edu.umd.cs.piccolo.util.PBounds;
-import edu.umd.cs.piccolox.nodes.PShadow;
-
-class ImageOverlay extends ScreenOverlayWindow{
-		
-		private final Color SHADOW_PAINT = new Color(10, 10, 10, 200);
-
-		public ImageOverlay(BufferedImage image, int x, int y){
-			super();
-			
-			// Example: http://code.google.com/p/piccolo2d/source/browse/piccolo2d.java/trunk/examples/src/main/java/edu/umd/cs/piccolo/examples/ShadowExample.java?spec=svn698&r=698
-
-			//final PImage txt = new PImage(imageURL);
-			final PImage txt = new PImage(image);
-			//txt.setimage
-			//txt.setTextPaint(Color.black);
-			//txt.setPaint(Color.yellow);
-			
-			PNode labelNode = new PNode();
-			labelNode.setPaint(Color.gray.brighter());
-			labelNode.addChild(txt);
-			labelNode.setHeight(txt.getHeight()+2);
-			labelNode.setWidth(txt.getWidth()+4);
-			txt.setOffset(2,1);
-			
-			int blurRadius = 4;
-			PShadow shadowNode = new PShadow(labelNode.toImage(), SHADOW_PAINT, blurRadius );
-			
-			int tx = 5;
-			int ty = 5;
-			labelNode.setOffset(tx,ty);
-			shadowNode.setOffset(tx - (2 * blurRadius) + 1.0d, ty - (2 * blurRadius) + 1.0d);
-
-            getCanvas().getLayer().addChild(shadowNode);
-            getCanvas().getLayer().addChild(labelNode);			
-			
-			PBounds b = txt.getBounds();			
-			setSize((int)b.width+25, (int)b.height+25);
-			setLocation(x-tx,y-ty);
-		}
-
-	}
-	

src/main/java/org/sikuli/api/visual/LabelOverlay.java

-package org.sikuli.api.visual;
-
-import java.awt.Color;
-
-
-import edu.umd.cs.piccolo.PNode;
-import edu.umd.cs.piccolo.nodes.PText;
-import edu.umd.cs.piccolo.util.PBounds;
-import edu.umd.cs.piccolox.nodes.PShadow;
-
-class LabelOverlay extends ScreenOverlayWindow{
-		
-		private final Color SHADOW_PAINT = new Color(10, 10, 10, 200);
-
-		public LabelOverlay(String labelText, int x, int y){
-			super();
-			
-			// Example: http://code.google.com/p/piccolo2d/source/browse/piccolo2d.java/trunk/examples/src/main/java/edu/umd/cs/piccolo/examples/ShadowExample.java?spec=svn698&r=698
-
-			final PText txt = new PText(labelText);
-			txt.setTextPaint(Color.black);
-			txt.setPaint(Color.yellow);
-			
-			PNode labelNode = new PNode();
-			labelNode.setPaint(Color.yellow);
-			labelNode.addChild(txt);
-			labelNode.setHeight(txt.getHeight()+2);
-			labelNode.setWidth(txt.getWidth()+4);
-			txt.setOffset(2,1);
-			
-			int blurRadius = 4;
-			PShadow shadowNode = new PShadow(labelNode.toImage(), SHADOW_PAINT, blurRadius );
-			
-			int tx = 5;
-			int ty = 5;
-			labelNode.setOffset(tx,ty);
-			shadowNode.setOffset(tx - (2 * blurRadius) + 1.0d, ty - (2 * blurRadius) + 1.0d);
-
-            getCanvas().getLayer().addChild(shadowNode);
-            getCanvas().getLayer().addChild(labelNode);			
-			
-			PBounds b = txt.getBounds();			
-			setSize((int)b.width+25, (int)b.height+25);
-			setLocation(x-tx,y-ty);
-		}
-
-	}

src/main/java/org/sikuli/api/visual/ScreenOverlayWindow.java

 package org.sikuli.api.visual;
 
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
 import javax.swing.JWindow;
-import javax.swing.Timer;
-
 import com.sun.awt.AWTUtilities;
-
 import edu.umd.cs.piccolo.PCanvas;
 
 public class ScreenOverlayWindow extends JWindow implements ScreenDisplayable {
 		return canvas; 
 	}
 	
-	public void show(int duration){
-		setVisible(true);
-		autoClose(duration);
-	}
-	
-	//public void show(){
-		//setVisible(true);
-	//}
-	
-	public void close(){
-		setVisible(false);
-		dispose();
-	}
-
-	private void autoClose(int time){
-		Timer timer = new Timer(time, new ActionListener(){
-			@Override
-			public void actionPerformed(ActionEvent e) {
-				setVisible(false);
-				dispose();
-			}			
-		});
-		timer.start();
-	}
-
 	@Override
 	public void displayOnScreen() {
 		setVisible(true);

src/main/java/org/sikuli/api/visual/ScreenPainter.java

-package org.sikuli.api.visual;
-
-import java.awt.Rectangle;
-import java.awt.image.BufferedImage;
-
-import org.sikuli.api.Relative;
-import org.sikuli.api.ScreenLocation;
-import org.sikuli.api.ScreenRegion;
-import org.sikuli.api.robot.desktop.DesktopScreen;
-
-public class ScreenPainter {
-		
-	public void box(ScreenRegion screenRegion, int duration){
-		Rectangle b = ((DesktopScreen) screenRegion.getScreen()).getBounds();
-		Rectangle r = screenRegion.getBounds();
-		new BoxOverlay(b.x+r.x, b.y+r.y, r.width, r.height).show(duration);
-	}
-	
-	public void circle(ScreenRegion screenRegion, int duration){
-		Rectangle b = ((DesktopScreen) screenRegion.getScreen()).getBounds();
-		Rectangle r = screenRegion.getBounds();
-		new CircleOverlay(b.x+r.x, b.y+r.y, r.width, r.height).show(duration);
-	}
-	
-	public void circle(ScreenLocation l, int duration){
-		Rectangle b = ((DesktopScreen) l.getScreen()).getBounds();
-		new CircleOverlay(b.x + l.getX()-10, b.y + l.getY()-10, 20, 20).show(duration);
-	}
-		
-	public void label(ScreenRegion screenRegion, String txt, int duration){
-		ScreenLocation labelLocation = Relative.to(screenRegion).topLeft().above(5).left(5).getScreenLocation();
-		label(labelLocation, txt, duration);
-	}
-	
-	public void label(ScreenLocation l, String txt, int duration){
-		Rectangle b = ((DesktopScreen) l.getScreen()).getBounds();
-		new LabelOverlay(txt, b.x + l.getX(), b.y + l.getY()).show(duration);
-	}
-
-	public void image(ScreenLocation l, BufferedImage image, int time){
-		Rectangle b = ((DesktopScreen) l.getScreen()).getBounds();
-		new ImageOverlay(image, b.x + l.getX(), b.y + l.getY()).show(time);
-	}		
-}
-

src/main/java/org/sikuli/api/visual/ScreenRegionCanvas.java

 package org.sikuli.api.visual;
 
+import java.awt.BasicStroke;
+import java.awt.Color;
 import java.awt.Point;
 import java.awt.Rectangle;
 import java.awt.image.BufferedImage;
 
 import org.sikuli.api.ScreenRegion;
 import org.sikuli.api.robot.desktop.DesktopScreen;
+import org.sikuli.api.visual.element.BoxElement;
+import org.sikuli.api.visual.element.CircleElement;
+import org.sikuli.api.visual.element.Element;
+import org.sikuli.api.visual.element.ImageElement;
+import org.sikuli.api.visual.element.LabelElement;
 import org.sikuli.core.cv.VisionUtils;
 
 import com.google.common.collect.Lists;
 import edu.umd.cs.piccolo.PLayer;
 import edu.umd.cs.piccolo.PNode;
 import edu.umd.cs.piccolo.nodes.PImage;
+import edu.umd.cs.piccolo.nodes.PPath;
+import edu.umd.cs.piccolo.nodes.PText;
 import edu.umd.cs.piccolo.util.PBounds;
+import edu.umd.cs.piccolox.nodes.PShadow;
 
 public class ScreenRegionCanvas extends Canvas {
 
 		this.screenRegion = screenRegion;
 	}
 }
+
+
+class PNodeFactory {
+
+	static public PNode createFrom(Element element){
+		Class<? extends Element> clazz = element.getClass();
+		if (clazz == LabelElement.class){
+			return createFrom((LabelElement)element);
+		}else if (clazz == BoxElement.class){
+			return createFrom((BoxElement) element);
+		}else if (clazz == CircleElement.class){
+			return createFrom((CircleElement) element);
+		}else if (clazz == ImageElement.class){
+			return createFrom((ImageElement) element);
+		}	
+		return new PNode();
+	}
+
+	static public PNode createFrom(LabelElement element){
+		final PText txt = new PText(element.text);
+		txt.setTextPaint(Color.black);
+		txt.setPaint(Color.yellow);
+		txt.setTextPaint(element.color);
+		txt.setFont(txt.getFont().deriveFont(element.fontSize));
+
+		PNode labelNode = new PNode();
+		labelNode.setPaint(Color.yellow);
+		labelNode.addChild(txt);
+		labelNode.setHeight(txt.getHeight()+2);
+		labelNode.setWidth(txt.getWidth()+4);
+		txt.setOffset(2,1);
+
+
+		labelNode.setOffset(element.x, element.y);
+		return addShadow(labelNode);
+	}
+	
+	static public PNode createFrom(CircleElement element){
+		PPath p = PPath.createEllipse(1,1,element.width,element.height);
+		p.setStrokePaint(element.lineColor);
+		p.setPaint(null);		
+		p.setStroke(new BasicStroke(element.lineWidth));
+
+		PNode foregroundNode = new PNode();
+		foregroundNode.addChild(p);
+		foregroundNode.setHeight(p.getHeight()+4);
+		foregroundNode.setWidth(p.getWidth()+4);
+		p.setOffset(2,2);
+
+		foregroundNode.setOffset(element.x, element.y);
+
+		return addShadow(foregroundNode);
+	}
+
+	static public PNode createFrom(BoxElement element){
+		PPath p = PPath.createRectangle(1,1,element.width,element.height);
+		p.setStrokePaint(element.lineColor);
+		p.setPaint(null);		
+		p.setStroke(new BasicStroke(element.lineWidth));
+
+
+		PNode foregroundNode = new PNode();
+		foregroundNode.addChild(p);
+		foregroundNode.setHeight(p.getHeight()+4);
+		foregroundNode.setWidth(p.getWidth()+4);
+		p.setOffset(2,2);
+
+		foregroundNode.setOffset(element.x, element.y);
+
+		return addShadow(foregroundNode);
+	}
+	
+	static public PNode createFrom(ImageElement element){
+		PImage p = new PImage(element.image);
+
+		PNode foregroundNode = new PNode();
+		foregroundNode.addChild(p);
+		foregroundNode.setHeight(p.getHeight()+4);
+		foregroundNode.setWidth(p.getWidth()+4);
+		p.setOffset(2,2);
+
+		foregroundNode.setOffset(element.x, element.y);
+
+		return addShadow(foregroundNode);
+	}
+
+	static public void setStyle(){
+
+	}
+
+	static private final Color SHADOW_PAINT = new Color(10, 10, 10, 200);
+	static private PNode addShadow(PNode contentNode){
+
+		PNode contentNodeWithShadow = new PNode();
+
+		double xoffset = contentNode.getXOffset();
+		double yoffset = contentNode.getYOffset();
+
+		int blurRadius = 4;
+		int tx = 5;
+		int ty = 5;
+
+		PShadow shadowNode = new PShadow(contentNode.toImage(), SHADOW_PAINT, blurRadius );		
+		contentNode.setOffset(tx, ty);
+		shadowNode.setOffset(tx - (2 * blurRadius) + 1.0d, ty - (2 * blurRadius) + 1.0d);
+
+		contentNodeWithShadow.addChild(shadowNode);
+		contentNodeWithShadow.addChild(contentNode);		      
+		contentNodeWithShadow.setOffset(xoffset - tx  - blurRadius, yoffset - ty - blurRadius);
+		contentNodeWithShadow.setBounds(0,0, contentNode.getWidth() + 2*blurRadius + tx, contentNode.getHeight() + 2*blurRadius + ty);
+		return contentNodeWithShadow;
+	}
+}
+

src/main/java/org/sikuli/api/visual/element/BoxElement.java

+package org.sikuli.api.visual.element;
+public class BoxElement extends Element {
+}

src/main/java/org/sikuli/api/visual/element/CircleElement.java

+package org.sikuli.api.visual.element;
+
+
+public class CircleElement extends Element {
+}

src/main/java/org/sikuli/api/visual/element/Element.java

+package org.sikuli.api.visual.element;
+
+import java.awt.Color;
+
+import edu.umd.cs.piccolo.PNode;
+
+public class Element {
+	public int x;
+	public int y;
+	public int width;
+	public int height;	
+
+	public Color lineColor = Color.red;
+	public Color color = Color.black;
+	public int lineWidth = 2;
+	public float fontSize = 12;
+
+	public PNode createPNode(){
+		return new PNode();
+	}
+}

src/main/java/org/sikuli/api/visual/element/ImageElement.java

+package org.sikuli.api.visual.element;
+
+import java.awt.image.BufferedImage;
+
+
+public class ImageElement extends Element {
+	public BufferedImage image;
+}

src/main/java/org/sikuli/api/visual/element/LabelElement.java

+package org.sikuli.api.visual.element;
+
+
+public class LabelElement extends Element {
+	public String text;
+}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.