convert line ends
[canaan.git] / prj / cam / src / deepc / game / dpcmlook.cpp
blob202edf63046fd1e459d5cdd402449c391ca7ef1b
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 #include <2d.h>
8 #include <resapi.h>
10 #include <dpcovrly.h>
11 #include <dpcovcst.h>
12 #include <dpcutils.h>
13 #include <dpcgame.h>
14 #include <dpcifstr.h>
16 #include <scrnmode.h>
18 // ui library not C++ ized properly yet
19 extern "C" {
20 #include <event.h>
21 #include <gadbox.h>
22 #include <gadblist.h>
23 #include <gadbutt.h>
26 static IRes *gButtBack;
28 static Rect full_rect = {{281,434},{281 + 78, 434 + 44}};
29 static Rect close_rect = {{23,3},{23 + 32, 3 + 40}};
31 static LGadButton close_button;
32 static DrawElement close_elem;
33 static IRes *close_handles[2];
34 static grs_bitmap *close_bitmaps[4];
36 //--------------------------------------------------------------------------------------
37 void DPCMouseModeInit(int )
39 // @NOTE: TEMPCODE
40 #if 0
41 int i;
43 close_handles[0] = LoadPCX("ML0");
44 close_handles[1] = LoadPCX("ML1");
45 close_bitmaps[0] = (grs_bitmap *) close_handles[0]->Lock();
46 close_bitmaps[1] = (grs_bitmap *) close_handles[1]->Lock();
47 for (i = 2; i < 4; i++)
49 close_bitmaps[i] = close_bitmaps[0];
52 gButtBack = LoadPCX("MICELOOK");
54 Rect use_rect;
55 sScrnMode smode;
56 ScrnModeGet(&smode);
58 if (smode.w > 640)
60 use_rect.ul.x = (smode.w - RectWidth(&full_rect)) / 2;
61 use_rect.ul.y = smode.h - RectHeight(&full_rect);
62 use_rect.lr.x = use_rect.ul.x + RectWidth(&full_rect);
63 use_rect.lr.y = use_rect.ul.y + RectHeight(&full_rect);
64 DPCOverlaySetRect(kOverlayMouseMode,use_rect);
66 else
67 DPCOverlaySetRect(kOverlayMouseMode,full_rect);
68 #endif // 0
71 //--------------------------------------------------------------------------------------
72 void DPCMouseModeTerm(void)
74 // @NOTE: TEMPCODE
75 #if 0
76 SafeFreeHnd(&gButtBack);
78 close_handles[0]->Unlock();
79 close_handles[1]->Unlock();
80 SafeFreeHnd(&close_handles[0]);
81 SafeFreeHnd(&close_handles[1]);
82 #endif // 0
85 //--------------------------------------------------------------------------------------
86 void DPCMouseModeDraw(unsigned long inDeltaTicks)
88 // @NOTE: TEMPCODE
89 #if 0
90 Rect r = DPCOverlayGetRect(kOverlayMouseMode);
92 DrawByHandle(gButtBack,r.ul);
94 LGadDrawBox(VB(&close_button),NULL);
96 Point mpt;
97 mouse_get_xy(&mpt.x,&mpt.y);
98 if (RectTestPt(&r,mpt))
99 DPCStringFetch(gHelpString,sizeof(gHelpString),"MouseHelpMouseMode","misc");
100 #endif // 0
102 //--------------------------------------------------------------------------------------
103 void DeferredMouseMode(void *)
105 MouseMode(FALSE,TRUE);
107 //--------------------------------------------------------------------------------------
108 static bool close_cb(short action, void* data, LGadBox* vb)
110 uiDefer(DeferredMouseMode,NULL);
111 return(TRUE);
113 //--------------------------------------------------------------------------------------
114 static void BuildInterfaceButtons(void)
116 // @NOTE: TEMPCODE
117 #if 0
118 Rect r = DPCOverlayGetRect(kOverlayMouseMode);
120 close_elem.draw_type = DRAWTYPE_BITMAPOFFSET;
121 close_elem.draw_data = close_bitmaps;
122 close_elem.draw_data2 = (void *)4; // should be 2 but hackery required
124 LGadCreateButtonArgs(&close_button, LGadCurrentRoot(), close_rect.ul.x + r.ul.x, close_rect.ul.y + r.ul.y,
125 RectWidth(&close_rect), RectHeight(&close_rect), &close_elem, close_cb, 0);
126 #endif // 0
129 //--------------------------------------------------------------------------------------
130 static void DestroyInterfaceButtons(void)
132 #if 0
133 LGadDestroyBox(VB(&close_button),FALSE);
134 #endif
136 //--------------------------------------------------------------------------------------
137 void DPCMouseModeStateChange(int which)
139 if (DPCOverlayCheck(which))
141 BuildInterfaceButtons();
143 else
145 DestroyInterfaceButtons();
148 //--------------------------------------------------------------------------------------
150 sOverlayFunc OverlayMouseMode =
152 DPCMouseModeDraw, // draw
153 DPCMouseModeInit, // init
154 DPCMouseModeTerm, // term
155 NULL, // mouse
156 NULL, // dclick (really use)
157 NULL, // dragdrop
158 NULL, // key
159 NULL, // bitmap
160 "", // upschema
161 "", // downschema
162 DPCMouseModeStateChange, // state
163 NULL, // transparency
164 0, // distance
165 TRUE, // needmouse