|
NCBI Home IEB Home C Toolkit docs C++ Toolkit source browser C Toolkit source browser (2) |
NCBI C Toolkit Cross ReferenceC/vibrant/ncbiport.h |
source navigation diff markup identifier search freetext search file search |
1 /* ncbiport.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: ncbiport.h
27 *
28 * Author: Jonathan Kans
29 *
30 * Version Creation Date: 1/1/91
31 *
32 * $Revision: 6.2 $
33 *
34 * File Description:
35 * Vibrant drawing port specification definitions
36 *
37 * Modifications:
38 * --------------------------------------------------------------------------
39 * Date Name Description of modification
40 * ------- ---------- -----------------------------------------------------
41 *
42 * ==========================================================================
43 */
44
45 #ifndef _NCBIPORT_
46 #define _NCBIPORT_
47
48 #ifndef _NCBI_
49 #include <ncbi.h>
50 #endif
51 #ifndef _NCBIDRAW_
52 #include <ncbidraw.h>
53 #endif
54 #ifndef _NCBIWIN_
55 #include <ncbiwin.h>
56 #endif
57
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61
62 /* Quartz requires ATSUI, so ensure that the dependency is filled */
63 #if defined(WIN_MAC_QUARTZ) && !defined(WIN_MAC_ATSUI)
64 #define WIN_MAC_ATSUI
65 #endif
66
67 #ifdef WIN_MAC
68 #define Nlm_PointTool Point
69 #define Nlm_RectTool Rect
70
71 #ifdef WIN_MAC_QUARTZ
72 #define Nlm_RgnTool HIMutableShapeRef
73 #else
74 #define Nlm_RgnTool RgnHandle
75 #endif
76
77 #ifdef WIN_MAC_ATSUI
78 #define Nlm_FontTool ATSUStyle
79 #else
80 #define Nlm_FontTool Nlm_Handle
81 #endif
82
83 #endif
84
85 #ifdef WIN_MSWIN
86 #define Nlm_PointTool POINT
87 #define Nlm_RectTool RECT
88 #define Nlm_RgnTool HRGN
89 #define Nlm_FontTool HFONT
90 #endif
91
92 #ifdef WIN_X
93 #define Nlm_PointTool XPoint
94 #define Nlm_RectTool XRectangle
95 #define Nlm_RgnTool Region
96 #define Nlm_FontTool XFontStruct*
97 #endif
98
99 /* The font structure is created using a handle. The FntPtr is
100 * returned by a call to Nlm_HandLock (font). Be sure to call
101 * Nlm_HandUnlock (font) after obtaining the font handle.
102 */
103
104 /* esl: includes refcnt and fontspec instead of name/size/bld... */
105 typedef struct Nlm_fontrec {
106 Nlm_FonT next;
107 Nlm_Int4 refcnt;
108 Nlm_FontSpec fontspec;
109 #ifndef WIN_GIF
110 #if defined(WIN_MAC) && ! defined(WIN_MAC_ATSUI)
111 Nlm_Int2 number;
112 Nlm_Int2 size;
113 Nlm_Int2 style;
114 #elif defined(WIN_MSWIN) || defined(WIN_X) || defined(WIN_MAC_ATSUI)
115 Nlm_FontTool handle;
116 #endif
117 #endif
118 Nlm_FonT print;
119 } Nlm_FontRec, Nlm_FontData, PNTR Nlm_FntPtr;
120
121 extern Nlm_Boolean Nlm_nowPrinting;
122
123 #ifdef WIN_MAC
124 #ifdef WIN_MAC_QUARTZ
125
126 typedef struct {
127 float r, g, b;
128 } Nlm_QuartzColor;
129 extern Nlm_QuartzColor Nlm_QuartzForeColor;
130 extern Nlm_QuartzColor Nlm_QuartzBackColor;
131 extern Nlm_Boolean Nlm_hasColorQD;
132 #else
133 extern RGBColor Nlm_RGBforeColor;
134 extern RGBColor Nlm_RGBbackColor;
135 extern Nlm_Boolean Nlm_hasColorQD;
136 #endif
137 #endif
138
139 #ifdef WIN_MSWIN
140 extern HWND Nlm_currentHWnd;
141 extern HDC Nlm_currentHDC;
142 #endif
143
144 #ifdef WIN_X
145 extern Display *Nlm_currentXDisplay;
146 extern int Nlm_currentXScreen;
147 extern Window Nlm_currentXWindow;
148 extern GC Nlm_currentXGC;
149 extern Nlm_Uint4 Nlm_XbackColor;
150 extern Nlm_Uint4 Nlm_XforeColor;
151 extern Nlm_Int2 Nlm_XOffset;
152 extern Nlm_Int2 Nlm_YOffset;
153 extern Nlm_RegioN Nlm_clpRgn;
154 extern Nlm_Boolean Nlm_hasColor;
155 #endif
156
157 #ifdef WIN_MAC
158 #ifdef WIN_MAC_QUARTZ
159 void Nlm_SetPort PROTO((CGContextRef ctx));
160 void Nlm_PushPort PROTO((CGContextRef ctx));
161 CGContextRef Nlm_PopPort PROTO((void));
162 CGContextRef Nlm_GetQuartzWindowPort PROTO((WindowRef wptr));
163 WindowRef Nlm_GetQuartzCurrentWindow PROTO((void));
164 void Nlm_SetGraphicNeedsDisplay PROTO((Nlm_GraphiC graphic));
165 #else
166 void Nlm_SetPort PROTO((GrafPtr grafptr));
167 #endif
168 void Nlm_SetPortWindowPort PROTO((WindowPtr wptr));
169
170
171 #endif
172
173 #ifdef WIN_MSWIN
174 void Nlm_SetPort PROTO((HWND hwnd, HDC hdc));
175 extern void Nlm_FontSpecToLOGFONT PROTO((Nlm_FontSpecPtr fsp, LOGFONT *lfp)); /* esl */
176 #endif
177
178 #ifdef __cplusplus
179 }
180 #endif
181
182 #endif
183 |
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more information. |