# source:trunk/SYMPHONY/Doc/man-dg.tex@2040

Last change on this file since 2040 was 1869, checked in by tkr, 3 years ago

• Property svn:eol-style set to native
• Property svn:keywords set to Author Date Id Revision
File size: 4.6 KB
Line
1%===========================================================================%
2%                                                                           %
3% This file is part of the documentation for the SYMPHONY MILP Solver.      %
4%                                                                           %
5% SYMPHONY was jointly developed by Ted Ralphs (ted@lehigh.edu) and         %
7%                                                                           %
9%                                                                           %
11% accompanying file for terms.                                              %
12%                                                                           %
13%===========================================================================%
14
15%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16\subsection{Draw graph module callbacks}
17
18Due to the relative simplicity of the cut pool, there are no wrapper
19functions implemented for DG. Consequently, there are no default
20options and no post-processing.
21
22%begin{latexonly}
23\bd
24%end{latexonly}
25
26%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
27% user_dg_process_message
28%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
29
30\firstfuncdef{user\_dg\_process\_message}
31\sindex[cf]{user\_dg\_process\_message}
32\begin{verbatim}
33void user_dg_process_message(void *user, window *win, FILE *write_to)
34
35\end{verbatim}
36
37\bd
38
39\describe
40
41The user has to process whatever user-defined messages are sent to the
42process. A write-to pipe to the wish process is provided so that the
43user can directly issue commands there.
44
45\args
46
47\bt{llp{250pt}}
48{\tt void *user} & INOUT & Pointer to the user-defined data structure. \\
49{\tt window *win} & INOUT & The window that received the message. \\
50{\tt FILE *write\_to} & IN & Pipe to the wish process. \\
51\et
52
53\returns
54
55\bt{lp{300pt}}
56{\tt USER\_ERROR} & Error. Message ignored. \\
57{\tt USER\_SUCCESS} & The user processed the message. \\
58\et
59
60\ed
61
62\vspace{1ex}
63
64
65%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
66% user_dg_init_window
67%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68
69\functiondef{user\_dg\_init\_window}
70\sindex[cf]{user\_dg\_init\_window}
71\begin{verbatim}
72void user_dg_init_window(void **user, window *win)
73\end{verbatim}
74
75\bd
76
77\describe
78
79The user must perform whatever initialization is necessary for
80processing later commands. This usually includes setting up the user's
81data structure for receiving and storing display data.
82
83\args
84
85\bt{llp{275pt}}
86{\tt void **user} & INOUT & Pointer to the user-defined data structure. \\
87{\tt window *win} & INOUT & \\
88\et
89
90\returns
91
92\bt{lp{300pt}}
93{\tt USER\_ERROR} & Error. Ignored. \\
94{\tt USER\_SUCCESS} & The user successfully performed initialization. \\
95\et
96
97\ed
98
99\vspace{1ex}
100
101
102%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
103% user_dg_free_window
104%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
105
106\functiondef{user\_dg\_free\_window}
107\sindex[cf]{user\_dg\_free\_window}
108\begin{verbatim}
109void user_dg_free_window(void **user, window *win)
110\end{verbatim}
111
112\bd
113
114\describe
115
116The user must free any data structures allocated.
117
118\args
119
120\bt{llp{275pt}}
121{\tt void **user} & INOUT & Pointer to the user-defined data structure. \\
122{\tt window *win} & INOUT & \\
123\et
124
125\returns
126
127\bt{lp{300pt}}
128{\tt USER\_ERROR} & Error. Ignored. \\
129{\tt USER\_SUCCESS} & The user successfully freed the data structures. \\
130\et
131
132\ed
133
134\vspace{1ex}
135
136%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
137% user_interpret_text
138%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
139
140\functiondef{user\_interpret\_text}
141\sindex[cf]{user\_interpret\_text}
142\begin{verbatim}
143void user_interpret_text(void *user, int text_length,
144                         char *text, int owner_tid)
145\end{verbatim}
146
147\bd
148
149\describe
150
151The user can interpret text input from the window.
152
153\args
154
155\bt{llp{250pt}}
156{\tt void *user} & INOUT & Pointer to the user-defined data structure. \\
157{\tt int text\_length} & IN & The length of {\tt text}. \\
158{\tt char *text} & IN &  \\
159{\tt int owner\_tid} & IN & The tid of the process that initiated this window.
160\\
161\et
162
163\returns
164
165\bt{lp{300pt}}
166{\tt USER\_ERROR} & Error. Ignored. \\
167{\tt USER\_SUCCESS} & The user successfully interpreted the text. \\
168\et
169
170\ed
171
172\vspace{1ex}
173
174%begin{latexonly}
175\ed
176%end{latexonly}
177
Note: See TracBrowser for help on using the repository browser.