1 /* ************************************************************************** */
2 /* *             For conditions of distribution and use,                    * */
3 /* *                see copyright notice in libmng.h                        * */
4 /* ************************************************************************** */
5 /* *                                                                        * */
6 /* * project   : libmng                                                     * */
7 /* * file      : libmng_display.h          copyright (c) 2000 G.Juyn        * */
8 /* * version   : 1.0.0                                                      * */
9 /* *                                                                        * */
10 /* * purpose   : Display management (definition)                            * */
11 /* *                                                                        * */
12 /* * author    : G.Juyn                                                     * */
13 /* * web       : http://www.3-t.com                                         * */
14 /* * email     : mailto:info@3-t.com                                        * */
15 /* *                                                                        * */
16 /* * comment   : Definition of the display managament routines              * */
17 /* *                                                                        * */
18 /* * changes   : 0.5.1 - 05/08/2000 - G.Juyn                                * */
19 /* *             - changed strict-ANSI stuff                                * */
20 /* *                                                                        * */
21 /* *             0.5.2 - 05/20/2000 - G.Juyn                                * */
22 /* *             - added JNG support stuff                                  * */
23 /* *                                                                        * */
24 /* *             0.5.3 - 06/16/2000 - G.Juyn                                * */
25 /* *             - changed progressive-display processing                   * */
26 /* *             0.5.3 - 06/22/2000 - G.Juyn                                * */
27 /* *             - added support for delta-image processing                 * */
28 /* *             - added support for PPLT chunk processing                  * */
29 /* *                                                                        * */
30 /* *             0.9.2 - 08/05/2000 - G.Juyn                                * */
31 /* *             - changed file-prefixes                                    * */
32 /* *             0.9.3 - 08/07/2000 - G.Juyn                                * */
33 /* *             - B111300 - fixup for improved portability                 * */
34 /* *             0.9.3 - 08/26/2000 - G.Juyn                                * */
35 /* *             - added MAGN chunk                                         * */
36 /* *             0.9.3 - 10/16/2000 - G.Juyn                                * */
37 /* *             - added JDAA chunk                                         * */
38 /* *                                                                        * */
39 /* *             0.9.4 - 11/24/2000 - G.Juyn                                * */
40 /* *             - moved restore of object 0 to libmng_display              * */
41 /* *                                                                        * */
42 /* ************************************************************************** */
43 
44 #if defined(__BORLANDC__) && defined(MNG_STRICT_ANSI)
45 #pragma option -A                      /* force ANSI-C */
46 #endif
47 
48 #ifndef _libmng_display_h_
49 #define _libmng_display_h_
50 
51 /* ************************************************************************** */
52 
53 mng_retcode display_progressive_refresh (mng_datap  pData,
54                                          mng_uint32 iInterval);
55 
56 /* ************************************************************************** */
57 
58 mng_retcode mng_reset_objzero     (mng_datap      pData);
59 
60 mng_retcode display_image         (mng_datap      pData,
61                                    mng_imagep     pImage,
62                                    mng_bool       bLayeradvanced);
63 
64 mng_retcode execute_delta_image   (mng_datap      pData,
65                                    mng_imagep     pTarget,
66                                    mng_imagep     pDelta);
67 
68 /* ************************************************************************** */
69 
70 mng_retcode process_display       (mng_datap      pData);
71 
72 /* ************************************************************************** */
73 
74 mng_retcode process_display_ihdr  (mng_datap      pData);
75 
76 mng_retcode process_display_idat  (mng_datap      pData,
77                                    mng_uint32     iRawlen,
78                                    mng_uint8p     pRawdata);
79 
80 mng_retcode process_display_iend  (mng_datap      pData);
81 mng_retcode process_display_mend  (mng_datap      pData);
82 mng_retcode process_display_defi  (mng_datap      pData);
83 
84 mng_retcode process_display_basi  (mng_datap      pData,
85                                    mng_uint16     iRed,
86                                    mng_uint16     iGreen,
87                                    mng_uint16     iBlue,
88                                    mng_bool       bHasalpha,
89                                    mng_uint16     iAlpha,
90                                    mng_uint8      iViewable);
91 
92 mng_retcode process_display_clon  (mng_datap      pData,
93                                    mng_uint16     iSourceid,
94                                    mng_uint16     iCloneid,
95                                    mng_uint8      iClonetype,
96                                    mng_bool       bHasdonotshow,
97                                    mng_uint8      iDonotshow,
98                                    mng_uint8      iConcrete,
99                                    mng_bool       bHasloca,
100                                    mng_uint8      iLocationtype,
101                                    mng_int32      iLocationx,
102                                    mng_int32      iLocationy);
103 mng_retcode process_display_clon2 (mng_datap      pData);
104 
105 mng_retcode process_display_disc  (mng_datap      pData,
106                                    mng_uint32     iCount,
107                                    mng_uint16p    pIds);
108 
109 mng_retcode process_display_fram  (mng_datap      pData,
110                                    mng_uint8      iFramemode,
111                                    mng_uint8      iChangedelay,
112                                    mng_uint32     iDelay,
113                                    mng_uint8      iChangetimeout,
114                                    mng_uint32     iTimeout,
115                                    mng_uint8      iChangeclipping,
116                                    mng_uint8      iCliptype,
117                                    mng_int32      iClipl,
118                                    mng_int32      iClipr,
119                                    mng_int32      iClipt,
120                                    mng_int32      iClipb);
121 mng_retcode process_display_fram2 (mng_datap      pData);
122 
123 mng_retcode process_display_move  (mng_datap      pData,
124                                    mng_uint16     iFromid,
125                                    mng_uint16     iToid,
126                                    mng_uint8      iMovetype,
127                                    mng_int32      iMovex,
128                                    mng_int32      iMovey);
129 
130 mng_retcode process_display_clip  (mng_datap      pData,
131                                    mng_uint16     iFromid,
132                                    mng_uint16     iToid,
133                                    mng_uint8      iCliptype,
134                                    mng_int32      iClipl,
135                                    mng_int32      iClipr,
136                                    mng_int32      iClipt,
137                                    mng_int32      iClipb);
138 
139 mng_retcode process_display_show  (mng_datap      pData);
140 mng_retcode process_display_save  (mng_datap      pData);
141 mng_retcode process_display_seek  (mng_datap      pData);
142 mng_retcode process_display_jhdr  (mng_datap      pData);
143 
144 mng_retcode process_display_jdaa  (mng_datap      pData,
145                                    mng_uint32     iRawlen,
146                                    mng_uint8p     pRawdata);
147 
148 mng_retcode process_display_jdat  (mng_datap      pData,
149                                    mng_uint32     iRawlen,
150                                    mng_uint8p     pRawdata);
151 
152 mng_retcode process_display_dhdr  (mng_datap      pData,
153                                    mng_uint16     iObjectid,
154                                    mng_uint8      iImagetype,
155                                    mng_uint8      iDeltatype,
156                                    mng_uint32     iBlockwidth,
157                                    mng_uint32     iBlockheight,
158                                    mng_uint32     iBlockx,
159                                    mng_uint32     iBlocky);
160 
161 mng_retcode process_display_prom  (mng_datap      pData,
162                                    mng_uint8      iBitdepth,
163                                    mng_uint8      iColortype,
164                                    mng_uint8      iFilltype);
165 
166 mng_retcode process_display_ipng  (mng_datap      pData);
167 mng_retcode process_display_ijng  (mng_datap      pData);
168 
169 mng_retcode process_display_pplt  (mng_datap      pData,
170                                    mng_uint8      iType,
171                                    mng_uint32     iCount,
172                                    mng_palette8ep paIndexentries,
173                                    mng_uint8p     paAlphaentries,
174                                    mng_uint8p     paUsedentries);
175 
176 mng_retcode process_display_magn  (mng_datap      pData,
177                                    mng_uint16     iFirstid,
178                                    mng_uint16     iLastid,
179                                    mng_uint16     iMethodX,
180                                    mng_uint16     iMX,
181                                    mng_uint16     iMY,
182                                    mng_uint16     iML,
183                                    mng_uint16     iMR,
184                                    mng_uint16     iMT,
185                                    mng_uint16     iMB,
186                                    mng_uint16     iMethodY);
187 mng_retcode process_display_magn2 (mng_datap      pData);
188 
189 /* ************************************************************************** */
190 
191 #endif /* _libmng_display_h_ */
192 
193 /* ************************************************************************** */
194 /* * end of file                                                            * */
195 /* ************************************************************************** */
196