/*
The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.
The Original Code is collection of files collectively known as Open Camera.
The Initial Developer of the Original Code is Almalence Inc.
Portions created by Initial Developer are Copyright (C) 2013
by Almalence Inc. All Rights Reserved.
*/
/* <!-- +++
package com.almalence.opencam_plus;
+++ --> */
// <!-- -+-
package com.almalence.opencam;
//-+- -->
import android.hardware.camera2.CaptureResult;
//PluginManagerInterface used by Camera Controller to communicate with appluication's plugins
public interface PluginManagerInterface
{
//Ask current capture plugin to select desire image size
public void selectImageDimension();
//Call to ask plugins to choose desire default camera parameters values
public void selectDefaults();
public boolean shouldPreviewToGPU();
//Callback of auto focus
public void onAutoFocus(boolean focused);
public void onAutoFocusMoving(boolean start);
//Callback for camera's preview frames
public void onPreviewFrame(byte[] data);
//Callback for captured still images
public void onImageTaken(int frame, byte[] frameData, int frame_len, int format);
//Callback for CaptureResult (used in camera2 mode)
public void onCaptureCompleted(CaptureResult result);
//Pass captured frame data to let plugins extract desired exif data
public void collectExifData(byte[] frameData);
//In case of multishot capturing pass to plugin id of current capture request
public void addRequestID(int nFrame, int requestID);
public boolean isPreviewDependentMode();
public boolean needPreviewFrame();
//Check if current device is allowed to use camera2 interface
//At that time we limit numbers of devices which may use camera2 interface
public boolean isCamera2InterfaceAllowed();
}