source: tags/arb_5.5/PGT/tiff_image.hxx

Last change on this file was 3960, checked in by baderk, 19 years ago

Removed gcc-warnings.
Removed some memory leaks in the PGT code.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.6 KB
Line 
1// Copyright (c) 2004 - 2005 Kai Bader <baderk@in.tum.de>
2//
3// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
5// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
6// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
7// AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
8// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
9
10// CVS REVISION TAG  --  $Revision: 3960 $
11
12#ifndef TIFF_IMAGE_H
13#define TIFF_IMAGE_H
14
15#include <X11/Xatom.h>
16#include <X11/Xutil.h>
17#include <X11/Xlib.h>
18#include <tiffio.h>
19//
20#include <Xm/XmAll.h>
21//
22#include <stdio.h>
23#include <stdlib.h>
24#include <stdarg.h>
25#include <string.h>
26
27
28// RGBA COLOR MASKS (Hex: 0x00RRGGBB)
29#define MASK_RED   0x00FF0000
30#define MASK_GREEN 0x0000FF00
31#define MASK_BLUE  0x000000FF
32
33
34class TIFFimage
35{
36    public:
37        TIFFimage();
38        ~TIFFimage();
39        int width();
40        int height();
41        int size();
42        bool hasData();
43        int open(char *);
44        void close();
45        XImage *createXImage(Widget);
46        void colorFilter(uint32);
47    protected:
48        void fixRGB();
49    private:
50        uint32 *m_array; // POINTER TO IMAGE ARRAY IN MEMORY
51        uint32 m_width;  // IMAGE WIDTH (PIXELS)
52        uint32 m_height; // IMAGE HEIGHT (PIXELS)
53        uint32 m_size;   // IMAGE SIZE (WIDTH * HEIGHT)
54        bool m_ximage_colormap; // IS THE DATA USING XIMAGE COLORMAP?
55        bool m_hasData;
56        char *m_name;
57};
58
59#endif // TIFF_IMAGE_H
Note: See TracBrowser for help on using the repository browser.