update dev300-m58
[ooovba.git] / svtools / bmpmaker / bmpcore.hxx
blobc025ca5c726330c48bab86a245ad75e0b699b464
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: bmpcore.hxx,v $
10 * $Revision: 1.6 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _BMPCORE_HXX
32 #define _BMPCORE_HXX
34 #include <tools/stream.hxx>
35 #include <tools/fsys.hxx>
36 #include <vcl/bitmap.hxx>
37 #include <vector>
39 // --------------
40 // - Exit codes -
41 // --------------
43 #define EXIT_NOERROR 0
44 #define EXIT_MISSING_BITMAP 1
45 #define EXIT_NOSRSFILE 2
46 #define EXIT_NOIMGLIST 3
47 #define EXIT_DIMENSIONERROR 4
48 #define EXIT_IOERROR 5
49 #define EXIT_COMMONERROR 6
50 #define EXIT_MISSING_RESOURCE 7
51 #define EXIT_COLORDEPTHERROR 8
52 #define EXIT_MISSING_SOLARSRC_ENV 9
54 // ------------
55 // - LangInfo -
56 // ------------
58 struct LangInfo
60 char maLangDir[ 257 ];
61 USHORT mnLangNum;
64 // --------------
65 // - BmpCreator -
66 // --------------
68 class BmpCreator
70 private:
72 Bitmap aOutBmp;
73 Size aOneSize;
74 Size aTotSize;
75 Point aPos;
76 SvFileStream* pSRS;
77 ULONG nTotCount;
78 USHORT nPos;
80 void ImplCreate( const ::std::vector< DirEntry >& rInDirs,
81 const DirEntry& rOut,
82 const String& rName,
83 const LangInfo& rLang );
85 protected:
87 virtual void Message( const String& rText, BYTE cExitCode = EXIT_NOERROR );
89 public:
91 BmpCreator();
92 virtual ~BmpCreator();
94 void Create( const String& rSRSName,
95 const ::std::vector< String >& rInDirs,
96 const String& rOutName,
97 const LangInfo& rLang );
100 #endif // _BMPCORE_HXX