merged tag ooo/OOO330_m14
[LibreOffice.git] / extensions / source / scanner / twain.hxx
blob7599f86d7813b90f4bba5c4b687f1479453f8127
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 #ifndef _TWAIN_HXX
29 #define _TWAIN_HXX
31 #include <vos/module.hxx>
32 #include <vcl/bitmap.hxx>
33 #include "twain/twain.h"
36 // -----------
37 // - Defines -
38 // -----------
40 #define TWAIN_SELECT 0x00000001UL
41 #define TWAIN_ACQUIRE 0x00000002UL
42 #define TWAIN_TERMINATE 0xFFFFFFFFUL
44 #define TWAIN_EVENT_NONE 0x00000000UL
45 #define TWAIN_EVENT_QUIT 0x00000001UL
46 #define TWAIN_EVENT_SCANNING 0x00000002UL
47 #define TWAIN_EVENT_XFER 0x00000004UL
49 // ------------
50 // - ImpTwain -
51 // ------------
53 class ImpTwain
55 TW_IDENTITY aAppIdent;
56 TW_IDENTITY aSrcIdent;
57 Link aNotifyLink;
58 Bitmap aBitmap;
59 DSMENTRYPROC pDSM;
60 NAMESPACE_VOS( OModule )* pMod;
61 ULONG nCurState;
63 void ImplCreate();
64 void ImplOpenSourceManager();
65 void ImplOpenSource();
66 BOOL ImplEnableSource();
67 void ImplXfer();
68 void ImplFallback( ULONG nEvent );
70 DECL_LINK( ImplFallbackHdl, void* );
71 DECL_LINK( ImplDestroyHdl, void* );
73 public:
75 BOOL ImplHandleMsg( void* pMsg );
77 #ifdef OS2
78 HAB hAB;
79 HWND hTwainWnd;
80 long hTwainHook;
81 #else
82 HWND hTwainWnd;
83 HHOOK hTwainHook;
84 #endif
86 public:
88 ImpTwain( const Link& rNotifyLink );
89 ~ImpTwain();
91 void Destroy();
93 BOOL SelectSource();
94 BOOL InitXfer();
95 Bitmap GetXferBitmap();
98 #endif // _TWAIN_HXX