NCBI C Toolkit Cross Reference

C/vibrant/mappingp.h


  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 

source navigation ]   [ diff markup ]   [ identifier search ]   [ freetext search ]   [ file search ]  

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.