1 /*   drawingP.h
2 * ===========================================================================
3 *
4 *                            PUBLIC DOMAIN NOTICE
5 *            National Center for Biotechnology Information (NCBI)
6 *
7 *  This software/database is a "United States Government Work" under the
8 *  terms of the United States Copyright Act.  It was written as part of
9 *  the author's official duties as a United States Government employee and
10 *  thus cannot be copyrighted.  This software/database is freely available
11 *  to the public for use. The National Library of Medicine and the U.S.
12 *  Government do not place any restriction on its use or reproduction.
13 *  We would, however, appreciate having the NCBI and the author cited in
14 *  any work or product based on this material
15 *
16 *  Although all reasonable efforts have been taken to ensure the accuracy
17 *  and reliability of the software and data, the NLM and the U.S.
18 *  Government do not and cannot warrant the performance or results that
19 *  may be obtained by using this software or data. The NLM and the U.S.
20 *  Government disclaim all warranties, express or implied, including
21 *  warranties of performance, merchantability or fitness for any particular
22 *  purpose.
23 *
24 * ===========================================================================
25 *
26 * File Name:  drawingP.h
27 *
28 * Author:  Jonathan Kans, Alex Smirnov, Jill Shermer
29 *
30 * Version Creation Date:   11/13/92
31 *
32 * $Revision: 6.2 $
33 *
34 * File Description:
35 *
36 * Modifications:
37 * --------------------------------------------------------------------------
38 * Date     Name        Description of modification
39 * -------  ----------  -----------------------------------------------------
40 *
41 *
42 * $Log: drawingp.h,v $
43 * Revision 6.2  2002/03/20 22:10:52  kans
44 * set small/medium/large font prototyped in drawingp.h and viewer.h
45 *
46 * Revision 6.1  1999/10/04 17:16:32  kans
47 * include ncbidraw.h instead of vibrant.h, a couple Nlm_ prefixes
48 *
49 * Revision 6.0  1997/08/25 18:55:43  madden
50 * Revision changed to 6.0
51 *
52 * Revision 5.0  1996/05/28 13:45:08  ostell
53 * Set to revision 5.0
54 *
55  * Revision 4.1  1995/11/07  23:21:53  kans
56  * moved Nlm_DrawSegment from viewer.c to drawing.c (for GIF without Vibrant)
57  *
58  * Revision 4.0  1995/07/26  13:51:04  ostell
59  * force revision to 4.0
60  *
61  * Revision 1.12  1995/05/17  15:15:14  kans
62  * added Log line
63  *
64 *
65 * ==========================================================================
66 */
67 
68 #ifndef _DRAWINGP_
69 #define _DRAWINGP_
70 
71 #ifndef _NCBIDRAW_
72 #include <ncbidraw.h>
73 #endif
74 
75 #ifndef _PICTURE_
76 #include <picture.h>
77 #endif
78 
79 #ifndef _PICTUREP_
80 #include <picturep.h>
81 #endif
82 
83 #ifndef _MAPPINGP_
84 #include <mappingp.h>
85 #endif
86 
87 #ifdef __cplusplus
88 extern "C" {
89 #endif
90 
91 /*****************************************************************************
92 *
93 *   EXTERNAL VARIABLES
94 *
95 *****************************************************************************/
96 
97 extern Nlm_FonT  Nlm_smallFont;
98 extern Nlm_FonT  Nlm_mediumFont;
99 extern Nlm_FonT  Nlm_largeFont;
100 
101 extern AttPData blackAttPData;
102 extern AttPData whiteAttPData;
103 
104 /*****************************************************************************
105 *
106 *   FUNCTION PROTOTYPES
107 *
108 *****************************************************************************/
109 
110 extern void Nlm_DrawPrimitive PROTO((Nlm_BasePPtr item,
111 Nlm_DrawInfoPtr drawinfo));
112 extern Nlm_Boolean Nlm_PrimitiveIsCloseToPoint PROTO((Nlm_BasePPtr item,
113 Nlm_ScalePtr scale));
114 extern Nlm_Boolean Nlm_TryHighlightPrimitive PROTO((Nlm_BasePPtr item,
115 Nlm_Int1 highlight));
116 extern Nlm_Boolean Nlm_TryOffsetPrimitive PROTO((Nlm_BasePPtr item,
117 Nlm_Int4 deltaX, Nlm_Int4 deltaY));
118 extern Nlm_Boolean Nlm_TryGetPrimitiveLimits PROTO((Nlm_BasePPtr item,
119 Nlm_Int4 scaleX, Nlm_Int4 scaleY, Nlm_BoxPtr pLimits));
120 extern void Nlm_CleanupPrimitive PROTO((Nlm_BasePPtr item));
121 
122 extern void Nlm_DrawSegment PROTO((SegPPtr seg, Nlm_DrawInfoPtr drawinfoPtr ));
123 
124 extern Nlm_FonT Nlm_SetSmallFont  PROTO((void));
125 extern Nlm_FonT Nlm_SetMediumFont PROTO((void));
126 extern Nlm_FonT Nlm_SetLargeFont  PROTO((void));
127 
128 #define smallFont Nlm_smallFont
129 #define mediumFont Nlm_mediumFont
130 #define largeFont Nlm_largeFont
131 #define DrawPrimitive Nlm_DrawPrimitive
132 
133 #define PrimitiveIsCloseToPoint Nlm_PrimitiveIsCloseToPoint
134 #define TryHighlightPrimitive Nlm_TryHighlightPrimitive
135 #define TryOffsetPrimitive Nlm_TryOffsetPrimitive
136 #define TryGetPrimitiveLimits Nlm_TryGetPrimitiveLimits
137 #define CleanupPrimitive Nlm_CleanupPrimitive
138 #ifndef SetSmallFont
139 #define SetSmallFont Nlm_SetSmallFont
140 #endif
141 #ifndef SetMediumFont
142 #define SetMediumFont Nlm_SetMediumFont
143 #endif
144 #ifndef SetLargeFont
145 #define SetLargeFont Nlm_SetLargeFont
146 #endif
147 
148 #ifdef __cplusplus
149 }
150 #endif
151 
152 #endif
153