Panda3D

Loading...
Searching...
No Matches
config_pnmimagetypes.h
Go to the documentation of this file.
1/**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file config_pnmimagetypes.h
10 * @author drose
11 * @date 2000-06-17
12 */
13
14#ifndef CONFIG_PNMIMAGETYPES_H
15#define CONFIG_PNMIMAGETYPES_H
16
17#include "pandabase.h"
18
19#ifdef HAVE_PNG
20// If we are going to be including png.h (in the unrelated file
21// pnmFileTypePNG.h), be sure to include it before including setjmp.h. Ugly
22// hack due to png weirdness with setjmp.
23#include <png.h>
24#endif
25
26#include "notifyCategoryProxy.h"
27#include "configVariableInt.h"
28#include "configVariableString.h"
29#include "configVariableBool.h"
30#include "configVariableEnum.h"
31#include "sgi.h"
32
33NotifyCategoryDecl(pnmimage_sgi, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
34NotifyCategoryDecl(pnmimage_tiff, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
35NotifyCategoryDecl(pnmimage_exr, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
36NotifyCategoryDecl(pnmimage_tga, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
37NotifyCategoryDecl(pnmimage_img, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
38NotifyCategoryDecl(pnmimage_soft, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
39NotifyCategoryDecl(pnmimage_bmp, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
40NotifyCategoryDecl(pnmimage_jpg, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
41NotifyCategoryDecl(pnmimage_png, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
42NotifyCategoryDecl(pnmimage_pnm, EXPCL_PANDA_PNMIMAGETYPES, EXPTP_PANDA_PNMIMAGETYPES);
43
44 enum SGIStorageType {
45 SST_rle = STORAGE_RLE,
46 SST_verbatim = STORAGE_VERBATIM,
47};
48
49EXPCL_PANDA_PNMIMAGETYPES std::ostream &operator << (std::ostream &out, SGIStorageType sst);
50EXPCL_PANDA_PNMIMAGETYPES std::istream &operator >> (std::istream &in, SGIStorageType &sst);
51
52 extern ConfigVariableEnum<SGIStorageType> sgi_storage_type;
53 extern ConfigVariableString sgi_imagename;
54 extern ConfigVariableBool tga_rle;
55 extern ConfigVariableBool tga_colormap;
56 extern ConfigVariableBool tga_grayscale;
57
58 extern ConfigVariableInt jpeg_quality;
59
60 extern ConfigVariableInt png_compression_level;
61 extern ConfigVariableBool png_palette;
62
63 extern ConfigVariableInt bmp_bpp;
64
65 enum IMGHeaderType {
66 IHT_none,
67 IHT_short,
68 IHT_long,
69};
70
71EXPCL_PANDA_PNMIMAGETYPES std::ostream &operator << (std::ostream &out, IMGHeaderType iht);
72EXPCL_PANDA_PNMIMAGETYPES std::istream &operator >> (std::istream &in, IMGHeaderType &iht);
73
74 extern ConfigVariableEnum<IMGHeaderType> img_header_type;
75 extern ConfigVariableInt img_size;
76
77 extern EXPCL_PANDA_PNMIMAGETYPES void init_libpnmimagetypes();
78
79#endif
ConfigVariableBool
This is a convenience class to specialize ConfigVariable as a boolean type.
Definition configVariableBool.h:23
ConfigVariableEnum
This class specializes ConfigVariable as an enumerated type.
Definition configVariableEnum.h:31
ConfigVariableInt
This is a convenience class to specialize ConfigVariable as an integer type.
Definition configVariableInt.h:24
ConfigVariableString
This is a convenience class to specialize ConfigVariable as a string type.
Definition configVariableString.h:23
configVariableBool.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
configVariableEnum.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
configVariableInt.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
configVariableString.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
init_libpnmimagetypes
EXPCL_PANDA_PNMIMAGETYPES void init_libpnmimagetypes()
Initializes the library.
Definition config_pnmimagetypes.cxx:193
notifyCategoryProxy.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
pandabase.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
sgi.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.