|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/vibrant/mappingp.h |
source navigation diff markup identifier search freetext search file search |
1 /* mappingP.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: mappingP.h
27 *
28 * Author: Jonathan Kans, Alex Smirnov, Jill Shermer
29 *
30 * Version Creation Date: 1/19/93
31 *
32 * $Revision: 6.3 $
33 *
34 * File Description:
35 *
36 * Modifications:
37 * --------------------------------------------------------------------------
38 * $Log: mappingp.h,v $
39 * Revision 6.3 1999/10/04 17:16:32 kans
40 * include ncbidraw.h instead of vibrant.h, a couple Nlm_ prefixes
41 *
42 * Revision 6.2 1999/08/06 18:51:11 vakatov
43 * typo fixed
44 *
45 * Revision 6.1 1999/08/06 18:42:34 vakatov
46 * Moved "NormalizeBox()" from "viewer.c" to "mappingp.[ch]" & made it public
47 *
48 * ==========================================================================
49 */
50
51 #ifndef _MAPPINGP_
52 #define _MAPPINGP_
53
54 #ifndef _NCBIDRAW_
55 #include <ncbidraw.h>
56 #endif
57
58 #ifndef _PICTURE_
59 #include <picture.h>
60 #endif
61
62 #ifndef _PICTUREP_
63 #include <picturep.h>
64 #endif
65
66 #ifdef __cplusplus
67 extern "C" {
68 #endif
69
70
71 /*****************************************************************************
72 * STRUCTURE TYPEDEFS
73 *****************************************************************************/
74
75 typedef struct Nlm_scaleinfo {
76 Nlm_BoxInfo worldWindow;
77 Nlm_BoxInfo worldWindow16;
78 Nlm_Int4 scaleX;
79 Nlm_Int4 scaleY;
80 Nlm_Int4 offsetX;
81 Nlm_Int4 offsetY;
82 } Nlm_ScaleInfo, PNTR Nlm_ScalePtr;
83
84 typedef struct Nlm_drawinfo {
85 Nlm_AttPPtr primattrib;
86 Nlm_ScaleInfo scale;
87 Nlm_AttPData curattrib;
88 Nlm_Boolean checked;
89 Nlm_Int1 highlight;
90 } Nlm_DrawInfo, PNTR Nlm_DrawInfoPtr;
91
92 typedef struct Nlm_vscaleinfo {
93 Nlm_BoxInfo world;
94 Nlm_RecT view;
95 Nlm_BoxInfo port;
96 Nlm_Int4 scaleX;
97 Nlm_Int4 scaleY;
98 Nlm_Int2 scrollX;
99 Nlm_Int2 scrollY;
100 Nlm_Boolean force;
101 } Nlm_VScaleInfo, PNTR Nlm_VScalePtr;
102
103
104 /*****************************************************************************
105 * FUNCTIONS
106 *****************************************************************************/
107
108 extern void Nlm_LoadBox
109 (BoxPtr box, Int4 left, Int4 top, Int4 right, Int4 bottom);
110
111 extern void Nlm_OutsetBox
112 (BoxPtr box, Int4 dX, Int4 dY);
113
114 extern void Nlm_NormalizeBox
115 (Nlm_BoxInfo* box);
116
117 extern void Nlm_MapWorldPointToPixel
118 (Nlm_PointPtr pt, Nlm_PntPtr pnt, Nlm_ScalePtr scale);
119
120 extern void Nlm_MapPixelPointToWorld
121 (Nlm_PntPtr pnt, Nlm_PointPtr pt, Nlm_ScalePtr scale);
122
123 extern void Nlm_MapWorldBoxToRect
124 (Nlm_RectPtr r, Nlm_BoxPtr box, Nlm_ScalePtr scale);
125
126 extern void Nlm_MapRectToWorldBox
127 (Nlm_BoxPtr box, Nlm_RectPtr r, Nlm_ScalePtr scale);
128
129 extern Nlm_Boolean Nlm_BoxInViewport
130 (Nlm_RectPtr rct, Nlm_BoxPtr box, Nlm_VScalePtr scale);
131
132 extern Nlm_Boolean Nlm_LineIntoVPort
133 (Nlm_Int4Ptr x1, Nlm_Int4Ptr y1, Nlm_Int4Ptr x2, Nlm_Int4Ptr y2,
134 Nlm_BoxPtr worldWindow);
135
136 extern Nlm_Boolean Nlm_IsLineInVPort
137 (Nlm_Int4 x1, Nlm_Int4 y1, Nlm_Int4 x2, Nlm_Int4 y2,
138 Nlm_BoxPtr worldWindow);
139
140 extern Nlm_SegmenT Nlm_SearchSegment
141 (Nlm_SegmenT segment, Nlm_ScalePtr scalePtr, Nlm_PrimitivE PNTR prPtr);
142
143
144 /*****************************************************************************
145 * DEFINES
146 *****************************************************************************/
147
148 #define ScaleInfo Nlm_ScaleInfo
149 #define ScalePtr Nlm_ScalePtr
150 #define DrawInfo Nlm_DrawInfo
151 #define DrawInfoPtr Nlm_DrawInfoPtr
152 #define VScaleInfo Nlm_VScaleInfo
153 #define VScalePtr Nlm_VScalePtr
154 #define LoadBox Nlm_LoadBox
155 #define OutsetBox Nlm_OutsetBox
156 #define NormalizeBox Nlm_NormalizeBox
157 #define MapWorldPointToPixel Nlm_MapWorldPointToPixel
158 #define MapPixelPointToWorld Nlm_MapPixelPointToWorld
159 #define MapWorldBoxToRect Nlm_MapWorldBoxToRect
160 #define MapRectToWorldBox Nlm_MapRectToWorldBox
161 #define BoxInViewport Nlm_BoxInViewport
162 #define LineIntoVPort Nlm_LineIntoVPort
163 #define IsLineInVPort Nlm_IsLineInVPort
164 #define SearchSegment Nlm_SearchSegment
165
166 #ifdef __cplusplus
167 }
168 #endif
169
170 #endif /* _MAPPINGP_ */
171 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |