// Path: src/main/java/sk/mrtn/pixi/client/interaction/EventListener.java
// @JsFunction
// public interface EventListener {
//     void handleEvent(Event event);
// }


import jsinterop.annotations.*;
import sk.mrtn.pixi.client.interaction.EventListener;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
     * @param skewX
     * @param skewY
     * @param pivotX
     * @param pivotY
     * @return
     */
    @JsMethod
    public native boolean setTransform(double x, double y, double scaleX, double scaleY, double rotation, double skewX, double skewY, double pivotX, double pivotY);

    /**
     * Base destroy method for generic display objects. This will automatically
     * remove the display object from its parent Container as well as remove
     * all current event listeners and internal references. Do not use a DisplayObject
     * after calling destroy.
     */
    @JsMethod
    public native void destroy();

    @JsMethod
    public native Point getGlobalPosition(Point point);

    @JsMethod
    public native Texture generateTexture(Renderer renderer, double scaleMode, double resolution);

    /**
     * method allows to add interaction for object
     * @param eventType
     * @param eventListener
     */
    @JsMethod
// Path: src/main/java/sk/mrtn/pixi/client/interaction/EventListener.java
// @JsFunction
// public interface EventListener {
//     void handleEvent(Event event);
// }


// Path: src/main/java/sk/mrtn/pixi/client/DisplayObject.java
import jsinterop.annotations.*;
import sk.mrtn.pixi.client.interaction.EventListener;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;

     * @param skewX
     * @param skewY
     * @param pivotX
     * @param pivotY
     * @return
     */
    @JsMethod
    public native boolean setTransform(double x, double y, double scaleX, double scaleY, double rotation, double skewX, double skewY, double pivotX, double pivotY);

    /**
     * Base destroy method for generic display objects. This will automatically
     * remove the display object from its parent Container as well as remove
     * all current event listeners and internal references. Do not use a DisplayObject
     * after calling destroy.
     */
    @JsMethod
    public native void destroy();

    @JsMethod
    public native Point getGlobalPosition(Point point);

    @JsMethod
    public native Texture generateTexture(Renderer renderer, double scaleMode, double resolution);

    /**
     * method allows to add interaction for object
     * @param eventType
     * @param eventListener
     */
    @JsMethod
    public native void on(String eventType, EventListener eventListener);