blob: 0be758d4d87a4f071c9e65cd25baa7c4174fa5dd [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef _TWAIN_HXX
#define _TWAIN_HXX
#include <vos/module.hxx>
#include <vcl/bitmap.hxx>
#include "twain/twain.h"
// -----------
// - Defines -
// -----------
#define TWAIN_SELECT 0x00000001UL
#define TWAIN_ACQUIRE 0x00000002UL
#define TWAIN_TERMINATE 0xFFFFFFFFUL
#define TWAIN_EVENT_NONE 0x00000000UL
#define TWAIN_EVENT_QUIT 0x00000001UL
#define TWAIN_EVENT_SCANNING 0x00000002UL
#define TWAIN_EVENT_XFER 0x00000004UL
// ------------
// - ImpTwain -
// ------------
class ImpTwain
{
TW_IDENTITY aAppIdent;
TW_IDENTITY aSrcIdent;
Link aNotifyLink;
Bitmap aBitmap;
DSMENTRYPROC pDSM;
vos:: OModule * pMod;
sal_uLong nCurState;
void ImplCreate();
void ImplOpenSourceManager();
void ImplOpenSource();
sal_Bool ImplEnableSource();
void ImplXfer();
void ImplFallback( sal_uLong nEvent );
DECL_LINK( ImplFallbackHdl, void* );
DECL_LINK( ImplDestroyHdl, void* );
public:
sal_Bool ImplHandleMsg( void* pMsg );
#ifdef OS2
HAB hAB;
HWND hTwainWnd;
long hTwainHook;
#else
HWND hTwainWnd;
HHOOK hTwainHook;
#endif
public:
ImpTwain( const Link& rNotifyLink );
~ImpTwain();
void Destroy();
sal_Bool SelectSource();
sal_Bool InitXfer();
Bitmap GetXferBitmap();
};
#endif // _TWAIN_HXX