215 lines
4.4 KiB
C++
215 lines
4.4 KiB
C++
#include "HGTwain.h"
|
|
#include "HGTwainImpl.hpp"
|
|
|
|
HGResult HGAPI HGTwain_LoadDSM(HGTwainDSM* dsm)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = new HGTwainDSMImpl;
|
|
HGResult ret = twainDSMImpl->LoadDSM();
|
|
if (HGBASE_ERR_OK != ret)
|
|
{
|
|
delete twainDSMImpl;
|
|
return ret;
|
|
}
|
|
|
|
*dsm = (HGTwainDSM)twainDSMImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_UnloadDSM(HGTwainDSM dsm)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
HGResult ret = twainDSMImpl->UnloadDSM();
|
|
if (HGBASE_ERR_OK != ret)
|
|
{
|
|
return ret;
|
|
}
|
|
|
|
delete twainDSMImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_OpenDSM(HGTwainDSM dsm, HWND hwnd, HGDSEventFunc func, HGPointer param)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
return twainDSMImpl->OpenDSM(hwnd, func, param);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_CloseDSM(HGTwainDSM dsm)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
return twainDSMImpl->CloseDSM();
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDSList(HGTwainDSM dsm, HGTwainDS* ds, HGUInt* size)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
return twainDSMImpl->GetDSList((HGTwainDSImpl**)ds, size);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDefaultDS(HGTwainDSM dsm, HGTwainDS* ds)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
return twainDSMImpl->GetDefaultDS((HGTwainDSImpl**)ds);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_SelectDS(HGTwainDSM dsm, HGTwainDS* ds)
|
|
{
|
|
if (NULL == dsm)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSMImpl* twainDSMImpl = (HGTwainDSMImpl*)dsm;
|
|
return twainDSMImpl->SelectDS((HGTwainDSImpl**)ds);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetDSName(HGTwainDS ds, HGChar* name, HGUInt maxLen)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->GetDSName(twainDSImpl, name, maxLen);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_OpenDS(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->OpenDS(twainDSImpl);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_CloseDS(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->CloseDS(twainDSImpl);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_SetCapability(HGTwainDS ds, HGUInt cap, HGInt value)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->SetCapability(twainDSImpl, cap, value);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_GetCapability(HGTwainDS ds, HGUInt cap, HGInt* value)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->GetCapability(twainDSImpl, cap, value);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_EnableDSUIOnly(HGTwainDS ds, HGBool showUI, HWND parent)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->EnableDSUIOnly(twainDSImpl, showUI, parent);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_EnableDS(HGTwainDS ds, HGBool showUI, HWND parent)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->EnableDS(twainDSImpl, showUI, parent);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_DisableDS(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->DisableDS(twainDSImpl);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_ImageNativeXfer(HGTwainDS ds, HGUInt type, HGUInt origin, HGImage* image)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->ImageNativeXfer(twainDSImpl, type, origin, image);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_EndXfer(HGTwainDS ds, HGUInt* count)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->EndXfer(twainDSImpl, count);
|
|
}
|
|
|
|
HGResult HGAPI HGTwain_Reset(HGTwainDS ds)
|
|
{
|
|
if (NULL == ds)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGTwainDSImpl* twainDSImpl = (HGTwainDSImpl*)ds;
|
|
return twainDSImpl->dsmImpl->Reset(twainDSImpl);
|
|
} |