Files
2025-05-15 16:01:31 +02:00

1007 lines
40 KiB
VB.net

'/******************************************************************************
'* *
'* PROJECT : EOS Digital Software Development Kit EDSDK *
'* NAME : EdsTypes.h *
'* *
'* Description: COMMON DEFINITION FOR EDSDK *
'* *
'* *
'*******************************************************************************
'* *
'* Written and developed by Camera Design Dept.53 *
'* Copyright Canon Inc. 2006 All Rights Reserved *
'* *
'*******************************************************************************
'* File Update Information: *
'* DATE Identify Comment *
'* ----------------------------------------------------------------------- *
'* 06-03-08 F-001 create first version. *
'* *
'******************************************************************************/
'Option Strict Off
' versioni successiva all'ultima valida Windows XP coerente con cartella DepCanon
#If (WinXp = False) Then
Option Explicit On
Imports System.Runtime.InteropServices
Public Module EDSDKTypes
'/******************************************************************************
' Definition of Data Types
'******************************************************************************/
'/*-----------------------------------------------------------------------------
' Data Type
'-----------------------------------------------------------------------------*/
Public Enum EdsDataType
kEdsDataType_Unknown = 0
kEdsDataType_Bool = 1
kEdsDataType_String = 2
kEdsDataType_Int8 = 3
kEdsDataType_UInt8 = 6
kEdsDataType_Int16 = 4
kEdsDataType_UInt16 = 7
kEdsDataType_Int32 = 8
kEdsDataType_UInt32 = 9
kEdsDataType_Int64 = 10
kEdsDataType_UInt64 = 11
kEdsDataType_Float = 12
kEdsDataType_Double = 13
kEdsDataType_ByteBlock = 14
kEdsDataType_Rational = 20
kEdsDataType_Point = 21
kEdsDataType_Rect = 22
kEdsDataType_Time
kEdsDataType_Bool_Array = 30
kEdsDataType_Int8_Array = 31
kEdsDataType_Int16_Array = 32
kEdsDataType_Int32_Array = 33
kEdsDataType_UInt8_Array = 34
kEdsDataType_UInt16_Array = 35
kEdsDataType_UInt32_Array = 36
kEdsDataType_Rational_Array = 37
kEdsDataType_FocusInfo = 101
kEdsDataType_PictureStyleDesc
End Enum
#Region "Property IDs"
'/*-----------------------------------------------------------------------------
' Property IDs()
'-----------------------------------------------------------------------------*/
'////////////////////////////////////////////
'// Camera Setting Properties
'////////////////////////////////////////////
Public Const kEdsPropID_Unknown As Integer = &HFFFF '//
Public Const kEdsPropID_ProductName As Integer = &H2 '// Product name
Public Const kEdsPropID_BodyIDEx As Integer = &H15 '// Body ID
Public Const kEdsPropID_OwnerName As Integer = &H4 '// Owner
Public Const kEdsPropID_MakerName As Integer = &H5 '// Manufacturer
Public Const kEdsPropID_DateTime As Integer = &H6 '// For cameras, the system time; for images, the shooting time
Public Const kEdsPropID_FirmwareVersion As Integer = &H7 '// Firmware Version
Public Const kEdsPropID_BatteryLevel As Integer = &H8 '// Battery state: 0-100% or "AC"
'// CFn=&h00000002 PFn
Public Const kEdsPropID_CFn As Integer = &H9 '// Custom Function settings
Public Const kEdsPropID_PFn As Integer = &HA '// Personal Function settings
Public Const kEdsPropID_SaveTo As Integer = &HB '// Destination where image was saved
Public Const kEdsPropID_UserWhiteBalanceData As Integer = &H201 '// Set user-defined data in Set1, 2, or 3, or read it out
Public Const kEdsPropID_UserToneCurveData As Integer = &H202 '// // Set user-defined data in Set1, 2, or 3, or read it out
Public Const kEdsPropID_UserPictureStyleData As Integer = &H203 '// User picture style data
Public Const kEdsPropID_UserManualWhiteBalanceData As Integer = &H204
Public Const kEdsPropID_BatteryQuality As Integer = &H10
Public Const kEdsPropID_BatteryShutterCount As Integer = &H11
Public Const kEdsPropID_BatteryCalibration As Integer = &H12
Public Const kEdsPropID_BatteryName As Integer = &H13
Public Const kEdsPropID_HDDirectoryStructure As Integer = &H20
Public Const kEdsPropID_WFTStatus As Integer = &H21
Public Const kEdsPropID_QuickReviewTime As Integer = &HF
Public Const kEdsPropID_ShutterCounter As Integer = &H22
Public Const kEdsPropID_PhotoStudioMode As Integer = &H30
Public Const kEdsPropID_SpecialOption As Integer = &H31
Public Const kEdsPropID_DataInputTransmission As Integer = &H50
Public Const kEdsPropID_Wft_ProfileLockConfig As Integer = &H52
Public Const kEdsPropID_Wft_TransmissionConfig As Integer = &H53
Public Const kEdsPropID_Wft_TCPIPConfig As Integer = &H54
Public Const kEdsPropID_Wft_FTPConfig As Integer = &H55
Public Const kEdsPropID_Wft_WirelessConfig As Integer = &H56
Public Const kEdsPropID_Wft_WiredConfig As Integer = &H57
Public Const kEdsPropID_Wft_SettingsName As Integer = &H58
Public Const kEdsPropID_Wft_Info As Integer = &H59
'////////////////////////////////////////////
'// Image Properties
'////////////////////////////////////////////
Public Const kEdsPropID_ImageQuality As Integer = &H100 '// Image quality
Public Const kEdsPropID_JpegQuality As Integer = &H101 '// Value representing compression when saved as a JPEG; 1 to 10 (cap)
Public Const kEdsPropID_Orientation As Integer = &H102 '// The image orientation
Public Const kEdsPropID_ICCProfile As Integer = &H103 '// ICC Profile data
Public Const kEdsPropID_FocusInfo As Integer = &H104 '// focus Info
Public Const kEdsPropID_DigitalExposure As Integer = &H105 '// Digital exposure compensation
Public Const kEdsPropID_WhiteBalance As Integer = &H106 '// White balance (light source)
Public Const kEdsPropID_ColorTemperature As Integer = &H107 '// Color temperature setting value
Public Const kEdsPropID_WhiteBalanceShift As Integer = &H108 '// White balance shift compensation
Public Const kEdsPropID_Contrast As Integer = &H109 '// Contrast setting
Public Const kEdsPropID_ColorSaturation As Integer = &H10A '// Saturation setting
Public Const kEdsPropID_ColorTone As Integer = &H10B '// Color tone setting
Public Const kEdsPropID_Sharpness As Integer = &H10C '// Sharpness setting value
Public Const kEdsPropID_ColorSpace As Integer = &H10D '// Color space setting
Public Const kEdsPropID_ToneCurve As Integer = &H10E '// Tone curve (standard or custom)
Public Const kEdsPropID_PhotoEffect As Integer = &H10F '// Color effect setting
Public Const kEdsPropID_FilterEffect As Integer = &H110 '// Filter effect setting
Public Const kEdsPropID_ToningEffect As Integer = &H111 '// Gradation effect setting
Public Const kEdsPropID_ParameterSet As Integer = &H112 '// Processing parameter setting
Public Const kEdsPropID_ColorMatrix As Integer = &H113 '// Color matrix setting
Public Const kEdsPropID_PictureStyle As Integer = &H114 '// Picture style
Public Const kEdsPropID_PictureStyleDesc As Integer = &H115 '// Picture style setting details
Public Const kEdsPropID_PictureStyleCaption As Integer = &H200 '// Computer settings caption for the picture style at the time of shooting
Public Const kEdsPropID_CustomWBCaption As Integer = &H204
'////////////////////////////////////////////
'// Develop Properties
'////////////////////////////////////////////
Public Const kEdsPropID_Linear As Integer = &H300 '// Linear processing ON/OFF
Public Const kEdsPropID_ClickWBPoint As Integer = &H301 '// Click WB coordinates
Public Const kEdsPropID_WBCoeffs As Integer = &H302 '// WB control value
'////////////////////////////////////////////
'// Property Masks
'////////////////////////////////////////////
Public Const kEdsPropID_AtCapture_Flag As Integer = &H80000000
'// A supporting property for getting the properties at the time of shooting.
'// This property ID cannot be used by itself.
'////////////////////////////////////////////
'// Capture Properties
'////////////////////////////////////////////
Public Const kEdsPropID_AEMode As Integer = &H400 '// Shooting mode
Public Const kEdsPropID_AEModeSelect As Integer = &H436 '// Shooting mode
Public Const kEdsPropID_DriveMode As Integer = &H401 '// Drive mode (cap)
Public Const kEdsPropID_ISOSpeed As Integer = &H402 '// ISO sensitivity setting value
Public Const kEdsPropID_MeteringMode As Integer = &H403 '// Metering mode
Public Const kEdsPropID_AFMode As Integer = &H404 '// AF mode (cap)
Public Const kEdsPropID_Av As Integer = &H405 '// Aperture value (cap) at the time of shooting
Public Const kEdsPropID_Tv As Integer = &H406 '// Shutter speed setting value (cap)
Public Const kEdsPropID_ExposureCompensation As Integer = &H407 '// Exposure compensation (cap)
Public Const kEdsPropID_FlashCompensation As Integer = &H408 '// Flash compensation setting
Public Const kEdsPropID_FocalLength As Integer = &H409 '// Lens focal length information at the time of shooting
Public Const kEdsPropID_AvailableShots As Integer = &H40A '// Number of available shots
Public Const kEdsPropID_Bracket As Integer = &H40B '// ISO, auto exposure or flash exposure bracket
Public Const kEdsPropID_WhiteBalanceBracket As Integer = &H40C '// White balance bracket
Public Const kEdsPropID_LensName As Integer = &H40D '// String representing the lens name
Public Const kEdsPropID_AEBracket As Integer = &H40E '// Auto exposure bracket value
Public Const kEdsPropID_FEBracket As Integer = &H40F '// Flash exposure bracket value
Public Const kEdsPropID_ISOBracket As Integer = &H410 '// ISO bracket value
Public Const kEdsPropID_NoiseReduction As Integer = &H411 '// Noise reduction
Public Const kEdsPropID_FlashOn As Integer = &H412 '// Use of the flash (activated or not)
Public Const kEdsPropID_RedEye As Integer = &H413 '// Red-eye reduction
Public Const kEdsPropID_FlashMode As Integer = &H414 '// Flash type
Public Const kEdsPropID_TempStatus As Integer = &H415
Public Const kEdsPropID_LensStatus As Integer = &H416
'////////////////////////////////////////////
'// EVF Properties
'////////////////////////////////////////////
Public Const kEdsPropID_Evf_OutputDevice As Integer = &H500
Public Const kEdsPropID_Evf_Mode As Integer = &H501
Public Const kEdsPropID_Evf_WhiteBalance As Integer = &H502
Public Const kEdsPropID_Evf_ColorTemperature As Integer = &H503
Public Const kEdsPropID_Evf_DepthOfFieldPreview As Integer = &H504
Public Const kEdsPropID_Evf_Sharpness As Integer = &H505
Public Const kEdsPropID_Evf_ClickWBCoeffs As Integer = &H506
'// EVF IMAGE DATA Properties
Public Const kEdsPropID_Evf_Zoom As Integer = &H507
Public Const kEdsPropID_Evf_ZoomPosition As Integer = &H508
Public Const kEdsPropID_Evf_FocusAid As Integer = &H509
Public Const kEdsPropID_Evf_Histogram As Integer = &H50A
Public Const kEdsPropID_Evf_ImagePosition As Integer = &H50B
Public Const kEdsPropID_Evf_HistogramStatus As Integer = &H50C
#End Region
'/*-----------------------------------------------------------------------------
' Send Commands
'-----------------------------------------------------------------------------*/
Public Enum EdsCameraCommand
kEdsCameraCommand_TakePicture 'The camera is requested to take a picture.
kEdsCameraCommand_ExtendShutDownTimer ' KeepDeviceOn
kEdsCameraCommand_BulbStart
kEdsCameraCommand_BulbEnd
kEdsCameraCommand_PressShutterButton
kEdsCameraCommand_DoAfEvf = &H102
kEdsCameraCommand_DriveLensEvf = &H103
kEdsCameraCommand_DoClickWBEvf = &H104
End Enum
'/*-----------------------------------------------------------------------------
' Camera State
'-----------------------------------------------------------------------------*/
Public Enum EdsCameraStatusCommand
kEdsCameraStatusCommand_UILock '//
kEdsCameraStatusCommand_UIUnLock '//
kEdsCameraStatusCommand_EnterDirectTransfer '// The camera is changed to direct transmission mode.
kEdsCameraStatusCommand_ExitDirectTransfer '// The camera is exited from direct transmission mode.
End Enum
Public Enum EdsShutterButton
kEdsCameraCommand_ShutterButton_OFF = &H0
kEdsCameraCommand_ShutterButton_Halfway = &H1
kEdsCameraCommand_ShutterButton_Completely = &H3
kEdsCameraCommand_ShutterButton_Halfway_NonAF = &H10001
kEdsCameraCommand_ShutterButton_Completely_NonAF = &H10003
End Enum
#Region "CAMERE EVENTS"
'/*-----------------------------------------------------------------------------
' Camera Events
'-----------------------------------------------------------------------------*/
'////////////////////////////////////////////
'// Property Event
'////////////////////////////////////////////
Public Const kEdsPropertyEvent_All As Integer = &H100
Public Const kEdsPropertyEvent_PropertyChanged As Integer = &H101
' The value of the property specified
'// by the parameter has changed.
'// If it is necessary, it should be
'// re-acquired.
'// When property is not specified,
'// it is necessary to acquire all parameters.
Public Const kEdsPropertyEvent_PropertyDescChanged As Integer = &H102
'// The value of the property specified
'// by the parameter has changed.
'// If it is necessary, it should be
'// re-acquired.
'// When property is not specified,
'// it is necessary to acquire all parameters.
'////////////////////////////////////////////
'// Object Event
'////////////////////////////////////////////
Public Const kEdsObjectEvent_All As Integer = &H200 '// Indicates that the VolumeInfo dataset
Public Const kEdsObjectEvent_VolumeInfoChanged As Integer = &H201
'// Indicates that the VolumeInfo dataset
'// for a particular object has changed,
'// and that it should be re-requested.
Public Const kEdsObjectEvent_VolumeUpdateItems As Integer = &H202
'//
Public Const kEdsObjectEvent_FolderUpdateItems As Integer = &H203
Public Const kEdsObjectEvent_DirItemCreated As Integer = &H204
'// The file or the folder was created.
Public Const kEdsObjectEvent_DirItemRemoved As Integer = &H205
'// The file or the folder was removed.
Public Const kEdsObjectEvent_DirItemInfoChanged As Integer = &H206
'// Indicates that the DirectoryItemInfo dataset
'// for a particular object has changed,
'// and that it should be re-requested.
Public Const kEdsObjectEvent_DirItemContentChanged As Integer = &H207
'// DS_Event_ObjectContentChanged
Public Const kEdsObjectEvent_DirItemRequestTransfer As Integer = &H208
'// Indicates that there is an object that
'// should be transferred.
'// Please download the object specified
'// by the parameter when you receive
'// this event.
Public Const kEdsObjectEvent_DirItemRequestTransferDT As Integer = &H209
'// Indicates that the direct forwarding
'// button of the camera was pushed.
'// Please download the object specified
'// by the parameter when you receive
'// this event.
Public Const kEdsObjectEvent_DirItemCancelTransferDT As Integer = &H20A
'// Indicates that the cancellation button
'// of the camera was pushed while transfering
'// Please discontinue transfering the object
'// specified by the parameter.
'//
Public Const kEdsObjectEvent_VolumeAdded As Integer = &H20C
Public Const kEdsObjectEvent_VolumeRemoved As Integer = &H20D
'////////////////////////////////////////////
'// State Event
'////////////////////////////////////////////
Public Const kEdsStateEvent_All As Integer = &H300
Public Const kEdsStateEvent_Shutdown As Integer = &H301 '// The camera shut down.
Public Const kEdsStateEvent_JobStatusChanged As Integer = &H302
'// the state of the presence of the object
'// that should be transferred has changed.
Public Const kEdsStateEvent_WillSoonShutDown As Integer = &H303
'// After the time passage of the time-out,
'// the connection with the camera is cut.
'// It depends on the setting of the camera
'// about the time-out time.
Public Const kEdsStateEvent_ShutDownTimerUpdate As Integer = &H304
'// After the WillSoonShutDown event,
'// the shutdown timer has updated.
Public Const kEdsStateEvent_CaptureError As Integer = &H305
'// It failed in capture because
'// hardware error occurred by the camera.
Public Const kEdsStateEvent_InternalError As Integer = &H306 '// The error occurred in SDK.
Public Const kEdsStateEvent_AfResult As Integer = &H309
Public Const kEdsStateEvent_BulbExposureTime As Integer = &H310
#End Region
'/*-----------------------------------------------------------------------------
' Drive Lens
'-----------------------------------------------------------------------------*/
Public Enum EdsEvfDriveLens
kEdsEvfDriveLens_Near1 = 1
kEdsEvfDriveLens_Near2 = 2
kEdsEvfDriveLens_Near3 = 3
kEdsEvfDriveLens_Far1 = &H8001
kEdsEvfDriveLens_Far2 = &H8002
kEdsEvfDriveLens_Far3 = &H8003
End Enum
'/*-----------------------------------------------------------------------------
' Drive Lens
'-----------------------------------------------------------------------------*/
Public Enum EdsEvfDepthOfFieldPreview
kEdsEvfDepthOfFieldPreview_OFF = 0
kEdsEvfDepthOfFieldPreview_ON = 1
End Enum
'/*-----------------------------------------------------------------------------
' Stream Seek Origins
'-----------------------------------------------------------------------------*/
Public Enum EdsSeekOrigin
kEdsSeek_Cur = 0 '// Seek from Current Point
kEdsSeek_Begin '// Seek from Start Point
kEdsSeek_End '// Seek from End Point
End Enum
'/*-----------------------------------------------------------------------------
' File and Propaties Access
'-----------------------------------------------------------------------------*/
Public Enum EdsAccess
kEdsAccess_Read = 0 ' // Enables subsequent open operations on the object to
'// request read access.
kEdsAccess_Write ', // Enables subsequent open operations on the object to
' // request write access.
kEdsAccess_ReadWrite ', // Enables subsequent open operations on the object to
'// request read and write access.
kEdsAccess_Error = &HFFFFFFFF
End Enum
'/*-----------------------------------------------------------------------------
' File Create Disposition
'-----------------------------------------------------------------------------*/
Public Enum EdsFileCreateDisposition
kEdsFileCreateDisposition_CreateNew = 0
'// Creates a new file. The function fails
'// if the specified file already exists.
kEdsFileCreateDisposition_CreateAlways
'// Creates a new file. If the file exists,
'// the function overwrites the file and clears
'// the existing attributes.
kEdsFileCreateDisposition_OpenExisting
'// Opens the file. The function fails
'// if the file does not exist.
kEdsFileCreateDisposition_OpenAlways
'// Opens the file, if it exists.
'// If the file does not exist,
'// the function creates the file.
kEdsFileCreateDisposition_TruncateExsisting
'// Opens the file. Once opened, the file is
'// truncated so that its size is zero bytes.
'// The function fails if the file does not exist.
End Enum
'/*-----------------------------------------------------------------------------
' Image Type
'-----------------------------------------------------------------------------*/
Public Enum EdsImageType
kEdsImageType_Unknown = &H0
kEdsImageType_Jpeg = &H1
kEdsImageType_CRW = &H2
kEdsImageType_RAW = &H4
kEdsImageType_CR2 = &H6
End Enum
Public Enum EdsTargetImageType
kEdsTargetImageType_Unknown = &H0
kEdsTargetImageType_Jpeg = &H1
kEdsTargetImageType_TIFF = &H7 '// 8bitTIFF
kEdsTargetImageType_TIFF16 = &H8 '// 16bitTIFF
kEdsTargetImageType_RGB = &H9 '// 8bitRGB
kEdsTargetImageType_RGB16 = &HA '// 16bitRGB
End Enum
Public Enum EdsImageSize
kEdsImageSize_Large = 0
kEdsImageSize_Middle = 1
kEdsImageSize_Small = 2
kEdsImageSize_Middle1 = 5
kEdsImageSize_Middle2 = 6
kEdsImageSize_Unknown = &HFFFFFFFF
End Enum
Public Enum EdsImageQuality
kEdsImageQuality_Normal = 2
kEdsImageQuality_Fine = 3
kEdsImageQuality_Lossless = 4
kEdsImageQuality_SuperFine = 5
kEdsImageQuality_Unknown = &HFFFFFFFF
End Enum
Public Enum EdsImageSource
kEdsImageSrc_FullView
kEdsImageSrc_Thumbnail
kEdsImageSrc_Preview
kEdsImageSrc_RAWThumbnail
kEdsImageSrc_RAWFullView
End Enum
'/*-----------------------------------------------------------------------------
' Progress Option
'-----------------------------------------------------------------------------*/
Public Enum EdsProgressOption
kEdsProgressOption_NoReport = 0 '// no callback.
kEdsProgressOption_Done '// performs callback only at once
'// at the time of an end.
kEdsProgressOption_Periodically '// performs callback periodically.
End Enum
'/*-----------------------------------------------------------------------------
' file attribute
'-----------------------------------------------------------------------------*/
Public Enum EdsFileAttributes
kEdsFileAttribute_Normal = &H0
kEdsFileAttribute_ReadOnly = &H1
kEdsFileAttribute_Hidden = &H2
kEdsFileAttribute_System = &H4
kEdsFileAttribute_Archive = &H20
End Enum
'/*-----------------------------------------------------------------------------
' Battery level
'-----------------------------------------------------------------------------*/
Public Enum EdsBatteryLevel
kEdsBatteryLevel_Empty = 1
kEdsBatteryLevel_Low = 30
kEdsBatteryLevel_Half = 50
kEdsBatteryLevel_Normal = 80
kEdsBatteryLevel_AC = &HFFFFFFFF
End Enum
'/*-----------------------------------------------------------------------------
' Save To
'-----------------------------------------------------------------------------*/
Public Enum EdsSaveTo
kEdsSaveTo_Camera = 1
kEdsSaveTo_Host = 2
kEdsSaveTo_Both = kEdsSaveTo_Camera + kEdsSaveTo_Host
End Enum
'/*-----------------------------------------------------------------------------
' StorageType
'-----------------------------------------------------------------------------*/
Public Enum EdsStorageType
kEdsStorageType_Non = 0
kEdsStorageType_CF = 1
kEdsStorageType_SD = 2
End Enum
'/*-----------------------------------------------------------------------------
' White Balance
'-----------------------------------------------------------------------------*/
Public Enum EdsWhiteBalance
kEdsWhiteBalance_Auto = 0
kEdsWhiteBalance_Daylight = 1
kEdsWhiteBalance_Cloudy = 2
kEdsWhiteBalance_Tangsten = 3
kEdsWhiteBalance_Fluorescent = 4
kEdsWhiteBalance_Strobe = 5
kEdsWhiteBalance_WhitePaper = 6
kEdsWhiteBalance_Shade = 8
kEdsWhiteBalance_ColorTemp = 9
kEdsWhiteBalance_PCSet1 = 10
kEdsWhiteBalance_PCSet2 = 11
kEdsWhiteBalance_PCSet3 = 12
kEdsWhiteBalance_Click = -1
kEdsWhiteBalance_Pasted = -2
End Enum
'/*-----------------------------------------------------------------------------
' Photo Effect
'-----------------------------------------------------------------------------*/
Public Enum EdsPhotoEffect
kEdsPhotoEffect_Off = 0
kEdsPhotoEffect_Monochrome = 5
End Enum
'/*-----------------------------------------------------------------------------
' Color Matrix
'-----------------------------------------------------------------------------*/
Public Enum EdsColorMatrix
kEdsColorMatrix_Custom = 0
kEdsColorMatrix_1 = 1
kEdsColorMatrix_2 = 2
kEdsColorMatrix_3 = 3
kEdsColorMatrix_4 = 4
kEdsColorMatrix_5 = 5
kEdsColorMatrix_6 = 6
kEdsColorMatrix_7 = 7
End Enum
'/*-----------------------------------------------------------------------------
' Filter Effect
'-----------------------------------------------------------------------------*/
Public Enum EdsFilterEffect
kEdsFilterEffect_None = 0
kEdsFilterEffect_Yellow = 1
kEdsFilterEffect_Orange = 2
kEdsFilterEffect_Red = 3
kEdsFilterEffect_Green = 4
End Enum
'/*-----------------------------------------------------------------------------
' Toning Effect
'-----------------------------------------------------------------------------*/
Public Enum EdsTonigEffect
kEdsTonigEffect_None = 0
kEdsTonigEffect_Sepia = 1
kEdsTonigEffect_Blue = 2
kEdsTonigEffect_Purple = 3
kEdsTonigEffect_Green = 4
End Enum
'/*-----------------------------------------------------------------------------
' Color Space
'-----------------------------------------------------------------------------*/
Public Enum EdsColorSpace
kEdsColorSpace_sRGB = 1
kEdsColorSpace_AdobeRGB = 2
kEdsColorSpace_Unknown = &HFFFFFFFF
End Enum
'/*-----------------------------------------------------------------------------
' PictureStyle
'-----------------------------------------------------------------------------*/
Public Enum EdsPictureStyle
kEdsPictureStyle_Standard = &H81
kEdsPictureStyle_Portrait = &H82
kEdsPictureStyle_Landscape = &H83
kEdsPictureStyle_Neutral = &H84
kEdsPictureStyle_Faithful = &H85
kEdsPictureStyle_Monochrome = &H86
kEdsPictureStyle_Auto = &H87
kEdsPictureStyle_FineDetail = &H88
kEdsPictureStyle_User1 = &H21
kEdsPictureStyle_User2 = &H22
kEdsPictureStyle_User3 = &H23
kEdsPictureStyle_PC1 = &H41
kEdsPictureStyle_PC2 = &H42
kEdsPictureStyle_PC3 = &H43
End Enum
'/*-----------------------------------------------------------------------------
' Transfer Option
'-----------------------------------------------------------------------------*/
Enum EdsTransferOption
kEdsTransferOption_ByDirectTransfer = 1
kEdsTransferOption_ByRelease = 2
kEdsTransferOption_ToDesktop = &H100
End Enum
Public Enum EdsAEMode
kEdsAEMode_Program = 0
kEdsAEMode_Tv = 1
kEdsAEMode_Av = 2
kEdsAEMode_Manual = 3
kEdsAEMode_Bulb = 4
kEdsAEMode_A_DEP = 5
kEdsAEMode_DEP = 6
kEdsAEMode_Custom = 7
kEdsAEMode_Lock = 8
kEdsAEMode_Green = 9
kEdsAEMode_NightPortrait = 10
kEdsAEMode_Sports = 11
kEdsAEMode_Portrait = 12
kEdsAEMode_Landscape = 13
kEdsAEMode_Closeup = 14
kEdsAEMode_FlashOff = 15
kEdsAEMode_CreativeAuto = 19
kEdsAEMode_Movie = 20
kEdsAEMode_PhotoInMovie = 21
kEdsAEMode_SceneIntelligentAuto = 22
kEdsAEMode_SCN = 25
kEdsAEMode_NightScenes = 23
kEdsAEMode_BacklitScenes = 24
kEdsAEMode_Children = 26
kEdsAEMode_Food = 27
kEdsAEMode_CandlelightPortraits = 28
kEdsAEMode_CreativeFilter = 29
kEdsAEMode_RoughMonoChrome = 30
kEdsAEMode_SoftFocus = 31
kEdsAEMode_ToyCamera = 32
kEdsAEMode_Fisheye = 33
kEdsAEMode_WaterColor = 34
kEdsAEMode_Miniature = 35
kEdsAEMode_Hdr_Standard = 36
kEdsAEMode_Hdr_Vivid = 37
kEdsAEMode_Hdr_Bold = 38
kEdsAEMode_Hdr_Embossed = 39
kEdsAEMode_Movie_Fantasy = 40
kEdsAEMode_Movie_Old = 41
kEdsAEMode_Movie_Memory = 42
kEdsAEMode_Movie_DirectMono = 43
kEdsAEMode_Movie_Mini = 44
kEdsAEMode_GroupPhoto = 46
kEdsAEMode_Unknown = &HFFFFFFFF
End Enum
'/*-----------------------------------------------------------------------------
' Bracket
'-----------------------------------------------------------------------------*/
Public Enum EdsBracket
kEdsBracket_AEB = &H1
kEdsBracket_ISOB = &H2
kEdsBracket_WBB = &H4
kEdsBracket_FEB = &H8
kEdsBracket_Unknown = &HFFFFFFFF
End Enum
'/*-----------------------------------------------------------------------------
' Temp status
'-----------------------------------------------------------------------------*/
Public Enum EdsTempStatus
kEdsTempStatus_Normal = 0
kEdsTempStatus_Warning = 1
kEdsTempStatus_Disable_LV = 2
kEdsTempStatus_Disable_Capture = 3
End Enum
'/*-----------------------------------------------------------------------------
' EVF Output Device [Flag]
'-----------------------------------------------------------------------------*/
Public Enum EdsEvfOutputDevice
kEdsEvfOutputDevice_TFT = 1
kEdsEvfOutputDevice_PC = 2
End Enum
'/*-----------------------------------------------------------------------------
' EVF Zoom
'-----------------------------------------------------------------------------*/
Public Enum EdsEvfZoom
kEdsEvfZoom_Fit = 1
kEdsEvfZoom_x5 = 5
kEdsEvfZoom_x10 = 10
End Enum
'/******************************************************************************
' Definition of Structures
'******************************************************************************/
'/*-----------------------------------------------------------------------------
' Point
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsPoint
Public x As Integer
Public y As Integer
End Structure
<StructLayout(LayoutKind.Sequential)> Public Structure EdsSize
Public width As Integer
Public height As Integer
End Structure
'/*-----------------------------------------------------------------------------
' Rectangle
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsRect '
Public point As EdsPoint
Public size As EdsSize
End Structure
'/*-----------------------------------------------------------------------------
' Rational
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsRational
Public numerator As Integer
Public denominator As Integer
End Structure
'/*-----------------------------------------------------------------------------
' Time
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsTime
Public year As Integer '// year
Public month As Integer '// month 1=January, 2=February, ...
Public day As Integer '// day
Public hour As Integer '// hour
Public minute As Integer '// minute
Public second As Integer '// second
Public milliseconds As Integer '// reserved
End Structure
'/******************************************************************************
' Definition of Constants
'******************************************************************************/
Public Const EDS_MAX_NAME As Short = 256
Public Const EDS_TRANSFER_BLOCK_SIZE As Integer = 512
'// When the DirectoryItem is downloaded
'// or uploaded separately for the plural
'// block, The size of the block
'// other than the terminal block should be
'// assumed to be a multiple in 512 bytes.
'/******************************************************************************
' Camera Detect Evnet Handler
'******************************************************************************/
Public Delegate Function EdsCameraAddedHandler( _
ByVal inContext As IntPtr) As Long
'/******************************************************************************
' Callback Functions
'******************************************************************************/
Public Delegate Function EdsProgressCallback( _
ByVal inPercent As Integer, _
ByVal inContext As IntPtr, _
ByRef outCancel As Boolean) As Long
'/******************************************************************************
' Evnet Handler
'******************************************************************************/
Public Delegate Function EdsPropertyEventHandler( _
ByVal inEvent As Integer, _
ByVal inPropertyID As Integer, _
ByVal inParam As Integer, _
ByVal inContext As IntPtr) As Long
Public Delegate Function EdsObjectEventHandler( _
ByVal inEvent As Integer, _
ByVal inRef As IntPtr, _
ByVal inContext As IntPtr) As Long
Public Delegate Function EdsStateEventHandler( _
ByVal inEvent As Integer, _
ByVal inEventData As Integer, _
ByVal inContext As IntPtr) As Long
'/******************************************************************************
' Definition of Structures
'******************************************************************************/
'/*-----------------------------------------------------------------------------
' Device Info
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsDeviceInfo
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=EDS_MAX_NAME)> Public szPortName As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=EDS_MAX_NAME)> Public szDeviceDescription As String
Public DeviceSubType As Integer
End Structure
'/*-----------------------------------------------------------------------------
' Volume Info
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsVolumeInfo
Public storageType As Integer
Public access As Integer
Public maxCapacity As Int64
Public freeSpaceInBytes As Int64
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=EDS_MAX_NAME)> Public szVolumeLabel As String
End Structure
'/*-----------------------------------------------------------------------------
' DirectoryItem Info
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsDirectoryItemInfo
Public size As ULong
Public isFolder As Boolean
Public groupID As Integer
Public opt As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=EDS_MAX_NAME)> Public szFileName As String
Public format As Integer
Public dateTime As Integer
End Structure
'/*-----------------------------------------------------------------------------
' Image Info
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsImageInfo
Public width As Integer '// image width
Public height As Integer '// image height
Public numOfComponents As Integer '// number of color components in image.
Public componentDepth As Integer '// bits per sample. 8 or 16.
Public effectiveRect As EdsRect
'// Effective rectangles except
'// a black line of the image.
'// A black line might be in the top and bottom
'// of the thumbnail image.
Public reserved1 As Integer
Public reserved2 As Integer
End Structure
'/*-----------------------------------------------------------------------------
' SaveImageSetting
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsSaveImageSetting
Public JPEGQuality As Integer
Public iccProfileStream As IntPtr
Public reserved As Integer
End Structure
'/*-----------------------------------------------------------------------------
' Property Desc
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsPropertyDesc
Public form As Integer
Public access As Integer
Public numElements As Integer
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=128)> Public propDesc() As Integer
End Structure
'////////////////////////////////////////////////////////////////////////////////
'/*-----------------------------------------------------------------------------
' Picture Style Desc
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsPictureStyleDesc
Public contrast As Integer
Public sharpness As Integer
Public saturation As Integer
Public colorTone As Integer
Public filterEffect As Integer
Public toningEffect As Integer
Public sharpFineness As Integer
Public sharpThreshold As Integer
End Structure
'/*-----------------------------------------------------------------------------
' Focus Info
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsFocusPoint
Public valid As Integer '// if the frame is valid.
Public justFocus As Integer '// if the frame is just focus.
Public rect As EdsRect '// rectangle of focus point.
Public reserved As Integer '// reserved
End Structure
<StructLayout(LayoutKind.Sequential)> Public Structure EdsFocusInfo
Public imageRect As EdsRect '// rectangle of the image.
Public pointNumber As Integer '// number of point.
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=128)> Public focusPoint() As EdsFocusPoint '// each frame's description.
End Structure
'/*-----------------------------------------------------------------------------
' User WhiteBalance (PC set1,2,3)/ User ToneCurve / User PictureStyle dataset
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsUsersetData
Public valid As Integer
Public dataSize As Integer
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=32)> Public szCaption As String
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=1)> Public data() As Byte
End Structure
'/*-----------------------------------------------------------------------------
' Capacity
'-----------------------------------------------------------------------------*/
<StructLayout(LayoutKind.Sequential)> Public Structure EdsCapacity
Public numberOfFreeClusters As Integer '// free clusters
Public bytesPerSector As Integer '// sectors per cluster
Public reset As Boolean
End Structure
End Module
#End If