protected Image means(Image imageIn) 我想知道means是属于谁的方法?

direren 2009-03-12 06:55:25
public class IP extends JFrame
{
protected Image means(Image imageIn)
{
............
}
}
我想知道对与means来说它属于哪一个类?
...全文
312 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
direren 2009-03-12
  • 打赏
  • 举报
回复
Up
direren 2009-03-12
  • 打赏
  • 举报
回复
那我想调用这个方法的时候应该怎么写呢,谢谢
weizhaozhe 2009-03-12
  • 打赏
  • 举报
回复
IP喽
guoapeng 2009-03-12
  • 打赏
  • 举报
回复
IP 类
  • 打赏
  • 举报
回复
这个方法由于被 protected 修饰过了,只能在当前类、当前包或者是它的子类中才能使用。
package org.hds.Graphics; import java.net.*; import java.io.*; import java.util.*; import java.awt.*; import java.awt.image.*; public class GifDecoder { /** * File read status: No errors. */ public static final int STATUS_OK = 0; /** * File read status: Error decoding file (may be partially decoded) */ public static final int STATUS_FORMAT_ERROR = 1; /** * File read status: Unable to open source. */ public static final int STATUS_OPEN_ERROR = 2; protected BufferedInputStream in; protected int status; protected int width; // full image width protected int height; // full image height protected boolean gctFlag; // global color table used protected int gctSize; // size of global color table protected int loopCount = 1; // iterations; 0 = repeat forever protected int[] gct; // global color table protected int[] lct; // local color table protected int[] act; // active color table protected int bgIndex; // background color index protected int bgColor; // background color protected int lastBgColor; // previous bg color protected int pixelAspect; // pixel aspect ratio protected boolean lctFlag; // local color table flag protected boolean interlace; // interlace flag protected int lctSize; // local color table size protected int ix, iy, iw, ih; // current image rectangle protected Rectangle lastRect; // last image rect protected BufferedImage image; // current frame protected BufferedImage lastImage; // previous frame protected byte[] block = new byte[256]; // current data block protected int blockSize = 0; // block size // last graphic control extension info protected int dispose = 0; // 0=no action; 1=leave in place; 2=restore to bg; 3=restore to prev protected int lastDispose = 0; protected boolean transparency = false; // use transparent color protected int delay = 0; // delay in milliseconds protected int totaldelay = 0; // delay in milliseconds protected int transIndex; // transparent color index protected static final int MaxStackSize = 4096; // max decoder pixel stack size // LZW decoder working arrays protected short[] prefix; protected byte[] suffix; protected byte[] pixelStack; protected byte[] pixels; protected ArrayList frames; // frames read from current file protected int frameCount; static class GifFrame { public GifFrame(BufferedImage im, int del) { image = im; delay = del; } public BufferedImage image; public int delay; } /** * Gets display duration for specified frame. * * @param n int index of frame * @return delay in milliseconds */ public int getDelay(int n) { // delay = -1; if ((n >= 0) && (n < frameCount)) { delay = ((GifFrame) frames.get(n)).delay; } return delay; } /** * Gets the number of frames read from file. * @return frame count */ public int getFrameCount() { return frameCount; } /** * Gets the number of frames read from file. * @return frame count */ public int gettotaldelay() { return totaldelay; } /** * Gets the first (or only) image read. * * @return BufferedImage containing first frame, or null if none. */ public BufferedImage getImage() { return getFrame(0); } /** * Gets the "Netscape" iteration count, if any. * A count of 0 means repeat indefinitiely. * * @return iteration count if one was specified, else 1. */ public int getLoopCount() { return loopCount; } /** * Creates new frame image from current data (and previous * frames as specified by their disposition codes). */ protected void setPixels() { // expose destination image's pixels as int array int[] dest = ((DataBufferInt) image.getRaster().getDataBuffer()).getData(); // fill in starting image contents based on last image's dispose code if (lastDispose > 0) { if (lastDispose == 3) { // use image before last int n = frameCount - 2; if (n > 0) { lastImage = getFrame(n - 1); } else { lastImage = null; } } if (lastImage != null) { int[] prev = ((DataBufferInt) lastImage.getRaster().getDataBuffer()).getData(); System.arraycopy(prev, 0, dest, 0, width * height); // copy pixels if (lastDispose == 2) { // fill last image rect area with background color Graphics2D g = image.createGraphics(); Color c = null; if (transparency) { c = new Color(0, 0, 0, 0); // assume background is transparent } else { c = new Color(lastBgColor); // use given background color } g.setColor(c); g.setComposite(AlphaComposite.Src); // replace area g.fill(lastRect); g.dispose(); } } } // copy each source line to the appropriate place in the destination int pass = 1; int inc = 8; int iline = 0; for (int i = 0; i < ih; i++) { int line = i; if (interlace) { if (iline >= ih) { pass++; switch (pass) { case 2 : iline = 4; break; case 3 : iline = 2; inc = 4; break; case 4 : iline = 1; inc = 2; } } line = iline; iline += inc; } line += iy; if (line < height) { int k = line * width; int dx = k + ix; // start of line in dest int dlim = dx + iw; // end of dest line if ((k + width) < dlim) { dlim = k + width; // past dest edge } int sx = i * iw; // start of line in source while (dx < dlim) { // map color and insert in destination int index = ((int) pixels[sx++]) & 0xff; int c = act[index]; if (c != 0) { dest[dx] = c; } dx++; } } } } /** * Gets the image contents of frame n. * * @return BufferedImage representation of frame, or null if n is invalid. */ public BufferedImage getFrame(int n) { BufferedImage im = null; if ((n >= 0) && (n < frameCount)) { im = ((GifFrame) frames.get(n)).image; } return im; } /** * Gets image size. * * @return GIF image dimensions */ public Dimension getFrameSize() { return new Dimension(width, height); } /** * Reads GIF image from stream * * @param BufferedInputStream containing GIF file. * @return read status code (0 = no errors) */ public int read(BufferedInputStream is) { init(); if (is != null) { in = is; readHeader(); if (!err()) { readContents(); if (frameCount < 0) { status = STATUS_FORMAT_ERROR; } } } else { status = STATUS_OPEN_ERROR; } try { is.close(); } catch (IOException e) { } return status; } /** * Reads GIF image from stream * * @param InputStream containing GIF file. * @return read status code (0 = no errors) */ public int read(InputStream is) { init(); if (is != null) { if (!(is instanceof BufferedInputStream)) is = new BufferedInputStream(is); in = (BufferedInputStream) is; readHeader(); if (!err()) { readContents(); if (frameCount < 0) { status = STATUS_FORMAT_ERROR; } } } else { status = STATUS_OPEN_ERROR; } try { is.close(); } catch (IOException e) { } return status; } /** * Reads GIF file from specified file/URL source * (URL assumed if name contains ":/" or "file:") * * @param name String containing source * @return read status code (0 = no errors) */ public int read(String name) { status = STATUS_OK; try { name = name.trim().toLowerCase(); if ((name.indexOf("file:") >= 0) || (name.indexOf(":/") > 0)) { URL url = new URL(name); in = new BufferedInputStream(url.openStream()); } else { in = new BufferedInputStream(new FileInputStream(name)); } status = read(in); } catch (IOException e) { status = STATUS_OPEN_ERROR; } return status; } /** * Decodes LZW image data into pixel array. * Adapted from John Cristy's ImageMagick. */ protected void decodeImageData() { int NullCode = -1; int npix = iw * ih; int available, clear, code_mask, code_size, end_of_information, in_code, old_code, bits, code, count, i, datum, data_size, first, top, bi, pi; if ((pixels == null) || (pixels.length < npix)) { pixels = new byte[npix]; // allocate new pixel array } if (prefix == null) prefix = new short[MaxStackSize]; if (suffix == null) suffix = new byte[MaxStackSize]; if (pixelStack == null) pixelStack = new byte[MaxStackSize + 1]; // Initialize GIF data stream decoder. data_size = read(); clear = 1 << data_size; end_of_information = clear + 1; available = clear + 2; old_code = NullCode; code_size = data_size + 1; code_mask = (1 << code_size) - 1; for (code = 0; code < clear; code++) { prefix[code] = 0; suffix[code] = (byte) code; } // Decode GIF pixel stream. datum = bits = count = first = top = pi = bi = 0; for (i = 0; i < npix;) { if (top == 0) { if (bits < code_size) { // Load bytes until there are enough bits for a code. if (count == 0) { // Read a new data block. count = readBlock(); if (count <= 0) break; bi = 0; } datum += (((int) block[bi]) & 0xff) << bits; bits += 8; bi++; count--; continue; } // Get the next code. code = datum & code_mask; datum >>= code_size; bits -= code_size; // Interpret the code if ((code > available) || (code == end_of_information)) break; if (code == clear) { // Reset decoder. code_size = data_size + 1; code_mask = (1 << code_size) - 1; available = clear + 2; old_code = NullCode; continue; } if (old_code == NullCode) { pixelStack[top++] = suffix[code]; old_code = code; first = code; continue; } in_code = code; if (code == available) { pixelStack[top++] = (byte) first; code = old_code; } while (code > clear) { pixelStack[top++] = suffix[code]; code = prefix[code]; } first = ((int) suffix[code]) & 0xff; // Add a new string to the string table, if (available >= MaxStackSize) break; pixelStack[top++] = (byte) first; prefix[available] = (short) old_code; suffix[available] = (byte) first; available++; if (((available & code_mask) == 0) && (available < MaxStackSize)) { code_size++; code_mask += available; } old_code = in_code; } // Pop a pixel off the pixel stack. top--; pixels[pi++] = pixelStack[top]; i++; } for (i = pi; i < npix; i++) { pixels[i] = 0; // clear missing pixels } } /** * Returns true if an error was encountered during reading/decoding */ protected boolean err() { return status != STATUS_OK; } /** * Initializes or re-initializes reader */ protected void init() { status = STATUS_OK; frameCount = 0; frames = new ArrayList(); gct = null; lct = null; } /** * Reads a single byte from the input stream. */ protected int read() { int curByte = 0; try { curByte = in.read(); } catch (IOException e) { status = STATUS_FORMAT_ERROR; } return curByte; } /** * Reads next variable length block from input. * * @return number of bytes stored in "buffer" */ protected int readBlock() { blockSize = read(); int n = 0; if (blockSize > 0) { try { int count = 0; while (n < blockSize) { count = in.read(block, n, blockSize - n); if (count == -1) break; n += count; } } catch (IOException e) { } if (n < blockSize) { status = STATUS_FORMAT_ERROR; } } return n; } /** * Reads color table as 256 RGB integer values * * @param ncolors int number of colors to read * @return int array containing 256 colors (packed ARGB with full alpha) */ protected int[] readColorTable(int ncolors) { int nbytes = 3 * ncolors; int[] tab = null; byte[] c = new byte[nbytes]; int n = 0; try { n = in.read(c); } catch (IOException e) { } if (n < nbytes) { status = STATUS_FORMAT_ERROR; } else { tab = new int[256]; // max size to avoid bounds checks int i = 0; int j = 0; while (i < ncolors) { int r = ((int) c[j++]) & 0xff; int g = ((int) c[j++]) & 0xff; int b = ((int) c[j++]) & 0xff; tab[i++] = 0xff000000 | (r << 16) | (g << 8) | b; } } return tab; } /** * Main file parser. Reads GIF content blocks. */ protected void readContents() { // read GIF file content blocks boolean done = false; while (!(done || err())) { int code = read(); switch (code) { case 0x2C : // image separator readImage(); break; case 0x21 : // extension code = read(); switch (code) { case 0xf9 : // graphics control extension readGraphicControlExt(); break; case 0xff : // application extension readBlock(); String app = ""; for (int i = 0; i < 11; i++) { app += (char) block[i]; } if (app.equals("NETSCAPE2.0")) { readNetscapeExt(); } else skip(); // don't care break; default : // uninteresting extension skip(); } break; case 0x3b : // terminator done = true; break; case 0x00 : // bad byte, but keep going and see what happens break; default : status = STATUS_FORMAT_ERROR; } } } /** * Reads Graphics Control Extension values */ protected void readGraphicControlExt() { read(); // block size int packed = read(); // packed fields dispose = (packed & 0x1c) >> 2; // disposal method if (dispose == 0) { dispose = 1; // elect to keep old image if discretionary } transparency = (packed & 1) != 0; delay = readShort() * 10; // delay in milliseconds transIndex = read(); // transparent color index read(); // block terminator } /** * Reads GIF file header information. */ protected void readHeader() { String id = ""; for (int i = 0; i < 6; i++) { id += (char) read(); } /* * 如果id!=GIF89a佳毅判断不了暂时不用 */ if(!id.equals("GIF89a")) { status = STATUS_FORMAT_ERROR; return; } if (!id.startsWith("GIF")) { status = STATUS_FORMAT_ERROR; return; } readLSD(); if (gctFlag && !err()) {//全局定义颜色列表 gct = readColorTable(gctSize); bgColor = gct[bgIndex]; } } /** * Reads next frame image * 读每帧图片信息 */ protected void readImage() { ix = readShort(); // (sub)image position & size iy = readShort(); iw = readShort(); ih = readShort(); if(ix > width || iy > height || iw > width || ih > height)//当帧位置大小有问题佳毅不支持 {status = STATUS_FORMAT_ERROR;} int packed = read(); lctFlag = (packed & 0x80) != 0; // 1 - local color table flag局部颜色列表 interlace = (packed & 0x40) != 0; // 2 - interlace flag // 3 - sort flag // 4-5 - reserved lctSize = 2 << (packed & 7); // 6-8 - local color table size if (lctFlag) { status = STATUS_FORMAT_ERROR;//局部颜色列表 佳毅不支持 lct = readColorTable(lctSize); // read table act = lct; // make local table active } else { act = gct; // make global table active if (bgIndex == transIndex) bgColor = 0; } int save = 0; if (transparency) { save = act[transIndex]; act[transIndex] = 0; // set transparent color if specified } if (act == null) { status = STATUS_FORMAT_ERROR; // no color table defined } if (err()) return; decodeImageData(); // decode pixel data skip(); if (err()) return; frameCount++; // create new image to receive frame data image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB_PRE); setPixels(); // transfer pixel data to image frames.add(new GifFrame(image, delay)); // add image to frame list totaldelay += delay; if (transparency) { act[transIndex] = save; } resetFrame(); } /** * Reads Logical Screen Descriptor */ protected void readLSD() { // logical screen size width = readShort(); height = readShort(); // packed fields int packed = read(); gctFlag = (packed & 0x80) != 0; // 1 : global color table flag 全局定义颜色列表 true // 2-4 : color resolution // 5 : gct sort flag gctSize = 2 << (packed & 7); // 6-8 : gct size bgIndex = read(); // background color index pixelAspect = read(); // pixel aspect ratio } /** * Reads Netscape extenstion to obtain iteration count */ protected void readNetscapeExt() { do { readBlock(); if (block[0] == 1) { // loop count sub-block int b1 = ((int) block[1]) & 0xff; int b2 = ((int) block[2]) & 0xff; loopCount = (b2 << 8) | b1; } } while ((blockSize > 0) && !err()); } /** * Reads next 16-bit value, LSB first */ protected int readShort() { // read 16-bit value, LSB first return read() | (read() << 8); } /** * Resets frame state for reading next image. */ protected void resetFrame() { lastDispose = dispose; lastRect = new Rectangle(ix, iy, iw, ih); lastImage = image; lastBgColor = bgColor; int dispose = 0; boolean transparency = false; int delay = 0; lct = null; } protected void skip() { do { readBlock(); } while ((blockSize > 0) && !err()); } }
Version 1.7 ----------- - ADD: Delphi/CBuilder 10.2 Tokyo now supported. - ADD: Delphi/CBuilder 10.1 Berlin now supported. - ADD: Delphi/CBuilder 10 Seattle now supported. - ADD: Delphi/CBuilder XE8 now supported. - ADD: Delphi/CBuilder XE7 now supported. - ADD: Delphi/CBuilder XE6 now supported. - ADD: Delphi/CBuilder XE5 now supported. - ADD: Delphi/CBuilder XE4 now supported. - ADD: Delphi/CBuilder XE3 now supported. - ADD: Delphi/CBuilder XE2 now supported. - ADD: Delphi/CBuilder XE now supported. - ADD: Delphi/CBuilder 2010 now supported. - ADD: Delphi/CBuilder 2009 now supported. - ADD: New demo project FlexCADImport. - FIX: The height of the TFlexRegularPolygon object incorrectly changes with its rotation. - FIX: Added division by zero protect in method TFlexControl.MovePathSegment. - FIX: The background beyond docuemnt wasn't filled when TFlexPanel.DocClipping=True. - FIX: In "Windows ClearType" font rendering mode (OS Windows mode) the "garbage" pixels can appear from the right and from the bottom sides of the painted rectangle of the TFlexText object. - FIX: The result rectangle incorrectly calculated in the TFlexText.GetRefreshRect method. - FIX: Added FPaintCache.rcPaint cleanup in the TFlexPanel.WMPaint method. Now it is possible to define is the drawing take place via WMPaint or via the PaintTo direct call (if rcPaint contain non-empty rectangle then WMPaint in progress). - FIX: The TFlexPanel.FPaintCache field moved in the protected class section. Added rcPaint field in FPaintCache that represents drawing rectangle. - ADD: In the text prcise mode (TFlexText.Precise=True) takes into account the rotation angle (TFlexText.Angle). - FIX: Removed FG_NEWTEXTROTATE directive (the TFlexText Precise mode should be used instead). - FIX: The TFlexRegularPolygon object clones incorrectly drawed in case when TFlexRegularPolygon have alternative brush (gradient, texture). - ADD: Add TFlexPanel.InvalidateControl virtual method which calls from TFle
{****************************************************************************** * * * PROJECT : EOS Digital Software Development Kit EDSDK * * NAME : EDSDKApi.pas * * * * Description: This is the Sample code to show the usage of EDSDK. * * * * * ******************************************************************************* * * * Written and developed by Camera Design Dept.53 * * Copyright Canon Inc. 2006 All Rights Reserved * * * ******************************************************************************* * File Update Information: * * DATE Identify Comment * * ----------------------------------------------------------------------- * * 06-03-22 F-001 create first version. * * * ******************************************************************************} unit EDSDKApi; interface uses EDSDKType, EDSDKError; const edsdk = 'EDSDK.DLL'; { ****************************************************************************** ********************* Initialize / Terminate Function ************************ ****************************************************************************** } { ----------------------------------------------------------------------------- Function : EdsInitializeSDK Description : Initializes the libraries. When using the EDSDK libraries, you must call this API once before using EDSDK APIs. Parameters: In: None Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ------------------------------------------------------------------------------- } function EdsInitializeSDK( ) : EdsError ; stdcall; external edsdk; { ----------------------------------------------------------------------------- Function : EdsTerminateSDK Description : Terminates use of the libraries. Calling this function releases all resources allocated by the libraries. This function delete all the reference or list objects that user has forgotten to delete. Parameters: In: None Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ------------------------------------------------------------------------------- } function EdsTerminateSDK( ) : EdsError ; stdcall; external edsdk; { ****************************************************************************** *********************** Referense Count Function ***************************** ****************************************************************************** } { ----------------------------------------------------------------------------- Function : EdsRetain Description: Increments the reference counter of existing objects. Parameters: In: inRef - The reference for the object item. Out: None Returns: Returns a reference counter if successful. For errors, returns $FFFFFFFF. ------------------------------------------------------------------------------- } function EdsRetain( inRef : EdsBaseRef ) : EdsUInt32 ; stdcall; external edsdk; { ----------------------------------------------------------------------------- Function : EdsRelease Description: Decrements the reference counter to an object. When the reference counter reaches 0, the object is released. Parameters: In: inRef - The reference of the object item. Out: None Returns: Returns a reference counter if successful. For errors, returns $FFFFFFFF. ----------------------------------------------------------------------------- } function EdsRelease( inRef : EdsBaseRef ) : EdsUInt32 ; stdcall; external edsdk; { ****************************************************************************** ************************** Item Tree Handling Function *********************** ****************************************************************************** } { ----------------------------------------------------------------------------- Function : EdsGetChildCount Description: Gets the number of child objects of the designated object. Parameters: In: inBaseRef - The reference of the list. Out: outCount - Number of elements in this list. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ------------------------------------------------------------------------------- } function EdsGetChildCount( inRef : EdsBaseRef; var outCount : EdsUInt32 ) : EdsError ; stdcall; external edsdk; { ----------------------------------------------------------------------------- Function : EdsGetChildAtIndex Description: Gets an indexed child object of the designated object. Parameters: In: inRef - The reference of the item. inIndex - The index that is passed in, is zero based. Out: outBaseRef - The pointer which receives reference of the specified index. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ------------------------------------------------------------------------------ } function EdsGetChildAtIndex( inRef : EdsBaseRef ; inIndex : EdsInt32 ; var outBaseRef : EdsBaseRef ) : EdsError ; stdcall; external edsdk; { ----------------------------------------------------------------------------- Function : EdsGetParent Description: Get the parent object. Parameters: In: inRef - The reference of the item. Out: outParentRef - The pointer which receives reference. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ------------------------------------------------------------------------------ } function EdsGetParent( inRef : EdsBaseRef; var outParentRef : EdsBaseRef ) : EdsError ; stdcall; external edsdk; { ****************************************************************************** ******************************* Property Function **************************** ****************************************************************************** } { ----------------------------------------------------------------------------- Function : EdsGetPropertySize Description: Gets the byte size and data type of a designated property from a camera object or image object. Parameters: In: inRef - The reference of the item. inPropertyID - The ProprtyID inParam - Additional information of property. We use this parameter in order to specify an index in case there are two or more values over the same ID. Out: outType - Pointer to the buffer that is to receive the property type data. outSize - Pointer to the buffer that is to receive the property size. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ------------------------------------------------------------------------------ } function EdsGetPropertySize( inRef : EdsBaseRef; inPropertyID : EdsPropertyID; inParam : EdsInt32; var outDataType : EdsDataType; var outSize : EdsUInt32 ) : EdsError ; stdcall; external edsdk; { ----------------------------------------------------------------------------- Function : EdsGetPropertyData Description: Gets property information from the object designated in inRef. Parameters: In: inRef - The reference of the item. inPropertyID - The ProprtyID inParam - Additional information of property. We use this parameter in order to specify an index in case there are two or more values over the same ID. inPropertySize - The number of bytes of the prepared buffer for receive property-value. Out: outPropertyData - The buffer pointer to receive property-value. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsGetPropertyData( inRef : EdsBaseRef; inPropertyID : EdsPropertyID; inParam : EdsInt32; inPropertySize : EdsUInt32; // var outPropertyData : EdsUInt32 ) : EdsError ; stdcall; external edsdk; var outPropertyData : Pointer ) : EdsError ; stdcall; external edsdk; { ----------------------------------------------------------------------------- Function : EdsSetPropertyData Description: Sets property data for the object designated in inRef. Parameters: In: inRef - The reference of the item. inPropertyID - The ProprtyID inParam - Additional information of property. inPropertySize - The number of bytes of the prepared buffer for set property-value. InPropertyData - The buffer pointer to set property-value. Out: none Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsSetPropertyData( inRef : EdsBaseRef; inPropertyID : EdsPropertyID; inParam : EdsInt32; inPropertySize : EdsUInt32; InPropertyData : Pointer ) : EdsError; stdcall; external edsdk; { ----------------------------------------------------------------------------- Function : EdsGetPropertyDesc Description: Gets a list of property data that can be set for the object designated in inRef, as well as maximum and minimum values. This API is intended for only some shooting-related properties. Parameters: In: inRef - The reference of the camera. inPropertyID - The Property ID. inPropertySize - The number of bytes of the prepared buffer for receive property-value. Out: outPropertyDesc - Array of the value which can be set up. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. EDS_ERR_INVALID_PARAMETER is returned if a property ID is designated in inPropertyID that cannot be used with GetPropertyDesc. -----------------------------------------------------------------------------} function EdsGetPropertyDesc( inRef : EdsBaseRef; inPropertyID : EdsPropertyID; var outPropertyDesc : EdsPropertyDesc ) : EdsError; stdcall; external edsdk; { ****************************************************************************** ******************** Device List and Device Operation Function *************** ****************************************************************************** } { ----------------------------------------------------------------------------- Function : EdsGetCameraList Description: Get the camera list objects Parameters: In: None Out: outCameraListRef - the camera-list. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsGetCameraList( var outCameraListRef : EdsCameraListRef ) : EdsError ; stdcall; external edsdk; { ----------------------------------------------------------------------------- Function : EdsGetDeviceInfo Description: Get information as the device of the camera of the port number etc. Device information can be acquired before OpenSession is done. Parameters: In: inCameraRef - The reference of the camera. Out: outDeviceInfo - Information as device of camera. See EdsDeviceInfo structure in EDSDKType.pas Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsGetDeviceInfo( inCameraRef : EdsCameraRef; var outDeviceInfo : EdsDeviceInfo) : EdsError ; stdcall ; external edsdk; { ****************************************************************************** ************************* Camera Operation Function ************************** ****************************************************************************** } {----------------------------------------------------------------------------- Function : EdsOpenSession Description: Establishes a logical connection with a remote camera. Parameters: In: inCameraRef - The reference of the camera Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsOpenSession( inCameraRef : EdsCameraRef) : EdsError ; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsCloseSession Description: Closes a logical connection with a remote camera. Parameters: In: inCameraRef - The reference of the camera Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsCloseSession( inCameraRef : EdsCameraRef ) : EdsError ; stdcall; external edsdk; { ----------------------------------------------------------------------------- Function : EdsSendCommand Description: Send the specified command to to the camera. Parameters: In: inCameraRef - The reference of the camera which will receive the command. inCommand - Specifies the command to be sent. inParam - Specifies additional command-specific information. Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsSendCommand( inCameraRef : EdsCameraRef; inCommand : EdsCameraCommand; inParam : EdsInt32 ) : EdsError ; stdcall ; external edsdk; {----------------------------------------------------------------------------- Function : EdsSendStatusCommand Description: Sets the remote camera state or mode. Parameters: In: inCameraRef - The reference of the camera which will receive the command. inStatusCommand - Designate the particular mode ID to set the camera to. inParam - Specifies additional command-specific information. Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsSendStatusCommand( inCameraRef : EdsCameraRef; inStatusCommand : EdsCameraStateCommand; inParam : EdsInt32 ) : EdsError ; stdcall ; external edsdk; { ----------------------------------------------------------------------------- Function : EdsSetCapacity Description: Sets the remaining HDD capacity on the host computer (excluding the portion from image transfer), as calculated by subtracting the portion from the previous time. Set a reset flag initially and designate the cluster length and number of free clusters. Parameters: In: inCameraRef - The reference of the camera which will receive the command. inCapacity - Designate information regarding the host computer's hard drive capacity. Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsSetCapacity( inCameraRef : EdsCameraRef ; inCapacity : EdsCapacity ) : EdsError ; stdcall ; external edsdk; { ****************************************************************************** ************************* Volume Operation Function ************************** ****************************************************************************** } { ----------------------------------------------------------------------------- Function : EdsGetVolumeInfo Description: Gets volume information for a memory card in the camera. Parameters: In: EdsVolumeRef - The reference of the volume to get volume information. Out: outDeviceInfo - Information of the volume. See EdsVolumeInfo structure in EDSDKType.h Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsGetVolumeInfo( inVolumeRef : EdsVolumeRef; var outVolumeInfo : EdsVolumeInfo ) : EdsError ; stdcall ; external edsdk; { ----------------------------------------------------------------------------- Function : EdsFormatVolume Description: Formats volumes of memory cards in a camera. Parameters: In: inVolumeRef - reference of volume . Out: none Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsFormatVolume( inVolumeRef : EdsVolumeRef ) : EdsError ; stdcall ; external edsdk; { ****************************************************************************** ********************* Directory Item Operation Function ********************** ****************************************************************************** } { ----------------------------------------------------------------------------- Function : EdsGetDirectoryItemInfo Description: Gets information about the directory or file objects on the memory card (volume) in a remote camera. Parameters: In: inDirItemRef - The reference of the directory item. Out: outDirItemInfo - Information of the directory item. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsGetDirectoryItemInfo( inDirItemRef : EdsDirectoryItemRef ; var outDirItemInfo : EdsDirectoryItemInfo ) : EdsError ; stdcall ; external edsdk; { ----------------------------------------------------------------------------- Function : EdsDeleteDirectoryItem Description: Deletes a camera folder or file. If folders with subdirectories are designated, all files are deleted except protected files. EdsDirectoryItem objects deleted by means of this API are implicitly released by the EDSDK. Thus, there is no need to release them by means of EdsRelease. Parameters: In: inDirItemRef - The reference of the directory item. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsDeleteDirectoryItem( inDirItemRef : EdsDirectoryItemRef ) : EdsError ; stdcall ; external edsdk; { ----------------------------------------------------------------------------- Function : EdsDownload Description: Downloads a file on a remote camera (in the camera memory or on a memory card) to the host computer. The downloaded file is sent directly to a file stream created in advance. When dividing the file being retrieved, call this API repeatedly. Also in this case, make the data block size a multiple of 512 (bytes), excluding the final block. Parameters: In: inDirItemRef - The reference of the directory item. inReadSize - Size to read inDestStream - The reference of the stream to target. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsDownload ( inDirItemRef : EdsDirectoryItemRef; inReadSize : EdsUInt32 ; inDestStream : EdsStreamRef ) : EdsError ; stdcall ; external edsdk; { ----------------------------------------------------------------------------- Function : EdsDownloadComplete Description: Must be called when downloading of directory items is complete. Executing this API makes the camera recognize that file transmission is complete. This operation need not be executed when using EdsDownloadThumbnail. Parameters: In: inDirItemRef - The reference of the directory item. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsDownloadComplete( inDirItemRef : EdsDirectoryItemRef ) : EdsError ; stdcall ; external edsdk; { ----------------------------------------------------------------------------- Function : EdsDownloadCancel Description: Must be executed when downloading of a directory item is canceled. Calling this API makes the camera cancel file transmission. It also releases resources. This operation need not be executed when using EdsDownloadThumbnail. Parameters: In: inDirItemRef - The reference of the directory item. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsDownloadCancel( inDirItemRef : EdsDirectoryItemRef ) : EdsError ; stdcall ; external edsdk; { ----------------------------------------------------------------------------- Function : EdsDownloadThumbnail Description: Extracts and downloads thumbnail information from image files in a camera. Thumbnail information in the camera's image files is downloaded to the host computer. Downloaded thumbnails are sent directly to a file stream created in advance. Parameters: In: inDirItemRef - The reference of the directory item. inDestStream - The reference of the stream to target. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsDownloadThumbnail( inDirItemRef : EdsDirectoryItemRef; inDestStream : EdsStreamRef ) : EdsError ; stdcall ; external edsdk; {----------------------------------------------------------------------------- Function : EdsGetAttribute Description: Gets attributes of files on a camera. Parameters: In: inDirItemRef - The reference of the directory item. Out: outFileAttribute - Valueables to be stored file sttributes Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsGetAttribute( inDirItemRef : EdsDirectoryItemRef; var outFileAttribute : EdsFileAttributes ) : EdsError ; stdcall ; external edsdk; {----------------------------------------------------------------------------- Function: EdsSetAttribute Description: Changes attributes of files on a camera. Parameters: In: inDirItemRef - The reference of the directory item. inFileAttribute - File attributes flag to be set Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsSetAttribute( inDirItemRef : EdsDirectoryItemRef; inFileAttribute : EdsFileAttributes ) : EdsError ; stdcall ; external edsdk; { ****************************************************************************** ************************ Stream Operation Function *************************** ****************************************************************************** } { ----------------------------------------------------------------------------- Function : EdsCreateFileStream Description: Creates a new file on a host computer (or opens an existing file) and creates a file stream for access to the file. If a new file is designated before executing this API, the file is actually created following the timing of writing by means of EdsWrite or the like with respect to an open stream. Parameters: In: inFileName - Pointer to a null-terminated string that specifies the file name. inCreateDisposition - Action to take on files that exist, and which action to take when files do not exist. inDesiredAccess - Access to the stream (reading, writing, or both). Out: outStream - The reference of the stream. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsCreateFileStream( inFileName : PChar ; inCreateDisposition : EdsFileCreateDisposition; inDesiredAccess : EdsAccess ; var outStream : EdsStreamRef ) : EdsError ; stdcall ; external edsdk; {----------------------------------------------------------------------------- Function : EdsCreateMemoryStream Description: Creates a stream in the memory of a host computer. In the case of writing in excess of the allocated buffer size, the memory is automatically extended. Parameters: In: inBufferSize - Number of bytes of the memory to allocate. Out: outStream - The reference of the stream. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsCreateMemoryStream( inBufferSize : EdsUInt32 ; var outStream : EdsStreamRef ) : EdsError ; stdcall ; external edsdk; // SDK 2.7 //function EdsCreateStream( inStream : EdsIStream ; var outStreamRef : EdsStreamRef ) : EdsError ; stdcall ; external edsdk; {----------------------------------------------------------------------------- Function : EdsCreateFileStreamEx Description: An extended version of EdsCreateFileStream. Use this function when working with Unicode file names. Parameters: In: inFileName - Pointer to wide strings inCreateDisposition - Action to take on files that exist, and which action to take when files do not exist. inDesiredAccess - Access to the stream (reading, writing, or both). Out: outStream - reference of the stream. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsCreateFileStreamEx( inFileName : PWideChar ; inCreateDisposition : EdsFileCreateDisposition ; inDesiredAccess : EdsAccess ; var outStream : EdsStreamRef ) : EdsError ; stdcall ; external edsdk; { ----------------------------------------------------------------------------- Function : EdsCreateMemoryStreamFromPointer Description: Creates a stream from the memory buffer you prepare. Unlike the buffer size of streams created by means of EdsCreateMemoryStream, the buffer size you prepare for streams created this way does not expand. Parameters: In: inUserBuffer - Pointer to the buffer you have prepared inBufferSize - Number of bytes of the memory to allocate. Out: outStream - The reference of the stream. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsCreateMemoryStreamFromPointer( inUserBuffer : Pointer; inBufferSize : EdsUInt32; var outStream : EdsStreamRef ) : EdsError ; stdcall ; external edsdk; {----------------------------------------------------------------------------- Function : EdsGetPointer Description: Gets the pointer to the start address of memory managed by the memory stream. As the EDSDK automatically resizes the buffer, the memory stream provides you with the same access methods as for the file stream. If access is attempted that is excessive with regard to the buffer size for the stream, data before the required buffer size is allocated is copied internally, and new writing occurs. Thus, the buffer pointer might be switched on an unknown timing. Caution in use is therefore advised. Parameters: In: inStream - object to memory stream Out: outPointer - Pointer to valueable stored the pointer Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsGetPointer( inStream : EdsStreamRef; var outPointer : Pointer ) : EdsError ; stdcall ; external edsdk; {----------------------------------------------------------------------------- Function : EdsRead Description: Reads data the size of inReadSize into the outBuffer buffer, starting at the current read or write position of the stream. The size of data actually read can be designated in outReadSize. Parameters: In: inStreamRef - The reference of the stream or image. inReadSize - Number of bytes to read. Out: outBuffer - Pointer to the user-supplied buffer that is to receive the data read from the stream. outReadSize - Actual read number of bytes. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsRead( inStreamRef : EdsStreamRef; inReadSize : EdsUInt32; var outBuffer : Pointer; var outReadSize : EdsUInt32) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsWrite Description: Writes data of a designated buffer to the current read or write position of the stream. Parameters: In: inStreamRef - The reference of the stream or image. inWriteSize - Number of bytes to write. inBuffer - Pointer to the user-supplied buffer that contains the data to be written to the stream. Out: outWrittenSize - Actual written-in number of bytes. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsWrite( inStreamRef : EdsStreamRef; inWriteSize : EdsUInt32; const inBuffer : Pointer; var outWrittenSize : EdsUInt32 ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsSeek Description: Moves the read or write position of the stream (that is, the file position indicator). Parameters: In: inStreamRef - The reference of the stream or image. inSeekOffset - Number of bytes to move the pointer. inSeekOrigin - Pointer movement mode. Must be one of the following values. kEdsSeek_Cur Move the stream pointer inSeekOffset bytes from the current position in the stream. kEdsSeek_Begin Move the stream pointer inSeekOffset bytes forward from the beginning of the stream. kEdsSeek_End Move the stream pointer inSeekOffset bytes from the end of the stream. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsSeek( inStreamRef : EdsStreamRef; inSeekOffset : EdsUInt32; inSeekOrigin : EdsSeekOrigin ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsGetPosition Description: Gets the current read or write position of the stream (that is, the file position indicator). Parameters: In: inStreamRef - The reference of the stream or image. Out: outPosition - Current stream pointer. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsGetPosition( inStreamRef : EdsStreamRef; var outPosition : EdsUInt32 ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsGetLength Description: Get the length of the stream in bytes. Parameters: In: inStreamRef - The reference of the stream or image. Out: outLength - Length of the stream. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsGetLength( inStreamRef : EdsStreamRef; var outLength : EdsUInt32 ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsCopyData Description: Copies data from the copy source stream to the copy destination stream. The read or write position of the data to copy is determined from the current file read or write position of the respective stream. After this API is executed, the read or write positions of the copy source and copy destination streams are moved an amount corresponding to inWriteSize in the positive direction. Parameters: In: inSrcStreamRef - The reference of the source stream. inWriteSize - number of bytes to copy. inDestStreamRef - The reference of the destination stream. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsCopyData( inSrcStreamRef : EdsStreamRef; inWriteSize : EdsUInt32; inDestStreamRef : EdsStreamRef ) : EdsError; stdcall; external edsdk; { ****************************************************************************** ************************* Setup Operation Function *************************** ****************************************************************************** } {----------------------------------------------------------------------------- Function : EdsSetProgressCallback Description: Register a progress callback function. An event is received as notification of progress during processing that takes a relatively long time, such as downloading files from a remote camera. If you register the callback function, the EDSDK calls the callback function during execution or on completion of the following APIs This timing can be used in updating on-screen progress bars, for example. APIs : EdsCopyData, EdsDownload, EdsGetImage Parameters: In: inRef - The reference of the stream or image. inProgressCallback - Pointer to a progress callback function. inProgressOption - Option about progress is specified. this must be set one of the following values. kEdsProgressOption_Done When processing is completed,a callback function is called only at once. kEdsProgressOption_Periodically A callback function is performed periodically. inContext - Specifies an application-defined value to be sent to the callback function pointed to by CallBack parameter. Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsSetProgressCallback( inRef : EdsBaseRef; inProgressCallback : EdsProgressCallback; inProgressOption : EdsProgressOption; inContext : EdsUInt32 ) : EdsError; stdcall; external edsdk; { ****************************************************************************** ************************* Image Operation Function *************************** ****************************************************************************** } {----------------------------------------------------------------------------- Function : EdsCreateImageRef Description: Creates an image object from an image file. Without modification, stream objects cannot be worked with as images. Thus, when extracting images from image files, you must use this API to create image objects. The image object created this way can be used to get image information (such as the height and width, number of color components, and resolution), thumbnail image data, and the image data itself. Parameters: In: inStreamRef - The reference of the stream. Out: outImageRef - The reference of the image. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsCreateImageRef( inStreamRef : EdsStreamRef; var outImageRef : EdsImageRef ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsGetImageInfo Description: Gets image information from a designated image object. Here, image information means the image width and height, number of color components, resolution, and effective image area. See EdsImageInfo definition of EDSDKType.pas Parameters: In: inImageRef - The reference of the image. inImageSource - Specfies kind of image - thumbnail, preview, fullview Out: outImageInfo - Infomaiton of the image. Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. ----------------------------------------------------------------------------- } function EdsGetImageInfo( inImageRef : EdsImageRef; inImageSource : EdsImageSource; var outImageInfo : EdsImageInfo ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsGetImage Description: Gets designated image data from an image file, in the form of a designated rectangle. Returns uncompressed results for JPEGs and processed results in the designated pixel order (RGB, Top-down BGR, and so on) for RAW images. Additionally, by designating the input/output rectangle, it is possible to get reduced, enlarged, or partial images. However, because images corresponding to the designated output rectangle are always returned by the SDK, the SDK does not take the aspect ratio into account. To maintain the aspect ratio, you must keep the aspect ratio in mind when designating the rectangle. Parameters: In: inImageRef : The reference of image object inImageSource : Specfies kind of image - thumbnail, preview, fullview inImageType : Specifies image type ID number inSrcRect : Rectangle of the source image inDstSize : Designate the rectangle size for output. Out: outStreamRef : The reference of memory stream Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsGetImage( inImageRef : EdsImageRef; inImageSource : EdsImageSource; inImageType : EdsTargetImageType; inSrcRect : EdsRect; inDstSize : EdsSize; inStreamRef : EdsStreamRef ) : EdsError ; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsSaveImage Description: Saves as a designated image type after RAW processing. When saving with JPEG compression, the JPEG quality setting applies with respect to EdsOptionRef. Parameters: In: inImageRef : The reference of image inImageType : Specifies image format ID number inSaveOption : Specifies save option Out: outStreamRef : The reference of file stream Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsSaveImage( inImageRef : EdsImageRef; inImageType : EdsTargetImageType; inSaveSetting : EdsSaveImageSetting; var outStreamRef : EdsStreamRef ): EdsError ; stdcall ; external edsdk; {----------------------------------------------------------------------------- Function : EdsCacheImage Description: Switches a setting on and off for creation of an image cache in the SDK for a designated image object during extraction (processing) of the image data. Creating the cache increases the processing speed, starting from the second time. Parameters: In: inImageRef - The reference of the image. inUseCache - Whether cache image data , If TRUE, cache image. If FALSE, the cached image data will released. Out: none Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsCacheImage( inImageRef : EdsImageRef; inUseCache : EdsBool ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsReflectImageProperty Description: Incorporates image object property changes (effected by means of EdsSetPropertyData) in the stream. Parameters: In: inImageRef - The reference of the image. Out: none Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsReflectImageProperty( inImageRef : EdsImageRef ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function: EdsCreateEvfImageRef Description: Creates an object used to get the live view image data set. Parameters: In: inStreamRef - The stream reference which opened to get EVF JPEG image. Out: outEvfImageRef - The EVFData reference. Returns: Any of the sdk errors. -----------------------------------------------------------------------------} function EdsCreateEvfImageRef ( inStreamRef : EdsStreamRef; var outEvfImageRef : EdsEvfImageRef ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function: EdsDownloadEvfImage Description: Downloads the live view image data set for a camera currently in live view mode. Live view can be started by using the property ID:kEdsPropertyID_Evf_OutputDevice and data:EdsOutputDevice_PC to call EdsSetPropertyData. In addition to image data, information such as zoom, focus position, and histogram data is included in the image data set. Image data is saved in a stream maintained by EdsEvfImageRef. EdsGetPropertyData can be used to get information such as the zoom, focus position, etc. Although the information of the zoom and focus position can be obtained from EdsEvfImageRef, settings are applied to EdsCameraRef. Parameters: In: inCameraRef - The Camera reference. In: inEvfImageRef - The EVFData reference. Returns: Any of the sdk errors. -----------------------------------------------------------------------------} function EdsDownloadEvfImage ( inCameraRef : EdsCameraRef; inEvfImageRef : EdsEvfImageRef) : EdsError; stdcall; external edsdk; { ****************************************************************************** *********************** Event Handler Setup Function ************************* ****************************************************************************** } {----------------------------------------------------------------------------- Function : EdsSetCameraAddedHandler Description: This function registers the callback function called when a camera is connected physically. Parameters: In: inCameraAddedHandler - Pointer to a callback function called when a camera is connected physically inContext - Specifies an application-defined value to be sent to the callback function pointed to by CallBack parameter. Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsSetCameraAddedHandler( inCameraAddedHandler : EdsCameraAddedHandler; inContext : EdsUInt32 ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function : EdsSetPropertyEventHandler EdsSetObjectEventHandler EdsSetCamerStateEventHandler Description: This function registers the callback function called when an event occurs to the camera. EdsSetPropertyEventHandler Registers a callback function for receiving status change notification events for property states on a camera. EdsSetObjectEventHandler Registers a callback function for receiving status change notification events for objects on a remote camera. Here, object means volumes representing memory cards, files and directories, and shot images stored in memory, in particular. EdsSetCamerStateEventHandler Registers a callback function for receiving status change notification events for camera objects. Parameters: In: inCameraRef - The reference of the camera. inEvent - Event ID number ( PropertyEvent, ObjectEvent, StateEvent ) inEventHandler - Pointer to a callback function called when an event occurs to the camera. inContext - Specifies an application-defined value to be sent to the callback function pointed to by CallBack parameter. Out: None Returns: Returns EDS_ERR_OK if successful. In other cases, see EDSDKError.pas. -----------------------------------------------------------------------------} function EdsSetPropertyEventHandler( inCameraRef : EdsCameraRef; inEvent : EdsPropertyEvent; inPropertyEventHandler : Pointer; inContext : EdsUInt32 ) : EdsError; stdcall; external edsdk; function EdsSetObjectEventHandler( inCameraRef : EdsCameraRef; inEvent : EdsObjectEvent; inObjectEventHandler : Pointer; inContext : EdsUInt32 ) : EdsError; stdcall; external edsdk; function EdsSetCameraStateEventHandler( inCameraRef : EdsCameraRef; inEvent : EdsStateEvent; inStateEventHandler : Pointer; inContext : EdsUInt32 ) : EdsError; stdcall; external edsdk; {----------------------------------------------------------------------------- Function: EdsGetEvent Description: This function acquires an event. In console application, please call this function regularly to acquire the event from a camera. Parameters: In: None Out: None Returns: Any of the sdk errors. -----------------------------------------------------------------------------} function EdsGetEvent() : EdsError; stdcall; external edsdk; //27 implementation end.
=============================================== TeeChart Pro v2013 Copyright (c) 1995-2013 by Steema Software All Rights Reserved =============================================== SOFTWARE LICENSING CONTRACT NOTICE TO USER: THIS IS A CONTRACT. BY CLICKING THE 'OK' BUTTON BELOW DURING INSTALLATION, YOU ACCEPT ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT. =========================================== License Terms: =============== -- A Single License of TeeChart Pro VCL is per developer. -- A Site License of TeeChart Pro VCL is per "physical place" with unlimited number of developers under the same company building(s). -- For special licensing issues, volume discounts, integrations or redistribution please contact us at: sales@steema.com TeeChart Pro is royalty free under the following use conditions ================================== You can freely distribute TeeChart Pro code COMPILED into your applications as executables or dynamic link libraries, including as OCX ActiveX Controls or ActiveX Forms, excepting compilation as design-time packages or compilation into a DLL or OCX for use in a Web server scripting environment. The latter case requires that a WebServer runtime license be registered per installed server. You are NOT allowed to distribute stand-alone TeeChart Pro files, TeeChart Pro source code, TeeChart Pro manual and help file or everything else contained in this software without receiving our written permission. You are NOT allowed to distribute the TeeChart design-time package files and/or any of the TeeChart *.DCP or any other file from the source code files. You can freely distribute the TeeChart evaluation version, located at our web site http://www.steema.com END-USER LICENSE AGREEMENT FOR STEEMA SOFTWARE SL IMPORTANT- READ CAREFULLY BEFORE INSTALLING THE SOFTWARE. This End User License Agreement (this "EULA") contains the terms and conditions regarding your use of the SOFTWARE (as defined below) and material
=============================================== TeeChart Pro v2013 Copyright (c) 1995-2013 by Steema Software All Rights Reserved =============================================== SOFTWARE LICENSING CONTRACT NOTICE TO USER: THIS IS A CONTRACT. BY CLICKING THE 'OK' BUTTON BELOW DURING INSTALLATION, YOU ACCEPT ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT. =========================================== License Terms: =============== -- A Single License of TeeChart Pro VCL is per developer. -- A Site License of TeeChart Pro VCL is per "physical place" with unlimited number of developers under the same company building(s). -- For special licensing issues, volume discounts, integrations or redistribution please contact us at: sales@steema.com TeeChart Pro is royalty free under the following use conditions ================================== You can freely distribute TeeChart Pro code COMPILED into your applications as executables or dynamic link libraries, including as OCX ActiveX Controls or ActiveX Forms, excepting compilation as design-time packages or compilation into a DLL or OCX for use in a Web server scripting environment. The latter case requires that a WebServer runtime license be registered per installed server. You are NOT allowed to distribute stand-alone TeeChart Pro files, TeeChart Pro source code, TeeChart Pro manual and help file or everything else contained in this software without receiving our written permission. You are NOT allowed to distribute the TeeChart design-time package files and/or any of the TeeChart *.DCP or any other file from the source code files. You can freely distribute the TeeChart evaluation version, located at our web site http://www.steema.com END-USER LICENSE AGREEMENT FOR STEEMA SOFTWARE SL IMPORTANT- READ CAREFULLY BEFORE INSTALLING THE SOFTWARE. This End User License Agreement (this "EULA") contains the terms and conditions regarding your use of the SOFTWARE (as defined below) and material limitations to your rights in that regard. You should read this EULA carefully. By installing the TeeChart Pro VCL software (hereinafter the "SOFTWARE"), you are accepting the following EULA. I. THIS EULA. 1. Software Covered by this EULA. This EULA governs your use of the Steema Software SL ("Steema") SOFTWARE enclosed either as part of a SOFTWARE installer or otherwise accompanied herewith. The term "SOFTWARE" includes, to the extent provided by Steema: 1) any revisions, updates and/or upgrades thereto; 2) any data, image or executable files, databases, data engines, computer software, or similar items customarily used or distributed with computer software products; 3) anything in any form whatsoever intended to be used with or in conjunction with the SOFTWARE; and 4) any associated media, documentation (including physical, electronic and online) and printed materials (the "Documentation"). 2. This EULA is a legal agreement between you and Steema. If you are acting as an agent of a company or another legal person, such as an officer or other employee acting for your employer, then "you" and "your" mean your principal, the entity or other legal person for whom you are acting. However, importantly, even if you are acting as an agent for another, you may still be personally liable for violation of laws such as copyright infringement. This EULA is a legal agreement between you and Steema. You intend to be legally bound to this EULA to the same extent as if Steema and you physically signed this EULA. By installing, copying, or otherwise using the SOFTWARE, you agree to be bound by the terms and conditions contained in this EULA. If you do not agree to all of the terms and conditions contained in this EULA, you may not install or use the SOFTWARE. If you have already installed or begun to install the SOFTWARE you should cancel any install in progress and uninstall the SOFTWARE. If you do not agree to all of these terms and conditions, then you must promptly return the uninstalled SOFTWARE to the place from which you purchased it in accordance with the return policies of that place. II. YOUR LICENSE TO DEVELOP AND TO DISTRIBUTE. Detailed below, this EULA grants you three licenses: 1) a license to use the SOFTWARE to develop other software products (the "Development License"); 2) a license to use and/or distribute the Developed Software (the "Distribution License"); and 3) a license to use and/or distribute the Developed Software on a Network Server (the "Web Server License"). All of these licenses (individually and collectively, the "Licenses") are explained and defined in more detail below. 1. Definitions. Terms and their respective meanings as used in this EULA: "Network Server" means a computer with one or more computer central processing units (CPU's) that operates for the purpose of serving other computers logically or physically connected to it, including, but not limited to, other computers connected to it on an internal network, intranet or the Internet. "Web Server" means a type of Network Server that serves other computers more particularly connected to it over an intranet or the Internet. "Developed Software" means those computer software products that are developed by or through the use of the SOFTWARE. "Developed Web Server Software" means those Developed Software products that reside logically or physically on at least one Web Server and are operated (executed therein) by the Web Server's central processing unit(s) (CPU). "Developed Desktop Software" means those Developed Software products that are not Developed Web Server Software, including, for example, standalone applications. "Redistributable Files" means the SOFTWARE files or other portions of the SOFTWARE that are provided by Steema and are identified as such in the Documentation for distribution by you with the Developed Software. "Developer" means a person using the SOFTWARE in accordance with the terms and conditions of this EULA. "Development License" is a "Per-seat license". Per-seat means the license is required for each machine that the SOFTWARE will reside on. Every machine installing, running and/or using the software for development purposes must have a licensed copy and its appropriate license. "Developer seat" is the use of one "Per seat" licensed copy of the SOFTWARE by one concurrent Developer. 2. Your Development License. You are hereby granted a limited, royalty-free, non-exclusive right to use the SOFTWARE to design, develop, and test Developed Software, on the express condition that, and only for so long as, you fully comply with all terms and conditions of this EULA. The SOFTWARE is licensed to you on a Per Seat License basis. The Development License means that you may perform a single install of the SOFTWARE for use in designing, testing and creating Developed Software on a single computer with a single set of input devices, restricting the use of such computer to one concurrent Developer. Conversely, you may not install or use the SOFTWARE on a computer that is a network server or a computer at which the SOFTWARE is used by more than one Developer. You may not network the SOFTWARE or any component part of it, where it is or may be used by more than one Developer unless you purchase an additional Development License for each Developer. You must purchase another separate license to the SOFTWARE in order to add additional developer seats if the additional developers are accessing the SOFTWARE on a computer network. If the SOFTWARE is used to create Developed Web Server Software, then you may perform a single install of the SOFTWARE for use in designing, testing and creating Developed Web Server Software by a single Developer on a single computer or Network Server. No additional End User Licenses are required for additional CPUs on the single computer or Network Server. In all cases, you may not use Steema's name, logo, or trademarks to market your Developed Software without the express written consent of Steema; agree to indemnify, hold harmless, and defend Steema, its suppliers and resellers, from and against any claims or lawsuits, including lawyer's fees that may arise from the use or distribution of your Developed Software; you may use the SOFTWARE only to create Developed Software that is significantly different than the SOFTWARE. 3. Your Distribution License. License to Distribute Developed Desktop Software. Subject to the terms and conditions in this EULA, you are granted the license to use and to distribute Developed Desktop Software on a royalty-free basis, provided that the Developed Desktop Software incorporates the SOFTWARE as an integral part of the Developed Software in machine language compiled format (customarily an ".exe", or ".dll", etc.). You may not distribute, bundle, wrap or subclass the SOFTWARE as Developed Software which, when used in a "designtime" development environment, exposes the programmatic interface of the SOFTWARE. You may distribute, on a royalty-free basis, Redistributable Files with Developed Desktop Software only. 4. Your Web Server License. Subject to the terms and conditions in this EULA, you are granted the license to use and to distribute Developed Web Server Software, provided that you must purchase one Web Server License for each Network Server operating the Developed Web Server Software (and/or Redistributable Files called or otherwise used directly by the Developed Web Server Software). Notwithstanding the foregoing, however, you may distribute or transfer, free of royalties, the Redistributable Files (and/or any Developed Desktop Software) to the extent that they are used separately on the client/workstation side of the network served by the Web Server. 5. License Serial Number. Upon purchase of the SOFTWARE a unique serial number (the "Serial Number") is provided by Steema either electronically or via the delivery channel. The Serial number provides a means to install and Register the SOFTWARE. The Serial Number is subject to the restrictions set forth in this EULA and may not be disclosed or distributed either with your Developed Software or in any other way. The disclosure or distribution of the Serial Number shall constitute a breach of this EULA, the effect of which shall be the automatic termination and revocation of all the rights granted herein. 6. Updates/Upgrades. Subject to the terms and conditions of this EULA, the Licenses are perpetual. Updates and upgrades to the SOFTWARE may be provided by Steema at their discretion at timely intervals though Steema does not commit to providing such updates or upgrades, and, if so provided by Steema, are provided upon the terms and conditions offered at that time by Steema. 7. Evaluation Copy. If you are using an "evaluation copy" or similar version, specifically designated as such by Steema on its website or otherwise, then the Licenses are limited as follows: a) you are granted a license to use the SOFTWARE for a period of fifty (50) days counted from the day of installation (the "Evaluation Period"); b) upon completion of the Evaluation Period, you shall either i) delete the SOFTWARE from the computer containing the installation, or you may ii) contact Steema or one of its authorized dealers to purchase a license of the SOFTWARE, which is subject to the terms and limitations contained herein; and c) any Developed Software developed with an evaluation copy may not be distributed or used for any commercial purpose. III. INTELLECTUAL PROPERTY. 1. Copyright. You agree that all right, title, and interest in and to the SOFTWARE (including, but not limited to, any images, photographs, code examples and text incorporated into the SOFTWARE), and any copies of the SOFTWARE, and any copyrights and other intellectual properties therein or related thereto are owned exclusively by Steema, except to the limited extent that Steema may be the rightful license holder of certain third-party technologies incorporated into the SOFTWARE. The SOFTWARE is protected by copyright laws and international treaty provisions. The SOFTWARE is licensed to you, not sold to you. Steema reserves all rights not otherwise expressly and specifically granted to you in this EULA. 2. Backups. You may make one copy the SOFTWARE solely for backup or archival purposes. 3. General Limitations. You may not reverse engineer, decompile, or disassemble the SOFTWARE, except and only to the extent that applicable law expressly permits such activity notwithstanding this limitation. 4. Software Transfers. You may not rent or lease the SOFTWARE. You may transfer the SOFTWARE to another computer, provided that it is completely removed from the computer from which it was transferred. You may permanently transfer all of your rights under the EULA, provided that you retain no copies, that you transfer all the SOFTWARE (including all component parts, the media and printed materials, any dates, upgrades, this EULA and, if applicable, the Certificate of Authenticity), and that the recipient agrees to the terms and conditions of this EULA as provided herein. Steema should be notified in writing of license transfers where the company of the recipient is different to that of the original licensee. If the SOFTWARE is an update or upgrade, any transfer must include all prior versions of the SOFTWARE. 5. Termination. Without prejudice to any other rights it may have, Steema may terminate this EULA and the Licenses if you fail to comply with the terms and conditions contained herein. In such an event, you must destroy all copies of the SOFTWARE and all of its component parts. IV. DISCLAIMER and WARRANTIES 1. Disclaimer Steema's entire liability and your exclusive remedy under this EULA shall be, at Steema's sole option, either (a) return of the price paid for the SOFTWARE; (b) repair the SOFTWARE through updates distributed online. Steema cannot and does not guarantee that any functions contained in the Software will meet your requirements, or that its operations will be error free. The entire risk as to the Software performance or quality, or both, is solely with the user and not Steema. You assume responsibility for the selection of the component to achieve your intended results, and for the installation, use, and results obtained from the SOFTWARE. 2. Warranty. Steema makes no warranty, to the maximum extent permitted by law, either implied or expressed, including with-out limitation any warranty with respect to this Software documented here, its quality, performance, or fitness for a particular purpose. In no event shall Steema be liable to you for damages, whether direct or indirect, incidental, special, or consequential arising out the use of or any defect in the Software, even if Steema has been advised of the possibility of such damages, or for any claim by any other party. All other warranties of any kind, either express or implied, including but not limited to the implied warranties of merchantability and fitness for a particular purpose, are expressly excluded. V. MISCELLANEOUS. 1. This is the Entire Agreement. This EULA (including any addendum or amendment to this EULA included with the SOFTWARE) is the final, complete and exclusive statement of the entire agreement between you and Steema relating to the SOFTWARE. This EULA supersedes any prior and contemporaneous proposals, purchase orders, advertisements, and all other communications in relation to the subject matter of this EULA, whether oral or written. No terms or conditions, other than those contained in this EULA, and no other understanding or agreement which in any way modifies these terms and conditions, shall be binding upon the parties unless entered into in writing executed between the parties, or by other non-oral manner of agreement whereby the parties objectively and definitively act in a manner to be bound (such as by continuing with an installation of the SOFTWARE, "clicking-through" a questionnaire, etc.) Employees, agents and other representatives of Steema are not permitted to orally modify this EULA. 2. You Indemnify Steema. You agree to indemnify, hold harmless, and defend Steema and its suppliers and resellers from and against any and all claims or lawsuits, including attorney's fees, that arise or result from this EULA. 3. Interpretation of this EULA. If for any reason a court of competent jurisdiction finds any provision of this EULA, or any portion thereof, to be unenforceable, that provision of this EULA will be enforced to the maximum extent permissible so as to effect the intent of the parties, and the remainder of this EULA will continue in full force and effect. Formatives of defined terms shall have the same meaning of the defined term. Failure by either party to enforce any provision of this EULA will not be deemed a waiver of future enforcement of that or any other provision. Except as otherwise required or superseded by law, this EULA is governed by the laws of Spain. If the SOFTWARE was acquired outside of Spain, then local law may apply. Steema Software www.steema.com ----------------------------------------------------------------------

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧