// Path: EVLib/src/main/java/ftc/evlib/vision/processors/ImageProcessor.java
// public interface ImageProcessor<ResultType> {
//     /**
//      * Process a camera frame
//      *
//      * @param startTime  the time the frame was taken
//      * @param rgbaFrame  the frame
//      * @param saveImages whether or not ot save the images for logging
//      * @return the modified frame to display on the phone screen
//      */
//     ImageProcessorResult<ResultType> process(long startTime, Mat rgbaFrame, boolean saveImages);
// }
// 
// Path: EVLib/src/main/java/ftc/evlib/vision/processors/ImageProcessorResult.java
// public class ImageProcessorResult<ResultType> {
//     private final long startTime, endTime;
//     private final ResultType result;
//     private final Mat frame;
// 
//     /**
//      * @param startTime the time the frame was taken
//      * @param frame     the frame
//      * @param result    the result of your type
//      */
//     ImageProcessorResult(long startTime, Mat frame, ResultType result) {
//         this.startTime = startTime;
//         this.result = result;
//         this.frame = frame;
//         this.endTime = System.currentTimeMillis();
//     }
// 
//     public long getStartTime() {
//         return startTime;
//     }
// 
//     public long getEndTime() {
//         return endTime;
//     }
// 
//     public long getElapsedTime() {
//         return endTime - startTime;
//     }
// 
//     public boolean isResultNull() {
//         return result == null;
//     }
// 
//     public ResultType getResult() {
//         return result;
//     }
// 
//     public Mat getFrame() {
//         return frame;
//     }
// 
//     @Override
//     public String toString() {
//         if (isResultNull()) {
//             return "null";
//         } else {
//             return result.toString();
//         }
//     }
// }


import android.graphics.Bitmap;
import org.opencv.android.Utils;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import ftc.evlib.vision.processors.ImageProcessor;
import ftc.evlib.vision.processors.ImageProcessorResult;
    public boolean isSaveImages() {
        return false;
    }

    @Override
    public ImageProcessor getImageProcessor() {
        return null;
    }

    @Override
    public FrameGrabberMode getMode() {
        return FrameGrabberMode.STOPPED;
    }

    @Override
    public void setCameraOrientation(CameraOrientation cameraOrientation) {

    }

    @Override
    public void setIgnoreOrientationForDisplay(boolean ignoreOrientationForDisplay) {

    }

    @Override
    public void setSaveImages(boolean saveImages) {

    }

    @Override
// Path: EVLib/src/main/java/ftc/evlib/vision/processors/ImageProcessor.java
// public interface ImageProcessor<ResultType> {
//     /**
//      * Process a camera frame
//      *
//      * @param startTime  the time the frame was taken
//      * @param rgbaFrame  the frame
//      * @param saveImages whether or not ot save the images for logging
//      * @return the modified frame to display on the phone screen
//      */
//     ImageProcessorResult<ResultType> process(long startTime, Mat rgbaFrame, boolean saveImages);
// }
// 
// Path: EVLib/src/main/java/ftc/evlib/vision/processors/ImageProcessorResult.java
// public class ImageProcessorResult<ResultType> {
//     private final long startTime, endTime;
//     private final ResultType result;
//     private final Mat frame;
// 
//     /**
//      * @param startTime the time the frame was taken
//      * @param frame     the frame
//      * @param result    the result of your type
//      */
//     ImageProcessorResult(long startTime, Mat frame, ResultType result) {
//         this.startTime = startTime;
//         this.result = result;
//         this.frame = frame;
//         this.endTime = System.currentTimeMillis();
//     }
// 
//     public long getStartTime() {
//         return startTime;
//     }
// 
//     public long getEndTime() {
//         return endTime;
//     }
// 
//     public long getElapsedTime() {
//         return endTime - startTime;
//     }
// 
//     public boolean isResultNull() {
//         return result == null;
//     }
// 
//     public ResultType getResult() {
//         return result;
//     }
// 
//     public Mat getFrame() {
//         return frame;
//     }
// 
//     @Override
//     public String toString() {
//         if (isResultNull()) {
//             return "null";
//         } else {
//             return result.toString();
//         }
//     }
// }


// Path: EVLib/src/main/java/ftc/evlib/vision/framegrabber/FakeFrameGrabber.java
import android.graphics.Bitmap;
import org.opencv.android.Utils;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import ftc.evlib.vision.processors.ImageProcessor;
import ftc.evlib.vision.processors.ImageProcessorResult;

    public boolean isSaveImages() {
        return false;
    }

    @Override
    public ImageProcessor getImageProcessor() {
        return null;
    }

    @Override
    public FrameGrabberMode getMode() {
        return FrameGrabberMode.STOPPED;
    }

    @Override
    public void setCameraOrientation(CameraOrientation cameraOrientation) {

    }

    @Override
    public void setIgnoreOrientationForDisplay(boolean ignoreOrientationForDisplay) {

    }

    @Override
    public void setSaveImages(boolean saveImages) {

    }

    @Override
    public void setImageProcessor(ImageProcessor imageProcessor) {