Use C++ linker
[oweals/cde.git] / cde / programs / dtudcfonted / xoakufont.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* xoakufont.h 1.4 - Fujitsu source for CDEnext    96/05/30 11:20:56      */
24 /* $XConsortium: xoakufont.h /main/4 1996/06/25 20:17:03 cde-fuj $ */
25 /*
26  *  (c) Copyright 1995 FUJITSU LIMITED
27  *  This is source code modified by FUJITSU LIMITED under the Joint
28  *  Development Agreement for the CDEnext PST.
29  *  This is unpublished proprietary source code of FUJITSU LIMITED
30  */
31
32
33
34 #include "fssxeg.h"
35
36 extern Widget   CreateOblB();
37 extern Widget   CreateOblBG();
38 extern Widget   CreateToglBG();
39 extern Widget   CreateToglB();
40 extern Widget   CreateRecBG();
41 extern Widget   CreateRecB();
42 extern Widget   CreateCapt();
43 extern Widget   CreateCaptG();
44 extern Widget   CreateLabelG();
45 extern Widget   CreateLabel();
46 extern void     SetString();
47
48 extern int      readSNF();
49 extern int      writeSNF();
50 extern int      ptnClose();
51 extern int      ptnAdd();
52 extern int      ptnGet();
53 extern int      ptnSense();
54 extern int      ptnDel();
55 extern int      GetInfo();
56 extern int      ptnSqToNo();
57 extern int      ptnNoToSq();
58 extern int      noToCode();
59 extern int      noToCode2();
60 extern int      codeToNo();
61 extern int      codeToNo2();
62 extern int      codeCheck();
63 extern int      codeCheck2();
64 extern void     bitSetInfo();
65 extern void     bitSet();
66 extern void     bitReset();
67 extern int      bitRead();
68 extern void     bitPtnClear();
69 extern void     bitPtnCopy();
70 extern int      bitDrawLine();
71 extern int      bitDrawRect();
72 extern int      bitDrawCls();
73 extern int      bitDrawSet();
74 extern int      bitDrawRev();
75 extern int      bitDrawCpy();
76 extern int      bitDrawMov();
77 extern int      bitDrawRoll();
78 extern int      bitDrawSymV();
79 extern int      bitDrawSymH();
80
81 #define D_MAX   10
82
83 #define SetString(w,s)  UpdateMessage((s))
84
85 #define PROC_POINT      0
86 #define PROC_LINE       1
87 #define PROC_RECT       2
88 #define PROC_CLS        3
89 #define PROC_SET        4
90 #define PROC_REV        5
91 #define PROC_CUT        6
92 #define PROC_CPY        7
93 #define PROC_PASTE      8
94 #define PROC_ROLL       9
95 #define PROC_SYMV       10
96 #define PROC_SYMH       11
97 #define PROC_CIRCLE     12
98 #define PROC_ERASE      13
99 #define PROC_SELECT     14
100
101 #define RES_MSG         (1L<<0)
102 #define RES_PROC        (1L<<1)
103 #define RES_SLCT        (1L<<2)
104 #define RES_RSV         (1L<<3)
105
106
107 #define CPY_COPY        0
108 #define CPY_OVERLAY     1
109
110
111 #define CODE_ADD        0
112 #define CODE_DEL        1
113
114 #define SET_CDSET1      0
115 #define SET_CDSET3      1
116
117
118 #define SET_NORMAL_U90_G1       0
119 #define SET_NORMAL_G1   1
120 #define SET_SYSTEM_G1   2
121 #define SET_NORMAL      3
122 #define SET_JEF         4
123 #define SET_SYSTEM      5
124
125
126
127 #define MG_MAXSIZE      100
128
129
130
131 #ifdef DEBUG
132 #define Dprintf2 printf
133 #define Dprintf  printf 
134 #else
135 #define Dprintf2
136 #define Dprintf
137 #endif
138
139
140 /**********************************************************************
141  structure 
142  **********************************************************************/
143
144 /* editting character */ 
145 typedef struct _EditChar {
146     FalFontData *fdata;
147     int         width;
148     int         height;
149     int         code;
150     int         ncode;
151     char        ptn[MAXPTNBYTE];
152     char        flag;
153
154 } EditChar; 
155
156 /* character list */
157 typedef struct _EditList {
158     int         nlist;
159     int         statloc;
160     int         slctloc;
161     int         nptn;
162     int         sqstart;
163     Dimension   list_h;
164     Dimension   elem_w;
165     Dimension   elem_h;
166     Pixel       back;
167     Pixel       border;
168 } EditList;
169
170 /* editting pane */
171 typedef struct _EditPane {
172     int         width;
173     int         height;
174     int         pix_w;
175     int         pix_h;
176     int         color;
177     int         obj;
178     Pixel       back;
179     Pixel       border;
180 } EditPane;
181
182 /* X library */
183 typedef struct _XlibInf {
184     Display     *display;
185     Window      root_winID;
186     Window      edit_winID;
187     Window      disp_winID;
188     Window      list_winID;     /* 1995.10.02 */
189     GC          borderGC;
190     GC          backGC; 
191     GC          rubGC;
192     GC          dashGC;
193     XImage      *dispImage;
194 } XlibInf;
195
196
197 typedef struct _DelInf {
198     Dimension   elem_w;
199     Dimension   elem_h;
200     Dimension   ptn_w;
201     Dimension   ptn_h;
202     Dimension   list_h;
203     int         s_ncode;
204     int         e_ncode;
205     int         sq_top; 
206     int         sq_start;
207     int         sq_end; 
208     int         disp_num;
209 } DelInf;
210
211 /* X library */
212 typedef struct _DelPtnInf {
213     Window      disp_winID;
214     XImage      *dispImage;
215     char        ptn[MAXPTNBYTE];
216 } DelPtnInf;
217
218 /* editting pattern */
219 typedef struct _EditPtnInf {
220     char        drag_f;
221     int         adj_px;
222     int         adj_py;
223     int         proc;   
224     char        slct_f;
225     int         src1_px;
226     int         src1_py;
227     int         src2_px;
228     int         src2_py;
229     int         dest_px;
230     int         dest_py;
231     char        rsv_f;
232     char        rsv_ptn[MAXPTNBYTE];    
233 } EditPtnInf;
234
235 /* copy patterns */
236 typedef struct _CopyPtnInf {
237 /*  int         size;*/
238     FalFontData *fdata;
239     int         s1_code;
240     int         s2_code;
241     int         d1_code;
242     int         proc;
243 } CopyPtnInf;
244
245 /* fonts */
246 typedef struct _FontInf {
247     int                 num;
248     FalFontDataList     *lp;
249     Widget              *RecB;
250 } FontInf;
251
252 /**********************************************************************
253  
254  
255  **********************************************************************/
256
257 #ifdef  substance_source
258 #define ex
259 #define I(x)    =(x)
260 #else
261 #define ex      extern
262 #define I(x)
263 #endif  /* substance_source */
264
265 ex  Widget      toplevel        I(NULL);
266
267 ex  Widget      editPtnW        I(NULL);
268 ex  Widget      cpyPtnW         I(NULL);
269 ex  Widget      mngPtnW         I(NULL);
270
271 ex  EditChar    edg
272 #ifdef  substance_source
273 ={ 0,0,0,0,0,0,0, OFF }
274 #endif  /* substance_source */
275 ;
276 ex  EditList    edlist
277 #ifdef  substance_source
278         ={ EDLIST_MAX, 0,0,0,0,0,0,0,0,0 }
279 #endif  /* substance_source */
280 ;
281 EditPane        edpane
282 #ifdef  substance_source
283         ={ EDPANE_SIZE, EDPANE_SIZE, 0,0,0,0,0,0 }
284 #endif  /* substance_source */
285 ;
286 ex  XlibInf     xl;
287 ex  DelInf      dn
288 #ifdef  substance_source
289         ={ 0,0,0,0,0,0,0,0,0,0,0 }
290 #endif  /* substance_source */
291 ;
292 ex  DelPtnInf   dl[D_MAX] ;
293 ex  DelPtnInf   dl_glyph[EDLIST_MAX] ;           /* add dl_disp 1995.09.20 */
294 ex  int         sq_disp[EDLIST_MAX] ;            /* add sq_disp 1995.09.20 */
295
296 ex  EditPtnInf  em
297 #ifdef  substance_source
298         ={ OFF,0,0,0,0,0,0,0,0,0,0,0,0,0 }
299 #endif  /* substance_source */
300 ;
301 ex  CopyPtnInf  cpm
302 #ifdef  substance_source
303         ={ 0,0,0,0,0 }
304 #endif  /* substance_source */
305 ;
306
307 #undef  ex
308 #undef  I
309  
310
311 /*
312  * resources for font editor
313  */
314
315 #include"ufontrsrc.h"           /* 1995.06.28 H.Chiba */
316
317
318 /*Resource resource; del 1995.05.30 H.Chiba BSC */
319
320
321 #ifdef substance_source                 /* add 1995.06.29 H.Chiba -> */
322
323
324 /* CreateCaptionFrame() */
325 Boolean         capt_resize     = True ;                /* resizable:   */
326 int             capt_lftoff     = 2 ;                   /* leftOffset:  */
327 int             capt_topoff     = 2 ;                   /* topOffset:   */
328 int             capt_rghoff     = 2 ;                   /* rightOffset: */
329
330 Pixel           pane_background;
331 Pixel           pane_foreground;
332
333 /* CreateMenuButtons() */
334 Dimension       menu_margin     = 0 ;                   /* margin:      */
335
336 /* CreateDialogAndButtons() */
337 Boolean         dia_tm_automng  = False ;               /* autoUnmanage: */
338 Dimension       dia_tm_width    = 4 ;                   /* marginWidth:  */
339 Dimension       dia_tm_height   = 4 ;                   /* marginHeight: */
340 Boolean         dia_tm_resize   = True ;                /* noResize:     */
341 Boolean         dia_tm_minimize = True ;                /* minimizeButtons: */
342
343 Dimension       dia_rw_width    = 6 ;                   /* marginWidth:  */
344 Dimension       dia_rw_height   = 6 ;                   /* marginHeight: */
345 Dimension       dia_rw_spacing  = 4 ;                   /* spacing:      */ 
346
347 /* CreateDrawingArea() */
348 Dimension       draw_border     = 1 ;                   /* borderWidth: */
349 int             draw_topoff     = 2 ;                   /* topOffset:   */
350 int             draw_lftoff     = 2 ;                   /* leftOffset:  */
351
352 /* PopupNotice() */
353 Boolean         pop_resize      = True ;                /* noResize:    */
354 Boolean         pop_minimize    = True ;                /* minimizeButtons: */
355
356 /* CreateTemplateDialog() */
357 Boolean         temp_resize     = True ;                /* noResize:    */
358 Boolean         temp_minimize   = True ;                /* minimizeButtons: */
359
360 Dimension       temp_width      = 1 ;                   /* width:       */
361 Dimension       temp_height     = 1 ;                   /* height:      */
362
363 /* CreateMenuBarAndFooterMessageForm() */
364 #if 0
365 ed_functions    = ( MWM_FUNC_MOVE | MWM_FUNC_MINIMIZE | MWM_FUNC_CLOSE ) ;/* mwmFunctions:      */
366 #endif
367
368 int             ed_bar_topoff   = 1 ;                   /* topOffset:   */
369 int             ed_bar_lftoff   = 1 ;                   /* leftOffset:  */
370 int             ed_bar_rghoff   = 1 ;                   /* rightOffset: */
371
372 int             ed_frm_btmoff   = 3 ;                   /* bottomOffset: */
373 int             ed_frm_lftoff   = 3 ;                   /* leftOffset:   */
374 int             ed_frm_rghoff   = 3 ;                   /* rightOffset:  */
375
376 Dimension       ed_msg_margintop = 3 ;                  /* marginTop:    */
377 Dimension       ed_msg_marginbtm = 3 ;                  /* marginBottom: */
378
379 Dimension       ed_mesg_margintop = 3 ;                 /* marginTop:    */
380 Dimension       ed_mesg_marginbtm = 3 ;                 /* marginBottom: */
381
382 int             ed_sep_btmoff   = 3 ;                   /* bottomOffset: */
383 int             ed_sep_lftoff   = 0 ;                   /* leftOffset:   */
384 int             ed_sep_rghoff   = 0 ;                   /* rightOffset:  */
385 Dimension       ed_sep_margin   = 0 ;                   /* margin:       */
386
387 int             ed_wge_topoff   = 10 ;                  /* topOffset:    */
388 int             ed_wge_lftoff   = 10 ;                  /* leftOffset:   */
389 int             ed_wge_rghoff   = 10 ;                  /* rightOffset:  */
390 int             ed_wge_btmoff   = 10 ;                  /* bottomOffset: */
391
392 /* CreateFrame() */
393 Boolean         frame_resize    = False ;               /* resizable:    */
394
395 /* CreateScrollBase() */
396 Dimension       scll_fr_width   = 500 ;                 /* width:        */
397
398 Dimension       scll_fr_thick   = 2 ;                   /* shadowThickness: */
399
400 int             scll_bar_lftoff = 4 ;                   /* leftOffset:   */
401
402 #endif  /* substance_source */  /* -> add 1995.06.29 H.Chiba */
403
404 /**********/