Clean out the hack on BASS/TREBLE and suppress them in the mask as was
[wine/multimedia.git] / documentation / dlls.sgml
blobe6e1669fc1341df75b2ff16257f69de3700e19a9
1 <chapter id="dlls">
2 <title>Wine Builtin DLLs</title>
3 <para>A more detailed look at Wine's builtin DLLs...</para>
5 <sect1 id="common-controls">
6 <title>Common Controls</title>
8 <!-- FIXME: Huh? Subtitle element not available here?!? -->
9 <bridgehead renderas="sect3">
10 Their development status and their UNDOCUMENTED features and functions
11 </bridgehead>
13 <para>
14 written by Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;
15 </para>
16 <para>
17 (Extracted from <filename>wine/documentation/common_controls</filename>)
18 </para>
21 <sect2>
22 <title>1. Introduction</title>
24 <para>
25 The information provided herein is based on the dll version
26 4.72 which is included in MS Internet Explorer 4.01.
27 </para>
28 <para>
29 All information about common controls should be collected in this document.
30 </para>
31 <para>
32 All Wine programmers are encouraged to add their knowledge to this document.
33 </para>
34 </sect2>
36 <sect2>
37 <title>2. General Information</title>
39 <para>
40 Further information about common controls can be found in
41 the MS Platform SDK and the MS Internet Client SDK (most
42 recent). Information from these SDK's will NOT be repeated
43 here. Only information which can NOT be found in these SDK's
44 will be collected here. Some information in the SDK's
45 mentioned above is (intentionally???) WRONG. Corrections to
46 wrong information will be collected here too.
47 </para>
49 <sect3>
50 <title>2.1 Structure sizes of different common control versions</title>
52 <para>
53 The common controls have been continously improved in the
54 past. Some of the orignal structures had to be extended
55 and their size changed. Most of the common control
56 structures include their size as the first parameter. If a
57 control gets the wrong size in a message or function a
58 failure is very likely to occur. To avoid this, MS defined
59 new constants that reflect the structure size of older
60 <filename>COMCTL32.DLL</filename> versions. The following
61 list shows the structure size constants that are currently
62 defined in the original <filename>COMCTL32.DLL</filename>.
63 </para>
64 <note>
65 <para>
66 Some stuctures are NOT defined in wine's COMCTL32 yet.
67 </para>
68 </note>
70 <variablelist>
71 <varlistentry>
72 <term><varname>HDITEM_V1_SIZE</varname>:</term>
73 <listitem>
74 <para>The size of the <structname>HDITEM</structname>
75 structure in version 4.00.</para>
76 </listitem>
77 </varlistentry>
78 <varlistentry>
79 <term><varname>LVCOLUMN_V1_SIZE</varname>:</term>
80 <listitem>
81 <para>The size of the
82 <structname>LVCOLUMN</structname> structure in
83 version 4.00.</para>
84 </listitem>
85 </varlistentry>
86 <varlistentry>
87 <term><varname>LVHITTESTINFO_V1_SIZE</varname>:</term>
88 <listitem>
89 <para>The size of the
90 <structname>LVHITTESTINFO</structname> structure in
91 version 4.00.</para>
92 </listitem>
93 </varlistentry>
94 <varlistentry>
95 <term><varname>LVITEM_V1_SIZE</varname>:</term>
96 <listitem>
97 <para>The size of the <structname>LVITEM</structname>
98 structure in version 4.00.</para>
99 </listitem>
100 </varlistentry>
101 <varlistentry>
102 <term><varname>NMLVCUSTOMDRAW_V3_SIZE</varname>:</term>
103 <listitem>
104 <para>The size of the
105 <structname>NMLVCUSTOMDRAW</structname> structure in
106 version 4.70.</para>
107 </listitem>
108 </varlistentry>
109 <varlistentry>
110 <term><varname>NMTTDISPINFO_V1_SIZE</varname>:</term>
111 <listitem>
112 <para>The size of the
113 <structname>NMTTDISPINFO</structname> structure in
114 version 4.00.</para>
115 </listitem>
116 </varlistentry>
117 <varlistentry>
118 <term><varname>NMTVCUSTOMDRAW_V3_SIZE</varname>:</term>
119 <listitem>
120 <para>The size of the
121 <structname>NMTVCUSTOMDRAW</structname> structure in
122 version 4.70.</para>
123 </listitem>
124 </varlistentry>
125 <varlistentry>
126 <term><varname>PROPSHEETHEADER_V1_SIZE</varname>:</term>
127 <listitem>
128 <para>The size of the
129 <structname>PROPSHEETHEADER</structname> structure
130 in version 4.00.</para>
131 </listitem>
132 </varlistentry>
133 <varlistentry>
134 <term><varname>PROPSHEETPAGE_V1_SIZE</varname>:</term>
135 <listitem>
136 <para>The size of the
137 <structname>PROPSHEETPAGE</structname> structure in
138 version 4.00.</para>
139 </listitem>
140 </varlistentry>
141 <varlistentry>
142 <term><varname>REBARBANDINFO_V3_SIZE</varname>:</term>
143 <listitem>
144 <para>The size of the
145 <structname>REBARBANDINFO</structname> structure in
146 version 4.70.</para>
147 </listitem>
148 </varlistentry>
149 <varlistentry>
150 <term><varname>TTTOOLINFO_V1_SIZE</varname>:</term>
151 <listitem>
152 <para>The size of the
153 <structname>TOOLINFO</structname> structure in
154 version 4.00.</para>
155 </listitem>
156 </varlistentry>
157 <varlistentry>
158 <term><varname>TVINSERTSTRUCT_V1_SIZE</varname>:</term>
159 <listitem>
160 <para>The size of the
161 <structname>TVINSERTSTRUCT</structname> structure in
162 version 4.00.</para>
163 </listitem>
164 </varlistentry>
165 </variablelist>
166 </sect3>
167 </sect2>
169 <sect2>
170 <title>3. Controls</title>
172 <para>
173 This section describes the development status of the common controls.
174 </para>
176 <sect3>
177 <title>3.1 Animation Control</title>
179 <variablelist>
180 <varlistentry>
181 <term>Author:</term>
182 <listitem>
183 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
184 </listitem>
185 </varlistentry>
186 <varlistentry>
187 <term>Status:</term>
188 <listitem>
189 <para>Dummy control. No functionality.</para>
190 </listitem>
191 </varlistentry>
192 <varlistentry>
193 <term> Notes:</term>
194 <listitem>
195 <para>Author needed!! Any volunteers??</para>
196 </listitem>
197 </varlistentry>
198 </variablelist>
199 </sect3>
201 <sect3>
202 <title>3.2 Combo Box Ex Control</title>
204 <variablelist>
205 <varlistentry>
206 <term>Author:</term>
207 <listitem>
208 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
209 </listitem>
210 </varlistentry>
211 <varlistentry>
212 <term>Status:</term>
213 <listitem>
214 <para>Dummy control. No functionality.</para>
215 </listitem>
216 </varlistentry>
217 <varlistentry>
218 <term>Notes:</term>
219 <listitem>
220 <para>Author needed!! Any volunteers??</para>
221 </listitem>
222 </varlistentry>
223 </variablelist>
224 </sect3>
226 <sect3>
227 <title>3.3 Date and Time Picker Control</title>
229 <variablelist>
230 <varlistentry>
231 <term>Author:</term>
232 <listitem>
233 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
234 </listitem>
235 </varlistentry>
236 <varlistentry>
237 <term>Status:</term>
238 <listitem>
239 <para>Dummy control. No functionality.</para>
240 </listitem>
241 </varlistentry>
242 <varlistentry>
243 <term>Notes:</term>
244 <listitem>
245 <para>Author needed!! Any volunteers??</para>
246 </listitem>
247 </varlistentry>
248 </variablelist>
249 </sect3>
251 <sect3>
252 <title>3.4 Drag List Box Control</title>
254 <variablelist>
255 <varlistentry>
256 <term>Author:</term>
257 <listitem>
258 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
259 </listitem>
260 </varlistentry>
261 <varlistentry>
262 <term>Status:</term>
263 <listitem>
264 <para>Dummy control. No functionality.</para>
265 </listitem>
266 </varlistentry>
267 <varlistentry>
268 <term>Notes:</term>
269 <listitem>
270 <para>Author needed!! Any volunteers??</para>
271 </listitem>
272 </varlistentry>
273 </variablelist>
274 </sect3>
276 <sect3>
277 <title>3.5 Flat Scroll Bar Control</title>
279 <variablelist>
280 <varlistentry>
281 <term>Author:</term>
282 <listitem>
283 <para>Dummy written by Alex Priem. &lt;alexp@sci.kun.nl&gt;</para>
284 </listitem>
285 </varlistentry>
286 <varlistentry>
287 <term>Status:</term>
288 <listitem>
289 <para>Dummy control. No functionality.</para>
290 </listitem>
291 </varlistentry>
292 <varlistentry>
293 <term>Notes:</term>
294 <listitem>
295 <para>Author needed!! Any volunteers??</para>
296 </listitem>
297 </varlistentry>
298 </variablelist>
299 </sect3>
301 <sect3>
302 <title>3.6 Header Control</title>
304 <variablelist>
305 <varlistentry>
306 <term>Author:</term>
307 <listitem>
308 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
309 </listitem>
310 </varlistentry>
311 <varlistentry>
312 <term>Status:</term>
313 <listitem>
314 <itemizedlist>
315 <listitem>
316 <para>Almost finished.</para>
317 </listitem>
318 <listitem>
319 <para>Unicode notifications are not supported (WM_NOTIFYFORMAT).</para>
320 </listitem>
321 <listitem>
322 <para>Order array not supported.</para>
323 </listitem>
324 </itemizedlist>
325 </listitem>
326 </varlistentry>
327 </variablelist>
328 </sect3>
330 <sect3>
331 <title>3.7 Hot Key Control</title>
333 <variablelist>
334 <varlistentry>
335 <term>Author:</term>
336 <listitem>
337 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
338 </listitem>
339 </varlistentry>
340 <varlistentry>
341 <term>Status:</term>
342 <listitem>
343 <para>Dummy control. No functionality.</para>
344 </listitem>
345 </varlistentry>
346 <varlistentry>
347 <term>Notes:</term>
348 <listitem>
349 <para>Author needed!! Any volunteers??</para>
350 </listitem>
351 </varlistentry>
352 </variablelist>
353 </sect3>
355 <sect3>
356 <title>3.8 Image List (no control)</title>
358 <variablelist>
359 <varlistentry>
360 <term>Author:</term>
361 <listitem>
362 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
363 </listitem>
364 </varlistentry>
365 <varlistentry>
366 <term>Status:</term>
367 <listitem>
368 <para>Almost finished.</para>
369 </listitem>
370 </varlistentry>
371 </variablelist>
372 </sect3>
374 <sect3>
375 <title>3.9 IP Address Control</title>
377 <variablelist>
378 <varlistentry>
379 <term>Author:</term>
380 <listitem>
381 <para>
382 Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;,
383 Alex Priem &lt;alexp@sci.kun.nl&gt;
384 </para>
385 </listitem>
386 </varlistentry>
387 <varlistentry>
388 <term>Status:</term>
389 <listitem>
390 <para>Under construction.</para>
391 </listitem>
392 </varlistentry>
393 </variablelist>
394 </sect3>
396 <sect3>
397 <title>3.10 List View Control</title>
399 <variablelist>
400 <varlistentry>
401 <term>Author:</term>
402 <listitem>
403 <para>Dummy written by: </para>
404 <itemizedlist>
405 <listitem>
406 <para>Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
407 </listitem>
408 <listitem>
409 <para>Luc Tourangeau &lt;luc@macadamian.com&gt;</para>
410 </listitem>
411 <listitem>
412 <para>Koen Deforche &lt;jozef@kotnet.org&gt;</para>
413 </listitem>
414 <listitem>
415 <para>Francis Beaudet &lt;francis@macadamian.com&gt; and the "Corel-Team"</para>
416 </listitem>
417 </itemizedlist>
418 </listitem>
419 </varlistentry>
421 <varlistentry>
422 <term>Status:</term>
423 <listitem>
424 <para>Under construction.</para>
425 </listitem>
426 </varlistentry>
427 <varlistentry>
428 <term>Notes:</term>
429 <listitem>
430 <para>
431 Basic data structure with related messages are
432 supported. No painting supported yet.
433 </para>
434 </listitem>
435 </varlistentry>
436 </variablelist>
437 </sect3>
439 <sect3>
440 <title>3.11 Month Calendar Control</title>
442 <variablelist>
443 <varlistentry>
444 <term>Author:</term>
445 <listitem>
446 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
447 </listitem>
448 </varlistentry>
449 <varlistentry>
450 <term>Status:</term>
451 <listitem>
452 <para>Dummy control. No functionality.</para>
453 </listitem>
454 </varlistentry>
455 <varlistentry>
456 <term>Notes:</term>
457 <listitem>
458 <para>Author needed!! Any volunteers??</para>
459 </listitem>
460 </varlistentry>
461 </variablelist>
462 </sect3>
464 <sect3>
465 <title>3.12 Native font control</title>
467 <variablelist>
468 <varlistentry>
469 <term>Author:</term>
470 <listitem>
471 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
472 </listitem>
473 </varlistentry>
474 <varlistentry>
475 <term>Status:</term>
476 <listitem>
477 <para>Dummy control. No functionality.</para>
478 </listitem>
479 </varlistentry>
480 <varlistentry>
481 <term>Notes:</term>
482 <listitem>
483 <para>Author needed!! Any volunteers??</para>
484 </listitem>
485 </varlistentry>
486 </variablelist>
487 </sect3>
489 <sect3>
490 <title>3.13 Pager Control</title>
492 <variablelist>
493 <varlistentry>
494 <term>Author:</term>
495 <listitem>
496 <para>Dummy written by Eric Kohl. &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
497 </listitem>
498 </varlistentry>
499 <varlistentry>
500 <term>Status:</term>
501 <listitem>
502 <para>
503 Under construction. Many missing features.
504 </para>
505 </listitem>
506 </varlistentry>
507 <varlistentry>
508 <term>Notes:</term>
509 <listitem>
510 <para>Author needed!! Any volunteers??</para>
511 </listitem>
512 </varlistentry>
513 </variablelist>
514 </sect3>
516 <sect3>
517 <title>3.14 Progress Bar Control</title>
519 <variablelist>
520 <varlistentry>
521 <term>Author:</term>
522 <listitem>
523 <para>
524 Original implementation by Dimitrie O. Paun. Fixes
525 and improvements by Eric Kohl.
526 </para>
527 </listitem>
528 </varlistentry>
529 <varlistentry>
530 <term>Status:</term>
531 <listitem>
532 <para>Finished!</para>
533 </listitem>
534 </varlistentry>
535 </variablelist>
536 </sect3>
538 <sect3>
539 <title>3.15 Property Sheet</title>
541 <variablelist>
542 <varlistentry>
543 <term>Author:</term>
544 <listitem>
545 <para>
546 Anders Carlsson &lt;anders.carlsson@linux.nu&gt; and
547 Francis Beaudet &lt;francis@macadamian.com&gt;
548 </para>
549 </listitem>
550 </varlistentry>
551 <varlistentry>
552 <term>Status:</term>
553 <listitem>
554 <para>Development in progress.</para>
555 </listitem>
556 </varlistentry>
557 <varlistentry>
558 <term>Notes:</term>
559 <listitem>
560 <para>Tab control must be implemented first.</para>
561 </listitem>
562 </varlistentry>
563 </variablelist>
564 </sect3>
566 <sect3>
567 <title>3.16 Rebar Control (Cool Bar)</title>
569 <variablelist>
570 <varlistentry>
571 <term>Author:</term>
572 <listitem>
573 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
574 </listitem>
575 </varlistentry>
576 <varlistentry>
577 <term>Status:</term>
578 <listitem>
579 <para>Development in progress. Many bugs and missing features.</para>
580 </listitem>
581 </varlistentry>
582 <varlistentry>
583 <term>Notes:</term>
584 <listitem>
585 <para>Author needed!! Any volunteers??</para>
586 </listitem>
587 </varlistentry>
588 </variablelist>
589 </sect3>
591 <sect3>
592 <title>3.17 Status Bar Control</title>
594 <variablelist>
595 <varlistentry>
596 <term>Author:</term>
597 <listitem>
598 <para>
599 Original implementation by Bruce Milner. Fixes and
600 improvements by Eric Kohl.
601 </para>
602 </listitem>
603 </varlistentry>
604 <varlistentry>
605 <term>Status:</term>
606 <listitem>
607 <para>Almost finished.</para>
608 </listitem>
609 </varlistentry>
610 <varlistentry>
611 <term>Notes:</term>
612 <listitem>
613 <para>Tooltip integration is almost complete.</para>
614 </listitem>
615 </varlistentry>
616 </variablelist>
617 </sect3>
619 <sect3>
620 <title>3.18 Tab Control</title>
622 <variablelist>
623 <varlistentry>
624 <term>Author:</term>
625 <listitem>
626 <para>Anders Carlsson &lt;anders.carlsson@linux.nu&gt;</para>
627 </listitem>
628 </varlistentry>
629 <varlistentry>
630 <term>Status:</term>
631 <listitem>
632 <para>Development in progress.</para>
633 </listitem>
634 </varlistentry>
635 </variablelist>
636 </sect3>
638 <sect3>
639 <title>3.19 Toolbar Control</title>
641 <variablelist>
642 <varlistentry>
643 <term>Author:</term>
644 <listitem>
645 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
646 </listitem>
647 </varlistentry>
648 <varlistentry>
649 <term>Status:</term>
650 <listitem>
651 <para>
652 Development in progress. Basic functionality is
653 almost done. (dll version 4.0)
654 </para>
655 </listitem>
656 </varlistentry>
657 </variablelist>
658 </sect3>
660 <sect3>
661 <title>3.20 Tooltip Control</title>
663 <variablelist>
664 <varlistentry>
665 <term>Author:</term>
666 <listitem>
667 <para>Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;</para>
668 </listitem>
669 </varlistentry>
670 <varlistentry>
671 <term>Status:</term>
672 <listitem>
673 <para>Almost finished.</para>
674 </listitem>
675 </varlistentry>
676 <varlistentry>
677 <term>Notes:</term>
678 <listitem>
679 <para>Unicode support is incomplete
680 (<constant>WM_NOTIFYFORMAT</constant>).</para>
681 </listitem>
682 </varlistentry>
683 </variablelist>
684 </sect3>
686 <sect3>
687 <title>3.21 Trackbar Control</title>
689 <variablelist>
690 <varlistentry>
691 <term>Author:</term>
692 <listitem>
693 <para>
694 Dummy written by Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;,
695 Alex Priem &lt;alexp@sci.kun.nl&gt;
696 </para>
697 </listitem>
698 </varlistentry>
699 <varlistentry>
700 <term>Status:</term>
701 <listitem>
702 <para>Under construction.</para>
703 </listitem>
704 </varlistentry>
705 </variablelist>
706 </sect3>
708 <sect3>
709 <title>3.22 Tree View Control</title>
711 <variablelist>
712 <varlistentry>
713 <term>Author:</term>
714 <listitem>
715 <para>Dummy written by Eric Kohl., Alex Priem &lt;alexp@sci.kun.nl&gt;</para>
716 </listitem>
717 </varlistentry>
718 <varlistentry>
719 <term>Status:</term>
720 <listitem>
721 <para>Under construction.</para>
722 </listitem>
723 </varlistentry>
724 </variablelist>
725 </sect3>
727 <sect3>
728 <title>3.23 Updown Control</title>
730 <variablelist>
731 <varlistentry>
732 <term>Author:</term>
733 <listitem>
734 <para>
735 Original implementation by Dimitrie O. Paun.
736 Some minor changes by Eric Kohl &lt;ekohl@abo.rhein-zeitung.de&gt;.
737 </para>
738 </listitem>
739 </varlistentry>
740 <varlistentry>
741 <term>Status:</term>
742 <listitem>
743 <para>Unknown.</para>
744 </listitem>
745 </varlistentry>
746 </variablelist>
748 <note>
749 <title>Notes</title>
750 <para>
751 Have a look at <filename>controls/updown.c</filename>
752 for a list of bugs and missing features.
753 </para>
754 <para>
755 The status is unknown, because I did not have a close
756 look at this control. One test-program looked quite
757 good, but in Win95's <filename>cdplayer.exe</filename>
758 the control does not show at all.
759 </para>
760 <para>
761 Any volunteers??
762 </para>
763 </note>
764 </sect3>
765 </sect2>
767 <sect2>
768 <title>4. Additional Information</title>
770 <para>
771 Has to be written...
772 </para>
773 </sect2>
775 <sect2>
776 <title>5. Undocumented features</title>
778 <para>
779 There are quite a lot of undocumented functions like:
780 </para>
781 <itemizedlist>
782 <listitem>
783 <para>DSA (Dynamic Storage Array) functions.</para>
784 </listitem>
785 <listitem>
786 <para>DPA (Dynamic Pointer Array) functions.</para>
787 </listitem>
788 <listitem>
789 <para>MRU ("Most Recently Used" List) functions.</para>
790 </listitem>
791 <listitem>
792 <para>other unknown functions.</para>
793 </listitem>
794 </itemizedlist>
796 <para>
797 Have a look at <filename>relay32/comctl32.spec</filename>.
798 </para>
800 <sect3>
801 <title>5.1 Dymnamic Storage Array (DSA)</title>
803 <para>
804 The DSA functions are used to store and manage dynamic
805 arrays of fixed size memory blocks. They are used by
806 <filename>TASKMAN.EXE</filename>, Explorer, IE4 and other
807 Programs and DLL's that are "parts of the Windows
808 Operating System". The implementation should be complete.
809 </para>
810 <para>
811 Have a look at the source code to get more information.
812 </para>
813 </sect3>
815 <sect3>
816 <title>5.2 Dynamic Pointer Array (DPA)</title>
818 <para>
819 Similar to the DSA functions, but they just store
820 pointers. They are used by Explorer, IE4 and other
821 Programs and DLL's that are "parts of the Windows
822 Operating System". The implementation should be complete.
823 </para>
824 <para>
825 Have a look at the source code to get more information.
826 </para>
827 </sect3>
829 <sect3>
830 <title>5.3 "Most Recently Used" - List (MRU)</title>
832 <para>
833 Only stubs are implemented to keep Explorer from bailing out.
834 </para>
835 <para>
836 No more information available at this time!
837 </para>
838 </sect3>
840 <sect3>
841 <title>5.4 MenuHelp</title>
843 <para>
844 Has to be written...
845 </para>
846 </sect3>
848 <sect3>
849 <title>5.5 GetEffectiveClientRect</title>
851 <para>
852 Has to be written...
853 </para>
854 </sect3>
856 <sect3>
857 <title>5.6 ShowHideMenuCtl</title>
859 <para>
860 The official documentation provided by MS is incomplete.
861 </para>
863 <variablelist>
864 <varlistentry>
865 <term><varname>lpInfo</varname>:</term>
866 <listitem>
867 <blockquote>
868 <para>
869 Both values of the first pair must be the handle
870 to the applications main menu.
871 </para>
872 </blockquote>
873 </listitem>
874 </varlistentry>
875 </variablelist>
876 </sect3>
878 <sect3>
879 <title>5.7 Other undocumented functions</title>
881 <para>
882 Several other undocumented functions are used by IE4.
883 </para>
884 <para>
885 String functions: (will be written...)
886 </para>
887 </sect3>
888 </sect2>
890 <sect2>
891 <title>6. Epilogue</title>
893 <para>
894 You see, much work has still to be done. If you are
895 interested in writing a control send me an e-mail. If you
896 like to fix bugs or add some functionality send an e-mail to
897 the author of the control.
898 </para>
899 </sect2>
900 </sect1>
901 </chapter>
903 <!-- Keep this comment at the end of the file
904 Local variables:
905 mode: sgml
906 sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "")
907 End: