/**@class android.hardware.camera2.DngCreator
 implements java.lang.AutoCloseable

@extends java.lang.Object

 The {@link android.hardware.camera2.DngCreator} class provides functions to write raw pixel data as a DNG file.

 <p>
 This class is designed to be used with the {@link android.graphics.ImageFormat#RAW_SENSOR}
 buffers available from {@link android.hardware.camera2.CameraDevice}, or with Bayer-type raw
 pixel data that is otherwise generated by an application.  The DNG metadata tags will be
 generated from a {@link android.hardware.camera2.CaptureResult} object or set directly.
 </p>

 <p>
 The DNG file format is a cross-platform file format that is used to store pixel data from
 camera sensors with minimal pre-processing applied.  DNG files allow for pixel data to be
 defined in a user-defined colorspace, and have associated metadata that allow for this
 pixel data to be converted to the standard CIE XYZ colorspace during post-processing.
 </p>

 <p>
 For more information on the DNG file format and associated metadata, please refer to the
 <a href=
 "https://wwwimages2.adobe.com/content/dam/Adobe/en/products/photoshop/pdfs/dng_spec_1.4.0.0.pdf">
 Adobe DNG 1.4.0.0 specification</a>.
 </p>
*/
var DngCreator = {

/** Max width or height dimension for thumbnails.
*/
MAX_THUMBNAIL_DIMENSION : "256",
/**Set the orientation value to write.

 <p>
 This will be written as the TIFF "Orientation" tag {@code (0x0112)}.
 Calling this will override any prior settings for this tag.
 </p>
@param {Number} orientation the orientation value to set, one of:
                    <ul>
                      <li>{@link android.media.ExifInterface#ORIENTATION_NORMAL}</li>
                      <li>{@link android.media.ExifInterface#ORIENTATION_FLIP_HORIZONTAL}</li>
                      <li>{@link android.media.ExifInterface#ORIENTATION_ROTATE_180}</li>
                      <li>{@link android.media.ExifInterface#ORIENTATION_FLIP_VERTICAL}</li>
                      <li>{@link android.media.ExifInterface#ORIENTATION_TRANSPOSE}</li>
                      <li>{@link android.media.ExifInterface#ORIENTATION_ROTATE_90}</li>
                      <li>{@link android.media.ExifInterface#ORIENTATION_TRANSVERSE}</li>
                      <li>{@link android.media.ExifInterface#ORIENTATION_ROTATE_270}</li>
                    </ul>
@return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object.
*/
setOrientation : function(  ) {},

/**Set the thumbnail image.

 <p>
 Pixel data will be converted to a Baseline TIFF RGB image, with 8 bits per color channel.
 The alpha channel will be discarded.  Thumbnail images with a dimension larger than
 {@link #MAX_THUMBNAIL_DIMENSION} will be rejected.
 </p>
@param {Object {Bitmap}} pixels a {@link android.graphics.Bitmap} of pixel data.
@return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object.
@throws java.lang.IllegalArgumentException if the given thumbnail image has a dimension
      larger than {@link #MAX_THUMBNAIL_DIMENSION}.
*/
setThumbnail : function(  ) {},

/**Set the thumbnail image.

 <p>
 Pixel data is interpreted as a {@link android.graphics.ImageFormat#YUV_420_888} image.
 Thumbnail images with a dimension larger than {@link #MAX_THUMBNAIL_DIMENSION} will be
 rejected.
 </p>
@param {Object {Image}} pixels an {@link android.media.Image} object with the format
               {@link android.graphics.ImageFormat#YUV_420_888}.
@return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object.
@throws java.lang.IllegalArgumentException if the given thumbnail image has a dimension
      larger than {@link #MAX_THUMBNAIL_DIMENSION}.
*/
setThumbnail : function(  ) {},

/**Set image location metadata.

 <p>
 The given location object must contain at least a valid time, latitude, and longitude
 (equivalent to the values returned by {@link android.location.Location#getTime()},
 {@link android.location.Location#getLatitude()}, and
 {@link android.location.Location#getLongitude()} methods).
 </p>
@param {Object {Location}} location an {@link android.location.Location} object to set.
@return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object.
@throws java.lang.IllegalArgumentException if the given location object doesn't
          contain enough information to set location metadata.
*/
setLocation : function(  ) {},

/**Set the user description string to write.

 <p>
 This is equivalent to setting the TIFF "ImageDescription" tag {@code (0x010E)}.
 </p>
@param {String} description the user description string.
@return {Object {android.hardware.camera2.DngCreator}} this {@link #DngCreator} object.
*/
setDescription : function(  ) {},

/**Write the {@link android.graphics.ImageFormat#RAW_SENSOR} pixel data to a DNG file with
 the currently configured metadata.

 <p>
 Raw pixel data must have 16 bits per pixel, and the input must contain at least
 {@code offset + 2 * width * height)} bytes.  The width and height of
 the input are taken from the width and height set in the {@link android.hardware.camera2.DngCreator} metadata tags,
 and will typically be equal to the width and height of
 {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE}.  Prior to
 API level 23, this was always the same as
 {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE}.
 The pixel layout in the input is determined from the reported color filter arrangement (CFA)
 set in {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT}.  If insufficient
 metadata is available to write a well-formatted DNG file, an
 {@link java.lang.IllegalStateException} will be thrown.
 </p>
@param {Object {OutputStream}} dngOutput an {@link java.io.OutputStream} to write the DNG file to.
@param {Object {Size}} size the {@link Size} of the image to write, in pixels.
@param {Object {InputStream}} pixels an {@link java.io.InputStream} of pixel data to write.
@param {Number} offset the offset of the raw image in bytes.  This indicates how many bytes will
               be skipped in the input before any pixel data is read.
@throws IOException if an error was encountered in the input or output stream.
@throws java.lang.IllegalStateException if not enough metadata information has been
          set to write a well-formatted DNG file.
@throws java.lang.IllegalArgumentException if the size passed in does not match the
*/
writeInputStream : function(  ) {},

/**Write the {@link android.graphics.ImageFormat#RAW_SENSOR} pixel data to a DNG file with
 the currently configured metadata.

 <p>
 Raw pixel data must have 16 bits per pixel, and the input must contain at least
 {@code offset + 2 * width * height)} bytes.  The width and height of
 the input are taken from the width and height set in the {@link android.hardware.camera2.DngCreator} metadata tags,
 and will typically be equal to the width and height of
 {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE}.  Prior to
 API level 23, this was always the same as
 {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE}.
 The pixel layout in the input is determined from the reported color filter arrangement (CFA)
 set in {@link android.hardware.camera2.CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT}.  If insufficient
 metadata is available to write a well-formatted DNG file, an
 {@link java.lang.IllegalStateException} will be thrown.
 </p>

 <p>
 Any mark or limit set on this {@link ByteBuffer} is ignored, and will be cleared by this
 method.
 </p>
@param {Object {OutputStream}} dngOutput an {@link java.io.OutputStream} to write the DNG file to.
@param {Object {Size}} size the {@link Size} of the image to write, in pixels.
@param {Object {ByteBuffer}} pixels an {@link java.nio.ByteBuffer} of pixel data to write.
@param {Number} offset the offset of the raw image in bytes.  This indicates how many bytes will
               be skipped in the input before any pixel data is read.
@throws IOException if an error was encountered in the input or output stream.
@throws java.lang.IllegalStateException if not enough metadata information has been
          set to write a well-formatted DNG file.
*/
writeByteBuffer : function(  ) {},

/**Write the pixel data to a DNG file with the currently configured metadata.

 <p>
 For this method to succeed, the {@link android.media.Image} input must contain
 {@link android.graphics.ImageFormat#RAW_SENSOR} pixel data, otherwise an
 {@link java.lang.IllegalArgumentException} will be thrown.
 </p>
@param {Object {OutputStream}} dngOutput an {@link java.io.OutputStream} to write the DNG file to.
@param {Object {Image}} pixels an {@link android.media.Image} to write.
@throws java.io.IOException if an error was encountered in the output stream.
@throws java.lang.IllegalArgumentException if an image with an unsupported format was used.
@throws java.lang.IllegalStateException if not enough metadata information has been
          set to write a well-formatted DNG file.
*/
writeImage : function(  ) {},

/**
*/
close : function(  ) {},


};