Compare commits

...

398 Commits

Author SHA1 Message Date
Bryan Petty
c85f586b8c This commit was manufactured by cvs2svn to create tag 'oglgdiptr'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/oglgdiptr@12492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 20:41:48 +00:00
Robin Dunn
08da19d737 SWIGged code uodates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 20:41:48 +00:00
Vadim Zeitlin
6f36917bbf fixed a memory leak and an initialization problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 20:31:44 +00:00
Mattia Barbon
a95821781b Fixed Cygwin crash on toolbar tooltip
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 18:58:04 +00:00
Mattia Barbon
e757496edf Added HANGUL_CHARSET for MSVC5
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 18:57:00 +00:00
Julian Smart
3390b9ef88 More VC++ project file corrections
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 17:47:23 +00:00
Julian Smart
a059a1f2e2 Corrected ViewStart problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 16:07:18 +00:00
Julian Smart
5638d705f5 Project file corrections, doc corrections
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 16:05:55 +00:00
Vadim Zeitlin
8d6854a63a fixes for the dialog layout for the multiline labels
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 14:00:10 +00:00
David Webster
e652fdd527 New .def file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12483 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-19 04:05:08 +00:00
Vadim Zeitlin
f97500b80d fixes for wxEvent and wxKeyEvent operator=()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12482 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 23:08:00 +00:00
Vadim Zeitlin
14fca7389a fixes for programmatically deleting the find/replace dialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 23:06:43 +00:00
Gilles Depeyrot
01f944e67e use class name instead of generic message in event related assert
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 22:28:11 +00:00
Stefan Csomor
ccf0e7f6d4 added a preImage of the selection in order to avoid unnecessary events being triggered
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12479 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 18:52:47 +00:00
Stefan Csomor
f47db8f067 corrected MacSetSelection which was incorrectly deselecting also the previously selected line when using multiselect
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 18:14:07 +00:00
Robert Roebling
8e72b8b517 This form of the event cloning patch survived my
thorough stress testing.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 12:42:45 +00:00
Gilles Depeyrot
d5939a20fd replaced HAVE_MALLOC_H with !__DARWIN__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 12:32:15 +00:00
Gilles Depeyrot
ad05396006 corrections for compilation under Mac OS X
removed invalid '#pragma interface' in source files (instead of headers?)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 12:25:12 +00:00
Robert Roebling
52b64b0a78 Applied Chris' patch for support for ICO loading.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 09:43:06 +00:00
Gilles Depeyrot
990578f892 removed include/wx/mac/setup.h from filelist.txt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 08:00:07 +00:00
Gilles Depeyrot
96e169b523 removed duplicated prototype
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 07:29:36 +00:00
Gilles Depeyrot
49a47c50be added missing include (for instance, needed in the calendar sample for wxMotif)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 07:28:45 +00:00
Ron Lee
c00f8e638a Removed include/wx/setup.h from filelist.txt -- Needed for autotools build,
I don't _think_ it will break anything else..


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 02:57:51 +00:00
Ron Lee
88e30f2b71 Don't add -MMD until we are just about ready to build the lib, it messes with
configure tests for RH's broken '2.96' compiler, and really doesn't belong
in CFLAGS before then anyway.

Made wxBaseArray dtor always non-virtual.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-18 02:11:19 +00:00
Robert Roebling
9864c56ded More changes to various controls for more reliably
preventing them from emitting event when their
     state was changed programatically.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 23:50:58 +00:00
Gilles Depeyrot
bc87fd68e3 added const for constant char pointer function parameters
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 23:18:43 +00:00
Václav Slavík
c1ec1ccf9a regenerated makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 23:15:08 +00:00
Václav Slavík
926592a8cf added temporary implementation of wxChoice for wxUniv
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 23:13:55 +00:00
Robert Roebling
bac957422a Changed/Fixed way in which wxListBox blocks events
after changing its state programatically.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 22:32:15 +00:00
Robert Roebling
c6ac78a61e Trying to fix dialog close/focus_widget problem.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 17:14:40 +00:00
Robert Roebling
e1f14d226f Fixed bug which prevented toplevel window from reacting
to a ::SetSize() call more than once.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 16:48:44 +00:00
Ron Lee
b36d8c8f11 cast away a couple of warnings and added *.inc to the MANUAL_DIST target
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 15:36:48 +00:00
Robert Roebling
7eb0e0375f Added ::IsOk() to wxDataStream for error checking in
stream classes used by wxDataStream.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 13:23:10 +00:00
Robert Roebling
ba3f6b4436 Fixed sveral problems with wxTextCtrl::WriteText and AppendText.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 12:54:48 +00:00
Ron Lee
a9241e6025 document the new *_USER_EXPORTED_ARRAY macros.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 11:48:34 +00:00
Ron Lee
7631414188 Added WX_DEFINE_*_USER_EXPORTED_ARRAY macros for external dlls.
updated debian scripts to build with python2.1


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 11:33:50 +00:00
Vadim Zeitlin
8001ecce19 compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 01:23:13 +00:00
Vadim Zeitlin
648bec3ef5 implemented EVT_LIST_ITEM_FOCUSED() for Win32 wxListCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-17 00:34:46 +00:00
David Webster
0cf6acbf26 Implementing some more controls and an MDI child frame fix for wxFrame.
Also include the textbuf class in the make.  New module definition file.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 18:42:18 +00:00
David Webster
fb49f3b32e Implementing some more controls and an MDI child frame fix for wxFrame.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 18:40:45 +00:00
David Webster
f6c2a6f418 TRUE and FALSE; not true and false.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12451 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 18:39:54 +00:00
Vadim Zeitlin
1d2bd8475d moved wxNotebook events docs into a separate file included by both noteevt.tex and notebook.tex
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 16:53:08 +00:00
Vadim Zeitlin
0ddefeb07f added wxEVT_COMMAND_LIST_ITEM_FOCUSED event and implemented it for the generic version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 16:31:17 +00:00
Vadim Zeitlin
e347320363 wxGTK popup menu positioning fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 15:20:21 +00:00
Vadim Zeitlin
2a2ec35354 compilation fix for wxMotif
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 15:08:49 +00:00
Vadim Zeitlin
5e6e6e73d2 compilation fix for wxFrame under wxMotif
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 15:04:59 +00:00
Ron Lee
7274f1c705 mainly the result of collapsing folds in vimdiff from 2.2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 13:09:52 +00:00
Vadim Zeitlin
a6c84d26fd Flush() argument should have a default value for compatibility with the other wxConfig versions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 12:27:32 +00:00
Vadim Zeitlin
d728116a27 compilation warning fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 12:07:18 +00:00
Gilles Depeyrot
9d705dfa81 applied SourceForge patch #479670 (fixes for OpenGL samples) by Paul Thiessen
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 07:17:37 +00:00
Robin Dunn
a7c7c1549c Corrected wxPython notes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 00:19:36 +00:00
Robin Dunn
7f3d6cbcfe Corrected the text.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-16 00:01:38 +00:00
Robin Dunn
163f2606f8 Enhanced the DnD demo and made the code more informative.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 23:59:42 +00:00
Václav Slavík
1d965e2fb1 use XPMs in wxMGL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 23:55:08 +00:00
Václav Slavík
b835e9bf49 optimalization of wxHtmlWindow painting (used to repaint areas invalidated when scrolling 3+ times)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 23:54:16 +00:00
Václav Slavík
88f2a7714a wxMGL bugfixes:
- timers weren't scheduled properly
- wxSizeEvent was sent even though the physical dimensions didn't change
- wxDC had bugs in device origin computations


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 23:50:04 +00:00
George Tasker
00d1538d29 Spelling typos fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12434 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 17:48:10 +00:00
George Tasker
eb165274cb Added the FTP site location for "extra.zip"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 16:08:59 +00:00
Robert Roebling
b2d1bc21c5 Small patch for HTML help under Drawin.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 15:49:12 +00:00
Robin Dunn
00887b391b added some test code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 07:21:26 +00:00
Robin Dunn
7173744550 SWIGged updates for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 04:59:26 +00:00
Robin Dunn
a7f1fbf609 Only update the mask if the mask is valid
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 03:07:39 +00:00
Vadim Zeitlin
a91cf80c60 moved EnableCloseButton() from wxialog to wxTLW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-15 02:21:43 +00:00
Václav Slavík
3cc2aa562f minor complitation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 23:19:03 +00:00
Robin Dunn
45b1027709 Updated manifest to include new files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 21:43:04 +00:00
Vadim Zeitlin
a3a584a7a6 added wxTextBuffer and wxMemoryText which allow to use wxTextFile with in-memory data
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 20:40:20 +00:00
Robin Dunn
00ca6262d1 A fix for when wxPython is compiled with no threads
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 18:46:47 +00:00
Robin Dunn
80f7e6500b A bit of cleanup and etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12422 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 18:43:55 +00:00
Robin Dunn
c70fd24fa8 wxComboBox does not derive from wxChoice in wxGTK so it can't in
wxPython either.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 18:34:26 +00:00
Robin Dunn
742fc581e4 SWIGged files updates for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 05:22:45 +00:00
Robin Dunn
93283355d3 SWIGged code updates for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 04:11:15 +00:00
Robin Dunn
6c0168c945 Added missing wxImage methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 04:05:12 +00:00
Robin Dunn
edc2a0366a Cleanup of library dialogs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 04:04:31 +00:00
Robin Dunn
101dd79ab6 Added new sizer methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 04:03:56 +00:00
Robin Dunn
7dbce44a33 Added wxFileHistory
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 04:03:09 +00:00
Robin Dunn
b78b83ecb4 Added wxTextCtrl.GetStringSelection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12413 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 04:02:20 +00:00
Robin Dunn
f0db4f3850 some demo cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 04:01:42 +00:00
Robin Dunn
eef97940e8 GetSelection --> GetStringSelection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 03:50:11 +00:00
Robin Dunn
973983be62 A little fix for Vadim's fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12410 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 03:49:02 +00:00
Vadim Zeitlin
e444455c49 wxPopupWindow::GetPosition() should return point in screen coords now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 01:35:45 +00:00
Vadim Zeitlin
184144794d added wxTextCtrl::GetSelection() returning a wxString - useful for multiline controls under Windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 01:27:16 +00:00
Vadim Zeitlin
9327c3aa02 fixed wxFrame::IconizeChildFrames() bug which would restore the child frame even if it had been iconized before the main frame was
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 01:26:14 +00:00
Vadim Zeitlin
5e6a47f5a7 fixed wxFindReplaceDialog::Create() doc entry
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 19:27:00 +00:00
Vadim Zeitlin
19a2deddc5 fixed bugs in rfind() (patch 481325)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 18:50:05 +00:00
Robert Roebling
84f7908b99 Applied patch from SF on menu command not blocked
if they are disabled but still emitted by an
    accelerator
  First attempt at adding wxSizer::Clear(). Further
     testing pending :-)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 16:21:04 +00:00
Robert Roebling
4494ad58e8 Patch to make wxComboBox work in Toolbars.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 15:18:06 +00:00
Vadim Zeitlin
17271c793e fixed bug with redoing the command when there was nothing to redo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 14:27:00 +00:00
Robin Dunn
0d1ace8697 SWIGged code update
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 06:48:36 +00:00
Robin Dunn
a57d56d662 More fixes for wxPopupWindow.
More SWIGged code updates.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12398 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 06:43:26 +00:00
Robin Dunn
98624b49d3 Various other tweaks and updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 03:18:00 +00:00
Robin Dunn
25b00b4e8c Passing None to an EVT_* function will Disconnect
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 03:17:09 +00:00
Robin Dunn
c0c84fa088 Finally figured out wxPopupWindow, added to demo.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 03:16:03 +00:00
Robin Dunn
4deafe3122 Added some code to demonstrate a problem and a workaround in wxTextCtrl on MSW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 03:14:05 +00:00
Robin Dunn
5e217089d4 New ErrorDialogs from Chris Fama
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 03:09:28 +00:00
Robin Dunn
5b119149c0 wxGLCanvas updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 03:08:53 +00:00
Robin Dunn
769eda42db fixed a typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 03:08:29 +00:00
Robin Dunn
56456d9faf SWIGged code updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 00:33:56 +00:00
Robin Dunn
0d3859bf1e Fixed a little demo problem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 00:32:39 +00:00
Robin Dunn
8a7f3379ba Added missing \ before _
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-13 00:17:42 +00:00
Gilles Depeyrot
a1c34a786a corrected Carbon to/from POSIX path conversions for Mac OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-12 20:32:23 +00:00
Gilles Depeyrot
3de71bc877 added parentheses (corrects smart preprocessor error under Mac OS X)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-12 20:19:07 +00:00
Ron Lee
024cad37e9 removed -static flag from wx-config --libs. It does more damage removing
fine-grained choice from people than it does to help them.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-12 01:22:56 +00:00
Václav Slavík
28edd9ef20 wxPanel::OnSize must call event.Skip(), otherwise scrollbars won't work in wxUniv
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-12 00:13:55 +00:00
Vadim Zeitlin
185d0094f8 fixed key event code for ASCII keys in wxListCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12383 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-11 20:39:28 +00:00
Vadim Zeitlin
7bfc22f614 some clean up, no real changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12382 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-11 19:55:07 +00:00
Vadim Zeitlin
27d2cd5c96 fixed bug with creating status bar with more than 1 pane (needed resize to refresh)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-11 19:52:45 +00:00
Vadim Zeitlin
c8b204e6fd bug fix for using multiline string (i.e. with embedded '\n's) in wxTextCtrl ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-11 19:27:35 +00:00
Vadim Zeitlin
3adc70bf87 fixed minor combobox bug: GetValue() reported wrong value when caleld from TEXT_UPDATED handler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12379 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-11 19:19:59 +00:00
Václav Slavík
f9619ece1d fixed stupid big when assigning wxImage's palette to wxBitmap
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-11 19:00:25 +00:00
Václav Slavík
1acd70f921 wxTimer for wxMGL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-11 18:59:30 +00:00
Vadim Zeitlin
08829b064c emphasize that wxFindReplaceDialog is always modeless
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-11 18:38:48 +00:00
Václav Slavík
f96f33629f minor fixs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12375 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-10 18:24:32 +00:00
Václav Slavík
cbe37d08c8 added app name to wxrcedit (forgot to commit this one long time ago...)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-10 18:23:55 +00:00
Václav Slavík
8ca4684107 update to wxHtmlTag docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12373 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-10 18:23:46 +00:00
Robin Dunn
b6e5c4450a Added build instructions for OS X.
Added a very simple demo to help build functionality bit by bit.
Regenerated the files that needed SWIGging.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 23:19:16 +00:00
Vadim Zeitlin
e44d6a1f90 signed/unsigned comparison warnings fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 18:11:44 +00:00
Vadim Zeitlin
c0ad3d42d5 removed focus assert
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12370 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 17:58:50 +00:00
Vadim Zeitlin
2a4c85e755 removed code (re)setting the camera from wxGLCanvas::OnSize()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12369 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 15:12:25 +00:00
Vadim Zeitlin
62b3ca69cf s/Chiniese/Chinese/g
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 10:29:51 +00:00
Vadim Zeitlin
8e7b0418f1 reset SourceSafe project name in the VC++ projects
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 10:19:31 +00:00
Vadim Zeitlin
695e43faf2 don't document wxBitmap::SetOk(), it's an implementation detail
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 10:18:41 +00:00
Ron Lee
00c813596e make --static flag act on --cppflags too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 05:24:36 +00:00
Ron Lee
57964555cd We always add -lm (eventually) anyway, so just adding it to the GL lib test
should be sufficient.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 01:37:00 +00:00
Vadim Zeitlin
bc4e6fcdc3 applied DBCS patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 00:15:04 +00:00
Vadim Zeitlin
570cb8cb08 regenerated after -GL change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 00:13:09 +00:00
Robert Roebling
2710a096d1 Removed unused variable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 00:00:18 +00:00
Vadim Zeitlin
fb56368aa0 add -lm before checking for -lGL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-09 00:00:04 +00:00
Robert Roebling
e2762ff06a wxListBox mouse events now report coords relative
to the whole list box.
  wxRadioButton doesn't emit any event when unpressed.
  Similar correction to wxRadioBox and wxToggleButton.
  Upported change to wxMenuEvent so that the id is
     set in the constructor. Otherwise the EVT_MENU
     macro is pretty useless. Already in 2.2.8.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12358 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-08 23:24:16 +00:00
Mattia Barbon
6433f6d316 Last correction for makefile.g95: win32 mkdir does not like forward slashes as directory
separators.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-08 21:06:19 +00:00
Robin Dunn
ea6601756a Fixed wxSingleChoiceDialog to match the docs wrt the style flag
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-08 18:47:53 +00:00
Ron Lee
8c3abf985d create install dir for overrides.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-08 12:31:52 +00:00
Ron Lee
63e7762e67 wxUSE_GTK must stay quoted..
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12354 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-08 12:25:49 +00:00
Ron Lee
3d63bc3a03 Rearrange the linker flags/libs code in preparation for better static/shared
support.  Added --static option to wx-config and removed most libs from
--libs output unless it is used.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-08 11:24:04 +00:00
Ron Lee
f1687ed8ad add lintian override for -univ hybrid package.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-08 02:31:40 +00:00
Ron Lee
180db90836 applied the bit's of #473508 that were still relevant, and fixed a couple of
others that either the patch missed or (more likely) were new since it was
made.  Thanks Francis.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-08 00:03:06 +00:00
Robin Dunn
32ce09e292 New XRCed from Roman Rolinsky
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-07 16:13:35 +00:00
Robin Dunn
bd658b8c33 Show class type returned from HitTest
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-07 16:12:44 +00:00
Vadim Zeitlin
efd1393bcc applied a patch to ignore the modifiers (things like @euro) in LC_XXX vars
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-07 15:58:23 +00:00
Ron Lee
b96848d3aa added aclocal.m4 to dist target. Bad Things happen if it's missing
and you want to rebuild configure.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-07 12:08:23 +00:00
Ron Lee
ba0e650ced oops
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-07 11:31:03 +00:00
Ron Lee
d48ad9bd84 More pesky "quotes" hiding in m4 macros.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-07 10:03:57 +00:00
Ron Lee
83dbe2eabb Put $(GENERICOBJECTS) back into configure.in for a while, there are still
other ports that depend on it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-07 09:47:20 +00:00
Jouk Jansen
abfcca57dd Committing in .
Modified Files:
 	wxWindows/descrip.mms wxWindows/setup.h_vms
 	wxWindows/distrib/msw/makefile.rsp
 	wxWindows/include/wx/dbgrid.h wxWindows/lib/vms_gtk.opt
 	wxWindows/samples/db/dbtest.cpp
 	wxWindows/src/common/descrip.mms
 	wxWindows/src/generic/descrip.mms
 Added Files:
 	wxWindows/samples/dialup/descrip.mms
 	wxWindows/samples/docview/descrip.mms
 	wxWindows/samples/font/descrip.mms

 dbgrid.h change as announced in the developer mailing list
 various OpenVMS complile issues

 ----------------------------------------------------------------------


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-07 09:26:33 +00:00
Ron Lee
1d93af2fbf remove -lfoo.dll hack, it appears to be unnecessary after all.. don't ask.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-07 07:53:33 +00:00
Václav Slavík
223e7fbf29 beginnings of support for MGL shared library (it is crappy as hell in MGL, to begin with)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12341 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-06 23:54:15 +00:00
Mattia Barbon
d8bffc1335 * Fixed wxStaticBitmap::SetBitmap so that it does not ignore the mask
* Hopefully made possible use SetBitmap with as wxSB created with an icon
  and SetIcon with a wxSB created with a bitmap


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-06 21:16:02 +00:00
Vadim Zeitlin
e37177c27b removed duplicated line
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-06 16:45:18 +00:00
Vadim Zeitlin
66fa5a8c1f part of wxWizard loading from WXR patch I forgot to commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-06 16:34:36 +00:00
Vadim Zeitlin
4eb1fe9da6 fixed wxUniv/GTK linking by getting rid of GENERICOBJS and putting them into GUIOBJS/GUI_LOWLEVEL_OBJS instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-06 16:31:31 +00:00
Vadim Zeitlin
8b9c59052a compilation warning fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-06 16:27:23 +00:00
Ron Lee
25d0687a6e Merged WXMSW_DLL_DEFINES and PICFLAGS, since they essentially do the same thing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-06 05:44:09 +00:00
Ron Lee
0d6e7df47c found another object that nobody appears to have ever used in a dll.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-06 05:10:16 +00:00
Ron Lee
41213f67af Brown paper bag fix to -lwx.dll in wx-config
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-06 02:36:39 +00:00
Gilles Depeyrot
612500804c use Unix line ending when compiled when the Apple DevTools
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 21:08:03 +00:00
Gilles Depeyrot
f3ff38139d use Unix line ending when compiling with Apple DevTools
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 21:02:23 +00:00
Gilles Depeyrot
c31ad41d80 use Unix raise for wxTrap when compiling with Apple DevTools
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 21:01:46 +00:00
Gilles Depeyrot
4d293f8ef4 corrected path format for wxMac compiled with Apple DevTools
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 20:20:14 +00:00
Vadim Zeitlin
461f203cbf more incompatible changes mentioned
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 16:43:12 +00:00
Václav Slavík
90da9c3f3b forgot to update univ/toplevel.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 15:49:59 +00:00
Ron Lee
2da4f89277 renamed (gcc) wxMSW import lib name yet again. *.dll.a should be the
final choice for a while I think.
Removed mostly useless ELF style version numbers from .dll -- it's not
an ELF lib so no point adding cruft we can't use.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 11:48:47 +00:00
David Webster
49dc8caac9 Listbox control code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12325 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 03:22:45 +00:00
David Webster
217f0360ec Listbox control code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 02:59:23 +00:00
David Webster
934dac2fd5 Listbox control code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-05 02:50:59 +00:00
Václav Slavík
49e885f807 fixed stupid bug in display mode error reporting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 23:33:19 +00:00
Václav Slavík
41b66be9c9 controls sample is now able to use default command line arguments
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12321 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 23:33:09 +00:00
Václav Slavík
1f43b5c985 reworked display mode stuff once again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 23:32:52 +00:00
Václav Slavík
240889a18c implemented late(r) initialization of wxUniv themes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 23:32:16 +00:00
Stefan Csomor
f78024a1f9 workaroung for handling problems because groupboxes are not included in the parent-child relationship in wxwindows in a geometrical correct way
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 21:02:06 +00:00
Stefan Csomor
a3bf4a6263 added internal callback when toplevel windows move for opengl canvas
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12317 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 20:54:39 +00:00
Stefan Csomor
fce5f505f1 added internal callback when toplevel windows move for opengl canvas
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 20:42:33 +00:00
Stefan Csomor
4bf3cd97c6 added internal callback when toplevel windows move for opengl canvas
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 20:36:23 +00:00
Stefan Csomor
15913ebfdd corrected tooltip
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 20:24:12 +00:00
Gilles Depeyrot
4b42290e0e corrected detection of wchar_t under Mac OS X/Darwin
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12313 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 19:30:34 +00:00
Gilles Depeyrot
9e392a09f1 added wcslen prototype declaration for Darwin/FreeBSD, wcslen is in wxchar.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 18:46:43 +00:00
Gilles Depeyrot
219f4a6d0d added missing wxSTD for cout & cerr
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 17:41:53 +00:00
Gilles Depeyrot
750c3a6d07 wchar/wcslen corrections for Darwin (same as FreeBSD)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 17:20:38 +00:00
David Webster
1bcf0c7d6e TRUE and FALSE, not true and false.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 14:51:05 +00:00
David Webster
1a2076a2f8 Some compiler bug fixes, new .def file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 14:49:22 +00:00
Gilles Depeyrot
eb99ae0b77 use 'cp -fp' instead of 'cp -p' to install programs/data under Mac OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 13:59:15 +00:00
Ron Lee
174d5c21ca Don't strip cross packages with native strip. All of them. Really.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 03:01:57 +00:00
Ron Lee
978f1259ac Backed out misguided 'build both' patch.
Reshuffled library name code into a slightly neater stack.

Added separate shared and static msw builds to .debs  :(
that makes 13 builds of the core lib alone required to create
all packages now..  (anyone want to donate me a fast MP box :)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 01:29:54 +00:00
Ron Lee
a0b0370119 More cross compiling fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 00:07:25 +00:00
Václav Slavík
634f6a1f0a implemented display mode setting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 00:00:36 +00:00
Václav Slavík
c358c6601f implemented wxApp::Get/SetDisplayMode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 00:00:15 +00:00
Václav Slavík
55176f44e2 oh, better interface to GetDisplayMode (Vadim was right; previous commit was by accident)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12297 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-04 00:00:06 +00:00
Gilles Depeyrot
b585338405 install apparently ignores -p option under Mac OS X, use cp -p instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 23:08:16 +00:00
Gilles Depeyrot
6054113a50 corrected install program for Mac OS X (use AC_PROG_INSTALL but add -p option
to INSTALL_PROGRAM and INSTALL_DATA in order to preserve modification dates)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 22:42:30 +00:00
Vadim Zeitlin
9ba53034e7 removed OnSetFocus() which doesn't exist any more
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12294 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 21:49:33 +00:00
Václav Slavík
1b4908dedc added wxApp::GetDisplayMode function for fullscreen ports
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 21:36:15 +00:00
Václav Slavík
c88040761c recently checked in patch was ignorant to wxUSE_RESOURCES
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12292 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 21:36:01 +00:00
Václav Slavík
ea7682f015 oops, configure defined _WIN_IE instead of _WIN32_IE for cross-compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12291 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 21:35:21 +00:00
Robin Dunn
eedf876b34 Added wxPostscriptDC to wxPython
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 20:34:26 +00:00
Robin Dunn
00c64037fb A little tweak
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12289 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 20:33:54 +00:00
Robin Dunn
b403ab005c Enabled wxPostscriptDC to be used in wxMSW, if wxUSE_POSTSCRIPT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 20:31:07 +00:00
Vadim Zeitlin
c5c528fc7f implemented Freeze/Thaw() for the generic listctrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 17:06:29 +00:00
Ron Lee
4fb788e466 Added static lib to shared build targets for wxMSW builds.
Added -dbg packages for msw-cross.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 13:00:52 +00:00
Ron Lee
d685354062 Tweaked config for weird static lib BSDism.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 11:29:05 +00:00
Ron Lee
77e1340840 Added separate import lib for msw .dlls
Removed useless mingw and cygwin options.
Fixed library naming for msw _gl and set 'unix' style names for cross
builds and 'windows' style for native builds.
Added $target to wx-config, and fixed lib/header dir exclusions.
Added -mwindows to wx-config output for gui libs.
Fixed wx-config to output import lib instead of dll for shared
msw builds.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 11:08:15 +00:00
Ron Lee
a0145564d0 added missing header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 05:14:32 +00:00
Vadim Zeitlin
8c290175b3 don't send fictious menu events when another WM_COMMAND occurs while a popup menu is shown
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-03 00:34:44 +00:00
Václav Slavík
2f7adba06f mingw compilation fixc
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 23:33:08 +00:00
Robin Dunn
b66824a572 wxPython updates to match recent updates to wxCalendarCtrl, wxGrid,
and wxGLCanvas.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 23:21:45 +00:00
Stefan Csomor
eea0ecad6e corrected findfirst/next on mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 22:00:54 +00:00
Robin Dunn
ab11ebfa19 wxPython updates to match recent updates to wxCalendarCtrl, wxGrid,
and wxGLCanvas.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 20:56:23 +00:00
Gilles Depeyrot
eb5420bf25 updated and renamed CodeWarrior 5.3 project
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 20:52:13 +00:00
Stefan Csomor
9673f535ac corrected rebuild of more than one-level hiearchical menus when not directly added to the current menubar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 20:47:11 +00:00
Robin Dunn
a705ee4785 Removed som unnecessary sh-bangs.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 19:43:54 +00:00
Vadim Zeitlin
764566762c check for wxOnAssert reentrancy
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 18:35:50 +00:00
Vadim Zeitlin
eb749c3e37 fixed wxString::resize() which was completely broken
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 18:17:38 +00:00
Vadim Zeitlin
4d509295ee don't make the log dialog taller than the screen (patch 457695)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 17:52:27 +00:00
Vadim Zeitlin
fe7b9ed6fd support for vetoing grid cell editing (patch 469049)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12270 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 17:44:55 +00:00
Vadim Zeitlin
f8a4fa4c99 more efficient SetStatusText for the generic wxStatusBar (patch 469976)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 17:38:40 +00:00
Vadim Zeitlin
7cc5041d03 fix a bug for bitmap changing in wxWizard (patch 474975)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 17:30:42 +00:00
Vadim Zeitlin
f80bf90194 wxWizard help patch (474974)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12267 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 17:29:38 +00:00
Vadim Zeitlin
a0a48a3f0d wxWizardPage may be loaded from resource (patch 470683)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 17:22:44 +00:00
Vadim Zeitlin
02244615e5 replaced a static buffer with wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 16:43:28 +00:00
Vadim Zeitlin
4660d7e5d6 applied patch to make wxGLCanvas derive from wxWindow, not wxScrolledWindow (Paul A. Thiessen)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 16:08:52 +00:00
Vadim Zeitlin
6f75447397 give an error and stop if OpenGL libs not found but --with-opengl was specified
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 15:45:07 +00:00
Vadim Zeitlin
37df1f3370 patch from Søren Erland Vestø for additional wxCalendarCtrl styles (also moved them all to calctrl.h from defs.h)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 15:42:51 +00:00
Julian Smart
2a8f50bb72 Updates to project files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 09:06:13 +00:00
Gilles Depeyrot
4538b3f1b0 added missing const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12260 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 07:13:17 +00:00
Gilles Depeyrot
e84010cf65 added missing const
ise "..." instead of <...> for wx headers


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 07:03:26 +00:00
Robin Dunn
92b002a4c8 Added wxEntryStart, wxEntryInitGui, and wxEntryCleanup for wxPython
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 03:59:02 +00:00
Robin Dunn
2c667cb8d8 swig updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 03:23:18 +00:00
Robin Dunn
b184227d4b wxDragLink for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12255 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 03:22:57 +00:00
Robin Dunn
df26d82fc3 Removed GetOldIndex, etc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 02:00:32 +00:00
Robin Dunn
a40b5e8474 Updated XRCed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 01:59:05 +00:00
Robin Dunn
b6ea61a589 Create the directories fo rthe .pch, etc. files if it doesn't exist.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 01:34:37 +00:00
Robin Dunn
4fa54a31ad SetEventObject for wxCalendarCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 01:14:16 +00:00
Vadim Zeitlin
1bffa9138f replaced wxList for storing HWND <-> wxWindow with wxHashTable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 00:44:19 +00:00
Vadim Zeitlin
a4aad4def6 ignore the border flags for the toolbar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 00:42:56 +00:00
Vadim Zeitlin
08d7397c9a BC++ compilation fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-02 00:05:01 +00:00
Julian Smart
c12b84937e Made project file work for Release and Debug targets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-01 11:54:01 +00:00
Gilles Depeyrot
65fd49a434 remove static libraries and recreate them to avoid stale object files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 23:30:45 +00:00
Gilles Depeyrot
b53e38fed5 changed ar options to reduce build verbosity
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 23:21:25 +00:00
Gilles Depeyrot
1d0b7ed3f3 corrections to required setup for wxWindows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 22:55:13 +00:00
Gilles Depeyrot
bb89dec340 clarified native line ending for Mac OS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 22:48:51 +00:00
Gilles Depeyrot
a73523797c added comment concerning native line endings under Mac OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 22:41:08 +00:00
Ron Lee
f3507ce40d really fix wxPython dist target
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 22:30:15 +00:00
Gilles Depeyrot
ff8fda3617 corrected access to NULL parameters in wxGetOsVersion
replaced wxMACINTOSH with wxMAC and wxMAC_DARWIN to differentiate return
value of wxGetOsVersion according to whether Mac paths or Unix paths are used


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 22:23:58 +00:00
Gilles Depeyrot
a3df447d8b shortened configure warning messages to avoid exceeding 80 characters
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 22:18:22 +00:00
Gilles Depeyrot
e5b1c41c49 removed subprojects for ldef and cdef, changed to in-proc ldef
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 22:06:57 +00:00
David Webster
9c88ff79e5 Some more Multi-Line Text control fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 21:10:04 +00:00
George Tasker
051443d481 Fixed compilation of this file using tex2rtf in RTF mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 17:11:04 +00:00
George Tasker
da78fdf31c Put a backslash before a '_'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 17:10:39 +00:00
Stefan Csomor
e42e45a9dd removed subprojects for ldef and cdef, changed to in-proc ldef
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 16:22:33 +00:00
Stefan Csomor
bb5f7ca77e removed subprojects for ldef and cdef
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 16:12:02 +00:00
Ron Lee
ad8b399079 made declaration of WXDLL_ENTRY_FUNCTION match it definition
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 12:38:42 +00:00
Ron Lee
835fed359d added new wxPython dirs to dist target for .debs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 09:42:54 +00:00
Gilles Depeyrot
a044cb721a use wxFILE_SEP_PATH instead of ':' separator for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 06:26:08 +00:00
Gilles Depeyrot
e8e1d09e0e corrections for path handling under Mac OS X
Classic Mac paths (: separator) are used when compiled using CodeWarrior even
under Mac OS X; Unix like Mac paths (/ separator) are used when compiled using
the Apple Developer Tools


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 06:25:05 +00:00
Vadim Zeitlin
d56e2b972f made wxFileName::Set/GetTimes() work under Win32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 02:42:50 +00:00
Vadim Zeitlin
7de3c4699f fixed typos in wxBase template and project file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 02:23:26 +00:00
Václav Slavík
580616706f cleanup in wxMGL code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 23:30:51 +00:00
Václav Slavík
253293c103 changed wxSystemSettings::HasFrameDecorations to more general GetCapability(index)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 23:30:04 +00:00
Václav Slavík
6296744f45 added inactive titlebar text colour
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12221 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 23:27:00 +00:00
Mattia Barbon
25acfd4ca3 Fixed wxMask::Create(bitmap,colour)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 20:52:35 +00:00
Robin Dunn
68d92db331 Updated timer demo (again ;-)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 18:16:01 +00:00
Robin Dunn
e6157a6995 Updated timer demo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 18:15:13 +00:00
Vadim Zeitlin
10eb1f1eac applied wxDirSelector() patch and regenerated the makefiles to include the new src/common/dseldlg.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 16:58:42 +00:00
Vadim Zeitlin
4f2570aaf1 added stat.h include
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 16:44:45 +00:00
Vadim Zeitlin
246c704fca fixed compilation problem in SetTimes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 15:34:15 +00:00
Vadim Zeitlin
87948f22dd minor cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 13:56:40 +00:00
George Tasker
5921a14eca Fixed code that should have been enclosed in brackets but wasn't, causing the program flow to abort part way through the function
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 13:40:23 +00:00
George Tasker
92a19c2e77 All occurances of #include <wx/wxprec.h> changed to #include "wx/wxprec.h"
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 13:33:34 +00:00
George Tasker
3a7bfa067e Changes to make commandline compilation with VC6 match the same settings and LIB names as created with the VC IDE.
LIB/PCH/PDB files are now created in the same directories (off the wxWin dir) that the IDE uses


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 12:51:29 +00:00
Vadim Zeitlin
176e7e8321 added wx/platform.h to the list of files and regenerated the makefiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 11:48:14 +00:00
Robin Dunn
4c3b4ed07f DSM fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 07:03:33 +00:00
Robin Dunn
ee707cb73a Added typemap for wxArrayString
Added wxMimeTypesManager and wxFileType

Other updates...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12208 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 06:58:52 +00:00
Robin Dunn
5c0282d504 Added typemap for wxArrayString
Added wxMimeTypesManager and wxFileType

Other updates...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 06:53:13 +00:00
Robin Dunn
b37c7e1dcd Added typemap for wxArrayString
Added wxMimeTypesManager and wxFileType

Other updates...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 06:43:54 +00:00
Vadim Zeitlin
951cd18031 added and partly implemented the time functions for wxFileName
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 02:41:30 +00:00
Vadim Zeitlin
9f51f2b678 applied Watcom thread patches and made thread entry point stdcall for all compilers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-30 02:40:28 +00:00
David Webster
42be4418fe Yet another .def file for OS/2 VA
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-29 22:54:25 +00:00
Gilles Depeyrot
e7e1b01eb5 path/file corrections for Darwin/Mac OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-29 22:26:59 +00:00
Gilles Depeyrot
334d244877 corrected wxMacFSSpec2MacFilename and wxMacFilename2FSSpec to convert to/from
Unix style paths under Mac OS X (when compiled with the Apple DevTools)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12201 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-29 20:20:46 +00:00
Vadim Zeitlin
7f35402d14 removed wxListEvent::m_oldItemIndex from docs, it is not used for anything anyhow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12200 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-29 17:48:28 +00:00
Vadim Zeitlin
1b73381734 added WXEXPORT to wxGetClassFirst() declaration to make it work under Windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-29 14:35:04 +00:00
Vadim Zeitlin
78340847c9 extracted platform/compiler detection macros from wx/defs,h into wx/platform.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-29 14:33:46 +00:00
Vadim Zeitlin
21977bac1a improved sizing of wxBusyInfo window and updated the docs a bit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12197 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-29 14:32:42 +00:00
Vadim Zeitlin
a62b0bcc14 added wxBusyInfo test
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12196 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-29 13:21:29 +00:00
David Webster
8330166c65 Some more frame formating
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-29 03:01:39 +00:00
Václav Slavík
f41ed3c442 minor wxMGL fixes -- controls sample is now OK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-28 23:25:35 +00:00
Gilles Depeyrot
0b7a8cd392 corrected realization of vertical toolbars (were always horizontal)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12193 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-28 21:51:24 +00:00
Stefan Csomor
5384bdbc77 added clientdata to makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-28 20:25:16 +00:00
Stefan Csomor
f00f657d37 added conversion routines to CIconHandle, removing pre 8.6 routines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-28 19:52:40 +00:00
Stefan Csomor
7205570233 added conversion routines to CIconHandle, removing pre 8.6 routines
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-28 19:32:42 +00:00
Stefan Csomor
2fb4d7b86e added conversion routines to CIconHandle
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-28 19:26:05 +00:00
Václav Slavík
3590965bf9 added msw/gccpriv.h and others to headers list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 22:52:30 +00:00
Václav Slavík
c3c031dd1d added msw/gccpriv.h and others to headers list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12187 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 22:52:19 +00:00
Václav Slavík
fbe77ceae5 fix for colspan or rowspan = 0 in HTML tables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 22:26:14 +00:00
Václav Slavík
2d963ba2cb fix for animated GIFs with frames of different dimensions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 22:25:37 +00:00
Václav Slavík
8ecd8ade37 applied wxListCtrl label editing patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 22:24:59 +00:00
Robin Dunn
89c8ea73d4 new files for wxSTC on GTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12183 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 01:35:03 +00:00
Robin Dunn
8a2fa5c83a new files for wxSTC on Mac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 01:23:43 +00:00
Robin Dunn
74933d7501 Since there have to be platform ifdef's in wxSTC for wxMAC then we
need to have septarate sets of the swig generated code.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 01:19:32 +00:00
Vadim Zeitlin
2dfba8cac9 removed some straym ^Ms
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 00:25:13 +00:00
Vadim Zeitlin
aeddd5a582 fixed wxNotebook bg colour
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 00:24:11 +00:00
Robin Dunn
1bc3250868 First pass at wxPython for Mac (darwin only so far). It
builds but doesn't run yet.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 00:15:09 +00:00
Robin Dunn
e6056257ab First pass at wxPython for Mac (darwin only so far). It
builds but doesn't run yet.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 00:08:14 +00:00
Vadim Zeitlin
35bf863b1c don't make the dialogs appear in the taskbar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 00:07:29 +00:00
Vadim Zeitlin
34e5028ffe position the controls correctly in the vertical toolbars
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-27 00:07:09 +00:00
Vadim Zeitlin
42d6e13697 wxToolBarTool::IsXXX() should return bool, not int
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-26 23:56:08 +00:00
David Webster
dbd4b16d5e removed defs.h include
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-26 20:45:22 +00:00
Ron Lee
cb4a5a7316 fix for regex dist target
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-26 18:35:57 +00:00
Robin Dunn
17c0e08c61 fixes for the wxPre* helpers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-26 07:23:04 +00:00
Robin Dunn
c9a1416a3a Added wxURLDataObject
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-26 07:19:20 +00:00
Robin Dunn
e8bf92fd9c Use the right flags on wx-config
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-26 05:46:39 +00:00
Robin Dunn
96af6eb5fd New PyCrust files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-26 02:14:12 +00:00
Robin Dunn
846ec2f9ed Added URL drag and drop sample to the wxPython demo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-26 02:13:11 +00:00
Robin Dunn
e6d318c25a Added wxDragLink
Added SetURL to wxURLDataObject

Fixed the Mozilla problem by reversing the order of the component DOs
in the wxURLDataObject.  By checking the wxTextDataObject first then
it avoids the problem of how Mozilla sends the UniformResourceLocator
data.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-26 02:11:23 +00:00
Gilles Depeyrot
ac00ac40ed added ranlib after installation for static library
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-25 20:52:10 +00:00
Ron Lee
c1ea7b7bc3 typo fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-25 15:26:54 +00:00
Mattia Barbon
458ee9e452 Regenerated from filelist.txt
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-24 21:16:56 +00:00
Mattia Barbon
8b61ede4ab Removed makefile.g295, added src/msw/files.lst
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-24 21:02:02 +00:00
Mattia Barbon
0e44823110 Various cygwin compilation fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-24 20:56:37 +00:00
Mattia Barbon
f676c7ffd5 * make install now installs OLE headers on cygwin
* cygwin now uses the same naming conventions for libraries as the
  rest of wxMSW
* updated filelist.txt
* added code to filelist.t fo parse OLE headers
* all platforms using configure now have
  --enable-no_rtti, --enable-no_exceptions on by default


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-24 20:41:34 +00:00
Vadim Zeitlin
3fe03e474d fixed CURSOR resource leak
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-24 19:12:54 +00:00
Robin Dunn
e26c0634d0 Changed CanPaste to just check IsSupported.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-24 17:46:31 +00:00
Václav Slavík
91cddacfe0 fix for typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-23 23:21:31 +00:00
Robin Dunn
a29a241fd6 Added DnD related events to wxSTC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-23 22:12:50 +00:00
Gilles Depeyrot
4f14bcd874 implemented --with-<lib> options (yes, no, sys, and builtin) for libjpeg,
libtiff, libpng, freetype, regex and zlib
default is sys which falls back to builtin if the system library is not found


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-23 21:03:32 +00:00
Vadim Zeitlin
de85a884d7 applied patch 473558: fixes for CW compilation under MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-23 20:43:23 +00:00
Vadim Zeitlin
2c37aade57 fixed nice bug in wxGTK which always draw the text with the same foreground colour as background one in wxSOLID mode
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-23 17:41:51 +00:00
Vadim Zeitlin
5d2878fb28 simplified WXDLLEXPORT/IMPORT defines, added WXEXPORT/IMPORT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-23 15:47:57 +00:00
Vadim Zeitlin
eead3ccb25 more incompatible changes listed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-23 00:26:04 +00:00
David Webster
0cce11b2fa New Module Definition file for VisualAge .dll builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-22 22:16:04 +00:00
David Webster
9e279f1462 Elimiante include of defs.h for VisualAge compiles
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-22 22:13:51 +00:00
David Webster
42f2e3e9bb no message
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-22 22:12:59 +00:00
Robin Dunn
275c4ae474 It's better to scroll by a little too much than by just barely not enough...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-22 22:05:24 +00:00
David Webster
987da0d411 Some OS/2 Modifications for coordinate normalizations and code for some common controls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-22 05:15:25 +00:00
David Webster
afa59b4e88 Some OS/2 Modifications
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-22 05:11:09 +00:00
Robert Roebling
8766aa0948 Correction for wxFileConfig where UNIX was taken
instead of MAC where both aredfined in wxMac.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 23:02:37 +00:00
Robert Roebling
6fa882bd0a Correction for make install and wxMac static libs.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 23:01:11 +00:00
Robert Roebling
d15a8ad4ee Minor fix for make dist.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 22:59:23 +00:00
Robert Roebling
2f53787caf A few files were missing in the wxMac package.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12141 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 15:30:02 +00:00
Robert Roebling
b9eed05d91 Updated install.txt for Mac.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 15:29:21 +00:00
Robert Roebling
9bfaa55f27 Updated Makefile to make "make dist" work right for wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 14:03:25 +00:00
Robert Roebling
074ea1b777 Added missing changes.txt for wxMac.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 14:02:25 +00:00
Gilles Depeyrot
07d08a4dc4 use "..." instead of <...> for wx headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 12:49:22 +00:00
Stefan Neis
9829f27727 Added support for new style OS/2 autodetection.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12136 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 12:38:31 +00:00
Gilles Depeyrot
0e03d1fac8 added missing type for static variable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 12:33:10 +00:00
Gilles Depeyrot
bb378910f7 conditional compilation for Mac OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 12:32:39 +00:00
Gilles Depeyrot
ac0fa9eff8 corrected dynamic class implementation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12132 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 12:19:12 +00:00
Robin Dunn
d9207cc826 updated version number
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 03:58:51 +00:00
Robin Dunn
2aab8f16ac Added wxClientDataContainer to wxSizer, so sizers can now do OOR in
wxPython too.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12130 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 03:56:07 +00:00
Robin Dunn
73c13bb93c #undef Yield
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 03:52:09 +00:00
Robin Dunn
a4fbdd76c1 Updated for new library and DLL names on MSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 03:49:09 +00:00
Robin Dunn
dfef5d5165 Fixed some demos
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 03:44:47 +00:00
Robin Dunn
729f427637 Added wxRightTextCtrl from Josu Oyanguren
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 03:43:58 +00:00
Robin Dunn
235573500c New PyCrust files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 03:43:12 +00:00
Vadim Zeitlin
33b12a3ab3 fixed "toolbar getting focus" bug for the (N+1)-th time
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 00:25:34 +00:00
Vadim Zeitlin
f04a0744b0 blind fix for the initial dialog position
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-21 00:08:03 +00:00
Václav Slavík
08c4a8a9dd wxRegion fixes (off by one)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12122 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 22:09:24 +00:00
Václav Slavík
d9d59a587c reverted Kendall's commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 22:09:11 +00:00
Václav Slavík
21a700f3c8 fix for MGL bug when rendering text with solid background
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 22:07:50 +00:00
Václav Slavík
e1218bd636 added wxApp::Yield
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 22:07:13 +00:00
Mattia Barbon
4f9c7d92dd Cygwin does support 64 bit ints
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 21:10:22 +00:00
Stefan Csomor
fe35d097d6 corrected file type pop up for only one liners, added parsing for different types on same line
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 20:50:11 +00:00
Stefan Csomor
10207b728d corrected #ifdef TARGET_CARBON to #if TARGET_CARBON
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12113 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 20:01:52 +00:00
Stefan Csomor
892e461e33 changed menu creation for choice and combobox (unique ids), control changed back to old selection code for non carbon targets
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 19:57:27 +00:00
Robin Dunn
9af175d227 Put the vertical limit back in for the AutoCOmp list box
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12109 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 17:49:06 +00:00
Stefan Csomor
f7efcd8144 added correct wchar include for metrowerks compilers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12107 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 08:07:47 +00:00
Stefan Csomor
551a6c64bb removed duplicated DYNCLASS macro
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 08:02:15 +00:00
Gilles Depeyrot
be6468f3cc removed extra DECLARE_DYNAMIC_CLASS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 07:39:52 +00:00
Vadim Zeitlin
a63cbfa336 fixd creation of controls with default initial size
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 01:15:53 +00:00
Vadim Zeitlin
86f1458257 don't use hidden windows as implicit dialog parents neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 00:40:32 +00:00
Vadim Zeitlin
e058b98d8a don't use windows about to be destroyed as implicit dialog parent
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-20 00:10:51 +00:00
Gilles Depeyrot
5d6c436536 removed corrected detection of wchar_t under Mac OS X (added in revision 1.355)
since there only seem to be stub functions (no wcslen available)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 21:13:06 +00:00
Václav Slavík
0d53fc3442 we no longer need wxFrameNative
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 20:35:05 +00:00
Vadim Zeitlin
af15babd51 typo fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 19:08:13 +00:00
Vadim Zeitlin
9952adac06 use statvfs() if statfs() is not available (Solaris)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 19:03:52 +00:00
Vadim Zeitlin
8461e4c253 added wxApp::Yield()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 18:29:32 +00:00
Vadim Zeitlin
85ee61ac2e who forward declared wcslen() without using extern "C" around it?? and why was it needed at all? removed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 17:54:49 +00:00
Vadim Zeitlin
d22ff69d2d use -I. for parser.c as it needs it to find lexer.c
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 17:37:07 +00:00
Vadim Zeitlin
8f17876f2b fix for BSD compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 17:31:04 +00:00
Vadim Zeitlin
d714471b30 don't include X11 path before our own -I because on some systems (FreeBSD) wx headers are installed under /usr/X11R6/include
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 17:30:04 +00:00
Vadim Zeitlin
12232f37d1 fixed test for statfs() for BSD systems, not just MacOSX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 16:56:53 +00:00
Vadim Zeitlin
d20a079e3a oops, typo fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12089 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 16:30:46 +00:00
Vadim Zeitlin
d73e6791fc added wxStreamToTextRedirector
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 16:27:15 +00:00
Stefan Csomor
b729ceb23d corrected default arguments, so that setting GetStdIcon works again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 15:57:59 +00:00
Vadim Zeitlin
7da982c4ec simplified wxTextCtrl::Create() to use wxControl::MSWCreateControl() instead of duplicating its code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 15:34:37 +00:00
Robin Dunn
0e7bd27a8d Use the black pen for the border on Windows now too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 15:17:13 +00:00
George Tasker
4de853984d Added -DSTRICT to the WINFLAGS variable to match the new project settings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12084 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 13:20:07 +00:00
George Tasker
0a0fc5b527 Removed a line of debug code that got left in
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-19 11:37:01 +00:00
Vadim Zeitlin
68f36a2ca1 fixed resource leak in wxBitmap::CopyFromIconOrCursor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 23:29:09 +00:00
Vadim Zeitlin
f0adbe0ffd fix for the initial size of the dialogs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12079 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 23:18:34 +00:00
Václav Slavík
e6daf008d8 added screenshot capturing for debugging purposes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 22:51:05 +00:00
Gilles Depeyrot
7d12127f14 added missing include
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 21:51:18 +00:00
Gilles Depeyrot
cf248c80a3 use $(MAKE) instead of make
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 21:39:50 +00:00
Gilles Depeyrot
318f6d79a8 use $(MAKE) instead of make
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 21:34:12 +00:00
Vadim Zeitlin
84f68c21f4 fix for wxStatusBar linking problems under wxMac
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 21:24:04 +00:00
Gilles Depeyrot
6616a36dbf use $(MAKE) instead of make
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 21:22:05 +00:00
Mattia Barbon
ec7cd4c478 #elif -> #else
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 21:18:32 +00:00
Mattia Barbon
d1d2cd38c4 Added RTTI macros to wxSplashScreen.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 21:09:21 +00:00
Mattia Barbon
2654a046d7 Check for wxUSE_SPLASH
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 21:07:11 +00:00
Mattia Barbon
b3bd664a90 Updated makefile.g95/vc to behave similarly to wxWindows.dsp WRT library names
and setup.h .


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 21:05:20 +00:00
Mattia Barbon
deb3ea6a34 Forgot to commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12068 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-18 20:58:12 +00:00
7685 changed files with 53 additions and 1987571 deletions

View File

@@ -1,57 +0,0 @@
system.list
bin
.gdb_history
Test
config.cache
configarg.cache
config.status
system.list
linux.system.cache
wx-config
config.log
linux-gnu.system.cache
*.dsp
*.dsw
*.plg
*.opt
*.aps
*.ncb
*.pro
*.opt
*.d
*.swp
*.swo
Release
Debug
ReleaseDLL
DebugDLL
UnivRelease
UnivDebug
BaseRelease
BaseDebug
robert
stamp-h.in
Makefile
configure
setup.h
stamp-h
libtool
aclocal.m4
base
gtk
motif
win32
univ
univ-debug
univ-release
base-debug
gtk-debug
motif-debug
win32-debug
base-release
gtk-release
motif-release
win32-release
*tags
log
univtags.cmd

View File

@@ -1,251 +0,0 @@
------------------------------------------------------------------------
How to build the sources from CVS
------------------------------------------------------------------------
Please use the install.txt files in docs/gtk, docs/msw, docs/motif, docs/mac
etc. alongside these instructions.
I) Windows using plain makefiles
----------------------------------------
a) If using Microsoft Visual C++ 5.0 or 6.0
Ensure that the command-line compiler and tools (including
nmake) are installed and ready to run. Depending on your
installation there may be a batch file (named something like
VCVARS32.BAT) that needs to be run to set correct environment
varaibles and PATH entries.
Continue with item c) below.
b) If using the GNU Mingw32 or GNU Cygwin32 compilers
You can get Mingw32 from http://www.mingw.org
Cygwin32 is available at http://www.cygwin.com
The makefile might have small problems with Cygwin's tools
so it is recommended to use Mingw32 and its toolchain instead
if possible.
-> Set your path so that it includes the directory
where your compiler and tools reside
-> If your are using an old Mingw32 version (gcc-2.95 or older),
you might need to fix some headers with the patches contained
in the wxWin\Mingw32-gcc295.patches file. PLEASE APPLY THESE
PATCHES BY HAND! There are apparently a few different versions
of the headers floating around. Note that these patches are
not needed if you are using Mingw32 gcc-2.95.2 or newer.
-> Edit wx/src/makeg95.env and set the MINGW32 variable at the top of
the file to either 1 (you have Mingw32) or 0 (you have Cygwin32).
If using MINGW32, also set the MINGW32VERSION variable
appropiately.
c) Build instructions
-> Assumming that you installed the wxWindows sources
into c:\wxWin
-> Copy c:\wxWin\include\wx\msw\setup0.h
to c:\wxWin\include\wx\msw\setup.h
-> Edit c:\wxWin\include\wx\msw\setup.h so that
most features are enabled (i.e. defined to 1), for example:
#define wxUSE_ODBC 0
#define wxUSE_SOCKETS 1
#define wxUSE_HTML 1
#define wxUSE_THREADS 1
#define wxUSE_FS_INET 0
#define wxUSE_FS_ZIP 1
#define wxUSE_BUSYINFO 1
#define wxUSE_DYNLIB_CLASS 1
#define wxUSE_ZIPSTREAM 1
#define wxUSE_LIBJPEG 1
#define wxUSE_LIBPNG 1
and std iostreams are disabled with
#define wxUSE_STD_IOSTREAM 0
-> type: cd c:\wxWin\src\msw
-> type: make -f makefile.g95 (if using GNU tools)
or type: nmake -f makefile.vc (if using MS VC++)
II) Unix ports
--------------
Building wxGTK or wxMotif completely without configure
won't ever work, but there is now a new makefile system
that works without libtool and automake, using only
configure to create what is needed.
In order to create configure, you need to have the
GNU autoconf package (version 2.13 or 2.14) installed
on your system and type run "autoconf" in the base
directory (or run the autogen.sh script in the same
directory, which just calls autoconf).
Set WXWIN environment variable to the base directory such
as ~/wxWindows (this is actually not really needed).
-> type: export WXWIN=~/wxWindows
-> type: md mybuild
-> type: cd mybuild
-> type: ../configure --with-motif
or type: ../configure --with-gtk
-> type: make
-> type: su <type root password>
-> type: make install
-> type: ldconfig
-> type: exit
Call configure with --disable-shared to create a static
library. Calling "make uninstall" will remove the installed
library and "make dist" will create a distribution (not
yet complete).
III) Windows using configure
----------------------------------------
Take a look at Unix->Windows cross compiling. With minor
modifications, this should work in Windows if you've got the cygnus
utilities (bash, GNU make, etc) and either mingw32 or cygwin32 installed.
See http://www.cygnus.com for these programs, or go straight to their
ftp server at ftp://sourceware.cygnus.com/pub/cygwin/.
Of course, you can also build the library using plain makefiles (see
section I).
IV) Classic MacOS using CodeWarrior (eg MacOS 8.x/9.x)
----------------------------------------
Refer to the readme.txt and install.txt files in docs/mac to build
wxWindows under Classic Mac OS using CodeWarrior.
If you are checking out the CVS sources using cvs under Mac OS X and
compiling under Classic Mac OS, make sure that all text files have a
Mac OS type of 'TEXT' otherwise CodeWarrior may ignore them. Checking
out the CVS sources using cvs under Mac OS X creates untyped files
which can lead to compialtion errors under CodeWarrior which are hard
to track down.
V) MacOS X using configure and the Developer Tools
----------------------------------------
You need to have the Developer Tools installed. If this is not the case,
you will need to register at the Apple Developer web site (this is a free
registration) in order to download the Developer Tools installer.
In order to create configure, you need to have the
GNU autoconf package (version 2.13 or 2.14) installed
on your system and type run "autoconf" in the base
directory (or run the autogen.sh script in the same
directory, which just calls autoconf).
-> type: mkdir macbuild
-> type: cd macbuild
-> type: ../configure --with-mac
or type: ../configure
-> type: make
VI) OS/2
----------------------------------------
VII) Unix->Windows cross-compiling using configure
--------------------------------------------------
First you'll need a cross-compiler; linux glibc binaries of mingw32 and
cygwin32 (both based on egcs) can be found at
ftp://ftp.objsw.com/pub/crossgcc/linux-x-win32. Alternative binaries,
based on the latest MinGW release can be found at
http://members.telering.at/jessich/mingw/mingwcross/mingw_cross.html
Otherwise you can compile one yourself.
[ A Note about cygwin32 and mingw32: the main difference is that cygwin32
binaries are always linked against cygwin.dll. This dll encapsulates most
standard Unix C extensions, which is very handy if you're porting unix
software to windows. However, wxMSW doesn't need this, so mingw32 is
preferable if you write portable C(++). ]
You might want to build both Unix and Windows binaries in the same source
tree; to do this make subdirs for each e.g. unix and win32. If you've
already build wxWindows in the main dir, do a 'make distclean' there,
otherwise configure will get confused. (In any case, read the section 'Unix
using configure' and make sure you're able to build a native wxWindows
library; cross-compiling errors can be pretty obscure and you'll want to be
sure that your configure setup is basically sound.)
To cross compile the windows library, do
-> cd win32
(or whatever you called it)
Now run configure. There are two ways to do this
-> ../configure --host=i586-mingw32 --build=i586-linux --with-mingw
where --build= should read whatever platform you're building on. Configure
will notice that build and host platforms differ, and automatically prepend
i586-mingw32- to gcc, ar, ld, etc (make sure they're in the PATH!).
The other way to run configure is by specifying the names of the binaries
yourself:
-> CC=i586-mingw32-gcc CXX=i586-mingw32-g++ RANLIB=i586-mingw32-ranlib \
DLLTOOL=i586-mingw32-dlltool LD=i586-mingw32-ld NM=i586-mingw32-nm \
../configure --host=i586-mingw32 --with-mingw
(all assuming you're using mingw32)
By default this will compile a DLL, if you want a static library,
specify --disable-shared.
Type
-> make
and wait, wait, wait. Don't leave the room, because the minute you do there
will be a compile error :-)
NB: if you are using a very old compiler you risk to get quite a few warnings
about "ANSI C++ forbids implicit conversion from 'void *'" in all places
where va_arg macro is used. This is due to a bug in (some versions of)
mingw32 headers which may be corrected by upgrading your compier,
otherwise you might edit the file
${install_prefix}/lib/gcc-lib/i586-mingw32/egcs-2.91.57/include/stdarg.h
(instead of egcs-2.91.57 you may have something different), searching for
the lines
/* Define __gnuc_va_list. */
#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__)
typedef char *__gnuc_va_list;
#else
typedef void *__gnuc_va_list;
#endif
#endif
and adding "|| defined(_WIN32)" to the list of platforms on which
__gnuc_va_list is char *.
If this is successful, you end up with a wx23_2.dll/libwx23_2.a in win32/lib
( or just libwx_msw.a if you opted for a static build ).
Now try building the minimal sample:
-> cd samples/minimal
-> make
and run it with wine, for example (or copy to a Windows box)
-> wine minimal.exe
If all is well, do an install; from win32
-> make install
Native and cross-compiled installations can co-exist peacefully
(as long as their widget sets differ), except for wx-config. You might
want to rename the cross-compiled one to i586-mingw32-wx-config, or something.
Cross-compiling TODO:
---------------------
- resource compiling must be done manually for now (should/can we link the
default wx resources into libwx_msw.a?) [ No we can't; the linker won't
link it in... you have to supply an object file ]
- static executables are HUGE -- there must be room for improvement.

File diff suppressed because it is too large Load Diff

View File

@@ -1,169 +0,0 @@
*** \gcc-inc\basetyps.h Sat Jul 31 16:48:36 1999
--- basetyps.h Fri Aug 06 11:14:36 1999
***************
*** 74,91 ****
--- 74,97 ----
STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \
}
#define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
+ #ifndef GUID_DEFINED
+ #define GUID_DEFINED
typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
+ #endif /* GUID_DEFINED */
typedef GUID *REFGUID;
typedef GUID *LPGUID;
+ #ifndef UUID_DEFINED
+ #define UUID_DEFINED
typedef GUID UUID;
+ #endif /* UUID_DEFINED */
typedef GUID IID;
typedef GUID CLSID;
typedef CLSID *LPCLSID;
typedef IID *LPIID;
*** \gcc-inc\oaidl.h Sat Jul 31 16:48:42 1999
--- oaidl.h Fri Aug 06 13:18:48 1999
***************
*** 39,44 ****
--- 39,53 ----
#define IMPLTYPEFLAG_FRESTRICTED 4
#define IMPLTYPEFLAG_FDEFAULTVTABLE 8
+ #define DISPID_UNKNOWN ( -1 )
+ #define DISPID_VALUE ( 0 )
+ #define DISPID_PROPERTYPUT ( -3 )
+ #define DISPID_NEWENUM ( -4 )
+ #define DISPID_EVALUATE ( -5 )
+ #define DISPID_CONSTRUCTOR ( -6 )
+ #define DISPID_DESTRUCTOR ( -7 )
+ #define DISPID_COLLECT ( -8 )
+
typedef interface ITypeLib *LPTYPELIB;
typedef interface ICreateTypeInfo *LPCREATETYPEINFO;
typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
***************
*** 49,54 ****
--- 58,73 ----
typedef interface IDispatch *LPDISPATCH;
typedef interface ICreateErrorInfo *LPCREATEERRORINFO;
+ extern "C" const IID IID_ITypeLib;
+ extern "C" const IID IID_ICreateTypeInfo;
+ extern "C" const IID IID_ICreateTypeInfo2;
+ extern "C" const IID IID_ICreateTypeLib;
+ extern "C" const IID IID_ICreateTypeLib2;
+ extern "C" const IID IID_ITypeInfo;
+ extern "C" const IID IID_IErrorInfo;
+ extern "C" const IID IID_IDispatch;
+ extern "C" const IID IID_ICreateErrorInfo;
+
typedef enum tagSYSKIND {
SYS_WIN16,SYS_WIN32,SYS_MAC
} SYSKIND;
***************
*** 375,382 ****
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
! STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID)
PURE;
! STDMETHOD(Invoked)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
};
#ifdef __cplusplus
--- 394,401 ----
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
! STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*)
PURE;
! STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
};
#ifdef __cplusplus
*** \gcc-inc\objidl.h Sat Jul 31 16:48:42 1999
--- objidl.h Fri Aug 06 11:00:19 1999
***************
*** 627,633 ****
STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
! STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC*) PURE;
STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**);
--- 627,633 ----
STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
! STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC**) PURE;
STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**);
--- i386-mingw32\include\stdio.h Sun Aug 1 06:18:20 1999
+++ stdio.h Sun Nov 7 03:41:40 1999
@@ -203,9 +203,12 @@
int fprintf (FILE* filePrintTo, const char* szFormat, ...);
int printf (const char* szFormat, ...);
int sprintf (char* caBuffer, const char* szFormat, ...);
+int _snprintf (char* caBuffer, size_t n, const char* szFormat, ...);
int vfprintf (FILE* filePrintTo, const char* szFormat, va_list varg);
int vprintf (const char* szFormat, va_list varg);
int vsprintf (char* caBuffer, const char* szFormat, va_list varg);
+int _vsnprintf (char* caBuffer, size_t n, const char* szFormat,
+ va_list varg);
/* Wide character versions */
int fwprintf (FILE* filePrintTo, const wchar_t* wsFormat, ...);
--- i386-mingw32\include\winbase.h Sat Jul 31 17:48:48 1999
+++ winbase.h Fri Feb 25 01:49:08 2000
@@ -989,7 +989,7 @@
BOOL WINAPI CopyFileExW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD);
#define RtlMoveMemory memmove
#define RtlCopyMemory memcpy
-#define RtlFillMemory memset
+#define RtlFillMemory(d,l,f) memset ((d),(f),(l))
#define RtlZeroMemory(d,l) memset((d),0,(l))
#define MoveMemory RtlMoveMemory
#define CopyMemory RtlCopyMemory
--- i386-mingw32\include\winsock.h Sat Jul 31 17:48:50 1999
+++ winsock.h Mon Mar 20 13:47:12 2000
@@ -13,6 +13,10 @@
#define _GNU_H_WINDOWS32_SOCKETS
#include <windows.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef _SYS_TYPES_H
typedef unsigned char u_char;
typedef unsigned short u_short;
@@ -495,4 +499,9 @@
typedef struct timeval TIMEVAL;
typedef struct timeval *PTIMEVAL;
typedef struct timeval *LPTIMEVAL;
+
+#ifdef __cplusplus
+}
#endif
+#endif
+

289
aclocal.m4 vendored
View File

@@ -1,289 +0,0 @@
dnl aclocal.m4 generated automatically by aclocal 1.4
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
# Configure paths for GTK+
# Owen Taylor 97-11-3
dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS. Uses variables
dnl gtk_config_prefix and/or gtk_config_exec_prefix if defined.
AC_DEFUN(AM_PATH_GTK,
[
if test x$gtk_config_exec_prefix != x ; then
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
fi
fi
if test x$gtk_config_prefix != x ; then
gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
fi
fi
AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
min_gtk_version=ifelse([$1], ,0.99.7,$1)
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
no_gtk=""
if test "$GTK_CONFIG" != "no" ; then
GTK_CFLAGS=`$GTK_CONFIG --cflags`
GTK_LIBS=`$GTK_CONFIG --libs gthread`
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
dnl
dnl Now check if the installed GTK is sufficiently new. (Also sanity
dnl checks the results of gtk-config to some extent)
dnl
AC_TRY_RUN([
#include <gtk/gtk.h>
#include <gtk/gtkfeatures.h>
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
int major, minor, micro;
if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_gtk_version");
exit(1);
}
if ((GTK_MAJOR_VERSION != gtk_major_version) ||
(GTK_MINOR_VERSION != gtk_minor_version) ||
(GTK_MICRO_VERSION != gtk_micro_version)) {
printf("Headers vs. library version mismatch!\n");
exit(1);
}
if (gtk_minor_version == 1) return FALSE;
return !((gtk_major_version > major) ||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
else
no_gtk=yes
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
GTK_CFLAGS=""
GTK_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
])
dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
dnl
AC_DEFUN(AM_PATH_GTK_2_0,
[dnl
dnl Get the cflags and libraries from the gtk-config-2.0 script
dnl
AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
gtk_config_prefix="$withval", gtk_config_prefix="")
AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
, enable_gtktest=yes)
for module in . $4
do
case "$module" in
gthread)
gtk_config_args="$gtk_config_args gthread"
;;
esac
done
if test x$gtk_config_exec_prefix != x ; then
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
if test x${GTK_CONFIG_2_0+set} != xset ; then
GTK_CONFIG_2_0=$gtk_config_exec_prefix/bin/gtk-config-2.0
fi
fi
if test x$gtk_config_prefix != x ; then
gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
if test x${GTK_CONFIG_2_0+set} != xset ; then
GTK_CONFIG_2_0=$gtk_config_prefix/bin/gtk-config-2.0
fi
fi
AC_PATH_PROG(GTK_CONFIG_2_0, gtk-config-2.0, no)
min_gtk_version=ifelse([$1], ,1.3.1,$1)
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
no_gtk=""
if test "$GTK_CONFIG_2_0" = "no" ; then
no_gtk=yes
else
GTK_CFLAGS=`$GTK_CONFIG_2_0 $gtk_config_args --cflags`
GTK_LIBS=`$GTK_CONFIG_2_0 $gtk_config_args --libs`
gtk_config_major_version=`$GTK_CONFIG_2_0 $gtk_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
gtk_config_minor_version=`$GTK_CONFIG_2_0 $gtk_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
gtk_config_micro_version=`$GTK_CONFIG_2_0 $gtk_config_args --version | \
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
if test "x$enable_gtktest" = "xyes" ; then
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$GTK_LIBS $LIBS"
dnl
dnl Now check if the installed GTK is sufficiently new. (Also sanity
dnl checks the results of gtk-config-2.0 to some extent
dnl
rm -f conf.gtktest
AC_TRY_RUN([
#include <gtk/gtk.h>
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
int major, minor, micro;
char *tmp_version;
system ("touch conf.gtktest");
/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = g_strdup("$min_gtk_version");
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_gtk_version");
exit(1);
}
if ((gtk_major_version != $gtk_config_major_version) ||
(gtk_minor_version != $gtk_config_minor_version) ||
(gtk_micro_version != $gtk_config_micro_version))
{
printf("\n*** 'gtk-config-2.0 --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
$gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
gtk_major_version, gtk_minor_version, gtk_micro_version);
printf ("*** was found! If gtk-config-2.0 was correct, then it is best\n");
printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
printf("*** required on your system.\n");
printf("*** If gtk-config-2.0 was wrong, set the environment variable GTK_CONFIG_2_0\n");
printf("*** to point to the correct copy of gtk-config-2.0, and remove the file config.cache\n");
printf("*** before re-running configure\n");
}
#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
(gtk_minor_version != GTK_MINOR_VERSION) ||
(gtk_micro_version != GTK_MICRO_VERSION))
{
printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
}
#endif /* defined (GTK_MAJOR_VERSION) ... */
else
{
if ((gtk_major_version > major) ||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
{
return 0;
}
else
{
printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
major, minor, micro);
printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
printf("*** probably means that the wrong copy of the gtk-config-2.0 shell script is\n");
printf("*** being found. The easiest way to fix this is to remove the old version\n");
printf("*** of GTK+, but you can also set the GTK_CONFIG_2_0 environment to point to the\n");
printf("*** correct copy of gtk-config-2.0. (In this case, you will have to\n");
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
printf("*** so that the correct libraries are found at run-time))\n");
}
}
return 1;
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$GTK_CONFIG_2_0" = "no" ; then
echo "*** The gtk-config-2.0 script installed by GTK could not be found"
echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
echo "*** your path, or set the GTK_CONFIG_2_0 environment variable to the"
echo "*** full path to gtk-config-2.0."
else
if test -f conf.gtktest ; then
:
else
echo "*** Could not run GTK test program, checking why..."
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
AC_TRY_LINK([
#include <gtk/gtk.h>
#include <stdio.h>
], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
[ echo "*** The test program compiled, but did not run. This usually means"
echo "*** that the run-time linker is not finding GTK or finding the wrong"
echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
echo "***"
echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
echo "*** came with the system with the command"
echo "***"
echo "*** rpm --erase --nodeps gtk gtk-devel" ],
[ echo "*** The test program failed to compile or link. See the file config.log for the"
echo "*** exact error that occured. This usually means GTK was incorrectly installed"
echo "*** or that you have moved GTK since it was installed. In the latter case, you"
echo "*** may want to edit the gtk-config-2.0 script: $GTK_CONFIG_2_0" ])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
fi
fi
GTK_CFLAGS=""
GTK_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
rm -f conf.gtktest
])

View File

@@ -1,2 +0,0 @@
#!/bin/sh
autoconf

1317
config.guess vendored

File diff suppressed because it is too large Load Diff

1411
config.sub vendored

File diff suppressed because it is too large Load Diff

18884
configure vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +0,0 @@
#
# Makefile : Builds wxWindows utils for Unix.
#
all:
cd src; make
clean:
cd src; make clean
cd samples; make clean
cd utils; make clean
samples:
cd samples; make

1036
contrib/configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,79 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
AC_REVISION($Id$)dnl
AC_INIT(Makefile.in)
dnl ---------------
dnl MMedia specific
dnl ---------------
dnl Check for ESD
ESD_LINK=
AC_CHECK_HEADER(esd.h, [
AC_CHECK_LIB(esd, esd_close, [
ESD_LINK="-lesd"
])
])
if test "$ESD_LINK" != "" ; then
echo "ESound detected"
fi
dnl -----------
dnl Final subst
PATH_IFS=$wx_cv_path_ifs
WX_TARGET_LIBRARY=$wx_cv_target_library
WX_TARGET_LIBRARY_TYPE=$wx_cv_target_libtype
AC_SUBST(PATH_IFS)
AC_SUBST(ESD_LINK)
AC_SUBST(WX_TARGET_LIBRARY)
AC_SUBST(WX_TARGET_LIBRARY_TYPE)
dnl -----------
dnl File output
AC_OUTPUT([
src/Makefile
src/ogl/Makefile
src/mmedia/Makefile
src/stc/Makefile
src/xrc/Makefile
src/canvas/Makefile
src/gizmos/Makefile
src/plot/Makefile
src/applet/Makefile
src/fl/Makefile
src/net/Makefile
samples/Makefile
samples/mmedia/Makefile
samples/ogl/Makefile
samples/ogl/ogledit/Makefile
samples/ogl/studio/Makefile
samples/stc/Makefile
samples/canvas/Makefile
samples/canvas/test/Makefile
samples/canvas/simple/Makefile
samples/gizmos/Makefile
samples/gizmos/multicell/Makefile
samples/gizmos/splittree/Makefile
samples/gizmos/editlbox/Makefile
samples/gizmos/dynsash/Makefile
samples/gizmos/dynsash_switch/Makefile
samples/xrc/Makefile
samples/plot/Makefile
samples/applet/Makefile
samples/fl/Makefile
samples/fl/fl_demo1/Makefile
samples/fl/fl_demo2/Makefile
samples/fl/fl_sample1/Makefile
samples/fl/fl_sample2/Makefile
samples/fl/fl_sample3/Makefile
utils/Makefile
utils/wxrc/Makefile
utils/wxrcedit/Makefile
utils/convertrc/Makefile
])

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 B

View File

@@ -1,9 +0,0 @@
\chapter{Bugs}\label{bugs}%
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}
These are the known bugs.
\begin{itemize}\itemsep=0pt
\item No bugs
\end{itemize}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 B

View File

@@ -1,24 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/cdbase.h at 26/Feb/00 14:52:12
%
\section{\class{wxCDAudio}}\label{wxcdaudio}
\wxheading{Derived from}
wxObject
\wxheading{Data structures}
{\small
\begin{verbatim}
typedef struct wxCDtime {
wxUint8 track
};
\end{verbatim}
}
{\small \begin{verbatim}
typedef enum { PLAYING, PAUSED, STOPPED } CDstatus
\end{verbatim}}

View File

@@ -1,66 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/cdunix.h at 26/Feb/00 14:52:10
%
\section{\class{wxCDAudioLinux}}\label{wxcdaudiolinux}
\wxheading{Derived from}
\helpref{wxCDAudio}{wxcdaudio}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxCDAudioLinux::wxCDAudioLinux}\label{wxcdaudiolinuxwxcdaudiolinux}
\func{}{wxCDAudioLinux}{\void}
\func{}{wxCDAudioLinux}{\param{const char* }{dev\_name}}
\membersection{wxCDAudioLinux::\destruct{wxCDAudioLinux}}\label{wxcdaudiolinuxdtor}
\func{}{\destruct{wxCDAudioLinux}}{\void}
\membersection{wxCDAudioLinux::Play}\label{wxcdaudiolinuxplay}
\func{bool}{Play}{\param{const wxCDtime\& }{beg\_time}, \param{const wxCDtime\& }{end\_time}}
\membersection{wxCDAudioLinux::Pause}\label{wxcdaudiolinuxpause}
\func{bool}{Pause}{\void}
\membersection{wxCDAudioLinux::Resume}\label{wxcdaudiolinuxresume}
\func{bool}{Resume}{\void}
\membersection{wxCDAudioLinux::GetStatus}\label{wxcdaudiolinuxgetstatus}
\func{CDstatus}{GetStatus}{\void}
\membersection{wxCDAudioLinux::GetTime}\label{wxcdaudiolinuxgettime}
\func{wxCDtime}{GetTime}{\void}
\membersection{wxCDAudioLinux::GetToc}\label{wxcdaudiolinuxgettoc}
\func{CDtoc\&}{GetToc}{\void}
\membersection{wxCDAudioLinux::Ok}\label{wxcdaudiolinuxok}
\constfunc{bool}{Ok}{\void}
\membersection{wxCDAudioLinux::OpenDevice}\label{wxcdaudiolinuxopendevice}
\func{void}{OpenDevice}{\param{const char* }{dev\_name}}

View File

@@ -1,78 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/cdwin.h at 26/Feb/00 14:52:15
%
\section{\class{wxCDAudioWin}}\label{wxcdaudiowin}
\wxheading{Derived from}
\helpref{wxCDAudio}{wxcdaudio}
\wxheading{Data structures}
{\small
\begin{verbatim}
typedef struct CDAW\_Internal {
MCIDEVICEID dev\_id
};
\end{verbatim}
}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxCDAudioWin::wxCDAudioWin}\label{wxcdaudiowinwxcdaudiowin}
\func{}{wxCDAudioWin}{\void}
\func{}{wxCDAudioWin}{\param{const char* }{dev\_name}}
\membersection{wxCDAudioWin::\destruct{wxCDAudioWin}}\label{wxcdaudiowindtor}
\func{}{\destruct{wxCDAudioWin}}{\void}
\membersection{wxCDAudioWin::Play}\label{wxcdaudiowinplay}
\func{bool}{Play}{\param{const wxCDtime\& }{beg\_time}, \param{const wxCDtime\& }{end\_time}}
\membersection{wxCDAudioWin::Pause}\label{wxcdaudiowinpause}
\func{bool}{Pause}{\void}
\membersection{wxCDAudioWin::Resume}\label{wxcdaudiowinresume}
\func{bool}{Resume}{\void}
\membersection{wxCDAudioWin::GetStatus}\label{wxcdaudiowingetstatus}
\func{CDstatus}{GetStatus}{\void}
\membersection{wxCDAudioWin::GetTime}\label{wxcdaudiowingettime}
\func{wxCDtime}{GetTime}{\void}
\membersection{wxCDAudioWin::GetToc}\label{wxcdaudiowingettoc}
\func{const CDtoc\&}{GetToc}{\void}
\membersection{wxCDAudioWin::Ok}\label{wxcdaudiowinok}
\constfunc{bool}{Ok}{\void}
\membersection{wxCDAudioWin::PrepareToc}\label{wxcdaudiowinpreparetoc}
\func{void}{PrepareToc}{\void}

View File

@@ -1,111 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/cdbase.h at 26/Feb/00 14:52:12
%
\section{\class{CDtoc}}\label{cdtoc}
Table of contents manager
\wxheading{Derived from}
No base class
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{CDtoc::CDtoc}\label{cdtoccdtoc}
\func{}{CDtoc}{\param{wxCDtime\& }{tot\_tm}, \param{wxCDtime* }{trks\_tm}, \param{wxCDtime* }{trks\_pos}}
\membersection{CDtoc::GetTrackTime}\label{cdtocgettracktime}
\constfunc{wxCDtime}{GetTrackTime}{\param{wxUint8 }{track}}
Returns the length of the specified track
track: track to get length
\membersection{CDtoc::GetTrackPos}\label{cdtocgettrackpos}
\constfunc{wxCDtime}{GetTrackPos}{\param{wxUint8 }{track}}
Returns the position of the specified track
track: track to get position
\membersection{CDtoc::GetTotalTime}\label{cdtocgettotaltime}
\constfunc{wxCDtime}{GetTotalTime}{\void}
Returns the total time
\membersection{wxCDAudio::wxCDAudio}\label{wxcdaudiowxcdaudio}
\func{}{wxCDAudio}{\void}
\membersection{wxCDAudio::\destruct{wxCDAudio}}\label{wxcdaudiodtor}
\func{}{\destruct{wxCDAudio}}{\void}
\membersection{wxCDAudio::Play}\label{wxcdaudioplay}
\func{bool}{Play}{\param{const wxCDtime\& }{beg\_play}, \param{const wxCDtime\& }{end\_play}}
Play audio at the specified position
\func{bool}{Play}{\param{const wxCDtime\& }{beg\_play}}
Play audio from the specified to the end of the CD audio
\func{bool}{Play}{\param{wxUint8 }{beg\_track}, \param{wxUint8 }{end\_track = 0}}
\membersection{wxCDAudio::Pause}\label{wxcdaudiopause}
\func{bool}{Pause}{\void}
Pause the audio playing
\membersection{wxCDAudio::Resume}\label{wxcdaudioresume}
\func{bool}{Resume}{\void}
Resume a paused audio playing
\membersection{wxCDAudio::GetStatus}\label{wxcdaudiogetstatus}
\func{CDstatus}{GetStatus}{\void}
Get the current CD status
\membersection{wxCDAudio::GetTime}\label{wxcdaudiogettime}
\func{wxCDtime}{GetTime}{\void}
Get the current playing time
\membersection{wxCDAudio::GetToc}\label{wxcdaudiogettoc}
\func{const CDtoc\&}{GetToc}{\void}
Returns the table of contents
\membersection{wxCDAudio::Ok}\label{wxcdaudiook}
\constfunc{bool}{Ok}{\void}
CD ok

View File

@@ -1,3 +0,0 @@
\chapter{Change log}
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}

View File

@@ -1,13 +0,0 @@
\chapter{Class reference}\label{classref}
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}
These are the main Mmedia classes.
\input cdaudio.tex
\input cdaudlnx.tex
\input cdaudwin.tex
\input cdtoc.tex
\input sndbase.tex
\input sndfile.tex
\input sndfrmt.tex

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

View File

@@ -1,47 +0,0 @@
\chapter{Introduction}
\pagenumbering{arabic}%
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}
The MMedia wxWindows extension is a wxWindows library which provides you
a full set of multimedia classes including sound recording/playing,
cd audio playing and video playing. The API is portable and can be used
on any supported systems with the insurance the behaviour will be the
same.
\section{File structure}
These are the files that comprise the mmedia library.
\begin{description}\itemsep=0pt
\item[sndbase.h] Header for wxSoundStream base class and wxSoundFormat base class.
\item[sndbase.cpp] Basic objects implementation.
\item[sndfile.h] wxSoundFileStream base class header.
\item[sndfile.cpp] wxSoundFileStream base class implementation.
\item[sndpcm.h] wxSoundFormatPcm class header.
\item[sndpcm.cpp] wxSoundFormatPcm class implementation.
\item[sndcpcm.h] wxSoundCodecPcm class header (PCM converter).
\item[sndcpcm.cpp] wxSoundCodecPcm class implementation (PCM converter).
\item[sndulaw.h]
\item[sndulaw.cpp]
\item[sndg72x.h]
\item[sndg72x.cpp]
\item[sndoss.h]
\item[sndoss.cpp]
\item[sndesd.h]
\item[sndesd.cpp]
\item[sndwin.h]
\item[sndwin.cpp]
\item[cdbase.h]
\item[cdbase.cpp]
\item[cdunix.h]
\item[cdunix.cpp]
\item[cdwin.h]
\item[cdwin.cpp]
\item[vidbase.h]
\item[vidbase.cpp]
\item[vidxanm.h]
\item[vidxanm.cpp]
\item[vidwin.h]
\item[vidwin.cpp]
\end{description}

View File

@@ -1,45 +0,0 @@
\documentstyle[a4,makeidx,verbatim,texhelp,fancyheadings]{report}
\definecolour{black}{0}{0}{0}%
\definecolour{cyan}{0}{255}{255}%
\definecolour{green}{0}{255}{0}%
\definecolour{magenta}{255}{0}{255}%
\definecolour{red}{255}{0}{0}%
\definecolour{blue}{0}{0}{200}%
\definecolour{yellow}{255}{255}{0}%
\definecolour{white}{255}{255}{255}%
\input psbox.tex
\parindent 0pt
\parskip 11pt
\title{MMedia for wxWindows}
\author{Guilhem Lavaux}
\date{March 2000}
\makeindex
\begin{document}
\maketitle
\pagestyle{fancyplain}
\bibliographystyle{plain}
\pagenumbering{roman}
\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}
\setfooter{\thepage}{}{}{}{}{\thepage}
\tableofcontents%
\input{intro.tex}
%
\input{sample.tex}
%
\input{classes.tex}
%
\input{topics.tex}
%
\input{bugs.tex}
%
\input{changes.tex}
%
\addcontentsline{toc}{chapter}{Index}
\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}
\setfooter{\thepage}{}{}{}{}{\thepage}%
\printindex
\end{document}

View File

@@ -1,520 +0,0 @@
%
% %%%%%%% %%%%% %%%%%% %%%%% % %
% % % % % % % % % %
% % % % % % % % % %
% %%%%%%% %%%%% %%%%%% % % %
% % % % % % % % %
% % % % % % % % %
% % %%%%%% %%%%%% %%%%% % %
%
% By Jean Orloff
% Comments & suggestions by e-mail: ORLOFF@surya11.cern.ch
% No modification of this file allowed if not e-sent to me.
%
% A simple way to measure the size of encapsulated postscript figures
% from inside TeX, and to use it for automatically formatting texts
% with inserted figures. Works both under Plain TeX-based macros
% (Phyzzx, Harvmac, Psizzl, ...) and LaTeX environment.
% Provides exactly the same result on any PostScript printer provided
% the single instruction \psfor... is changed to fit the needs of the
% particular dvi->ps translator used.
% History:
% 1.31: adds \psforDVIALW(?)
% 1.30: adds \splitfile & \joinfiles for multi-file management
% 1.24: fix error handling & add \psonlyboxes
% 1.23: adds \putsp@ce for OzTeX fix
% 1.22: makes \drawingBox \global for use in Phyzzx
% 1.21: accepts %%BoundingBox: (atend)
% 1.20: tries to add \psfordvitps for the TeXPS package.
% 1.10: adds \psforoztex, error handling...
%2345678 1 2345678 2 2345678 3 2345678 4 2345678 5 2345678 6 2345678 7 23456789
%
\def\temp{1.31}
\let\tempp=\relax
\expandafter\ifx\csname psboxversion\endcsname\relax
\message{version: \temp}
\else
\ifdim\temp cm>\psboxversion cm
\message{version: \temp}
\else
\message{psbox(\psboxversion) is already loaded: I won't load
psbox(\temp)!}
\let\temp=\psboxversion
\let\tempp=\endinput
\fi
\fi
\tempp
\let\psboxversion=\temp
\catcode`\@=11
% Every macro likes a little privacy...
%
% Some common defs
%
\def\execute#1{#1}% NOT stupid: cs in #1 are then identified BEFORE execution
\def\psm@keother#1{\catcode`#112\relax}% borrowed from latex
\def\executeinspecs#1{%
\execute{\begingroup\let\do\psm@keother\dospecials\catcode`\^^M=9#1\endgroup}}
%
%Trying to tame the variety of \special commands for Postscript: the
% universal internal command \PSspeci@l##1##2 takes ##1 to be the
% filename and ##2 to be the integer scale factor*1000 (as for usual
% TeX \scale commands)
%
\def\psfortextures{% For TeXtures on the Macintosh
%-----------------
\def\PSspeci@l##1##2{%
\special{illustration ##1\space scaled ##2}%
}}
%
\def\psfordvitops{% For the DVItoPS converter on IBM mainframes
%----------------
\def\PSspeci@l##1##2{%
\special{dvitops: import ##1\space \the\drawingwd \the\drawinght}%
}}
%
\def\psfordvips{% For DVIPS converter on VAX, UNIX and PC's
%--------------
\def\PSspeci@l##1##2{%
% \special{/@scaleunit 1000 def}% never read dox without trying!
\d@my=0.1bp \d@mx=\drawingwd \divide\d@mx by\d@my%
\special{PSfile=##1\space llx=\psllx\space lly=\pslly\space%
urx=\psurx\space ury=\psury\space rwi=\number\d@mx}%
}}
%
\def\psforoztex{% For the OzTeX shareware on the Macintosh
%--------------
\def\PSspeci@l##1##2{%
\special{##1 \space
##2 1000 div dup scale
\putsp@ce{\number-\psllx} \putsp@ce{\number-\pslly} translate
}%
}}
\def\putsp@ce#1{#1 }
%
\def\psfordvitps{% From the UNIX TeXPS package, vers.>3.12
%---------------
% Convert a dimension into the number \psn@sp (in scaled points)
\def\psdimt@n@sp##1{\d@mx=##1\relax\edef\psn@sp{\number\d@mx}}
\def\PSspeci@l##1##2{%
% psfig.psr contains the def of "startTexFig": if you can locate it
% and include the correct pathname, it should work
\special{dvitps: Include0 "psfig.psr"}% contains def of "startTexFig"
\psdimt@n@sp{\drawingwd}
\special{dvitps: Literal "\psn@sp\space"}
\psdimt@n@sp{\drawinght}
\special{dvitps: Literal "\psn@sp\space"}
\psdimt@n@sp{\psllx bp}
\special{dvitps: Literal "\psn@sp\space"}
\psdimt@n@sp{\pslly bp}
\special{dvitps: Literal "\psn@sp\space"}
\psdimt@n@sp{\psurx bp}
\special{dvitps: Literal "\psn@sp\space"}
\psdimt@n@sp{\psury bp}
\special{dvitps: Literal "\psn@sp\space startTexFig\space"}
\special{dvitps: Include1 "##1"}
\special{dvitps: Literal "endTexFig\space"}
}}
\def\psforDVIALW{% Try for dvialw, a UNIX public domain
%---------------
\def\PSspeci@l##1##2{
\special{language "PS"
literal "##2 1000 div dup scale"
include "##1"}}}
\def\psonlyboxes{% Draft-like behaviour if none of the others works
%---------------
\def\PSspeci@l##1##2{%
\at(0cm;0cm){\boxit{\vbox to\drawinght
{\vss
\hbox to\drawingwd{\at(0cm;0cm){\hbox{(##1)}}\hss}
}}}
}%
}
%
\def\psloc@lerr#1{%
\let\savedPSspeci@l=\PSspeci@l%
\def\PSspeci@l##1##2{%
\at(0cm;0cm){\boxit{\vbox to\drawinght
{\vss
\hbox to\drawingwd{\at(0cm;0cm){\hbox{(##1) #1}}\hss}
}}}
\let\PSspeci@l=\savedPSspeci@l% restore normal output for other figs!
}%
}
%
%\def\psfor... add your own!
%
% \ReadPSize{PSfilename} reads the dimensions of a PostScript drawing
% and stores it in \drawinght(wd)
\newread\pst@mpin
\newdimen\drawinght\newdimen\drawingwd
\newdimen\psxoffset\newdimen\psyoffset
\newbox\drawingBox
\newif\ifNotB@undingBox
\newhelp\PShelp{Proceed: you'll have a 5cm square blank box instead of
your graphics (Jean Orloff).}
\def\@mpty{}
\def\s@tsize#1 #2 #3 #4\@ndsize{
\def\psllx{#1}\def\pslly{#2}%
\def\psurx{#3}\def\psury{#4}% needed by a crazyness of dvips!
\ifx\psurx\@mpty\NotB@undingBoxtrue% this is not a valid one!
\else
\drawinght=#4bp\advance\drawinght by-#2bp
\drawingwd=#3bp\advance\drawingwd by-#1bp
% !Units related by crazy factors as bp/pt=72.27/72 should be BANNED!
\fi
}
\def\sc@nline#1:#2\@ndline{\edef\p@rameter{#1}\edef\v@lue{#2}}
\def\g@bblefirstblank#1#2:{\ifx#1 \else#1\fi#2}
\def\psm@keother#1{\catcode`#112\relax}% borrowed from latex
\def\execute#1{#1}% Seems stupid, but cs are identified BEFORE execution
{\catcode`\%=12
\xdef\B@undingBox{%%BoundingBox}
} %% is not a true comment in PostScript, even if % is!
\def\ReadPSize#1{
\edef\PSfilename{#1}
\openin\pst@mpin=#1\relax
\ifeof\pst@mpin \errhelp=\PShelp
\errmessage{I haven't found your postscript file (\PSfilename)}
\psloc@lerr{was not found}
\s@tsize 0 0 142 142\@ndsize
\closein\pst@mpin
\else
\immediate\write\psbj@inaux{#1,}
\loop
\executeinspecs{\catcode`\ =10\global\read\pst@mpin to\n@xtline}
\ifeof\pst@mpin
\errhelp=\PShelp
\errmessage{(\PSfilename) is not an Encapsulated PostScript File:
I could not find any \B@undingBox: line.}
\edef\v@lue{0 0 142 142:}
\psloc@lerr{is not an EPSFile}
\NotB@undingBoxfalse
\else
\expandafter\sc@nline\n@xtline:\@ndline
\ifx\p@rameter\B@undingBox\NotB@undingBoxfalse
\edef\t@mp{%
\expandafter\g@bblefirstblank\v@lue\space\space\space}
\expandafter\s@tsize\t@mp\@ndsize
\else\NotB@undingBoxtrue
\fi
\fi
\ifNotB@undingBox\repeat
\closein\pst@mpin
\fi
\message{#1}
}
%
% \psboxto(xdim;ydim){psfilename}: you specify the dimensions and
% TeX uniformly scales to fit the largest one. If xdim=0pt, the
% scale is fully determined by ydim and vice versa.
% Notice: psboxes are a real vboxes; couldn't take hbox otherwise all
% indentation and all cr's would be interpreted as spaces (hugh!).
%
\newcount\xscale \newcount\yscale \newdimen\pscm\pscm=1cm
\newdimen\d@mx \newdimen\d@my
\let\ps@nnotation=\relax
\def\psboxto(#1;#2)#3{\vbox{
\ReadPSize{#3}
\divide\drawingwd by 1000
\divide\drawinght by 1000
\d@mx=#1
\ifdim\d@mx=0pt\xscale=1000
\else \xscale=\d@mx \divide \xscale by \drawingwd\fi
\d@my=#2
\ifdim\d@my=0pt\yscale=1000
\else \yscale=\d@my \divide \yscale by \drawinght\fi
\ifnum\yscale=1000
\else\ifnum\xscale=1000\xscale=\yscale
\else\ifnum\yscale<\xscale\xscale=\yscale\fi
\fi
\fi
\divide \psxoffset by 1000\multiply\psxoffset by \xscale
\divide \psyoffset by 1000\multiply\psyoffset by \xscale
\global\divide\pscm by 1000
\global\multiply\pscm by\xscale
\multiply\drawingwd by\xscale \multiply\drawinght by\xscale
\ifdim\d@mx=0pt\d@mx=\drawingwd\fi
\ifdim\d@my=0pt\d@my=\drawinght\fi
\message{scaled \the\xscale}
\hbox to\d@mx{\hss\vbox to\d@my{\vss
\global\setbox\drawingBox=\hbox to 0pt{\kern\psxoffset\vbox to 0pt{
\kern-\psyoffset
\PSspeci@l{\PSfilename}{\the\xscale}
\vss}\hss\ps@nnotation}
\global\ht\drawingBox=\the\drawinght
\global\wd\drawingBox=\the\drawingwd
\baselineskip=0pt
\copy\drawingBox
\vss}\hss}
\global\psxoffset=0pt
\global\psyoffset=0pt% These are local to one figure
\global\pscm=1cm
\global\drawingwd=\drawingwd
\global\drawinght=\drawinght
}}
%
% \psboxscaled{scalefactor*1000}{PSfilename} allows to bypass the
% rounding errors of TeX integer divisions for situations where the
% TeX box should fit the original BoundingBox with a precision better
% than 1/1000.
%
\def\psboxscaled#1#2{\vbox{
\ReadPSize{#2}
\xscale=#1
\message{scaled \the\xscale}
\divide\drawingwd by 1000\multiply\drawingwd by\xscale
\divide\drawinght by 1000\multiply\drawinght by\xscale
\divide \psxoffset by 1000\multiply\psxoffset by \xscale
\divide \psyoffset by 1000\multiply\psyoffset by \xscale
\global\divide\pscm by 1000
\global\multiply\pscm by\xscale
\global\setbox\drawingBox=\hbox to 0pt{\kern\psxoffset\vbox to 0pt{
\kern-\psyoffset
\PSspeci@l{\PSfilename}{\the\xscale}
\vss}\hss\ps@nnotation}
\global\ht\drawingBox=\the\drawinght
\global\wd\drawingBox=\the\drawingwd
\baselineskip=0pt
\copy\drawingBox
\global\psxoffset=0pt
\global\psyoffset=0pt% These are local to one figure
\global\pscm=1cm
\global\drawingwd=\drawingwd
\global\drawinght=\drawinght
}}
%
% \psbox{PSfilename} makes a TeX box having the minimal size to
% enclose the picture
\def\psbox#1{\psboxscaled{1000}{#1}}
%
%
% \joinfiles file1, file2, ...n \into joinedfilename .
% makes one file out of many
% \splitfile joinedfilename
% the opposite
%
%\def\execute#1{#1}% NOT stupid: cs in #1 are then identified BEFORE execution
%\def\psm@keother#1{\catcode`#112\relax}% borrowed from latex
%\def\executeinspecs#1{%
%\execute{\begingroup\let\do\psm@keother\dospecials\catcode`\^^M=9#1\endgroup}}
%\newread\pst@mpin
\newif\ifn@teof\n@teoftrue
\newif\ifc@ntrolline
\newif\ifmatch
\newread\j@insplitin
\newwrite\j@insplitout
\newwrite\psbj@inaux
\immediate\openout\psbj@inaux=psbjoin.aux
\immediate\write\psbj@inaux{\string\joinfiles}
\immediate\write\psbj@inaux{\jobname,}
%
% We redefine input to keep track of the various files inputted
%
\immediate\let\oldinput=\input
\def\input#1 {
\immediate\write\psbj@inaux{#1,}
\oldinput #1 }
\def\empty{}
\def\setmatchif#1\contains#2{
\def\match##1#2##2\endmatch{
\def\tmp{##2}
\ifx\empty\tmp
\matchfalse
\else
\matchtrue
\fi}
\match#1#2\endmatch}
\def\warnopenout#1#2{
\setmatchif{TrashMe,psbjoin.aux,psbjoin.all}\contains{#2}
\ifmatch
\else
\immediate\openin\pst@mpin=#2
\ifeof\pst@mpin
\else
\errhelp{If the content of this file is so precious to you, abort (ie
press x or e) and rename it before retrying.}
\errmessage{I'm just about to replace your file named #2}
\fi
\immediate\closein\pst@mpin
\fi
\message{#2}
\immediate\openout#1=#2}
% No comments allowed below: % will have an unusual catcode
{
\catcode`\%=12
\gdef\splitfile#1 {
\immediate\openin\j@insplitin=#1
\message{Splitting file #1 into:}
\warnopenout\j@insplitout{TrashMe}
\loop
\ifeof
\j@insplitin\immediate\closein\j@insplitin\n@teoffalse
\else
\n@teoftrue
\executeinspecs{\global\read\j@insplitin to\spl@tinline\expandafter
\ch@ckbeginnewfile\spl@tinline%Beginning-Of-File-Named:%\endcheck}
\ifc@ntrolline
\else
\toks0=\expandafter{\spl@tinline}
\immediate\write\j@insplitout{\the\toks0}
\fi
\fi
\ifn@teof\repeat
\immediate\closeout\j@insplitout}
\gdef\ch@ckbeginnewfile#1%Beginning-Of-File-Named:#2%#3\endcheck{
\def\t@mp{#1}
\ifx\empty\t@mp
\def\t@mp{#3}
\ifx\empty\t@mp
\global\c@ntrollinefalse
\else
\immediate\closeout\j@insplitout
\warnopenout\j@insplitout{#2}
\global\c@ntrollinetrue
\fi
\else
\global\c@ntrollinefalse
\fi}
\gdef\joinfiles#1\into#2 {
\message{Joining following files into}
\warnopenout\j@insplitout{#2}
\message{:}
{
\edef\w@##1{\immediate\write\j@insplitout{##1}}
\w@{% This text was produced with psbox's \string\joinfiles.}
\w@{% To decompose and tex it:}
\w@{%-save this with a filename CONTAINING ONLY LETTERS, and no extensions}
\w@{% (say, JOINTFIL), in some uncrowded directory;}
\w@{%-make sure you can \string\input\space psbox.tex (version>=1.3);}
\w@{%-tex JOINTFIL using Plain, or LaTeX, or whatever is needed by}
\w@{% the first part in the joining (after splitting JOINTFIL into}
\w@{% it's constituents, TeX will try to process it as it stands).}
\w@{\string\input\space psbox.tex}
\w@{\string\splitfile{\string\jobname}}
}
\tre@tfilelist#1, \endtre@t
\immediate\closeout\j@insplitout}
\gdef\tre@tfilelist#1, #2\endtre@t{
\def\t@mp{#1}
\ifx\empty\t@mp
\else
\llj@in{#1}
\tre@tfilelist#2, \endtre@t
\fi}
\gdef\llj@in#1{
\immediate\openin\j@insplitin=#1
\ifeof\j@insplitin
\errmessage{I couldn't find file #1.}
\else
\message{#1}
\toks0={%Beginning-Of-File-Named:#1}
\immediate\write\j@insplitout{\the\toks0}
\executeinspecs{\global\read\j@insplitin to\oldj@ininline}
\loop
\ifeof\j@insplitin\immediate\closein\j@insplitin\n@teoffalse
\else\n@teoftrue
\executeinspecs{\global\read\j@insplitin to\j@ininline}
\toks0=\expandafter{\oldj@ininline}
\let\oldj@ininline=\j@ininline
\immediate\write\j@insplitout{\the\toks0}
\fi
\ifn@teof
\repeat
\immediate\closein\j@insplitin
\fi}
}
% To be put at the end of a file, for making an tar-like file containing
% everything it used.
\def\autojoin{
\immediate\write\psbj@inaux{\string\into\space psbjoin.all}
\immediate\closeout\psbj@inaux
\input psbjoin.aux
}
%
% Annotations & Captions etc...
%
%
% \centinsert{anybox} is just a centered \midinsert, but is included as
% people barely use the original inserts from TeX.
%
\def\centinsert#1{\midinsert\line{\hss#1\hss}\endinsert}
\def\psannotate#1#2{\def\ps@nnotation{#2\global\let\ps@nnotation=\relax}#1}
\def\pscaption#1#2{\vbox{
\setbox\drawingBox=#1
\copy\drawingBox
\vskip\baselineskip
\vbox{\hsize=\wd\drawingBox\setbox0=\hbox{#2}
\ifdim\wd0>\hsize
\noindent\unhbox0\tolerance=5000
\else\centerline{\box0}
\fi
}}}
% for compatibility with older versions
\def\psfig#1#2#3{\pscaption{\psannotate{#1}{#2}}{#3}}
\def\psfigurebox#1#2#3{\pscaption{\psannotate{\psbox{#1}}{#2}}{#3}}
%
% \at(#1;#2)#3 puts #3 at #1-higher and #2-right of the current
% position without moving it (to be used in annotations).
\def\at(#1;#2)#3{\setbox0=\hbox{#3}\ht0=0pt\dp0=0pt
\rlap{\kern#1\vbox to0pt{\kern-#2\box0\vss}}}
%
% \gridfill(ht;wd) makes a 1cm*1cm grid of ht by wd whose lower-left
% corner is the current point
\newdimen\gridht \newdimen\gridwd
\def\gridfill(#1;#2){
\setbox0=\hbox to 1\pscm
{\vrule height1\pscm width.4pt\leaders\hrule\hfill}
\gridht=#1
\divide\gridht by \ht0
\multiply\gridht by \ht0
\gridwd=#2
\divide\gridwd by \wd0
\multiply\gridwd by \wd0
\advance \gridwd by \wd0
\vbox to \gridht{\leaders\hbox to\gridwd{\leaders\box0\hfill}\vfill}}
%
% Useful to measure where to put annotations
\def\fillinggrid{\at(0cm;0cm){\vbox{
\gridfill(\drawinght;\drawingwd)}}}
%
% \textleftof\anybox: Sample text\endtext
% inserts "Sample text" on the left of \anybox ie \vbox, \psbox.
% \textrightof is the symmetric (not documented, too uggly)
% Welcome any suggestion about clean wraparound macros from
% TeXhackers reading this
%
\def\textleftof#1:{
\setbox1=#1
\setbox0=\vbox\bgroup
\advance\hsize by -\wd1 \advance\hsize by -2em}
\def\textrightof#1:{
\setbox0=#1
\setbox1=\vbox\bgroup
\advance\hsize by -\wd0 \advance\hsize by -2em}
\def\endtext{
\egroup
\hbox to \hsize{\valign{\vfil##\vfil\cr%
\box0\cr%
\noalign{\hss}\box1\cr}}}
%
% \frameit{\thick}{\skip}{\anybox}
% draws with thickness \thick a box around \anybox, leaving \skip of
% blank around it. eg \frameit{0.5pt}{1pt}{\hbox{hello}}
% \boxit{\anybox} is a shortcut.
\def\frameit#1#2#3{\hbox{\vrule width#1\vbox{
\hrule height#1\vskip#2\hbox{\hskip#2\vbox{#3}\hskip#2}%
\vskip#2\hrule height#1}\vrule width#1}}
\def\boxit#1{\frameit{0.4pt}{0pt}{#1}}
%
%
\catcode`\@=12 % cs containing @ are unreachable
%
% CUSTOMIZE YOUR DEFAULT DRIVER:
% Uncomment the line corresponding to your TeX system:
%\psfortextures% For TeXtures on the Macintosh
%\psforoztex % For OzTeX shareware on the Macintosh
%\psfordvitops % For the DVItoPS converter for TeX on IBM mainframes
\psfordvips % For DVIPS converter on VAX and UNIX
%\psfordvitps % For dvitps from TeXPS package under UNIX
%\psforDVIALW % For DVIALW, UNIX public domain
%\psonlyboxes % Blank Boxes (when all else fails).

View File

@@ -1,6 +0,0 @@
\chapter{MMboard: a sample MMedia application}\label{mmboard}%
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}
To be written.

View File

@@ -1,68 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndaiff.h at 26/Feb/00 14:52:29
%
\section{\class{wxSoundAiff}}\label{wxsoundaiff}
AIFF codec
\wxheading{Derived from}
\helpref{wxSoundFileStream}{wxsoundfilestream}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundAiff::wxSoundAiff}\label{wxsoundaiffwxsoundaiff}
\func{}{wxSoundAiff}{\param{wxInputStream\& }{stream}, \param{wxSoundStream\& }{io\_sound}}
\func{}{wxSoundAiff}{\param{wxOutputStream\& }{stream}, \param{wxSoundStream\& }{io\_sound}}
\membersection{wxSoundAiff::\destruct{wxSoundAiff}}\label{wxsoundaiffdtor}
\func{}{\destruct{wxSoundAiff}}{\void}
\membersection{wxSoundAiff::CanRead}\label{wxsoundaiffcanread}
\func{bool}{CanRead}{\void}
\membersection{wxSoundAiff::GetCodecName}\label{wxsoundaiffgetcodecname}
\constfunc{wxString}{GetCodecName}{\void}
\membersection{wxSoundAiff::PrepareToPlay}\label{wxsoundaiffpreparetoplay}
\func{bool}{PrepareToPlay}{\void}
\membersection{wxSoundAiff::PrepareToRecord}\label{wxsoundaiffpreparetorecord}
\func{bool}{PrepareToRecord}{\param{wxUint32 }{time}}
\membersection{wxSoundAiff::FinishRecording}\label{wxsoundaifffinishrecording}
\func{bool}{FinishRecording}{\void}
\membersection{wxSoundAiff::RepositionStream}\label{wxsoundaiffrepositionstream}
\func{bool}{RepositionStream}{\param{wxUint32 }{position}}
\membersection{wxSoundAiff::GetData}\label{wxsoundaiffgetdata}
\func{wxUint32}{GetData}{\param{void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundAiff::PutData}\label{wxsoundaiffputdata}
\func{wxUint32}{PutData}{\param{const void* }{buffer}, \param{wxUint32 }{len}}

View File

@@ -1,294 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: sndbase.tex
%% Purpose: wxMMedia docs
%% Author: Guilhem Lavaux <lavaux@easynet.fr>
%% Modified by:
%% Created: 2000
%% RCS-ID: $Id$
%% Copyright: (c) wxWindows team
%% Licence: wxWindows licence
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxSoundStream}}\label{wxsoundstream}
Base class for sound streams
\wxheading{Derived from}
No base class
\wxheading{Include files}
<wx/mmedia/sndbase.h>
\wxheading{Data structures}
%%
%% wxSoundStream errors
%%
\wxheading{wxSoundStream errors}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxSOUND\_NOERR}}{No error occured}
\twocolitem{{\bf wxSOUND\_IOERR}}{An input/output error occured, it may concern
either a driver or a file}
\twocolitem{{\bf wxSOUND\_INVFRMT}}{The sound format passed to the function is
invalid. Generally, it means that you passed out of range values to the codec
stream or you don't pass the right sound format object to the right sound codec
stream.}
\twocolitem{{\bf wxSOUND\_INVDEV}}{Invalid device. Generally, it means that the
sound stream didn't manage to open the device driver due to an invalid parameter
or to the fact that sound is not supported on this computer.}
\twocolitem{{\bf wxSOUND\_NOEXACT}}{No exact matching sound codec has been found for
this sound format. It means that the sound driver didn't manage to setup the sound
card with the specified values.}
\twocolitem{{\bf wxSOUND\_NOCODEC}}{No matching codec has been found. Generally, it
may happen when you call wxSoundRouterStream::SetSoundFormat().}
\twocolitem{{\bf wxSOUND\_MEMERR}}{Not enough memory.}
\end{twocollist}
%%
%% C callback
%%
\wxheading{C callback for wxSound event}
When a sound event is generated, it may either call the internal sound event
processor (which can be inherited) or call a C function. Its definition is:
\begin{verbatim}
typedef void (*wxSoundCallback)(wxSoundStream *stream, int evt,
void *cdata);
\end{verbatim}
The {\bf stream} parameter represents the current wxSoundStream.
The {\bf evt} parameter represents the sound event which is the cause of the calling. (See \helpref{wxSound events}{wxsoundstream}).
The {\bf cdata} parameter represents the user callback data which were specified
when the user called \helpref{wxSoundStream::Register}{wxsoundstreamregister}.
{\it Note:} There are two other ways to catch sound events: you can inherit the
sound stream and redefine \helpref{wxSoundStream::OnSoundEvent}{wxsoundstreamonsoundevent}, or you can reroute the events to another sound stream using \helpref{wxSoundStream::SetEventHandler}{wxsoundstreamseteventhandler}.
%%
%% wxSoundStream streaming mode
%%
\wxheading{wxSound streaming mode}
The wxSoundStream object can work in three different modes. These modes are specified
at the call to \helpref{wxSoundStream::StartProduction}{wxsoundstreamstartproduction}
and cannot be changed until you call
\helpref{wxSoundStream::StopProduction}{wxsoundstreamstopproduction}.
The {\bf wxSOUND\_INPUT} mode is the recording mode. It generates {\bf wxSOUND\_INPUT}
events and you cannot use wxSoundStream::Write().
The {\bf wxSOUND\_OUTPUT} mode is the playing mode. It generates {\bf wxSOUND\_OUTPUT}
events and you cannot use wxSoundStream::Read().
The {\bf wxSOUND\_DUPLEX} mode activates the full duplex mode. The full duplex requires
you to make synchronous call to \helpref{wxSoundStream::Read}{wxsoundstreamread} and
\helpref{wxSoundStream::Write}{wxsoundstreamwrite}. This means that you must be
careful with realtime problems. Each time you call Read you must call Write.
%%
%% wxSoundStream events
%%
\wxheading{wxSoundStream events}
The sound events are generated when the sound driver (or the sound stream) completes
a previous sound buffer. There are two possible sound events and two meanings.
The {\bf wxSOUND\_INPUT} event is generated when the sound stream has a new input
buffer ready to be read. You know that you can read a buffer of the size
\helpref{GetBestSize()}{wxsoundstreamgetbestsize} without blocking.
The {\bf wxSOUND\_OUTPUT} event is generated when the sound stream has completed a
previous buffer. This buffer has been sent to the sound driver and it is ready to
process a new buffer. Consequently, \helpref{Write}{wxsoundstreamwrite} will not
block too.
\latexignore{\rtfignore{\wxheading{Members}}}
%% Ctor && Dtor
\membersection{wxSoundStream::wxSoundStream}\label{wxsoundstreamwxsoundstream}
\func{}{wxSoundStream}{\void}
Default constructor.
\membersection{wxSoundStream::\destruct{wxSoundStream}}\label{wxsoundstreamdtor}
\func{}{\destruct{wxSoundStream}}{\void}
Destructor. The destructor stops automatically all started production and destroys
any temporary buffer.
%%
%% Read
%%
\membersection{wxSoundStream::Read}\label{wxsoundstreamread}
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
Reads {\it len} bytes from the sound stream. This call may block the user so
use it carefully when you need to intensively refresh the GUI. You may be
interested by sound events: see \helpref{wxSoundStream::OnSoundEvent}{wxsoundstreamonsoundevent}.
It is better to use the size returned by \helpref{wxSoundStream::GetBestSize}{wxsoundstreamgetbestsize}: this may improve performance or accuracy of the
sound event system.
\wxheading{Parameters}
\docparam{len}{{\it len} is expressed in bytes. If you need to do conversions between bytes
and seconds use wxSoundFormat.
See \helpref{wxSoundFormatBase}{wxsoundformatbase}, \helpref{wxSoundStream::GetSoundFormat}{wxsoundstreamgetsoundformat}.}
\docparam{data}{Data in \it{buffer} are coded using the sound format attached to this sound
stream. The format is specified with
\helpref{SetSoundFormat}{wxsoundstreamsetsoundformat}.}
%%
%% Write
%%
\membersection{wxSoundStream::Write}\label{wxsoundstreamwrite}
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
Writes \it{len} bytes to the sound stream. This call may block the user so
use it carefully. You may be interested by sound events: see
\helpref{wxSoundStream::OnSoundEvent}{wxsoundstreamonsoundevent}.
It is better to use the size returned by \helpref{wxSoundStream::GetBestSize}{wxsoundstreamgetbestsize}: this may improve performance or accuracy of the
sound event system.
\wxheading{Parameters}
\docparam{len}{This is expressed in bytes. If you need to do conversions between bytes
and seconds use wxSoundFormat.
See \helpref{wxSoundFormatBase}{wxsoundformatbase}, \helpref{wxSoundStream::GetSoundFormat}{wxsoundstreamgetsoundformat}.}
\docparam{buffer}{Data in \it{buffer} are coded using the sound format attached to this sound
stream. The format is specified with
\helpref{SetSoundFormat}{wxsoundstreamsetsoundformat}.}
%%
%% GetBestSize
%%
\membersection{wxSoundStream::GetBestSize}\label{wxsoundstreamgetbestsize}
\constfunc{wxUint32}{GetBestSize}{\void}
This function returns the best size for IO calls. The best size provides you
a good alignment for data to be written (or read) to (or from) the sound stream.
So, when, for example, a sound event is sent, you are sure the sound stream
will not block for this buffer size.
%%
%% wxSoundStream:SetSoundFormat
%%
\membersection{wxSoundStream::SetSoundFormat}\label{wxsoundstreamsetsoundformat}
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}
SetSoundFormat is one of the key function of the wxSoundStream object.
It specifies the sound format the user needs. SetSoundFormat tries to
apply the format to the current sound stream (it can be a sound file or a
sound driver). Then, either it manages to apply it and it returns {\bf TRUE},
or it could not and it returns {\bf FALSE}. In this case, you must check
the error with
\helpref{wxSoundStream::GetError}{wxsoundstreamgeterror}. See
\helpref{wxSoundStream errors section}{wxsoundstream} for more details.
\wxheading{Note}
The {\bf format} object can be destroyed after the call. The object does not need it.
\wxheading{Note}
If the error is {\bf wxSOUND\_NOTEXACT}, the stream tries to find the best
approaching format and setups it. You can check the format which it applied
with \helpref{wxSoundStream::GetSoundFormat}{wxsoundstreamgetsoundformat}.
%%
%% GetSoundFormat
%%
\membersection{wxSoundStream::GetSoundFormat}\label{wxsoundstreamgetsoundformat}
\constfunc{wxSoundFormatBase\&}{GetSoundFormat}{\void}
It returns a reference to the current sound format of the stream represented by a
wxSoundFormatBase object. This object {\it must not} be destroyed by anyone except
the stream itself.
%%
%% SetCallback
%%
\membersection{wxSoundStream::SetCallback}\label{wxsoundstreamregister}
\func{void}{Register}{\param{int }{evt}, \param{wxSoundCallback }{cbk}, \param{void* }{cdata}}
It installs a C callback for wxSoundStream events. The C callbacks are still
useful to avoid hard inheritance. You can install only one callback per event.
Each callback has its callback data.
%%
%% StartProduction
%%
\membersection{wxSoundStream::StartProduction}\label{wxsoundstreamstartproduction}
\func{bool}{StartProduction}{\param{int }{evt}}
StartProduction starts the sound streaming. {\it evt} may be one of
{\bf wxSOUND\_INPUT}, {\bf wxSOUND\_OUTPUT} or {\bf wxSOUND\_DUPLEX}.
You cannot specify several flags at the same time. Starting the production
may automaticaly in position of buffer underrun (only in the case you activated
recording). Actually this may happen the sound IO queue is too short.
It is also advised that you fill quickly enough the sound IO queue when the
driver requests it (through a wxSoundEvent).
\membersection{wxSoundStream::StopProduction}\label{wxsoundstreamstopproduction}
\func{bool}{StopProduction}{\void}
I stops the async notifier and the sound streaming straightly.
\membersection{wxSoundStream::SetEventHandler}\label{wxsoundstreamseteventhandler}
\func{void}{SetEventHandler}{\param{wxSoundStream* }{handler}}
Sets the event handler: if it is non-null, all events are routed to it.
\membersection{wxSoundStream::GetError}\label{wxsoundstreamgeterror}
\constfunc{wxSoundError}{GetError}{\void}
It returns the last error which occured.
\membersection{wxSoundStream::GetLastAccess}\label{wxsoundstreamgetlastaccess}
\constfunc{wxUint32}{GetLastAccess}{\void}
It returns the number of bytes which were effectively written to/read from the sound stream.
\membersection{wxSoundStream::QueueFilled}\label{wxsoundstreamqueuefilled}
\constfunc{bool}{QueueFilled}{\void}
It returns whether the sound IO queue is full. When it is full, the next IO call will block
until the IO queue has at least one empty entry.
\membersection{wxSoundStream::OnSoundEvent}\label{wxsoundstreamonsoundevent}
\func{void}{OnSoundEvent}{\param{int }{evt}}
It is called by the wxSoundStream when a new sound event occured.

View File

@@ -1,39 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndcodec.h at 26/Feb/00 14:26:29
%
\section{\class{wxSoundStreamCodec}}\label{wxsoundstreamcodec}
\wxheading{Derived from}
\helpref{wxSoundStream}{wxsoundstream}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundStreamCodec::wxSoundStreamCodec}\label{wxsoundstreamcodecwxsoundstreamcodec}
\func{}{wxSoundStreamCodec}{\param{wxSoundStream\& }{snd\_io}}
\membersection{wxSoundStreamCodec::\destruct{wxSoundStreamCodec}}\label{wxsoundstreamcodecdtor}
\func{}{\destruct{wxSoundStreamCodec}}{\void}
\membersection{wxSoundStreamCodec::StartProduction}\label{wxsoundstreamcodecstartproduction}
\func{bool}{StartProduction}{\param{int }{evt}}
\membersection{wxSoundStreamCodec::StopProduction}\label{wxsoundstreamcodecstopproduction}
\func{bool}{StopProduction}{\void}
\membersection{wxSoundStreamCodec::GetBestSize}\label{wxsoundstreamcodecgetbestsize}
\constfunc{wxUint32}{GetBestSize}{\void}

View File

@@ -1,64 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndesd.h at 26/Feb/00 14:26:56
%
\section{\class{wxSoundStreamESD}}\label{wxsoundstreamesd}
ESD output class
\wxheading{Derived from}
\helpref{wxSoundStream}{wxsoundstream}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundStreamESD::wxSoundStreamESD}\label{wxsoundstreamesdwxsoundstreamesd}
\func{}{wxSoundStreamESD}{\param{const wxString\& }{hostname = "localhost"}}
\membersection{wxSoundStreamESD::\destruct{wxSoundStreamESD}}\label{wxsoundstreamesddtor}
\func{}{\destruct{wxSoundStreamESD}}{\void}
\membersection{wxSoundStreamESD::Read}\label{wxsoundstreamesdread}
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamESD::Write}\label{wxsoundstreamesdwrite}
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamESD::SetSoundFormat}\label{wxsoundstreamesdsetsoundformat}
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}
\membersection{wxSoundStreamESD::StartProduction}\label{wxsoundstreamesdstartproduction}
\func{bool}{StartProduction}{\param{int }{evt}}
\membersection{wxSoundStreamESD::StopProduction}\label{wxsoundstreamesdstopproduction}
\func{bool}{StopProduction}{\void}
\membersection{wxSoundStreamESD::WakeUpEvt}\label{wxsoundstreamesdwakeupevt}
\func{void}{WakeUpEvt}{\param{int }{evt}}
You should not call this.
\membersection{wxSoundStreamESD::QueueFilled}\label{wxsoundstreamesdqueuefilled}
\constfunc{bool}{QueueFilled}{\void}

View File

@@ -1,87 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndg72x.h at 26/Feb/00 14:52:19
%
\section{\class{wxSoundFormatG72X}}\label{wxsoundformatg72x}
G72X format
\wxheading{Derived from}
\helpref{wxSoundFormatBase}{wxsoundformatbase}
\wxheading{Data structures}
{\small \begin{verbatim}
typedef enum {
wxSOUND\_G721,
wxSOUND\_G723\_24,
wxSOUND\_G723\_40
} wxSoundG72XType
\end{verbatim}}
{\small \begin{verbatim}
typedef struct g72x\_state g72state
\end{verbatim}}
This fixes a bug in Mingw95
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundFormatG72X::wxSoundFormatG72X}\label{wxsoundformatg72xwxsoundformatg72x}
\func{}{wxSoundFormatG72X}{\void}
\membersection{wxSoundFormatG72X::\destruct{wxSoundFormatG72X}}\label{wxsoundformatg72xdtor}
\func{}{\destruct{wxSoundFormatG72X}}{\void}
\membersection{wxSoundFormatG72X::SetG72XType}\label{wxsoundformatg72xsetg72xtype}
\func{void}{SetG72XType}{\param{wxSoundG72XType }{type}}
\membersection{wxSoundFormatG72X::GetG72XType}\label{wxsoundformatg72xgetg72xtype}
\constfunc{wxSoundG72XType}{GetG72XType}{\void}
\membersection{wxSoundFormatG72X::SetSampleRate}\label{wxsoundformatg72xsetsamplerate}
\func{void}{SetSampleRate}{\param{wxUint32 }{srate}}
\membersection{wxSoundFormatG72X::GetSampleRate}\label{wxsoundformatg72xgetsamplerate}
\constfunc{wxUint32}{GetSampleRate}{\void}
\membersection{wxSoundFormatG72X::GetType}\label{wxsoundformatg72xgettype}
\constfunc{wxSoundFormatType}{GetType}{\void}
\membersection{wxSoundFormatG72X::Clone}\label{wxsoundformatg72xclone}
\constfunc{wxSoundFormatBase*}{Clone}{\void}
\membersection{wxSoundFormatG72X::GetTimeFromBytes}\label{wxsoundformatg72xgettimefrombytes}
\constfunc{wxUint32}{GetTimeFromBytes}{\param{wxUint32 }{bytes}}
\membersection{wxSoundFormatG72X::GetBytesFromTime}\label{wxsoundformatg72xgetbytesfromtime}
\constfunc{wxUint32}{GetBytesFromTime}{\param{wxUint32 }{time}}
\membersection{wxSoundFormatG72X::operator!=}\label{wxsoundformatg72xoperatorneq}
\constfunc{bool}{operator!=}{\param{const wxSoundFormatBase\& }{frmt2}}

View File

@@ -1,243 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: sndfile.tex
%% Purpose: wxMMedia docs
%% Author: Guilhem Lavaux <lavaux@easynet.fr>
%% Modified by:
%% Created: 2000
%% RCS-ID: $Id$
%% Copyright: (c) wxWindows team
%% Licence: wxWindows licence
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxSoundFileStream}}\label{wxsoundfilestream}
Base class for file coders/decoders. This class is not constructor (it is an abstract
class).
\wxheading{Derived from}
\helpref{wxSoundStream}{wxsoundstream}
\wxheading{Include file}
wx/sndfile.h
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundFileStream::wxSoundFileStream}\label{wxsoundfilestreamwxsoundfilestream}
\func{}{wxSoundFileStream}{\param{wxInputStream\& }{stream}, \param{wxSoundStream\& }{io\_sound}}
It constructs a new file decoder object which will send
audio data to the specified sound stream.
The {\it stream} is the input stream to be decoded. The
{\it io\_sound} is the destination sound stream.
Once it has been constructed, you cannot change any of
the specified streams nor the direction of the stream.
You will have access to the playback functions.
\func{}{wxSoundFileStream}{\param{wxOutputStream\& }{stream}, \param{wxSoundStream\& }{io\_sound}}
It constructs a new file coder object which will get
data to be recorded from the specified sound stream.
The {\it stream} is the output wxStream. The {\it io\_sound}
is the source sound stream of the audio data. Once
it has been constructed, you cannot change any of
the specified streams nor the direction of the stream.
\membersection{wxSoundFileStream::\destruct{wxSoundFileStream}}\label{wxsoundfilestreamdtor}
\func{}{\destruct{wxSoundFileStream}}{\void}
It destroys the current sound file codec.
\membersection{wxSoundFileStream::Play}\label{wxsoundfilestreamplay}
\func{bool}{Play}{\void}
It starts playing the file. The playing begins, in background
in nearly all cases, after the return of the function. The
codec returns to a {\bf stopped} state when it reaches the
end of the file.
On success, it returns TRUE.
\membersection{wxSoundFileStream::Record}\label{wxsoundfilestreamrecord}
\func{bool}{Record}{\param{wxUint32 }{time}}
It starts recording data from the sound stream and writing them
to the output stream. You have to precise the recording length in
parameter. This length is expressed in seconds. If you want to
control the record length (using \helpref{Stop}{wxsoundfilestreamstop}),
you can set it to wxSOUND\_INFINITE\_TIME.
On success, it returns TRUE.
\membersection{wxSoundFileStream::Stop}\label{wxsoundfilestreamstop}
\func{bool}{Stop}{\void}
It stops either recording or playing. Whatever happens (even unexpected
errors), the stream is stopped when the function returns. When you are
in recording mode, the file headers are updated and flushed if possible
(ie: if the output stream is seekable).
On success, it returns TRUE.
\membersection{wxSoundFileStream::Pause}\label{wxsoundfilestreampause}
\func{bool}{Pause}{\void}
The file codec tries to pause the stream: it means that it stops audio
production but keep the file pointer at the place.
If the file codec is already paused, it returns FALSE.
On success, it returns TREE.
\membersection{wxSoundFileStream::Resume}\label{wxsoundfilestreamresume}
\func{bool}{Resume}{\void}
When the file codec has been paused using
\helpref{Pause}{wxsoundfilestreampause}, you could be interrested in
resuming it. This is the goal of this function.
\membersection{wxSoundFileStream::IsStopped}\label{wxsoundfilestreamisstopped}
\constfunc{bool}{IsStopped}{\void}
It returns TRUE when the stream is stopped, in another case it returns
FALSE.
\membersection{wxSoundFileStream::IsPaused}\label{wxsoundfilestreamispaused}
\constfunc{bool}{IsPaused}{\void}
It returns TRUE when the stream is paused, in another case it returns
FALSE.
\membersection{wxSoundFileStream::StartProduction}\label{wxsoundfilestreamstartproduction}
\func{bool}{StartProduction}{\param{int }{evt}}
It is really not advised you call this function. From the wxSoundFileStream
point of view it is an internal function. Internally, it is called after
the file stream has been prepared to be played or to receive audio data and
when it wants to start processing audio data.
\membersection{wxSoundFileStream::StopProduction}\label{wxsoundfilestreamstopproduction}
\func{bool}{StopProduction}{\void}
As for \helpref{StartProduction}{wxsoundfilestreamstopproduction}, it is not
advised for you to call this function. It is called by
\helpref{Stop}{wxsoundfilestreamstop} when it needs to stop the audio data
processing.
\membersection{wxSoundFileStream::GetLength}\label{wxsoundfilestreamgetlength}
\func{wxUint32}{GetLength}{\void}
It returns the audio data length of the file stream. This length is expressed
in bytes. If you need the length in seconds, you will need to use
\helpref{GetSoundFormat}{wxsoundstreamgetsoundformat} and
\helpref{GetTimeFromBytes}{wxsoundformatbasegettimefrombytes}.
\membersection{wxSoundFileStream::GetPosition}\label{wxsoundfilestreamgetposition}
\func{wxUint32}{GetPosition}{\void}
It returns the current position in the soundfile stream. The position
is expressed in bytes. If you need the length in seconds, you will need to use
\helpref{GetSoundFormat}{wxsoundstreamgetsoundformat} and
\helpref{GetTimeFromBytes}{wxsoundformatbasegettimefrombytes}.
\membersection{wxSoundFileStream::SetPosition}\label{wxsoundfilestreamsetposition}
\func{wxUint32}{SetPosition}{\param{wxUint32 }{new\_position}}
It sets the current in the soundfile stream. The position
{\it new\_position} must be expressed in bytes. You can get
a length/position in bytes from a time value using
\helpref{GetSoundFormat}{wxsoundstreamgetsoundformat} and
\helpref{GetTimeFromBytes}{wxsoundformatbasegettimefrombytes}.
On success, it returns TRUE.
\wxheading{Warning}
Some wxStream may not be capable to support this function as
it may not support the seekable functionnality. If this happens,
it returns FALSE and leave the stream at the same position.
\membersection{wxSoundFileStream::Read}\label{wxsoundfilestreamread}
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
You can obtain the audio data encoded in the file using this function.
But it must be considered as an internal function. Used carelessly, it
may corrupt the current state of the stream.
Data are returned using in the original file coding (You must use a sound
format object to decode it).
\membersection{wxSoundFileStream::Write}\label{wxsoundfilestreamwrite}
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
You can put encoded audio data to the file using this function.
But it must be considered as an internal function. Used carelessly, it
may corrupt the current state of the stream.
Data must be coded with the specified file coding (You must use a sound
format object to do this).
\membersection{wxSoundFileStream::SetSoundFormat}\label{wxsoundfilestreamsetsoundformat}
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}
\membersection{wxSoundFileStream::GetCodecName}\label{wxsoundfilestreamgetcodecname}
\constfunc{wxString}{GetCodecName}{\void}
This function returns the Codec name. This is useful for those who
want to build a player (But also in some other case).
\membersection{wxSoundFileStream::CanRead}\label{wxsoundfilestreamcanread}
\func{bool}{CanRead}{\void}
You should use this function to test whether this file codec can read
the stream you passed to it.
\membersection{wxSoundFileStream::PrepareToPlay}\label{wxsoundfilestreampreparetoplay}
\func{bool}{PrepareToPlay}{\void}
It is called by wxSoundFileStream to prepare the specific file loader
to prepare itself to play the file. Actually, this includes reading
headers and setting the various parameters of the sound format.
This should not be called by an external user but it should be
implemented when you inherit wxSoundFileStream to build a new codec.
It must return when the file is identified and the parameters have
been set. In all other cases, you must return FALSE.
\membersection{wxSoundFileStream::PrepareToRecord}\label{wxsoundfilestreampreparetorecord}
\func{bool}{PrepareToRecord}{\param{wxUint32 }{time}}
\membersection{wxSoundFileStream::FinishRecording}\label{wxsoundfilestreamfinishrecording}
\func{bool}{FinishRecording}{\void}
\membersection{wxSoundFileStream::RepositionStream}\label{wxsoundfilestreamrepositionstream}
\func{bool}{RepositionStream}{\param{wxUint32 }{position}}
This is called by wxSoundFileStream::SetPosition to seek the input stream
to the right position. This must be overidden by the file codec class.
The position is relative to the beginning of the samples.
If it is impossible (as for a piped input stream), you must return FALSE.
\membersection{wxSoundFileStream::FinishPreparation}\label{wxsoundfilestreamfinishpreparation}
\func{void}{FinishPreparation}{\param{wxUint32 }{len}}
This is an internal function but it must called by the file codec class when
the "playing" preparation is finished and you know the size of the stream.
If it is an {\it infinite} stream, you should set this to wxSOUND\_INFINITE\_TIME.
\membersection{wxSoundFileStream::GetData}\label{wxsoundfilestreamgetdata}
\func{wxUint32}{GetData}{\param{void* }{buffer}, \param{wxUint32 }{len}}
This is called by wxSoundFileStream when it needs to get new sound data to
send to the device driver (or to a conversion codec). This must be eventually
overidden by the file codec class. The default behaviour is simply to read from
the input stream.
\membersection{wxSoundFileStream::PutData}\label{wxsoundfilestreamputdata}
\func{wxUint32}{PutData}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
This is called by wxSoundFileStream when it needs to put new sound data received
from the device driver (or from a conversion codec). This must be eventually
overidden by the file codec class. The default behaviour is simply to write to
the input stream.

View File

@@ -1,104 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndpcm.h at 26/Feb/00 14:26:33
%
\section{\class{wxSoundFormatPcm}}\label{wxsoundformatpcm}
PCM specification class
\wxheading{Derived from}
\helpref{wxSoundFormatBase}{wxsoundformatbase}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundFormatPcm::wxSoundFormatPcm}\label{wxsoundformatpcmwxsoundformatpcm}
\func{}{wxSoundFormatPcm}{\param{wxUint32 }{srate = 22500}, \param{wxUint8 }{bps = 8}, \param{wxUint16 }{channels = 2}, \param{bool }{sign = TRUE}, \param{int }{order = wxLITTLE\_ENDIAN}}
\membersection{wxSoundFormatPcm::\destruct{wxSoundFormatPcm}}\label{wxsoundformatpcmdtor}
\func{}{\destruct{wxSoundFormatPcm}}{\void}
\membersection{wxSoundFormatPcm::SetSampleRate}\label{wxsoundformatpcmsetsamplerate}
\func{void}{SetSampleRate}{\param{wxUint32 }{srate}}
\membersection{wxSoundFormatPcm::SetBPS}\label{wxsoundformatpcmsetbps}
\func{void}{SetBPS}{\param{wxUint8 }{bps}}
\membersection{wxSoundFormatPcm::SetChannels}\label{wxsoundformatpcmsetchannels}
\func{void}{SetChannels}{\param{wxUint16 }{nchannels}}
\membersection{wxSoundFormatPcm::SetOrder}\label{wxsoundformatpcmsetorder}
\func{void}{SetOrder}{\param{int }{order}}
\membersection{wxSoundFormatPcm::Signed}\label{wxsoundformatpcmsigned}
\func{void}{Signed}{\param{bool }{sign}}
\membersection{wxSoundFormatPcm::GetSampleRate}\label{wxsoundformatpcmgetsamplerate}
\constfunc{wxUint32}{GetSampleRate}{\void}
\membersection{wxSoundFormatPcm::GetBPS}\label{wxsoundformatpcmgetbps}
\constfunc{wxUint8}{GetBPS}{\void}
\membersection{wxSoundFormatPcm::GetChannels}\label{wxsoundformatpcmgetchannels}
\constfunc{wxUint16}{GetChannels}{\void}
\membersection{wxSoundFormatPcm::GetOrder}\label{wxsoundformatpcmgetorder}
\constfunc{int}{GetOrder}{\void}
\membersection{wxSoundFormatPcm::Signed}\label{wxsoundformatpcmgetsigned}
\constfunc{bool}{Signed}{\void}
\membersection{wxSoundFormatPcm::GetType}\label{wxsoundformatpcmgettype}
\constfunc{wxSoundFormatType}{GetType}{\void}
\membersection{wxSoundFormatPcm::Clone}\label{wxsoundformatpcmclone}
\constfunc{wxSoundFormatBase*}{Clone}{\void}
\membersection{wxSoundFormatPcm::GetTimeFromBytes}\label{wxsoundformatpcmgettimefrombytes}
\constfunc{wxUint32}{GetTimeFromBytes}{\param{wxUint32 }{bytes}}
\membersection{wxSoundFormatPcm::GetBytesFromTime}\label{wxsoundformatpcmgetbytesfromtime}
\constfunc{wxUint32}{GetBytesFromTime}{\param{wxUint32 }{time}}
\membersection{wxSoundFormatPcm::operator!}\label{wxsoundformatpcmoperatornot}
\constfunc{bool}{operator!}{\param{const wxSoundFormatBase\& }{frmt2}}

View File

@@ -1,69 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndbase.h at 26/Feb/00 14:23:29
%
\section{\class{wxSoundFormatBase}}\label{wxsoundformatbase}
Base class for sound format specification
\wxheading{Derived from}
No base class
\wxheading{Data structures}
{\small \begin{verbatim}
typedef enum {
wxSOUND\_NOFORMAT,
wxSOUND\_PCM,
wxSOUND\_ULAW,
wxSOUND\_G72X,
wxSOUND\_MSADPCM
} wxSoundFormatType
\end{verbatim}}
wxSoundFormatType: it specifies the format family of the sound data
which will be passed to the stream.
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundFormatBase::wxSoundFormatBase}\label{wxsoundformatbasewxsoundformatbase}
\func{}{wxSoundFormatBase}{\void}
\membersection{wxSoundFormatBase::\destruct{wxSoundFormatBase}}\label{wxsoundformatbasedtor}
\func{}{\destruct{wxSoundFormatBase}}{\void}
\membersection{wxSoundFormatBase::GetType}\label{wxsoundformatbasegettype}
\constfunc{wxSoundFormatType}{GetType}{\void}
It returns a "standard" format type.
\membersection{wxSoundFormatBase::Clone}\label{wxsoundformatbaseclone}
\constfunc{wxSoundFormatBase*}{Clone}{\void}
It clones the current format.
\membersection{wxSoundFormatBase::GetTimeFromBytes}\label{wxsoundformatbasegettimefrombytes}
\constfunc{wxUint32}{GetTimeFromBytes}{\param{wxUint32 }{bytes}}
\membersection{wxSoundFormatBase::GetBytesFromTime}\label{wxsoundformatbasegetbytesfromtime}
\constfunc{wxUint32}{GetBytesFromTime}{\param{wxUint32 }{time}}
\membersection{wxSoundFormatBase::operator!=}\label{wxsoundformatbaseoperatorneq}
\constfunc{bool}{operator!=}{\param{const wxSoundFormatBase\& }{frmt2}}

View File

@@ -1,74 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndulaw.h at 26/Feb/00 14:52:25
%
\section{\class{wxSoundFormatUlaw}}\label{wxsoundformatulaw}
ULAW format
\wxheading{Derived from}
\helpref{wxSoundFormatBase}{wxsoundformatbase}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundFormatUlaw::wxSoundFormatUlaw}\label{wxsoundformatulawwxsoundformatulaw}
\func{}{wxSoundFormatUlaw}{\void}
\membersection{wxSoundFormatUlaw::\destruct{wxSoundFormatUlaw}}\label{wxsoundformatulawdtor}
\func{}{\destruct{wxSoundFormatUlaw}}{\void}
\membersection{wxSoundFormatUlaw::SetSampleRate}\label{wxsoundformatulawsetsamplerate}
\func{void}{SetSampleRate}{\param{wxUint32 }{srate}}
\membersection{wxSoundFormatUlaw::GetSampleRate}\label{wxsoundformatulawgetsamplerate}
\constfunc{wxUint32}{GetSampleRate}{\void}
\membersection{wxSoundFormatUlaw::SetChannels}\label{wxsoundformatulawsetchannels}
\func{void}{SetChannels}{\param{wxUint8 }{channels}}
\membersection{wxSoundFormatUlaw::GetChannels}\label{wxsoundformatulawgetchannels}
\constfunc{wxUint8}{GetChannels}{\void}
\membersection{wxSoundFormatUlaw::GetType}\label{wxsoundformatulawgettype}
\constfunc{wxSoundFormatType}{GetType}{\void}
\membersection{wxSoundFormatUlaw::Clone}\label{wxsoundformatulawclone}
\constfunc{wxSoundFormatBase*}{Clone}{\void}
\membersection{wxSoundFormatUlaw::GetTimeFromBytes}\label{wxsoundformatulawgettimefrombytes}
\constfunc{wxUint32}{GetTimeFromBytes}{\param{wxUint32 }{bytes}}
\membersection{wxSoundFormatUlaw::GetBytesFromTime}\label{wxsoundformatulawgetbytesfromtime}
\constfunc{wxUint32}{GetBytesFromTime}{\param{wxUint32 }{time}}
\membersection{wxSoundFormatUlaw::operator!=}\label{wxsoundformatulawoperatorneq}
\constfunc{bool}{operator!=}{\param{const wxSoundFormatBase\& }{frmt2}}

View File

@@ -1,54 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndg72x.h at 26/Feb/00 14:52:19
%
\section{\class{wxSoundStreamG72X}}\label{wxsoundstreamg72x}
ULAW converter class
\wxheading{Derived from}
\helpref{wxSoundStreamCodec}{wxsoundstreamcodec}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundStreamG72X::wxSoundStreamG72X}\label{wxsoundstreamg72xwxsoundstreamg72x}
\func{}{wxSoundStreamG72X}{\param{wxSoundStream\& }{sndio}}
\membersection{wxSoundStreamG72X::\destruct{wxSoundStreamG72X}}\label{wxsoundstreamg72xdtor}
\func{}{\destruct{wxSoundStreamG72X}}{\void}
\membersection{wxSoundStreamG72X::Read}\label{wxsoundstreamg72xread}
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamG72X::Write}\label{wxsoundstreamg72xwrite}
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamG72X::SetSoundFormat}\label{wxsoundstreamg72xsetsoundformat}
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}
\membersection{wxSoundStreamG72X::PutBits}\label{wxsoundstreamg72xputbits}
\func{void}{PutBits}{\param{wxUint8 }{bits}}
\membersection{wxSoundStreamG72X::GetBits}\label{wxsoundstreamg72xgetbits}
\func{wxUint8}{GetBits}{\void}

View File

@@ -1,71 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndoss.h at 26/Feb/00 14:26:53
%
\section{\class{wxSoundStreamOSS}}\label{wxsoundstreamoss}
OSS output class
\wxheading{Derived from}
\helpref{wxSoundStream}{wxsoundstream}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundStreamOSS::wxSoundStreamOSS}\label{wxsoundstreamosswxsoundstreamoss}
\func{}{wxSoundStreamOSS}{\param{const wxString\& }{dev\_name = \_T("/dev/dsp")}}
\membersection{wxSoundStreamOSS::\destruct{wxSoundStreamOSS}}\label{wxsoundstreamossdtor}
\func{}{\destruct{wxSoundStreamOSS}}{\void}
\membersection{wxSoundStreamOSS::Read}\label{wxsoundstreamossread}
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamOSS::Write}\label{wxsoundstreamosswrite}
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamOSS::GetBestSize}\label{wxsoundstreamossgetbestsize}
\constfunc{wxUint32}{GetBestSize}{\void}
\membersection{wxSoundStreamOSS::SetSoundFormat}\label{wxsoundstreamosssetsoundformat}
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}
\membersection{wxSoundStreamOSS::StartProduction}\label{wxsoundstreamossstartproduction}
\func{bool}{StartProduction}{\param{int }{evt}}
\membersection{wxSoundStreamOSS::StopProduction}\label{wxsoundstreamossstopproduction}
\func{bool}{StopProduction}{\void}
\membersection{wxSoundStreamOSS::QueueFilled}\label{wxsoundstreamossqueuefilled}
\constfunc{bool}{QueueFilled}{\void}
\membersection{wxSoundStreamOSS::WakeUpEvt}\label{wxsoundstreamosswakeupevt}
\func{void}{WakeUpEvt}{\param{int }{evt}}
You should not call this.

View File

@@ -1,48 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndcpcm.h at 26/Feb/00 14:26:35
%
\section{\class{wxSoundStreamPcm}}\label{wxsoundstreampcm}
PCM converter class
\wxheading{Derived from}
\helpref{wxSoundStreamCodec}{wxsoundstreamcodec}
\wxheading{Data structures}
{\small \begin{verbatim}
typedef void (*ConverterType)(const char *buf\_in, char *buf\_out, wxUint32 len) ConverterType
\end{verbatim}}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundStreamPcm::wxSoundStreamPcm}\label{wxsoundstreampcmwxsoundstreampcm}
\func{}{wxSoundStreamPcm}{\param{wxSoundStream\& }{sndio}}
\membersection{wxSoundStreamPcm::\destruct{wxSoundStreamPcm}}\label{wxsoundstreampcmdtor}
\func{}{\destruct{wxSoundStreamPcm}}{\void}
\membersection{wxSoundStreamPcm::Read}\label{wxsoundstreampcmread}
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamPcm::Write}\label{wxsoundstreampcmwrite}
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamPcm::SetSoundFormat}\label{wxsoundstreampcmsetsoundformat}
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}

View File

@@ -1,37 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndfile.h at 26/Feb/00 14:26:42
%
\section{\class{wxSoundRouterStream}}\label{wxsoundrouterstream}
This is the router "codec" class. It should do codec routing when the device
driver does not deal with a format.
\wxheading{Derived from}
\helpref{wxSoundStreamCodec}{wxsoundstreamcodec}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundRouterStream::wxSoundRouterStream}\label{wxsoundrouterstreamwxsoundrouterstream}
\func{}{wxSoundRouterStream}{\param{wxSoundStream\& }{sndio}}
\helpref{wxSoundCodec}{wxsoundcodec}
\membersection{wxSoundRouterStream::\destruct{wxSoundRouterStream}}\label{wxsoundrouterstreamdtor}
\func{}{\destruct{wxSoundRouterStream}}{\void}
Destructor.
\membersection{wxSoundRouterStream::SetSoundFormat}\label{wxsoundrouterstreamsetsoundformat}
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}
SetSoundFormat will first try to setup the device driver with the specified
format. If this fails, it will try to find a codec which will convert the
input format to a valid format for the device driver. It uses an internal
codec database.

View File

@@ -1,49 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndulaw.h at 26/Feb/00 14:52:25
%
\section{\class{wxSoundStreamUlaw}}\label{wxsoundstreamulaw}
ULAW converter class
\wxheading{Derived from}
\helpref{wxSoundStreamCodec}{wxsoundstreamcodec}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundStreamUlaw::wxSoundStreamUlaw}\label{wxsoundstreamulawwxsoundstreamulaw}
\func{}{wxSoundStreamUlaw}{\param{wxSoundStream\& }{sndio}}
\membersection{wxSoundStreamUlaw::\destruct{wxSoundStreamUlaw}}\label{wxsoundstreamulawdtor}
\func{}{\destruct{wxSoundStreamUlaw}}{\void}
\membersection{wxSoundStreamUlaw::Read}\label{wxsoundstreamulawread}
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamUlaw::Write}\label{wxsoundstreamulawwrite}
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamUlaw::SetSoundFormat}\label{wxsoundstreamulawsetsoundformat}
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}
\membersection{wxSoundStreamUlaw::GetBestSize}\label{wxsoundstreamulawgetbestsize}
\constfunc{wxUint32}{GetBestSize}{\void}

View File

@@ -1,91 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndwav.h at 26/Feb/00 14:26:40
%
\section{\class{wxSoundWave}}\label{wxsoundwave}
WAVE codec
\wxheading{Derived from}
\helpref{wxSoundFileStream}{wxsoundfilestream}
\wxheading{Data structures}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundWave::wxSoundWave}\label{wxsoundwavewxsoundwave}
\func{}{wxSoundWave}{\param{wxInputStream\& }{stream}, \param{wxSoundStream\& }{io\_sound}}
\func{}{wxSoundWave}{\param{wxOutputStream\& }{stream}, \param{wxSoundStream\& }{io\_sound}}
\membersection{wxSoundWave::\destruct{wxSoundWave}}\label{wxsoundwavedtor}
\func{}{\destruct{wxSoundWave}}{\void}
\membersection{wxSoundWave::CanRead}\label{wxsoundwavecanread}
\func{bool}{CanRead}{\void}
\membersection{wxSoundWave::GetCodecName}\label{wxsoundwavegetcodecname}
\constfunc{wxString}{GetCodecName}{\void}
\membersection{wxSoundWave::PrepareToPlay}\label{wxsoundwavepreparetoplay}
\func{bool}{PrepareToPlay}{\void}
\membersection{wxSoundWave::PrepareToRecord}\label{wxsoundwavepreparetorecord}
\func{bool}{PrepareToRecord}{\param{wxUint32 }{time}}
\membersection{wxSoundWave::FinishRecording}\label{wxsoundwavefinishrecording}
\func{bool}{FinishRecording}{\void}
\membersection{wxSoundWave::RepositionStream}\label{wxsoundwaverepositionstream}
\func{bool}{RepositionStream}{\param{wxUint32 }{position}}
\membersection{wxSoundWave::GetData}\label{wxsoundwavegetdata}
\func{wxUint32}{GetData}{\param{void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundWave::PutData}\label{wxsoundwaveputdata}
\func{wxUint32}{PutData}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundWave::HandleOutputPCM}\label{wxsoundwavehandleoutputpcm}
\func{bool}{HandleOutputPCM}{\param{wxDataInputStream\& }{data}, \param{wxUint16 }{channels}, \param{wxUint32 }{sample\_fq}, \param{wxUint32 }{byte\_p\_sec}, \param{wxUint16 }{byte\_p\_spl}, \param{wxUint16 }{bits\_p\_spl}}
\membersection{wxSoundWave::HandleOutputG721}\label{wxsoundwavehandleoutputg721}
\func{bool}{HandleOutputG721}{\param{wxDataInputStream\& }{data}, \param{wxUint16 }{channels}, \param{wxUint32 }{sample\_fq}, \param{wxUint32 }{byte\_p\_sec}, \param{wxUint16 }{byte\_p\_spl}, \param{wxUint16 }{bits\_p\_spl}}
\membersection{wxSoundWave::HandleInputPCM}\label{wxsoundwavehandleinputpcm}
\func{wxSoundFormatBase*}{HandleInputPCM}{\param{wxDataOutputStream\& }{data}}
\membersection{wxSoundWave::HandleInputG72X}\label{wxsoundwavehandleinputg72x}
\func{wxSoundFormatBase*}{HandleInputG72X}{\param{wxDataOutputStream\& }{data}}

View File

@@ -1,140 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/sndwin.h at 26/Feb/00 14:26:51
%
\section{\class{wxSoundStreamWin}}\label{wxsoundstreamwin}
\wxheading{Derived from}
\helpref{wxSoundStream}{wxsoundstream}
\wxheading{Data structures}
{\small \begin{verbatim}
typedef struct \_wxSoundInternal wxSoundInternal
\end{verbatim}}
{\small \begin{verbatim}
typedef struct \_wxSoundInfoHeader wxSoundInfoHeader
\end{verbatim}}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSoundStreamWin::wxSoundStreamWin}\label{wxsoundstreamwinwxsoundstreamwin}
\func{}{wxSoundStreamWin}{\void}
\membersection{wxSoundStreamWin::\destruct{wxSoundStreamWin}}\label{wxsoundstreamwindtor}
\func{}{\destruct{wxSoundStreamWin}}{\void}
\membersection{wxSoundStreamWin::Write}\label{wxsoundstreamwinwrite}
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamWin::Read}\label{wxsoundstreamwinread}
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
\membersection{wxSoundStreamWin::SetSoundFormat}\label{wxsoundstreamwinsetsoundformat}
\func{bool}{SetSoundFormat}{\param{wxSoundFormatBase\& }{base}}
\membersection{wxSoundStreamWin::StartProduction}\label{wxsoundstreamwinstartproduction}
\func{bool}{StartProduction}{\param{int }{evt}}
\membersection{wxSoundStreamWin::StopProduction}\label{wxsoundstreamwinstopproduction}
\func{bool}{StopProduction}{\void}
\membersection{wxSoundStreamWin::QueueFilled}\label{wxsoundstreamwinqueuefilled}
\constfunc{bool}{QueueFilled}{\void}
\membersection{wxSoundStreamWin::NotifyDoneBuffer}\label{wxsoundstreamwinnotifydonebuffer}
\func{void}{NotifyDoneBuffer}{\param{wxUint32 }{dev\_handle}, \param{int }{flag}}
Internal but defined as public
\membersection{wxSoundStreamWin::GetBestSize}\label{wxsoundstreamwingetbestsize}
\constfunc{wxUint32}{GetBestSize}{\void}
\membersection{wxSoundStreamWin::CreateSndWindow}\label{wxsoundstreamwincreatesndwindow}
\func{void}{CreateSndWindow}{\void}
\membersection{wxSoundStreamWin::DestroySndWindow}\label{wxsoundstreamwindestroysndwindow}
\func{void}{DestroySndWindow}{\void}
\membersection{wxSoundStreamWin::OpenDevice}\label{wxsoundstreamwinopendevice}
\func{bool}{OpenDevice}{\param{int }{mode}}
\membersection{wxSoundStreamWin::CloseDevice}\label{wxsoundstreamwinclosedevice}
\func{void}{CloseDevice}{\void}
\membersection{wxSoundStreamWin::AllocHeader}\label{wxsoundstreamwinallocheader}
\func{wxSoundInfoHeader*}{AllocHeader}{\param{int }{mode}}
\membersection{wxSoundStreamWin::FreeHeader}\label{wxsoundstreamwinfreeheader}
\func{void}{FreeHeader}{\param{wxSoundInfoHeader* }{header}, \param{int }{mode}}
\membersection{wxSoundStreamWin::AllocHeaders}\label{wxsoundstreamwinallocheaders}
\func{bool}{AllocHeaders}{\param{int }{mode}}
\membersection{wxSoundStreamWin::FreeHeaders}\label{wxsoundstreamwinfreeheaders}
\func{void}{FreeHeaders}{\param{int }{mode}}
\membersection{wxSoundStreamWin::WaitFor}\label{wxsoundstreamwinwaitfor}
\func{void}{WaitFor}{\param{wxSoundInfoHeader* }{info}}
\membersection{wxSoundStreamWin::AddToQueue}\label{wxsoundstreamwinaddtoqueue}
\func{bool}{AddToQueue}{\param{wxSoundInfoHeader* }{info}}
\membersection{wxSoundStreamWin::ClearHeader}\label{wxsoundstreamwinclearheader}
\func{void}{ClearHeader}{\param{wxSoundInfoHeader* }{info}}
\membersection{wxSoundStreamWin::NextFragmentOutput}\label{wxsoundstreamwinnextfragmentoutput}
\func{wxSoundInfoHeader*}{NextFragmentOutput}{\void}
\membersection{wxSoundStreamWin::NextFragmentInput}\label{wxsoundstreamwinnextfragmentinput}
\func{wxSoundInfoHeader*}{NextFragmentInput}{\void}

View File

@@ -1,35 +0,0 @@
; Last change: JAC 13 Oct 100 5:16 pm
runTwice = yes
titleFontSize = 12
authorFontSize = 10
chapterFontSize = 12
sectionFontSize = 12
subsectionFontSize = 12
headerRule = yes
footerRule = yes
useHeadingStyles = yes
listItemIndent=40
generateHPJ = yes
htmlBrowseButtons = bitmap
winHelpVersion = 3
winHelpContents = yes
winHelpTitle = "MMedia Manual"
truncateFilenames = no
combineSubSections = yes
\overview [2] {\rtfonly{See also }\settransparency{on}\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}\settransparency{off}}
\htmlonly{\image{}{books.gif}}\helpref{#1}{#2}
\sethotspotcolour{on}\sethotspotunderline{on}}
\docparam [2]{\parskip{0}{\it #1}\htmlignore{\par}\parskip{10}\indented{1cm}{#2}}
\wxheading [1]{{\bf \htmlignore{\fcol{blue}{#1}}\htmlonly{\fcol{red}{#1}}}}
\const [0] {{\bf const}}
\constfunc [3] {{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
\windowstyle [1] {{\bf #1}\index{#1}}
;;
;; These two are for generating MS HTML Help project, contents and index files.
;;
htmlWorkshopFiles = true
htmlIndex = true
\pythonnote [1] {{\bf \fcol{blue}{wxPython note:}} #1}
%\pythonnote [1] {}

View File

@@ -1,298 +0,0 @@
% LaTeX style file
% Name: texhelp.sty
% Author: Julian Smart
%
% Purpose
% -------
% Style file to enable the simultaneous preparation of printed LaTeX and on-line
% hypertext manuals.
% Use in conjunction with Tex2RTF (see Tex2RTF documentation).
%
% Note that if a non-ASCII character starts a newline and there should be a space
% between the last word on the previous line and the first word on this line,
% you need to use \rtfsp to generate a space in Windows Help. \rtfsp is ignored
% in all other formats.
%
% Julian Smart
% Artificial Intelligence Applications Institute
%
%
% ============== C++/CLIPS Documentation Facilities ==============
%
% Each class definition should be typeset with e.g.
%
% \section{\class{Name}: Parent}
%
% followed by a description of the class.
% Each member should follow:
%
% \membersection{wxName::Member}
%
% with a description of what this member does.
% Then, one (or more if overloaded) member (function) in detail:
%
% \func{return type}{name}{args}
% or
% \member{type}{name}
%
% where args is a list of \param{type}{name}, ...
% Function, e.g.
% e.g. to typeset
%
% void DoIt(char *string);
%
% write:
%
% \func{void}{DoIt}{\param{char *}{string}}
%
\newcommand{\func}[3]{\hangafter=1\noindent\hangindent=10mm
{{\it #1} {\bf #2}\index{#2}}(#3)}
% For function/type definition where the name is a pointer,
% e.g. to typeset
%
% typedef void (*wxFunction)(wxObject&)
%
% write:
%
% \pfunc{typedef void}{wxFunction}{param{wxObject&}}
\newcommand{\pfunc}[3]{\hangafter=1\noindent\hangindent=10mm
{{\it #1} ({\bf *#2})\index{#2}}(#3)}
% Use an ordinary \section command for class name definitions.
% This is used for a member, such as wxBitmap: GetDepth
\newcommand{\membersection}[1]{\subsection*{#1}\index{#1}}
% CLIPS function
\newcommand{\clipsfunc}[3]{\hangafter=1\noindent\hangindent=10mm
{{\bf #1} ({\bf #2}\index{#2}}#3)}
\newcommand{\clipssection}[1]{\chapter{#1}}
% This is used for a CLIPS function name
\newcommand{\functionsection}[1]{\subsection*{#1}}
% Member: a type and a name
\newcommand{\member}[2]{{\bf #1 \it #2}}
% C++ Parameter: a type and a name (no intervening space)
\newcommand{\param}[2]{{\it #1}{\bf #2}}
% CLIPS Parameter: a type and a name (one intervening space)
\newcommand{\cparam}[2]{{\bf #1} {\it #2}}
% Class: puts in index
\newcommand{\class}[1]{#1\index{#1}}
%\newcommand{\docparam}[2]{\parskip=0pt {\it #1}\par\parskip=10pt\begin{indented}{1cm}{#2}\end{indented}}
% Void type
\newcommand{\void}{{\it void}}
% Typeset destructor
\newcommand{\destruct}[1]{{$\sim$}#1}
% Typeset insert/extract operators
\newcommand{\cinsert}{$<<$}
\newcommand{\cextract}{$>>$}
% =================== Hypertext facilities ===================
%
% To insert hyperlinks (or references, in Latex), \label the sections
% or membersections \label{ref-label} immediately after the section, on the same line,
% and use \helpref{text-to-show}{ref-label} to make a reference.
%
% Type text with section reference
\newcommand{\helpref}[2]{{\it #1} (p.\ \pageref{#2}) }
% Type text with URL in verbatim mode
\newcommand{\urlref}[2]{#1 (\verb$#2$)}
% Don't typeset section number in LaTeX
\newcommand{\helprefn}[2]{{\it #1}}
% Like helpref, but popup text in WinHelp instead of hyperlinked
\newcommand{\popref}[2]{{\it #1}}
% Like footnote, but popup text.
\newcommand{\footnotepopup}[2]{{\it #1}\footnote{#2}}
% =================== On-line help specific macros ===================
%
% Global document font size/family, help only.
\newcommand{\helpfontsize}[1]{}
\newcommand{\helpfontfamily}[1]{}
% Ignore in all on-line help
\newcommand{\helpignore}[1]{#1}
% Only print in all on-line help
\newcommand{\helponly}[1]{}
% Ignore in LaTeX
\newcommand{\latexignore}[1]{}
% Only print in LaTeX
\newcommand{\latexonly}[1]{#1}
% Ignore in linear RTF
\newcommand{\rtfignore}[1]{#1}
% Only print in linear RTF
\newcommand{\rtfonly}[1]{}
% Ignore in WinHelp RTF
\newcommand{\winhelpignore}[1]{#1}
% Only print in WinHelp RTF
\newcommand{\winhelponly}[1]{}
% Ignore in wxHelp
\newcommand{\xlpignore}[1]{#1}
% Only print in wxHelp
\newcommand{\xlponly}[1]{}
% Ignore in HTML
\newcommand{\htmlignore}[1]{#1}
% Only print in HTML
\newcommand{\htmlonly}[1]{}
% Input a file only for help system (binder thickness is not a limitation
% in help systems!)
\newcommand{\helpinput}[1]{}
\newcommand{\rtfsp}{ } % Force a space in RTF, ignore in Latex
% =================== Miscellaneous macros ===================
%
% Headings consistent with generated ones
\newcommand{\myheading}[1]{\vspace*{25pt}
\begin{flushleft}
{\LARGE \bf #1}
\end{flushleft}
\vskip 20pt
}
% Heading with entry in contents page.
\newcommand{\chapterheading}[1]{\myheading{#1}
\addcontentsline{toc}{chapter}{#1}}
\newcommand{\sectionheading}[1]{\myheading{#1}
\addcontentsline{toc}{section}{#1}}
% Glossary environment
\newenvironment{helpglossary}{\newpage\chapterheading{Glossary}\begin{description}}{\end{description}}
% Glossary entry
\newcommand{\gloss}[1]{\item[#1]\index{#1}}
% Image: EPS in Latex, BMP or MF (whatever's available) in RTF. Requires psbox.
\newcommand{\image}[2]{\psboxto(#1){#2}}
% Image, left aligned (HTML)
\newcommand{\imager}[2]{\psboxto(#1){#2}}
% Image, right aligned (HTML)
\newcommand{\imagel}[2]{\psboxto(#1){#2}}
% Imagemap: principally for HTML only. In Latex,
% acts like \image.
\newcommand{\imagemap}[3]{\psboxto(#1){#2}}
% Headers and footers
% \setheader{EvenPageLeft}{EvenPageCentre}{EvenPageRight}
% {OddPageLeft}{OddPageCentre}{OddPageRight}
\newcommand{\setheader}[6]{
\lhead[\fancyplain{}{#1}]{\fancyplain{}{#4}}
\chead[\fancyplain{}{#2}]{\fancyplain{}{#5}}
\rhead[\fancyplain{}{#3}]{\fancyplain{}{#6}}
}
% \setfooter{EvenPageLeft}{EvenPageCentre}{EvenPageRight}
% {OddPageLeft}{OddPageCentre}{OddPageRight}
\newcommand{\setfooter}[6]{
\lfoot[\fancyplain{#1}{#1}]{\fancyplain{#4}{#4}}
\cfoot[\fancyplain{#2}{#2}]{\fancyplain{#5}{#5}}
\rfoot[\fancyplain{#3}{#3}]{\fancyplain{#6}{#6}}
}
% Needed for telling RTF where margin paragraph should go
% in mirrored margins mode.
\newcommand{\marginpareven}[1]{\hspace*{0pt}\marginpar{#1}}
\newcommand{\marginparodd}[1]{\hspace*{0pt}\marginpar{#1}}
% Environment for two-column table popular in WinHelp and manuals.
\newcommand{\twocolwidtha}[1]{\def\twocolwidthaval{#1}}
\newcommand{\twocolwidthb}[1]{\def\twocolwidthbval{#1}}
\newcommand{\twocolspacing}[1]{\def\twocolspacingval{#1}}
\twocolwidtha{3cm}
\twocolwidthb{8.5cm}
\twocolspacing{2}
\newcommand{\twocolitem}[2]{#1 & #2\\}
\newcommand{\twocolitemruled}[2]{#1 & #2\\\hline}
\newenvironment{twocollist}{\renewcommand{\arraystretch}{\twocolspacingval}\begin{tabular}{lp{\twocolwidthbval}}}%
{\end{tabular}\renewcommand{\arraystretch}{1}}
% Specifying table rows for RTF compatibility
\newcommand{\row}[1]{#1\\}
% Use for the last ruled row for correct RTF generation.
\newcommand{\ruledrow}[1]{#1\\\hline}
% Indentation environment. Arg1 is left margin size
\newenvironment{indented}[1]{\begin{list}{}{\leftmargin=#1}\item[]}%
{\end{list}}
% Framed box of text, normal formatting.
\newcommand{\normalbox}[1]{\fbox{\vbox{#1}}}
% Double-framed box of text.
\newcommand{\normalboxd}[1]{\fbox{\fbox{\vbox{#1}}}}
% WITHDRAWN -- can't do in RTF, easily.
% Framed box of text, horizontally centred. Ragged right within box.
% \newcommand{\centeredbox}[2]{\begin{center}\fbox{\parbox{#1}{\raggedright#2}}\end{center}}
% Double-framed box of text, horizontally centred. Ragged right within box.
% \newcommand{\centeredboxd}[2]{\begin{center}\fbox{\fbox{\parbox{#1}{\raggedright#2}}}\end{center}}
% toocomplex environment: simply prints the argument in LaTeX,
% comes out verbatim in all generated formats.
\newenvironment{toocomplex}{}{}
% Colour: dummy commands since LaTeX doesn't support colour.
% \definecolour{name}{red}{blue}{green}
% \fcol{name}{text} ; Foreground
% \bcol{name}{text} ; Background
\newcommand{\definecolour}[4]{}
\newcommand{\definecolor}[4]{}
\newcommand{\fcol}[2]{#2}
\newcommand{\bcol}[2]{#2}
\newcommand{\sethotspotcolour}[1]{}
\newcommand{\sethotspotunderline}[1]{}
\newcommand{\settransparency}[1]{}
\newcommand{\backslashraw}[0]{}
\newcommand{\lbraceraw}[0]{}
\newcommand{\rbraceraw}[0]{}
\newcommand{\registered}[0]{(r)}
\newcommand{\background}[1]{}
\newcommand{\textcolour}[1]{}
\newcommand{\overview}[2]{See \helpref{#1}{#2}.}
\newcommand{\docparam}[2]{{\it #1}\begin{list}{}{\leftmargin=1cm}\item[]
#2%
\end{list}}
\newcommand{\wxheading}[1]{{\bf #1}}
\newcommand{\const}[0]{{\bf const}}
\newcommand{\constfunc}[3]{{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
\newcommand{\windowstyle}[1]{{\bf #1}\index{#1}}
\addtolength{\textwidth}{1in}
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\topmargin}{-0.5in}
\addtolength{\textheight}{1in}
\sloppy

View File

@@ -1,10 +0,0 @@
\chapter{Topic overviews}\label{overviews}
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}
The following sections describe particular topics.
\section{MMedia extension overview}\label{mmedoverview}
To be written.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 B

View File

@@ -1,173 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/vidbase.h at 26/Feb/00 14:51:56
%
\section{\class{wxVideoBaseDriver}}\label{wxvideobasedriver}
Classes definition
\wxheading{Derived from}
wxObject
\wxheading{Data structures}
{\small \begin{verbatim}
typedef enum {
wxVIDEO\_MSAVI,
wxVIDEO\_MPEG,
wxVIDEO\_QT,
wxVIDEO\_GIF,
wxVIDEO\_JMOV,
wxVIDEO\_FLI,
wxVIDEO\_IFF,
wxVIDEO\_SGI,
wxVIDEO\_MPEG2
} wxVideoType
\end{verbatim}}
wxMMedia2 (video) types
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxVideoBaseDriver::wxVideoBaseDriver}\label{wxvideobasedriverwxvideobasedriver}
\func{}{wxVideoBaseDriver}{\void}
Ctors
\membersection{wxVideoBaseDriver::wxVideoBaseDriver}\label{wxvideobasedriverwxvideobasedriver}
\func{}{wxVideoBaseDriver}{\param{wxInputStream\& }{str}}
\membersection{wxVideoBaseDriver::wxVideoBaseDriver}\label{wxvideobasedriverwxvideobasedriver}
\func{}{wxVideoBaseDriver}{\param{const wxString\& }{filename}}
\membersection{wxVideoBaseDriver::\destruct{wxVideoBaseDriver}}\label{wxvideobasedriverdtor}
\func{}{\destruct{wxVideoBaseDriver}}{\void}
Dtor
\membersection{wxVideoBaseDriver::Play}\label{wxvideobasedriverplay}
\func{bool}{Play}{\void}
Usual functions ... They all return FALSE in case of errors.
\membersection{wxVideoBaseDriver::Stop}\label{wxvideobasedriverstop}
\func{bool}{Stop}{\void}
\membersection{wxVideoBaseDriver::Pause}\label{wxvideobasedriverpause}
\func{bool}{Pause}{\void}
\membersection{wxVideoBaseDriver::Resume}\label{wxvideobasedriverresume}
\func{bool}{Resume}{\void}
\membersection{wxVideoBaseDriver::SetSize}\label{wxvideobasedriversetsize}
\func{bool}{SetSize}{\param{wxSize }{size}}
Size management
\membersection{wxVideoBaseDriver::GetSize}\label{wxvideobasedrivergetsize}
\constfunc{bool}{GetSize}{\param{wxSize\& }{size}}
\membersection{wxVideoBaseDriver::IsCapable}\label{wxvideobasedriveriscapable}
\constfunc{bool}{IsCapable}{\param{wxVideoType }{WXUNUSED(v\_type)}}
Test the capability of the driver to handle the specified type
\membersection{wxVideoBaseDriver::GetMovieCodec}\label{wxvideobasedrivergetmoviecodec}
\constfunc{wxString}{GetMovieCodec}{\void}
Return the video codec name
\membersection{wxVideoBaseDriver::GetAudioCodec}\label{wxvideobasedrivergetaudiocodec}
\constfunc{wxString}{GetAudioCodec}{\void}
Return the audio codec name
\membersection{wxVideoBaseDriver::GetSampleRate}\label{wxvideobasedrivergetsamplerate}
\constfunc{wxUint32}{GetSampleRate}{\void}
Return misc info about audio
\membersection{wxVideoBaseDriver::GetChannels}\label{wxvideobasedrivergetchannels}
\constfunc{wxUint8}{GetChannels}{\void}
\membersection{wxVideoBaseDriver::GetBPS}\label{wxvideobasedrivergetbps}
\constfunc{wxUint8}{GetBPS}{\void}
\membersection{wxVideoBaseDriver::GetFrameRate}\label{wxvideobasedrivergetframerate}
\constfunc{double}{GetFrameRate}{\void}
Return frame rate
\membersection{wxVideoBaseDriver::GetNbFrames}\label{wxvideobasedrivergetnbframes}
\constfunc{wxUint32}{GetNbFrames}{\void}
Return number of frames
\membersection{wxVideoBaseDriver::OnFinished}\label{wxvideobasedriveronfinished}
\func{void}{OnFinished}{\void}
Called when the movie finished
\membersection{wxVideoBaseDriver::AttachOutput}\label{wxvideobasedriverattachoutput}
\func{bool}{AttachOutput}{\param{wxWindow\& }{output}}
Attaches the video output to a window. The video will be shown in that window.
\membersection{wxVideoBaseDriver::DetachOutput}\label{wxvideobasedriverdetachoutput}
\func{void}{DetachOutput}{\void}
\membersection{wxVideoBaseDriver::IsPaused}\label{wxvideobasedriverispaused}
\constfunc{bool}{IsPaused}{\void}
They return the state of the movie.
\membersection{wxVideoBaseDriver::IsStopped}\label{wxvideobasedriverisstopped}
\constfunc{bool}{IsStopped}{\void}

View File

@@ -1,148 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/vidwin.h at 26/Feb/00 14:52:03
%
\section{\class{wxVideoWindows}}\label{wxvideowindows}
Class definition
\wxheading{Derived from}
\helpref{wxVideoBaseDriver}{wxvideobasedriver}
\wxheading{Data structures}
{\small \begin{verbatim}
typedef struct VIDW\_Internal {
MCIDEVICEID m\_dev\_id
};
\end{verbatim}}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxVideoWindows::OpenFile}\label{wxvideowindowsopenfile}
\func{void}{OpenFile}{\void}
\membersection{wxVideoWindows::wxVideoWindows}\label{wxvideowindowswxvideowindows}
\func{}{wxVideoWindows}{\void}
\membersection{wxVideoWindows::wxVideoWindows}\label{wxvideowindowswxvideowindows}
\func{}{wxVideoWindows}{\param{wxInputStream\& }{str}}
\membersection{wxVideoWindows::wxVideoWindows}\label{wxvideowindowswxvideowindows}
\func{}{wxVideoWindows}{\param{const wxString\& }{fname}}
\membersection{wxVideoWindows::\destruct{wxVideoWindows}}\label{wxvideowindowsdtor}
\func{}{\destruct{wxVideoWindows}}{\void}
\membersection{wxVideoWindows::Play}\label{wxvideowindowsplay}
\func{bool}{Play}{\void}
\membersection{wxVideoWindows::Stop}\label{wxvideowindowsstop}
\func{bool}{Stop}{\void}
\membersection{wxVideoWindows::Pause}\label{wxvideowindowspause}
\func{bool}{Pause}{\void}
\membersection{wxVideoWindows::Resume}\label{wxvideowindowsresume}
\func{bool}{Resume}{\void}
\membersection{wxVideoWindows::GetSize}\label{wxvideowindowsgetsize}
\constfunc{bool}{GetSize}{\param{wxSize\& }{size}}
\membersection{wxVideoWindows::SetSize}\label{wxvideowindowssetsize}
\func{bool}{SetSize}{\param{wxSize }{size}}
\membersection{wxVideoWindows::GetMovieCodec}\label{wxvideowindowsgetmoviecodec}
\constfunc{wxString}{GetMovieCodec}{\void}
Return codec name for each stream.
\membersection{wxVideoWindows::GetAudioCodec}\label{wxvideowindowsgetaudiocodec}
\constfunc{wxString}{GetAudioCodec}{\void}
\membersection{wxVideoWindows::GetSampleRate}\label{wxvideowindowsgetsamplerate}
\constfunc{wxUint32}{GetSampleRate}{\void}
Return misc. info about audio
\membersection{wxVideoWindows::GetChannels}\label{wxvideowindowsgetchannels}
\constfunc{wxUint8}{GetChannels}{\void}
\membersection{wxVideoWindows::GetBPS}\label{wxvideowindowsgetbps}
\constfunc{wxUint8}{GetBPS}{\void}
\membersection{wxVideoWindows::GetFrameRate}\label{wxvideowindowsgetframerate}
\constfunc{double}{GetFrameRate}{\void}
Return the frame rate of the video (in frames/second)
\membersection{wxVideoWindows::GetNbFrames}\label{wxvideowindowsgetnbframes}
\constfunc{wxUint32}{GetNbFrames}{\void}
Return the total number of frames in the movie
\membersection{wxVideoWindows::IsCapable}\label{wxvideowindowsiscapable}
\func{bool}{IsCapable}{\param{wxVideoType }{v\_type}}
\membersection{wxVideoWindows::AttachOutput}\label{wxvideowindowsattachoutput}
\func{bool}{AttachOutput}{\param{wxWindow\& }{output}}
\membersection{wxVideoWindows::DetachOutput}\label{wxvideowindowsdetachoutput}
\func{void}{DetachOutput}{\void}
\membersection{wxVideoWindows::IsPaused}\label{wxvideowindowsispaused}
\constfunc{bool}{IsPaused}{\void}
\membersection{wxVideoWindows::IsStopped}\label{wxvideowindowsisstopped}
\constfunc{bool}{IsStopped}{\void}

View File

@@ -1,170 +0,0 @@
%
% automatically generated by HelpGen from
% /home/guilhem/PROJECTS/wxWindows/utils/wxMMedia2/lib/vidxanm.h at 26/Feb/00 14:52:06
%
\section{\class{wxVideoXANIM}}\label{wxvideoxanim}
Class definition
\wxheading{Derived from}
\helpref{wxVideoBaseDriver}{wxvideobasedriver}
\wxheading{Data structures}
{\small \begin{verbatim}
typedef struct wxXANIMinternal {
Display *xanim\_dpy
\end{verbatim}}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxVideoXANIM::wxVideoXANIM}\label{wxvideoxanimwxvideoxanim}
\func{}{wxVideoXANIM}{\void}
\membersection{wxVideoXANIM::wxVideoXANIM}\label{wxvideoxanimwxvideoxanim}
\func{}{wxVideoXANIM}{\param{wxInputStream\& }{str}}
\membersection{wxVideoXANIM::wxVideoXANIM}\label{wxvideoxanimwxvideoxanim}
\func{}{wxVideoXANIM}{\param{const wxString\& }{filename}}
\membersection{wxVideoXANIM::\destruct{wxVideoXANIM}}\label{wxvideoxanimdtor}
\func{}{\destruct{wxVideoXANIM}}{\void}
\membersection{wxVideoXANIM::Play}\label{wxvideoxanimplay}
\func{bool}{Play}{\void}
\membersection{wxVideoXANIM::Pause}\label{wxvideoxanimpause}
\func{bool}{Pause}{\void}
\membersection{wxVideoXANIM::Resume}\label{wxvideoxanimresume}
\func{bool}{Resume}{\void}
\membersection{wxVideoXANIM::Stop}\label{wxvideoxanimstop}
\func{bool}{Stop}{\void}
\membersection{wxVideoXANIM::SetVolume}\label{wxvideoxanimsetvolume}
\func{bool}{SetVolume}{\param{wxUint8 }{vol}}
\membersection{wxVideoXANIM::SetSize}\label{wxvideoxanimsetsize}
\func{bool}{SetSize}{\param{wxSize }{size}}
\membersection{wxVideoXANIM::GetSize}\label{wxvideoxanimgetsize}
\constfunc{bool}{GetSize}{\param{wxSize\& }{size}}
\membersection{wxVideoXANIM::GetMovieCodec}\label{wxvideoxanimgetmoviecodec}
\constfunc{wxString}{GetMovieCodec}{\void}
Return the video codec name
\membersection{wxVideoXANIM::GetAudioCodec}\label{wxvideoxanimgetaudiocodec}
\constfunc{wxString}{GetAudioCodec}{\void}
Return the audio codec name
\membersection{wxVideoXANIM::GetSampleRate}\label{wxvideoxanimgetsamplerate}
\constfunc{wxUint32}{GetSampleRate}{\void}
Return misc info about audio
\membersection{wxVideoXANIM::GetChannels}\label{wxvideoxanimgetchannels}
\constfunc{wxUint8}{GetChannels}{\void}
\membersection{wxVideoXANIM::GetBPS}\label{wxvideoxanimgetbps}
\constfunc{wxUint8}{GetBPS}{\void}
\membersection{wxVideoXANIM::GetFrameRate}\label{wxvideoxanimgetframerate}
\constfunc{double}{GetFrameRate}{\void}
Return frame rate
\membersection{wxVideoXANIM::GetNbFrames}\label{wxvideoxanimgetnbframes}
\constfunc{wxUint32}{GetNbFrames}{\void}
Return number of frames in the movie
\membersection{wxVideoXANIM::IsCapable}\label{wxvideoxanimiscapable}
\constfunc{bool}{IsCapable}{\param{wxVideoType }{v\_type}}
\membersection{wxVideoXANIM::AttachOutput}\label{wxvideoxanimattachoutput}
\func{bool}{AttachOutput}{\param{wxWindow\& }{output}}
\membersection{wxVideoXANIM::DetachOutput}\label{wxvideoxanimdetachoutput}
\func{void}{DetachOutput}{\void}
\membersection{wxVideoXANIM::IsPaused}\label{wxvideoxanimispaused}
\constfunc{bool}{IsPaused}{\void}
\membersection{wxVideoXANIM::IsStopped}\label{wxvideoxanimisstopped}
\constfunc{bool}{IsStopped}{\void}
\membersection{wxVideoXANIM::RestartXANIM}\label{wxvideoxanimrestartxanim}
\func{bool}{RestartXANIM}{\void}
Start the subprocess with the right parameters
\membersection{wxVideoXANIM::SendCommand}\label{wxvideoxanimsendcommand}
\func{bool}{SendCommand}{\param{const char* }{command}, \param{char** }{ret = NULL}, \param{wxUint32* }{size = NULL}}
Send a command to the subprocess
\membersection{wxVideoXANIM::CollectInfo}\label{wxvideoxanimcollectinfo}
\func{bool}{CollectInfo}{\void}
Collect informations from XAnim

View File

@@ -1,335 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: animate.h
// Purpose: Animation classes
// Author: Julian Smart and Guillermo Rodriguez Garcia
// Modified by:
// Created: 13/8/99
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Guillermo Rodriguez Garcia
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_ANIMATEH__
#define _WX_ANIMATEH__
#ifdef __GNUG__
#pragma interface "animate.h"
#endif
#include <wx/defs.h>
#include <wx/string.h>
#include <wx/gdicmn.h>
#include <wx/list.h>
#include <wx/timer.h>
//#define ANIMDLLEXPORT WXDLLEXPORT
#define ANIMDLLEXPORT
class ANIMDLLEXPORT wxAnimationBase;
class ANIMDLLEXPORT wxAnimationPlayer;
class WXDLLEXPORT wxImage;
enum wxAnimationDisposal
{
wxANIM_UNSPECIFIED = -1,
wxANIM_DONOTREMOVE = 0,
wxANIM_TOBACKGROUND = 1,
wxANIM_TOPREVIOUS = 2
} ;
class ANIMDLLEXPORT wxAnimationTimer: public wxTimer
{
public:
wxAnimationTimer() { m_player = (wxAnimationPlayer*) NULL; }
virtual void Notify();
void SetPlayer(wxAnimationPlayer* player) { m_player = player; }
protected:
wxAnimationPlayer* m_player;
};
/* wxAnimationPlayer
* Create an object of this class, and either pass an wxXXXAnimation object in the constructor,
* or call SetAnimation. Then call Play().
* The wxAnimation object is only destroyed in the destructor if destroyAnimation is TRUE
* in the constructor.
*/
class ANIMDLLEXPORT wxAnimationPlayer : public wxObject
{
DECLARE_CLASS(wxAnimationPlayer)
public:
wxAnimationPlayer(wxAnimationBase *animation = (wxAnimationBase *) NULL, bool destroyAnimation = FALSE);
~wxAnimationPlayer();
//// Accessors
void SetAnimation(wxAnimationBase* animation, bool destroyAnimation = FALSE);
wxAnimationBase* GetAnimation() const { return m_animation; }
void SetDestroyAnimation(bool destroyAnimation) { m_destroyAnimation = destroyAnimation; };
bool GetDestroyAnimation() const { return m_destroyAnimation; }
void SetCurrentFrame(int currentFrame) { m_currentFrame = currentFrame; };
int GetCurrentFrame() const { return m_currentFrame; }
void SetWindow(wxWindow* window) { m_window = window; };
wxWindow* GetWindow() const { return m_window; }
void SetPosition(const wxPoint& pos) { m_position = pos; };
wxPoint GetPosition() const { return m_position; }
void SetLooped(bool looped) { m_looped = looped; };
bool GetLooped() const { return m_looped; }
bool HasAnimation() const { return (m_animation != (wxAnimationBase*) NULL); }
bool IsPlaying() const { return m_isPlaying; }
// Specify whether the GIF's background colour is to be shown,
// or whether the window background should show through (the default)
void UseBackgroundColour(bool useBackground) { m_useBackgroundColour = useBackground; }
bool UsingBackgroundColour() const { return m_useBackgroundColour; }
// Set and use a user-specified background colour (valid for transparent
// animations only)
void SetCustomBackgroundColour(const wxColour& col, bool useCustomBackgroundColour = TRUE)
{ m_customBackgroundColour = col; m_useCustomBackgroundColour = useCustomBackgroundColour; }
bool UsingCustomBackgroundColour() const { return m_useCustomBackgroundColour; }
const wxColour& GetCustomBackgroundColour() const { return m_customBackgroundColour; }
// Another refinement - suppose we're drawing the animation in a separate
// control or window. We may wish to use the background of the parent
// window as the background of our animation. This allows us to specify
// whether to grab from the parent or from this window.
void UseParentBackground(bool useParent) { m_useParentBackground = useParent; }
bool UsingParentBackground() const { return m_useParentBackground; }
//// Operations
// Play
virtual bool Play(wxWindow& window, const wxPoint& pos = wxPoint(0, 0), bool looped = TRUE);
// Build animation (list of wxImages). If not called before Play
// is called, Play will call this automatically.
virtual bool Build();
// Stop the animation
virtual void Stop();
// Draw the current view of the animation into this DC.
// Call this from your OnPaint, for example.
virtual void Draw(wxDC& dc);
//// Accessing the current animation
virtual int GetFrameCount() const;
virtual wxImage* GetFrame(int i) const; // Creates a new wxImage
virtual wxAnimationDisposal GetDisposalMethod(int i) const;
virtual wxRect GetFrameRect(int i) const; // Position and size of frame
virtual int GetDelay(int i) const; // Delay for this frame
virtual wxSize GetLogicalScreenSize() const;
virtual bool GetBackgroundColour(wxColour& col) const ;
virtual bool GetTransparentColour(wxColour& col) const ;
//// Implementation
// Play the frame
virtual bool PlayFrame(int frame, wxWindow& window, wxPoint& pos);
virtual bool PlayFrame();
virtual void DrawFrame(int frame, wxDC& dc, const wxPoint& pos);
virtual void DrawBackground(wxDC& dc, const wxPoint& pos, const wxColour& colour);
// Clear the wxImage cache
virtual void ClearCache();
// Save the pertinent area of the window so we can restore
// it if drawing transparently
void SaveBackground(const wxRect& rect);
wxBitmap& GetBackingStore() { return m_backingStore; }
//// Data members
protected:
wxAnimationBase* m_animation;
bool m_destroyAnimation; // Destroy m_animation on deletion of this object
wxList m_frames; // List of cached wxBitmap frames.
int m_currentFrame; // Current frame
wxWindow* m_window; // Window to draw into
wxPoint m_position; // Position to draw at
bool m_looped; // Looped, or not
wxAnimationTimer m_timer; // The timer
bool m_isPlaying; // Is the animation playing?
wxBitmap m_savedBackground; // Saved background of window portion
wxBitmap m_backingStore; // The player draws into this
bool m_useBackgroundColour; // Use colour or background
wxColour m_customBackgroundColour; // Override animation background
bool m_useCustomBackgroundColour;
bool m_useParentBackground; // Grab background from parent?
};
/* wxAnimationBase
* Base class for animations.
* A wxXXXAnimation only stores the animation, providing accessors to wxAnimationPlayer.
* Currently an animation is read-only, but we could extend the API for adding frames
* programmatically, and perhaps have a wxMemoryAnimation class that stores its frames
* in memory, and is able to save all files with suitable filenames. You could then use
* e.g. Ulead GIF Animator to load the image files into a GIF animation.
*/
class ANIMDLLEXPORT wxAnimationBase : public wxObject
{
DECLARE_ABSTRACT_CLASS(wxAnimationBase)
public:
wxAnimationBase() {};
~wxAnimationBase() {};
//// Accessors. Should be overridden by each derived class.
virtual int GetFrameCount() const = 0;
virtual wxImage* GetFrame(int i) const = 0; // Creates a new wxImage
virtual wxAnimationDisposal GetDisposalMethod(int i) const = 0;
virtual wxRect GetFrameRect(int i) const = 0; // Position and size of frame
virtual int GetDelay(int i) const = 0; // Delay for this frame
virtual wxSize GetLogicalScreenSize() const = 0;
virtual bool GetBackgroundColour(wxColour& col) const = 0;
virtual bool GetTransparentColour(wxColour& col) const = 0;
// Is the animation OK?
virtual bool IsValid() const = 0;
//// Operations
virtual bool LoadFile(const wxString& filename) { return FALSE; }
};
/* wxGIFAnimation
* This will be moved to a separate file in due course.
*/
class ANIMDLLEXPORT wxGIFDecoder;
class ANIMDLLEXPORT wxGIFAnimation : public wxAnimationBase
{
DECLARE_CLASS(wxGIFAnimation)
public:
wxGIFAnimation() ;
~wxGIFAnimation() ;
//// Accessors
virtual int GetFrameCount() const;
virtual wxImage* GetFrame(int i) const;
virtual wxAnimationDisposal GetDisposalMethod(int i) const;
virtual wxRect GetFrameRect(int i) const; // Position and size of frame
virtual int GetDelay(int i) const; // Delay for this frame
virtual wxSize GetLogicalScreenSize() const ;
virtual bool GetBackgroundColour(wxColour& col) const ;
virtual bool GetTransparentColour(wxColour& col) const ;
virtual bool IsValid() const;
//// Operations
virtual bool LoadFile(const wxString& filename);
protected:
wxGIFDecoder* m_decoder;
};
/*
* wxAnimationCtrlBase
* Abstract base class for format-specific animation controls.
* This class implements most of the functionality; all a derived
* class has to do is create the appropriate animation class on demand.
*/
// Resize to animation size if this is set
#define wxAN_FIT_ANIMATION 0x0010
class ANIMDLLEXPORT wxAnimationCtrlBase: public wxControl
{
public:
wxAnimationCtrlBase() { }
wxAnimationCtrlBase(wxWindow *parent, wxWindowID id,
const wxString& filename = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxAN_FIT_ANIMATION|wxNO_BORDER,
const wxString& name = wxT("animationControl"))
{
Create(parent, id, filename, pos, size, style, name);
}
~wxAnimationCtrlBase();
bool Create(wxWindow *parent, wxWindowID id,
const wxString& filename = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxAN_FIT_ANIMATION|wxNO_BORDER,
const wxString& name = wxT("animationControl"));
//// Operations
virtual bool LoadFile(const wxString& filename = wxEmptyString);
virtual bool Play(bool looped = TRUE) ;
virtual void Stop() { m_animationPlayer.Stop(); }
virtual void FitToAnimation();
//// Accessors
virtual bool IsPlaying() const { return m_animationPlayer.IsPlaying(); }
virtual wxAnimationPlayer& GetPlayer() { return m_animationPlayer; }
virtual wxAnimationBase* GetAnimation() { return m_animation; }
const wxString& GetFilename() const { return m_filename; }
void SetFilename(const wxString& filename) { m_filename = filename; }
//// Event handlers
void OnPaint(wxPaintEvent& event);
protected:
virtual wxSize DoGetBestSize() const;
// Override this in derived classes
virtual wxAnimationBase* DoCreateAnimation(const wxString& filename) = 0;
wxAnimationPlayer m_animationPlayer;
wxAnimationBase* m_animation;
wxString m_filename;
private:
DECLARE_ABSTRACT_CLASS(wxAnimationCtrlBase)
DECLARE_EVENT_TABLE()
};
/*
* wxGIFAnimationCtrl
* Provides a GIF animation class when required.
*/
class ANIMDLLEXPORT wxGIFAnimationCtrl: public wxAnimationCtrlBase
{
public:
wxGIFAnimationCtrl() { }
wxGIFAnimationCtrl(wxWindow *parent, wxWindowID id,
const wxString& filename = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxAN_FIT_ANIMATION|wxNO_BORDER,
const wxString& name = wxT("animationControl"))
{
Create(parent, id, filename, pos, size, style, name);
}
protected:
virtual wxAnimationBase* DoCreateAnimation(const wxString& filename) ;
private:
DECLARE_DYNAMIC_CLASS(wxGIFAnimationCtrl)
};
#endif // _WX_ANIMATEH__

View File

@@ -1,85 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the wxApplet class
*
****************************************************************************/
#ifndef __WX_APPLET_H
#define __WX_APPLET_H
#include "wx/panel.h"
#include "wx/html/htmlwin.h"
// Forward declaration
class wxHtmlAppletWindow;
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
Defines the abstract base class for wxApplet objects.
****************************************************************************/
class wxApplet : public wxPanel {
private:
DECLARE_ABSTRACT_CLASS(wxApplet);
DECLARE_EVENT_TABLE();
protected:
//wxHtmlAppletWindow *m_parent;
// Special handler for background erase messages
void OnEraseBackground(wxEraseEvent&);
public:
// Constructor (called during dynamic creation)
wxApplet() { m_parent = NULL; };
// Psuedo virtual constructor
virtual bool Create(
wxHtmlAppletWindow *parent,
const wxHtmlTag& params,
const wxSize& size,
long style = wxTAB_TRAVERSAL | wxNO_BORDER);
// Virtual destructor
virtual ~wxApplet();
// Handle HTML navigation to a new URL
virtual void OnLinkClicked(const wxHtmlLinkInfo& link) = 0;
// Handle HTML navigation forward command in applet
virtual void OnHistoryForward() = 0;
// Handle HTML navigation back command in applet
virtual void OnHistoryBack() = 0;
// Handle messages from the wxAppletManager and other applets
virtual void OnMessage(wxEvent& msg) = 0;
};
#endif // __WX_APPLET_H

View File

@@ -1,95 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for wxEchoVariable Class, Dynamically constructed
* objects representing variables in SSI #echo directive
*
****************************************************************************/
#ifndef __WX_ECHOVAR_H
#define __WX_ECHOVAR_H
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
wxEchoVariable class Definition
****************************************************************************/
class wxEchoVariable : public wxObject {
private:
DECLARE_ABSTRACT_CLASS(wxEchoVariable);
public:
wxEchoVariable() : wxObject() {}
~wxEchoVariable() {}
/****************************************************************************
RETURNS:
The boolean value of the variable
PARAMETERS:
parms - Optional parameter string passed from parm= field in HTML
REMARKS:
To create new variables for the #echo HTML preprocessing directives
you need to derive classes from wxEchoVariable and override the
pure virtual GetValue function. However this should not be done directly
but by using the BEGIN_ECHO_VARIABLE and END_ECHO_VARIABLE macros
SEE ALSO:
wxEchoPrep, BEGIN_ECHO_VARIABLE, END_ECHO_VARIABLE
****************************************************************************/
virtual wxString GetValue(const char *parms = NULL) const = 0;
public:
// static function to retrieve any variable avaliable
static wxString FindValue(const wxString &cls, const char *parms = NULL);
};
/*--------------------------------- MACROS --------------------------------*/
#define ECHO_PARM (_BEV_parm)
#define BEGIN_ECHO_VARIABLE(name) \
class wxEchoVariable##name : public wxEchoVariable { \
private: \
DECLARE_DYNAMIC_CLASS(wxEchoVariable##name##); \
public: \
wxEchoVariable##name##() : wxEchoVariable() {} \
virtual wxString GetValue(const char *parms = NULL) const; \
}; \
IMPLEMENT_DYNAMIC_CLASS(wxEchoVariable##name##, wxEchoVariable); \
wxString wxEchoVariable##name :: GetValue(const char *parms) const { \
wxString _BEV_parm = wxString(parms);
#define END_ECHO_VARIABLE(returnval) \
return returnval; \
}
#define STRING_ECHO_VARIABLE(name, string) \
BEGIN_ECHO_VARIABLE(##name##); \
END_ECHO_VARIABLE(wxString(##string##))
#endif // __WX_ECHOVAR_H

View File

@@ -1,94 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for wxIfElseVariable Class, Dynamically constructed
* objects representing variables in SSI #if, #else and #endif directives
*
****************************************************************************/
#ifndef __WX_IFELSEVAR_H
#define __WX_IFELSEVAR_H
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
This class is used to create variables for the HTML preprocessor #if, #else,
and #endif directives.
SEE ALSO:
wxIfElsePrep
****************************************************************************/
class wxIfElseVariable : public wxObject {
private:
DECLARE_ABSTRACT_CLASS(wxIfElseVariable);
public:
wxIfElseVariable() : wxObject() {}
~wxIfElseVariable() {}
/****************************************************************************
RETURNS:
The boolean value of the variable
REMARKS:
To create new variables for the #if, #else and #endif HTML preprocessing
blocks you need to derive classes from wxIfElseVariable and override the
pure virtual GetValue function. However this should not be done directly
but by using the BEGIN_IFELSE_VARIABLE and END_IFELSE_VARIABLE macros
SEE ALSO:
wxIfElsePrep, BEGIN_IFELSE_VARIABLE, END_IFELSE_VARIABLE
****************************************************************************/
virtual bool GetValue() const = 0;
public:
// static function to retrieve any variable avaliable
static bool FindValue(const wxString &cls);
};
/*--------------------------------- MACROS --------------------------------*/
#define BEGIN_IFELSE_VARIABLE(name) \
class wxIfElseVariable##name : public wxIfElseVariable { \
private: \
DECLARE_DYNAMIC_CLASS(wxIfElseVariable##name##); \
public: \
wxIfElseVariable##name##() : wxIfElseVariable() {} \
virtual bool GetValue() const; \
}; \
IMPLEMENT_DYNAMIC_CLASS(wxIfElseVariable##name##, wxIfElseVariable); \
bool wxIfElseVariable##name :: GetValue() const {
#define END_IFELSE_VARIABLE(returnval) \
return returnval; \
}
#define IFELSE_VARIABLE(name, state) \
BEGIN_IFELSE_VARIABLE(##name##); \
END_IFELSE_VARIABLE(bool (state))
#endif // __WX_IFELSEVAR_H

View File

@@ -1,109 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the wxLoadPage Event class
*
****************************************************************************/
#ifndef __WX_LOAD_PAGE_H
#define __WX_LOAD_PAGE_H
#include "wx/html/htmlwin.h"
// Forward declaration
class wxHtmlAppletWindow;
// If we are compiling this code into a library that links against
// the DLL, we need to remove all the __declspec(dllimports) that
// would declare our classes below incorrectly.
#ifndef WXMAKINGDLL
#undef WXDLLEXPORT
#define WXDLLEXPORT
#endif
// Declare our local load page event type
BEGIN_DECLARE_EVENT_TYPES()
DECLARE_EVENT_TYPE(wxEVT_LOAD_PAGE, wxEVT_USER_FIRST+1)
DECLARE_EVENT_TYPE(wxEVT_PAGE_LOADED, wxEVT_USER_FIRST+2)
END_DECLARE_EVENT_TYPES()
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
Defines the class for load page events.
****************************************************************************/
class wxLoadPageEvent : public wxEvent {
DECLARE_DYNAMIC_CLASS(wxLoadPageEvent);
protected:
wxString m_hRef;
wxHtmlAppletWindow *m_htmlWindow;
public:
// Constructor
wxLoadPageEvent(const wxString &hRef = "",wxHtmlAppletWindow *htmlWindow = NULL);
// Destructor
~wxLoadPageEvent() {}
// Return the hmtl window for the load page operation
wxHtmlAppletWindow *GetHtmlWindow() { return m_htmlWindow; };
// Get the hRef string for the load page operation
const wxString & GetHRef() { return m_hRef; };
// Copy constructor for the object
void CopyObject(wxObject& obj) const;
};
// Define the macro to create our event type
typedef void (wxEvtHandler::*wxLoadPageEventFunction)(wxLoadPageEvent&);
#define EVT_LOAD_PAGE(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_LOAD_PAGE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(wxLoadPageEventFunction) & fn, (wxObject *) NULL ),
/****************************************************************************
REMARKS:
Defines the class for pageloaded events.
****************************************************************************/
class wxPageLoadedEvent : public wxEvent {
DECLARE_DYNAMIC_CLASS(wxPageLoadedEvent);
public:
// Constructor
wxPageLoadedEvent();
// Destructor
~wxPageLoadedEvent() {}
// Copy constructor for the object
void CopyObject(wxObject& obj) const;
};
// Define the macro to create our event type
typedef void (wxEvtHandler::*wxPageLoadedEventFunction)(wxPageLoadedEvent&);
#define EVT_PAGE_LOADED(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_PAGE_LOADED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(wxPageLoadedEventFunction) & fn, (wxObject *) NULL ),
#endif // __WX_LOAD_PAGE_H

View File

@@ -1,57 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the wxQlet class
*
****************************************************************************/
#ifndef __WX_PLUGIN_H
#define __WX_PLUGIN_H
// Forward declaration
class wxHtmlAppletWindow;
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
Defines the abstract base class for wxQlet objects.
****************************************************************************/
class wxPlugIn : public wxObject {
private:
DECLARE_ABSTRACT_CLASS(wxPlugIn);
wxHtmlAppletWindow *m_parent;
public:
// Constructor (called during dynamic creation)
wxPlugIn() { m_parent = NULL; };
// Psuedo virtual constructor
virtual bool Create(wxHtmlAppletWindow *parent);
// Virtual destructor
virtual ~wxPlugIn();
};
#endif // __WX_PLUGIN_H

View File

@@ -1,59 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the Preprocessor of the #echo directive
* in wxHTML.
*
****************************************************************************/
#ifndef __WX_PREPECHO_H
#define __WX_PREPECHO_H
#include "wx/html/htmlproc.h"
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
Echo Preprocessor class Definition
****************************************************************************/
class wxEchoPrep : public wxHtmlProcessor {
private:
//DECLARE_DYNAMIC_CLASS(wxEchoPrep);
public:
wxEchoPrep() : wxHtmlProcessor() {}
~wxEchoPrep() {}
// Process input text and return processed result
wxString Process(const wxString& text) const;
// Return priority value of this processor. The higher, the sooner
// is the processor applied to the text.
int GetPriority() const { return wxHTML_PRIORITY_SYSTEM-2; }
};
#endif // __WX_PREPECHO_H

View File

@@ -1,59 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the Preprocessor of the #if SSI directive
* in wxHTML.
*
****************************************************************************/
#ifndef __WX_PREPIFELSE_H
#define __WX_PREPIFELSE_H
#include "wx/html/htmlproc.h"
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
If Else Preprocessor class Definition
****************************************************************************/
class wxIfElsePrep : public wxHtmlProcessor {
private:
//DECLARE_DYNAMIC_CLASS(wxIfElsePrep);
public:
wxIfElsePrep() : wxHtmlProcessor() {}
~wxIfElsePrep() {}
// Process input text and return processed result
wxString Process(const wxString& text) const;
// Return priority value of this processor. The higher, the sooner
// is the processor applied to the text.
int GetPriority() const { return wxHTML_PRIORITY_SYSTEM-2; }
};
#endif // __WX_PREPECHO_H

View File

@@ -1,61 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the Preprocessor of the #include directive
* in wxHTML.
*
****************************************************************************/
#ifndef __WX_PREPINCLUDE_H
#define __WX_PREPINCLUDE_H
#include "wx/html/htmlproc.h"
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
wxIncludePrep class Definition
****************************************************************************/
class wxIncludePrep : public wxHtmlProcessor {
private:
//DECLARE_DYNAMIC_CLASS(wxIncludePrep);
wxFileSystem *m_FS;
public:
wxIncludePrep() : wxHtmlProcessor() {}
~wxIncludePrep() {}
// Process input text and return processed result
wxString Process(const wxString& text) const;
// Return priority value of this processor. The higher, the sooner
// is the processor applied to the text.
int GetPriority() const { return wxHTML_PRIORITY_SYSTEM; }
void ChangeDirectory(wxFileSystem *);
};
#endif // __WX_PREPINCLUDE_H

View File

@@ -1,226 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the wxHtmlAppletWindow class
*
****************************************************************************/
#ifndef __WX_APPLET_WINDOW_H
#define __WX_APPLET_WINDOW_H
#include "wx/html/htmlwin.h"
#include "wx/process.h"
// Forward declare
class wxApplet;
class wxQlet;
class wxLoadPageEvent;
class wxPageLoadedEvent;
class wxIncludePrep;
class wxToolBarBase;
// Declare a linked list of wxApplet pointers
WX_DECLARE_LIST(wxApplet, wxAppletList);
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
Defines the class for virtual-link data types
****************************************************************************/
class VirtualData : public wxObject {
private:
wxString m_name;
wxString m_group;
wxString m_href;
public:
// Ctors
VirtualData(
wxString& name,
wxString& group,
wxString& href );
VirtualData();
// Gets
wxString GetName(){ return m_name;};
wxString GetGroup(){ return m_group;};
wxString GetHref(){ return m_href;};
// Sets
void SetName (wxString& s){ m_name = s; };
void SetGroup(wxString& s){ m_group = s; };
void SetHref (wxString& s){ m_href = s; };
};
/****************************************************************************
REMARKS:
Defines the class for wxAppletWindow. This class is derived from the
wxHtmlWindow class and extends it with functionality to handle embedded
wxApplet's on the HTML pages.
****************************************************************************/
class wxHtmlAppletWindow : public wxHtmlWindow {
private:
DECLARE_CLASS(wxHtmlAppletWindow);
DECLARE_EVENT_TABLE();
bool m_mutexLock;
wxIncludePrep *incPreprocessor; // deleted by list it is added too in constructor
protected:
wxAppletList m_AppletList;
static wxHashTable m_Cookies;
bool m_NavBarEnabled;
wxToolBarBase *m_NavBar;
int m_NavBackId;
int m_NavForwardId;
wxPalette m_globalPalette;
// Override this so we can do proper palette management!!
virtual void OnDraw(wxDC& dc);
public:
// Constructor
wxHtmlAppletWindow(
wxWindow *parent,
wxWindowID id = -1,
wxToolBarBase *navBar = NULL,
int navBackId = -1,
int navForwardId = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxHW_SCROLLBAR_AUTO,
const wxString& name = "htmlAppletWindow",
const wxPalette& globalPalette = wxNullPalette);
// Destructor
~wxHtmlAppletWindow();
// Create an instance of an applet based on it's class name
wxApplet *CreateApplet(
const wxString& classId,
const wxString& iName,
const wxHtmlTag &params,
const wxSize& size);
// Create an instance of an Qlet based on it's class name
bool CreatePlugIn(const wxString& classId );
// Find an instance of an applet based on it's class name
wxApplet *FindApplet(const wxString& className);
// Remove an applet from the window. Called during applet destruction
bool RemoveApplet(const wxApplet *applet);
// Load a new URL page
virtual bool LoadPage(const wxString& location);
// Called when users clicked on hypertext link.
virtual void OnLinkClicked(const wxHtmlLinkInfo& link);
// Handles forward navigation within the HTML stack
bool HistoryForward();
// Handles backwards navigation within the HTML stack
bool HistoryBack();
// Disables Nav bars
void DisableNavBar();
// Enables Nav bars
void EnableNavBar();
void SetNavBar(wxToolBarBase *navBar);
// Broadcast a message to all applets on the page
void SendMessage(wxEvent& msg);
// Register a cookie of data in the applet manager
static bool RegisterCookie(const wxString& name,wxObject *cookie);
// UnRegister a cookie of data in the applet manager
static bool UnRegisterCookie(const wxString& name);
// Find a cookie of data given it's public name
static wxObject *FindCookie(const wxString& name);
// Event handlers to load a new page
void OnLoadPage(wxLoadPageEvent &event);
// Event handlers to load a new page
void OnPageLoaded(wxPageLoadedEvent &event);
// LoadPage mutex locks
void Lock(){ m_mutexLock = true;};
void UnLock(){ m_mutexLock = false;};
// Returns TRUE if the mutex is locked, FALSE otherwise.
bool IsLocked(){ return m_mutexLock;};
// Tries to lock the mutex. If it can't, returns immediately with false.
bool TryLock();
};
/****************************************************************************
REMARKS:
Defines the class for AppetProcess
***************************************************************************/
class AppletProcess : public wxProcess {
public:
AppletProcess(
wxWindow *parent)
: wxProcess(parent)
{
}
// instead of overriding this virtual function we might as well process the
// event from it in the frame class - this might be more convenient in some
// cases
virtual void OnTerminate(int pid, int status);
};
/****************************************************************************
REMARKS:
Defines the class for wxHtmlAppletCell
***************************************************************************/
class wxHtmlAppletCell : public wxHtmlCell
{
public:
wxHtmlAppletCell(wxWindow *wnd, int w = 0);
~wxHtmlAppletCell() { m_Wnd->Destroy(); }
virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
virtual void DrawInvisible(wxDC& dc, int x, int y);
virtual void Layout(int w);
protected:
wxWindow* m_Wnd;
// width float is used in adjustWidth (it is in percents)
};
#endif // __WX_APPLET_WINDOW_H

View File

@@ -1,76 +0,0 @@
#ifndef __WXBOUNDINGBOX_H__
#define __WXBOUNDINGBOX_H__
#ifdef __GNUG__
#pragma interface "bbox.cpp"
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/matrix.h"
#include "wx/geometry.h"
enum OVERLAP {_IN,_ON,_OUT};
//Purpose The wxBoundingBox class stores one wxBoundingBox.
//The wxBoundingBox is defined by two coordiates,
//a upperleft coordinate and a lowerright coordinate.
class wxBoundingBox
{
public:
wxBoundingBox();
wxBoundingBox(wxBoundingBox&);
wxBoundingBox(const wxPoint2DDouble&);
wxBoundingBox(double xmin, double ymin, double xmax, double ymax);
bool And(wxBoundingBox*, double Marge = 0);
void EnLarge(const double Marge);
void Shrink(const double Marge);
void Expand(const wxPoint2DDouble& , const wxPoint2DDouble&);
void Expand(const wxPoint2DDouble&);
void Expand(double x,double y);
void Expand(const wxBoundingBox& bbox);
OVERLAP Intersect( wxBoundingBox &, double Marge = 0);
bool LineIntersect(const wxPoint2DDouble& begin, const wxPoint2DDouble& end );
bool PointInBox( const wxPoint2DDouble&, double Marge = 0);
bool PointInBox( double, double, double Marge = 0);
void Reset();
void Translate( wxPoint2DDouble& );
void MapBbox( const wxTransformMatrix& matrix);
double GetWidth() {return m_maxx-m_minx;};
double GetHeight(){return m_maxy-m_miny;};
bool GetValid() const;
void SetValid(bool);
void SetBoundingBox(const wxPoint2DDouble& a_point);
void SetMin(double, double);
void SetMax(double, double);
inline wxPoint2DDouble GetMin();
inline wxPoint2DDouble GetMax();
inline double GetMinX(){return m_minx;};
inline double GetMinY(){return m_miny;};
inline double GetMaxX(){return m_maxx;};
inline double GetMaxY(){return m_maxy;};
wxBoundingBox& operator+( wxBoundingBox& );
wxBoundingBox& operator=( const wxBoundingBox& );
protected:
//bounding box in world
double m_minx;
double m_miny;
double m_maxx;
double m_maxy;
bool m_validbbox;
};
#endif

View File

@@ -1,859 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: canvas.h
// Author: Robert Roebling
// Created: XX/XX/XX
// Copyright: 2000 (c) Robert Roebling
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __WXCANVAS_H__
#define __WXCANVAS_H__
#ifdef __GNUG__
#pragma interface "canvas.cpp"
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/image.h"
#include "wx/txtstrm.h"
#include "wx/geometry.h"
#include "wx/matrix.h"
#include "bbox.h"
//----------------------------------------------------------------------------
// decls
//----------------------------------------------------------------------------
class wxCanvas;
class wxCanvasAdmin;
//----------------------------------------------------------------------------
// wxCanvasObject
//----------------------------------------------------------------------------
enum wxDRAG_MODE
{
wxDRAG_RECTANGLE,
wxDRAG_ONTOP,
wxDRAG_REDRAW
};
//:defenition
// wxCanvasObject is the base class for Canvas Objects.
// All Objects for drawing one the canvas are derived from this class.
// It supports dragging and moving methods that can be used in derived
// classes for defining several ways of dragging.
// Also it is possible to plug in events handlers to do this for all derived classes at once.
//
// wxCanvasObjects have themselves as their event handlers by default,
// but their event handlers could be set to another object entirely. This
// separation can reduce the amount of derivation required, and allow
// alteration of a wxCanvasObject functionality
class wxCanvasObject: public wxEvtHandler
{
public:
wxCanvasObject();
//If the position (x,y) is within the object this return a pointer to the object
//Normally this function needs to be defined for each derived wxCanvasObject.
//The default is a simple bounding box test.
virtual wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
//render this object to the canvas (either on its buffer or directly on the canvas)
//this depends on the wxDC that is set for the active canvas.
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
//x position in world coordinates of the object
virtual double GetPosX()=0;
//y position in world coordinates of the object
virtual double GetPosY()=0;
//set position in world coordinates for the object
virtual void SetPosXY( double x, double y)=0;
//absolute moving the object to position x,y in world coordinates
//also does an update of the old and new area
virtual void MoveAbsolute( double x, double y );
//relative moving the object to position x,y in world coordinates
//also does an update of the old and new area
virtual void MoveRelative( double x, double y );
//relative translate the object to position x,y in world coordinates
//does NOT update the old and new area
//this function must be defined for each derived object,
//it is used internally for dragging and moving objects.
virtual void TransLate( double x, double y )=0;
//choose one of the three diffrenet drag methods |
//DRAG_RECTANGLE = as a rectangle when drag is in progress |
//DRAG_ONTOP = only redraw the object when dragging |
//DRAG_REDRAW = redraw the damaged areas when dragging
void SetDragMode(wxDRAG_MODE mode) { m_dragmode=mode; };
//return the dragmode
wxDRAG_MODE GetDragMode() { return m_dragmode; };
//called when starting a drag
virtual void DragStart();
//called when dragging is in progress
virtual void DragRelative( double x, double y);
//called when dragging is ended
virtual void DragEnd();
//return the object if it is part of the given object or
//if the given object is part of a group within this object.
//For group objects this means recursively search for it.
virtual wxCanvasObject* Contains( wxCanvasObject* obj );
//calculate the boundingbox in world coordinates
virtual void CalcBoundingBox()=0;
//write the object as SVG (scalable vector grafhics
virtual void WriteSVG( wxTextOutputStream &stream );
//get the administrator for the object,
//this will give access to the canvas's where it is displayed upon.
//It is used to render the object to the active canvas.
//Conversion from world to Device coordinates and visa versa is
//done using the Active canvas at that moment.
wxCanvasAdmin *GetAdmin() { return m_admin; }
//set the administrator
virtual void SetAdmin( wxCanvasAdmin *admin ) { m_admin = admin; }
//is this a control type of canvas object
bool IsControl() { return m_isControl; }
//is this a vector type of canvas object
bool IsVector() { return m_isVector; }
//is this an Image type of canvas object
bool IsImage() { return m_isImage; }
//get minimum X of the boundingbox in world coordinates
inline double GetXMin() { return m_bbox.GetMinX(); }
//get minimum Y of the boundingbox in world coordinates
inline double GetYMin() { return m_bbox.GetMinY(); }
//get maximum X of the boundingbox in world coordinates
inline double GetXMax() { return m_bbox.GetMaxX(); }
//get maximum Y of the boundingbox in world coordinates
inline double GetYMax() { return m_bbox.GetMaxY(); }
//get boundingbox
inline wxBoundingBox GetBbox() { return m_bbox; }
//redirect all mouse events for the canvas to this object
void CaptureMouse();
//release the mouse capture for this object
void ReleaseMouse();
//is the mouse captured for this object
bool IsCapturedMouse();
//set if this object will visible (be rendered or not)
inline void SetVisible(bool visible) { m_visible=visible; }
//get visibility
inline bool GetVisible() {return m_visible; }
//can the object be dragged
inline void SetDraggable(bool drag) { m_dragable=drag; }
//get if the object can be dragged
inline bool GetDraggable() {return m_dragable; }
//get absolute area in the device coordinates where the object
//its boundingbox in world coordinates is first translated using the matrix.
wxRect GetAbsoluteArea(const wxTransformMatrix& cworld);
//get currently used eventhandler (always the first in the list)
wxEvtHandler *GetEventHandler() const { return m_eventHandler; }
//process an event for the object, starting with the first eventhandler
// in the list.
bool ProcessCanvasObjectEvent(wxEvent& event);
// push/pop event handler: allows to chain a custom event handler to
// already existing ones
void PushEventHandler( wxEvtHandler *handler );
//remove first eventhandler in the list (one will be always stay in)
wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE );
//append an eventhandler to the list, this event handler will be called
//if the other skipped the event to process.
void AppendEventHandler(wxEvtHandler *handler);
//remove last event handler in the list (one will always stay in)
wxEvtHandler *RemoveLastEventHandler(bool deleteHandler);
protected:
//administator for rendering and accessing the canvas's
wxCanvasAdmin* m_admin;
//active event handler, default the object itself
wxEvtHandler* m_eventHandler;
bool m_isControl:1;
bool m_isVector:1;
bool m_isImage:1;
bool m_visible:1;
bool m_dragable:1;
wxDRAG_MODE m_dragmode:3;
//boundingbox in world coordinates
wxBoundingBox m_bbox;
//used for dragging
wxBitmap m_atnewpos;
};
//:defenition
// wxCanvasObjectGroup is a container for wxCanvas derived Objects.
// It renders itself by calling the render methods of the wxCanvasObjects it contains.
// It can have nested groups also, in the same way as the other wxCanvasObjects it already contains.
// The group has a matrix to position/rotate/scale the group.
class wxCanvasObjectGroup: public wxCanvasObject
{
public:
wxCanvasObjectGroup(double x, double y);
virtual ~wxCanvasObjectGroup();
void SetAdmin(wxCanvasAdmin* admin);
//prepend a wxCanvasObject to this group
virtual void Prepend( wxCanvasObject* obj );
//append a wxCanvasObject to this group
virtual void Append( wxCanvasObject* obj );
//insert a wxCanvasObject to this group
virtual void Insert( size_t before, wxCanvasObject* obj );
//remove the given object from the group
virtual void Remove( wxCanvasObject* obj );
//those this group contain the given object.
//in case of nested groups also search in there to the lowwest level.
virtual wxCanvasObject* Contains( wxCanvasObject* obj );
//returns index of the given wxCanvasObject in this group
virtual int IndexOf( wxCanvasObject* obj );
double GetPosX() { return lworld.GetValue(2,0); }
double GetPosY() { return lworld.GetValue(2,1); }
void SetPosXY( double x, double y) {lworld.SetValue(2,0,x);lworld.SetValue(2,1,y);CalcBoundingBox();};
void TransLate( double x, double y );
void CalcBoundingBox();
//remove all wxCanvasObjects from the group (flag for deletion of the objectsalso)
void DeleteContents( bool );
virtual void Render(wxTransformMatrix* cworld,int x, int y, int width, int height );
virtual void WriteSVG( wxTextOutputStream &stream );
//recursive call the IsHitWorld on all contained objects, the first
//one that is hit will be returned
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
//recursive calls for contained objects to set eventhandlers,
//and also sets its own eventhandler
void PushEventHandler( wxEvtHandler *handler );
//recursive calls for contained objects to set eventhandlers,
//and also sets its own eventhandler
wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE );
//recursive calls for contained objects to set eventhandlers,
//and also sets its own eventhandler
void AppendEventHandler(wxEvtHandler *handler);
//recursive calls for contained objects to set eventhandlers,
//and also sets its own eventhandler
wxEvtHandler *RemoveLastEventHandler(bool deleteHandler);
protected:
//to position the object
wxTransformMatrix lworld;
wxList m_objects;
friend class wxCanvas;
};
//:defenition
// wxCanvasObjectRef is a reference to any wxCanvasObject derived class.
// It does not duplicate the referenced object.
// It has a matrix to reposition/rotate/scale the object it references.
// The position/matrix of the referenced Object is accumulated with the one here.
class wxCanvasObjectRef: public wxCanvasObject
{
public:
wxCanvasObjectRef(double x, double y,wxCanvasObject* obj);
//set rotation for the reference
void SetRotation(double rotation);
//set scale in x and y ( > zero)
void SetScale( double scalex, double scaley );
void SetAdmin(wxCanvasAdmin* admin);
double GetPosX() { return lworld.GetValue(2,0); }
double GetPosY() { return lworld.GetValue(2,1); }
void SetPosXY( double x, double y) {lworld.SetValue(2,0,x);lworld.SetValue(2,1,y);CalcBoundingBox();};
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld,int x, int y, int width, int height );
virtual void WriteSVG( wxTextOutputStream &stream );
//return this object if one of the objects it references is hit
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
virtual wxCanvasObject* Contains( wxCanvasObject* obj );
//recursive calls for contained objects to set eventhandlers,
//and also sets its own eventhandler
void PushEventHandler( wxEvtHandler *handler );
//recursive calls for contained objects to set eventhandlers,
//and also sets its own eventhandler
wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE );
//recursive calls for contained objects to set eventhandlers,
//and also sets its own eventhandler
void AppendEventHandler(wxEvtHandler *handler);
//recursive calls for contained objects to set eventhandlers,
//and also sets its own eventhandler
wxEvtHandler *RemoveLastEventHandler(bool deleteHandler);
protected:
//to position the object
wxTransformMatrix lworld;
//reference to another wxCanvasObject
wxCanvasObject* m_obj;
};
//:defenition
// wxCanvasRect
class wxCanvasRect: public wxCanvasObject
{
public:
wxCanvasRect( double x, double y, double w, double h , double radius=0 );
void SetBrush( const wxBrush& brush) { m_brush = brush; };
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
double GetPosX() { return m_x; }
double GetPosY() { return m_y; }
void SetPosXY( double x, double y) {m_x=x; m_y=y; CalcBoundingBox();};
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
private:
wxPen m_pen;
wxBrush m_brush;
double m_x;
double m_y;
double m_width;
double m_height;
double m_radius;
};
//----------------------------------------------------------------------------
// wxCanvasCircle
//----------------------------------------------------------------------------
class wxCanvasCircle: public wxCanvasObject
{
public:
wxCanvasCircle( double x, double y, double radius );
void SetBrush( const wxBrush& brush) { m_brush = brush; };
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
double GetPosX() { return m_x; }
double GetPosY() { return m_y; }
void SetPosXY( double x, double y) {m_x=x; m_y=y;CalcBoundingBox(); };
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
private:
wxPen m_pen;
wxBrush m_brush;
double m_x;
double m_y;
double m_radius;
};
//:defenition
// wxCanvasEllipse
class wxCanvasEllipse: public wxCanvasObject
{
public:
wxCanvasEllipse( double x, double y, double width, double height );
void SetBrush( const wxBrush& brush) { m_brush = brush; };
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
double GetPosX() { return m_x; }
double GetPosY() { return m_y; }
void SetPosXY( double x, double y) {m_x=x; m_y=y; CalcBoundingBox();};
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
private:
wxPen m_pen;
wxBrush m_brush;
double m_x;
double m_y;
double m_width;
double m_height;
};
//:defenition
// wxCanvasEllipticArc
class wxCanvasEllipticArc: public wxCanvasObject
{
public:
wxCanvasEllipticArc( double x, double y, double width, double height, double start, double end );
void SetBrush( const wxBrush& brush) { m_brush = brush; };
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
double GetPosX() { return m_x; }
double GetPosY() { return m_y; }
void SetPosXY( double x, double y) {m_x=x; m_y=y; CalcBoundingBox();};
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
private:
wxPen m_pen;
wxBrush m_brush;
double m_x;
double m_y;
double m_width;
double m_height;
double m_start;
double m_end;
};
//:defenition
// wxCanvasLine
class wxCanvasLine: public wxCanvasObject
{
public:
wxCanvasLine( double x1, double y1, double x2, double y2 );
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
double GetPosX() { return m_x1; }
double GetPosY() { return m_y1; }
void SetPosXY( double x, double y) {m_x1=x; m_y1=y; CalcBoundingBox();};
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
private:
wxPen m_pen;
double m_x1;
double m_y1;
double m_x2;
double m_y2;
};
//:defenition
// wxCanvasImage
class wxCanvasImage: public wxCanvasObject
{
public:
wxCanvasImage( const wxImage &image, double x, double y, double w, double h );
double GetPosX() { return m_x; }
double GetPosY() { return m_y; }
void SetPosXY( double x, double y);
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
private:
double m_x;
double m_y;
double m_width;
double m_height;
wxImage m_image;
int m_orgw,m_orgh;
// cache
wxBitmap m_cBitmap;
wxImage m_cImage;
int m_cW;
int m_cH;
double m_cR;
};
//----------------------------------------------------------------------------
// wxCanvasControl
//----------------------------------------------------------------------------
class wxCanvasControl: public wxCanvasObject
{
public:
wxCanvasControl( wxWindow *control );
~wxCanvasControl();
double GetPosX();
double GetPosY();
void SetPosXY( double x, double y);
void TransLate( double x, double y );
void MoveRelative( double x, double y );
void CalcBoundingBox();
private:
wxWindow *m_control;
};
//:defenition
// wxCanvasText
class wxCanvasText: public wxCanvasObject
{
public:
wxCanvasText( const wxString &text, double x, double y, const wxString &foneFile, int size );
~wxCanvasText();
double GetPosX() { return m_x; }
double GetPosY() { return m_y; }
void SetPosXY( double x, double y) {m_x=x; m_y=y;CalcBoundingBox(); };
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
void SetRGB( unsigned char red, unsigned char green, unsigned char blue );
void SetFlag( int flag );
int GetFlag() { return m_flag; }
private:
wxString m_text;
double m_x;
double m_y;
unsigned char *m_alpha;
void *m_faceData;
int m_flag;
int m_red;
int m_green;
int m_blue;
wxString m_fontFileName;
int m_size;
};
//:defenition
// wxCanvas is used to display a wxCanvasGroupObject, which contains wxCanvasObject derived
// drawable objects. The group to draw is called the root.
// All objects are defined in world coordinates, relative to its parent (e.g. nested groups)
// There are methods to convert from world to device coordinates and visa versa.
// Rendering a draw is normally started on the root, it to a buffer, afterwords
// an update of the damaged parts will blitted from the buffer to the screen.
// This is done in Idle time, but can also be forced.
// World coordinates can be with the Y axis going up are down.
// The area of the drawing in world coordinates that is visible on the canvas
// can be set. Parts of this area can be zoomed into resulting in scroll bars
// to be displayed.
class wxCanvas: public wxScrolledWindow
{
public:
// constructors and destructors
wxCanvas( wxCanvasAdmin* admin ,wxWindow *parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxScrolledWindowStyle );
virtual ~wxCanvas();
//background colour for the canvas
virtual void SetColour( const wxColour& background );
//update the area given in device coordinates
virtual void Update( int x, int y, int width, int height, bool blit = TRUE );
//blit all updated areas now to the screen, else it will happen in idle time.
//Use this to support dragging for instance, becuase in such cases idle time
//will take to long.
virtual void UpdateNow();
//prevent canvas activety
virtual void Freeze();
//allow canvas activety
virtual void Thaw();
//get the buffer that is used for rendering in general
inline wxBitmap *GetBuffer() { return &m_buffer; }
//get the DC that is used for rendering
inline wxDC *GetDC() { return m_renderDC; }
//set the DC that is used for rendering
inline void SetDC(wxDC* dc) { m_renderDC=dc; }
inline int GetBufferWidth() { return m_buffer.GetWidth(); }
inline int GetBufferHeight() { return m_buffer.GetHeight(); }
//updating is needed for the canvas if the buffer did change
bool NeedUpdate() { return m_needUpdate; }
bool IsFrozen() { return m_frozen; }
//blit damaged areas in the buffer to the screen
void BlitBuffer( wxDC &dc );
//redirect events to this canvas object
void SetCaptureMouse( wxCanvasObject *obj );
//are events redirected, if so return the object else NULL
inline wxCanvasObject* GetCaptured() { return m_captureMouse;}
//set the root group where the objects for this canvas are stored
void SetRoot(wxCanvasObjectGroup* aroot){m_root=aroot;}
//get root group that is displayed on the canvas
wxCanvasObjectGroup* GetRoot(){return m_root;}
//scroll the window in device coordinates
virtual void ScrollWindow( int dx, int dy,
const wxRect* rect = (wxRect *) NULL );
//get y axis orientation
virtual bool GetYaxis() { return FALSE; }
//get the visible part in world coordinates
virtual double GetMinX() const;
virtual double GetMinY() const;
virtual double GetMaxX() const;
virtual double GetMaxY() const;
//convert from window to virtual coordinates
virtual double DeviceToLogicalX(int x) const;
virtual double DeviceToLogicalY(int y) const;
virtual double DeviceToLogicalXRel(int x) const;
virtual double DeviceToLogicalYRel(int y) const;
virtual int LogicalToDeviceX(double x) const;
virtual int LogicalToDeviceY(double y) const;
virtual int LogicalToDeviceXRel(double x) const;
virtual int LogicalToDeviceYRel(double y) const;
protected:
wxBitmap m_buffer;
//always available and m_buffer selected
wxDC* m_renderDC;
bool m_needUpdate;
wxList m_updateRects;
wxCanvasObjectGroup* m_root;
wxColour m_background;
bool m_frozen;
wxCanvasObject *m_lastMouse;
wxCanvasObject *m_captureMouse;
int m_oldDeviceX,m_oldDeviceY;
wxCanvasAdmin* m_admin;
private:
int m_bufferX,m_bufferY;
protected:
void OnMouse( wxMouseEvent &event );
void OnPaint( wxPaintEvent &event );
void OnSize( wxSizeEvent &event );
void OnIdle( wxIdleEvent &event );
void OnSetFocus( wxFocusEvent &event );
void OnKillFocus( wxFocusEvent &event );
void OnEraseBackground( wxEraseEvent &event );
private:
DECLARE_CLASS(wxCanvas)
DECLARE_EVENT_TABLE()
};
class wxVectorCanvas: public wxCanvas
{
public:
// constructors and destructors
wxVectorCanvas( wxCanvasAdmin* admin ,wxWindow *parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxScrolledWindowStyle );
//scroll the window in device coordinates
virtual void ScrollWindow( int dx, int dy,
const wxRect* rect = (wxRect *) NULL );
//set if the Yaxis goes up or down
void SetYaxis(bool up) { m_yaxis=up; }
//get currently used Yaxis setting
virtual bool GetYaxis() { return m_yaxis; }
//to set the total area in world coordinates that can be scrolled.
// when totaly zoomed out (SetMappingScroll same size as given here),
// this will be the area displayed.
// To display all of a drawing, set this here to the boundingbox of the root group
// of the canvas.
void SetScroll(double vx1,double vy1,double vx2,double vy2);
//given the virtual size to be displayed, the mappingmatrix will be calculated
//in such a manner that it fits (same ratio in width and height) to the window size.
//The window size is used to intitialize the mapping.
//The virtual size is just an indication, it will be ajusted to fit in the client window ratio.
//When border is set an extra margin is added so that the drawing will fit nicely.
// To display all of a drawing, set this here to the boundingbox of the root group
// of the canvas.
void SetMappingScroll(double vx1,double vy1,double vx2,double vy2,bool border);
//matrix for calculating the virtual coordinate given a screen coordinate
wxTransformMatrix GetInverseMappingMatrix();
//matrix for calculating the screen coordinate given a virtual coordinate
wxTransformMatrix GetMappingMatrix();
//get minimum X of the visible part in world coordinates
virtual double GetMinX() const;
virtual double GetMinY() const;
virtual double GetMaxX() const;
virtual double GetMaxY() const;
//convert from window to virtual coordinates and back
virtual double DeviceToLogicalX(int x) const;
virtual double DeviceToLogicalY(int y) const;
virtual double DeviceToLogicalXRel(int x) const;
virtual double DeviceToLogicalYRel(int y) const;
virtual int LogicalToDeviceX(double x) const;
virtual int LogicalToDeviceY(double y) const;
virtual int LogicalToDeviceXRel(double x) const;
virtual int LogicalToDeviceYRel(double y) const;
protected:
// up or down
bool m_yaxis;
// holds the matrix for mapping from virtual to screen coordinates
wxTransformMatrix m_mapping_matrix;
// holds the inverse of the mapping matrix
wxTransformMatrix m_inverse_mapping;
//virtual coordinates of total drawing
double m_virtm_minX, m_virtm_minY, m_virtm_maxX, m_virtm_maxY;
// virtual coordinates box
double m_virt_minX, m_virt_minY, m_virt_maxX, m_virt_maxY;
// bounding box
double m_minX, m_minY, m_maxX, m_maxY;
//are scroll bars active?
bool m_scrolled;
private:
void OnScroll(wxScrollWinEvent& event);
void OnChar( wxKeyEvent &event );
void OnSize( wxSizeEvent &event );
private:
DECLARE_CLASS(wxVectorCanvas)
DECLARE_EVENT_TABLE()
};
//:defenition
//Contains a list of wxCanvas Objects that will be maintained through this class.
//Each wxCanvasObject can be displayed on several wxCanvas Objects at the same time.
//The active wxCanvas is used to render and convert coordinates from world to device.
//So it is important to set the active wxCanvas based on the wxCanvas that has the focus
//or is scrolled etc. This is normally done within wxCanvas when appropriate.
class wxCanvasAdmin
{
public:
// constructors and destructors
wxCanvasAdmin();
virtual ~wxCanvasAdmin();
//convert from window to virtual coordinates
double DeviceToLogicalX(int x) const;
//convert from window to virtual coordinates
double DeviceToLogicalY(int y) const;
//convert from window to virtual coordinates relatif
double DeviceToLogicalXRel(int x) const;
//convert from window to virtual coordinates relatif
double DeviceToLogicalYRel(int y) const;
//convert from virtual to window coordinates
int LogicalToDeviceX(double x) const;
//convert from virtual to window coordinates
int LogicalToDeviceY(double y) const;
//convert from virtual to window coordinates relatif
int LogicalToDeviceXRel(double x) const;
//convert from virtual to window coordinates relatif
int LogicalToDeviceYRel(double y) const;
//update in the buffer off all canvases, the area given in world coordinates
virtual void Update(wxCanvasObject* obj, double x, double y, double width, double height);
//blit all updated areas now to the screen, else it will happen in idle time.
//Use this to support dragging for instance, becuase in such cases idle time
//will take to long.
virtual void UpdateNow();
//append another canvas
virtual void Append( wxCanvas* canvas );
//remove a canvas
virtual void Remove( wxCanvas* canvas );
//set the given canvas as active (for rendering, coordinate conversion etc.)
void SetActive(wxCanvas* activate);
//get active canvas
inline wxCanvas* GetActive() {return m_active;};
private:
wxList m_canvaslist;
wxCanvas* m_active;
};
#endif
// WXCANVAS

View File

@@ -1,58 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: liner.h
// Author: Klaas Holwerda
// Created: 1/10/2000
// Copyright: 2000 (c) Klaas Holwerda
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __WXLINER_H
#define __WXLINER_H
#ifdef __GNUG__
#pragma interface "liner.cpp"
#endif
#include "wx/geometry.h"
enum OUTPRODUCT {R_IS_LEFT,R_IS_ON,R_IS_RIGHT};
// Status of a point to a wxLine
enum R_PointStatus {R_LEFT_SIDE, R_RIGHT_SIDE, R_ON_AREA, R_IN_AREA};
class wxLine
{
public:
// constructors and destructor
wxLine( double x1, double y1, double x2, double y2 );
wxLine( const wxPoint2DDouble& a, const wxPoint2DDouble& b);
~wxLine();
wxPoint2DDouble GetBeginPoint(); // Get the beginpoint from a wxLine
wxPoint2DDouble GetEndPoint(); // Get the endpoint from a wxLine
bool CheckIntersect( wxLine&, double Marge); // Check if two wxLines intersects
int Intersect( wxLine&, wxPoint2DDouble& bp ,wxPoint2DDouble& ep ,double Marge) ; // Intersects two wxLines
bool Intersect( wxLine& lijn, wxPoint2DDouble& crossing); //intersect two (infinit) lines
R_PointStatus PointOnLine( const wxPoint2DDouble& a_Point, double& Distance, double Marge ); //For an infinite wxLine
R_PointStatus PointInLine( const wxPoint2DDouble& a_Point, double& Distance, double Marge ); //For a non-infinite wxLine
OUTPRODUCT OutProduct( const wxLine& two, double accur); // outproduct of two wxLines
double Calculate_Y( double X); // Caclulate Y if X is known
void Virtual_Point( wxPoint2DDouble& a_point, double distance) const;
wxLine& operator=( const wxLine&); // assignment operator
void CalculateLineParameters(); // Calculate the parameters if nessecary
void OffsetContour( const wxLine& nextline, double factor,wxPoint2DDouble& offsetpoint) const;
private:
int ActionOnTable1(R_PointStatus,R_PointStatus); // Function needed for Intersect
int ActionOnTable2(R_PointStatus,R_PointStatus); // Function needed for Intersect
double m_AA;
double m_BB;
double m_CC;
wxPoint2DDouble m_a;
wxPoint2DDouble m_b;
bool m_valid_parameters;
};
#endif

View File

@@ -1,220 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: polygon.h
// Author: Klaas Holwerda
// Created: XX/XX/XX
// Copyright: 2000 (c) Klaas Holwerda
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __WXPOLYGON_H__
#define __WXPOLYGON_H__
#ifdef __GNUG__
#pragma interface "polygon.cpp"
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/matrix.h"
#include "wx/geometry.h"
#include "bbox.h"
#include "canvas.h"
enum INOUTPOLY {OUTSIDE_POLY,INSIDE_POLY,ON_POLY};
//----------------------------------------------------------------------------
// wxCanvasPolygon
//----------------------------------------------------------------------------
class wxCanvasPolygon: public wxCanvasObject
{
public:
wxCanvasPolygon( int n, wxPoint2DDouble points[], bool spline = FALSE );
~wxCanvasPolygon();
void SetBrush( const wxBrush& brush) { m_brush = brush; }
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); }
//set colour 1
//being the background color if filling with a monochrome bitmap
//or in case of gradient filling the starting colour for the fill
void SetColour1( const wxColour& fg) { m_textfg=fg;}
//set colour 1
//being the foreground color if filling with a monochrome bitmap
//or in case of gradient filling the ending colour for the fill
void SetColour2( const wxColour& bg) { m_textbg=bg;}
//transparent filling when bitmapbrush is monochrome
void SetTransParent(bool transp) { m_transp=transp;}
//gradient filling using lines chnging in colour from colour1 to colour2
void SetGradient(bool gradient, const wxPen& gpen, double distance)
{ m_gradient=gradient;
m_gpen=gpen;
m_gdistance=distance;
}
double GetPosX() { return m_points[0].m_x; }
double GetPosY() { return m_points[0].m_y; }
void SetPosXY( double x, double y);
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
INOUTPOLY PointInPolygon(const wxPoint2DDouble& P, double marge);
private:
bool MoveUp(double horline, int& index, int direction);
void DetectCriticalPoints();
void FillPolygon(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
wxList m_CRlist;
wxList m_AETlist;
wxBrush m_brush;
wxPen m_pen;
wxColour m_textbg;
wxColour m_textfg;
//if brush is of type bitmap with a mask fill with mask transparent
bool m_transp;
bool m_gradient;
wxPen m_gpen;
double m_gdistance;
bool m_spline;
int m_n;
wxPoint2DDouble* m_points;
};
//----------------------------------------------------------------------------
// wxCanvasPolyline
//----------------------------------------------------------------------------
class wxCanvasPolyline: public wxCanvasObject
{
public:
wxCanvasPolyline(int n, wxPoint2DDouble points[]);
~wxCanvasPolyline();
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); }
double GetPosX() { return m_points[0].m_x; }
double GetPosY() { return m_points[0].m_y; }
void SetPosXY( double x, double y);
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
bool PointOnPolyline(const wxPoint2DDouble& P, double marge);
private:
wxPen m_pen;
int m_n;
wxPoint2DDouble* m_points;
};
//----------------------------------------------------------------------------
// wxCanvasPolygon
//----------------------------------------------------------------------------
class wxCanvasPolygonL: public wxCanvasObject
{
public:
wxCanvasPolygonL(wxList* points, bool spline = FALSE);
~wxCanvasPolygonL();
void SetBrush( const wxBrush& brush) { m_brush = brush; }
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); }
void SetColour1( const wxColour& fg) { m_textfg=fg;}
void SetColour2( const wxColour& bg) { m_textbg=bg;}
void SetTransParent(bool transp) { m_transp=transp;}
double GetPosX();
double GetPosY();
void SetPosXY( double x, double y);
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
INOUTPOLY PointInPolygon(const wxPoint2DDouble& P, double marge);
private:
wxBrush m_brush;
wxPen m_pen;
bool m_spline;
wxColour m_textbg;
wxColour m_textfg;
//if brush is of type bitmap with a mask fill with mask transparent
bool m_transp;
wxList* m_lpoints;
};
//----------------------------------------------------------------------------
// wxCanvasPolyline
//----------------------------------------------------------------------------
class wxCanvasPolylineL: public wxCanvasObject
{
public:
wxCanvasPolylineL(wxList* points, bool spline );
~wxCanvasPolylineL();
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); }
double GetPosX();
double GetPosY();
void SetPosXY( double x, double y);
void TransLate( double x, double y );
void CalcBoundingBox();
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
virtual void WriteSVG( wxTextOutputStream &stream );
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
bool PointOnPolyline(const wxPoint2DDouble& P, double marge);
private:
wxPen m_pen;
bool m_spline;
wxList* m_lpoints;
};
//active edge table
class wxAET
{
public:
inline void CalculateLineParameters( const wxPoint2DDouble& p1 , const wxPoint2DDouble& p2 );
inline void CalculateXs( double y );
//line paramters
bool m_horizontal;
double m_BdivA;
double m_CdivA;
int m_index;
int m_direction;
//intersection point with scanline;
double m_xs;
};
#endif

View File

@@ -1,64 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas (@Lithuania)
// Modified by:
// Created: 23/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __ANTIFLICKPL_G__
#define __ANTIFLICKPL_G__
#ifdef __GNUG__
#pragma interface "antiflickpl.h"
#endif
#include "wx/fl/controlbar.h"
class cbAntiflickerPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbAntiflickerPlugin )
protected:
// double-buffers are shared "resource" among all instances of
// antiflicker plugin within the application
//
// TODO:: locking should be implemented, for multithreaded GUIs
static wxBitmap* mpVertBuf;
static wxBitmap* mpHorizBuf;
static wxMemoryDC* mpVertBufDc;
static wxMemoryDC* mpHorizBufDc;
static int mRefCount;
wxDC* mpLRUBufDc; // last-reacently-used buffer
wxRect mLRUArea; // last-reacently-used area
protected:
// returns NULL, if sutable buffer is not present
wxDC* FindSuitableBuffer( const wxRect& forArea );
wxDC* AllocNewBuffer( const wxRect& forArea );
wxDC& GetWindowDC();
wxDC& GetClientDC();
public:
cbAntiflickerPlugin(void);
cbAntiflickerPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
virtual ~cbAntiflickerPlugin();
// handlers for plugin events
void OnStartDrawInArea ( cbStartDrawInAreaEvent& event );
void OnFinishDrawInArea( cbFinishDrawInAreaEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __ANTIFLICKPL_G__ */

View File

@@ -1,122 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 23/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __BARDRAGPL_G__
#define __BARDRAGPL_G__
#ifdef __GNUG__
#pragma interface "bardragpl.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/fl/toolwnd.h"
class cbBarDragPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbBarDragPlugin )
protected:
// plugin is active only in bar-dragging state
bool mBarDragStarted;
bool mCanStick; // flag used to prevent "bouncing" of hint-rectangle
wxScreenDC* mpScrDc; // created while tracking hint-rect
wxCursor* mpCurCursor;
// rectnagle shows the position/dimensions of the bar,
// if it would be docked now
wxRect mPrevHintRect;
wxRect mHintRect;
int mMouseInRectX;
int mMouseInRectY;
cbDockPane* mpSrcPane; // pane, from which the bar was originally taken
int mBarWidthInSrcPane;
cbDockPane* mpCurPane;
cbBarInfo* mpDraggedBar; // bar, which is being dragged
bool mBarWasFloating;
wxRect mFloatedBarBounds;
public: /*** public properties ***/
int mInClientHintBorder; // when hint-rect moves within client window area,
// the thicker rectangle is drawn using hatched brush,
// the default border width for this rectangle is 8 pix.
protected:
void AdjustHintRect( wxPoint& mousePos );
void ClipRectInFrame( wxRect& rect );
void ClipPosInFrame( wxPoint& pos );
cbDockPane* HitTestPanes( wxRect& rect );
cbDockPane* HitTestPanes( wxPoint& pos );
bool HitsPane( cbDockPane* pPane, wxRect& rect );
void CalcOnScreenDims( wxRect& rect );
int GetDistanceToPane( cbDockPane* pPane, wxPoint& mousePos );
bool IsInOtherPane ( wxPoint& mousePos );
bool IsInClientArea( wxPoint& mousePos );
bool IsInClientArea( wxRect& rect );
void StickToPane( cbDockPane* pPane, wxPoint& mousePos );
void UnstickFromPane( cbDockPane* pPane, wxPoint& mousePos );
int GetBarWidthInPane( cbDockPane* pPane );
int GetBarHeightInPane( cbDockPane* pPane );
// on-screen hint-tracking related methods
void StartTracking();
void DrawHintRect ( wxRect& rect, bool isInClientRect);
void EraseHintRect( wxRect& rect, bool isInClientRect);
void FinishTracking();
void DoDrawHintRect( wxRect& rect, bool isInClientRect);
void RectToScr( wxRect& frameRect, wxRect& scrRect );
void ShowHint( bool prevWasInClient );
public:
cbBarDragPlugin(void);
cbBarDragPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
virtual ~cbBarDragPlugin();
// handlers for plugin events
void OnMouseMove( cbMotionEvent& event );
void OnLButtonUp( cbLeftUpEvent& event );
void OnLButtonDown( cbLeftDownEvent& event );
void OnLDblClick( cbLeftDClickEvent& event );
// handles event, which oriniates from itself
void OnDrawHintRect( cbDrawHintRectEvent& event );
void OnStartBarDragging( cbStartBarDraggingEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __BARDRAGPL_G__ */

View File

@@ -1,96 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 30/11/98 (my 22th birthday :-)
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __DRAGHINTSPL_G__
#define __DRAGHINTSPL_G__
#ifdef __GNUG__
#pragma interface "barhintspl.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/fl/toolwnd.h"
/*
* Intercepts bar-decoration and sizing events, draws 3d-hints
* around fixed and flexible bars, similar to those in Microsoft DevStudio 6.x
*/
class cbBarHintsPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbBarHintsPlugin )
protected:
cbDockPane* mpPane; // is set up temorarely, while handling event
cbMiniButton* mBoxes[2];
bool mBtnPressed;
bool mClosePressed;
cbBarInfo* mpClickedBar;
bool mDepressed;
protected:
// drawing helpers
void Draw3DBox ( wxDC& dc, const wxPoint& pos, bool pressed );
void DrawCloseBox ( wxDC& dc, const wxPoint& pos, bool pressed );
void DrawCollapseBox( wxDC& dc, const wxPoint& pos,
bool atLeft, bool disabled, bool pressed );
void DrawGrooves ( wxDC& dc, const wxPoint& pos, int length );
void DoDrawHint( wxDC& dc, wxRect& rect, int pos, int boxOfs, int grooveOfs, bool isFixed );
void GetHintsLayout( wxRect& rect, cbBarInfo& info,
int& boxOfs, int& grooveOfs, int& pos );
int HitTestHints( cbBarInfo& info, const wxPoint& pos );
void ExcludeHints( wxRect& rect, cbBarInfo& info );
void CreateBoxes();
public:
/* public properties */
bool mCloseBoxOn; // default: ON
bool mCollapseBoxOn; // default: ON
int mGrooveCount; // default: 2 (two shaded bars)
int mHintGap; // default: 5 (pixels from above, below, right and left)
int mXWeight; // default: 2 (width in pixels of lines which used for drawing cross)
public:
cbBarHintsPlugin(void);
cbBarHintsPlugin( wxFrameLayout* pLayout, int paneMask = wxALL_PANES );
~cbBarHintsPlugin();
void SetGrooveCount( int nGrooves );
void OnInitPlugin();
// handlers of plugin-events
void OnSizeBarWindow( cbSizeBarWndEvent& event );
void OnDrawBarDecorations( cbDrawBarDecorEvent& event );
void OnLeftDown( cbLeftDownEvent& event );
void OnLeftUp ( cbLeftUpEvent& event );
void OnMotion ( cbMotionEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __DRAGHINTSPL_G__ */

View File

@@ -1,47 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 28/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __CBCUSTOM_G__
#define __CBCUSTOM_G__
#ifdef __GNUG__
#pragma interface "cbcustom.h"
#endif
#include "wx/fl/controlbar.h"
class cbSimpleCustomizationPlugin : public cbPluginBase
{
public:
DECLARE_DYNAMIC_CLASS( cbSimpleCustomizationPlugin )
int mCustMenuItemId;
public:
cbSimpleCustomizationPlugin(void);
cbSimpleCustomizationPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
// plugin-event handlers
void OnCustomizeBar( cbCustomizeBarEvent& event );
void OnCustomizeLayout( cbCustomizeLayoutEvent& event );
// menu-event handler
void OnMenuItemSelected( wxCommandEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __CBCUSTOM_G__ */

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 23/01/99
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __DYNBARHND_G__
#define __DYNBARHND_G__
#ifdef __GNUG__
#pragma interface "dynbarhnd.h"
#endif
#include "wx/fl/controlbar.h"
#endif /* __DYNBARHND_G__ */

View File

@@ -1,204 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: ??/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __DYNTBAR_G__
#define __DYNTBAR_G__
#ifdef __GNUG__
#pragma interface "dyntbar.h"
#endif
#include "wx/tbarbase.h"
#include "wx/dynarray.h"
// layout item
class wxToolLayoutItem : public wxObject
{
public:
wxRect mRect;
bool mIsSeparator;
};
class wxDynToolInfo;
typedef wxToolLayoutItem* wxToolLayoutItemPtrT;
typedef wxDynToolInfo* wxDynToolInfoPtrT;
WX_DEFINE_ARRAY( wxToolLayoutItemPtrT, wxLayoutItemArrayT );
WX_DEFINE_ARRAY( wxDynToolInfoPtrT, wxDynToolInfoArrayT );
// base class for layouting algorithm implementations
class LayoutManagerBase
{
public:
virtual void Layout( const wxSize& parentDim,
wxSize& resultingDim,
wxLayoutItemArrayT& items,
int horizGap,
int vertGap ) = 0;
virtual ~LayoutManagerBase() {}
};
// layouts items in left-to-right order from
// top towards bottom
class BagLayout : public LayoutManagerBase
{
public:
virtual void Layout( const wxSize& parentDim,
wxSize& resultingDim,
wxLayoutItemArrayT& items,
int horizGap,
int vertGap );
};
class wxDynToolInfo : public wxToolLayoutItem
{
DECLARE_DYNAMIC_CLASS(wxDynToolInfo)
public:
wxWindow* mpToolWnd;
int mIndex;
wxSize mRealSize;
};
// layouting orientations for tools
#define LO_HORIZONTAL 0
#define LO_VERTICAL 1
#define LO_FIT_TO_WINDOW 2
// class manages containment and layouting of tool-windows
class wxDynamicToolBar : public wxToolBarBase
{
DECLARE_DYNAMIC_CLASS(wxDynamicToolBar)
protected:
friend class wxDynamicToolBarSerializer;
wxDynToolInfoArrayT mTools;
LayoutManagerBase* mpLayoutMan;
protected:
virtual void SizeToolWindows();
public: /* public properties */
int mSepartorSize; // default: 8
int mVertGap; // default: 0
int mHorizGap; // default: 0
public:
wxDynamicToolBar();
wxDynamicToolBar(wxWindow *parent, const wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
const long style = wxNO_BORDER, const int orientation = wxVERTICAL,
const int RowsOrColumns = 1, const wxString& name = wxToolBarNameStr);
~wxDynamicToolBar(void);
bool Create(wxWindow *parent, const wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
const long style = wxNO_BORDER, const int orientation = wxVERTICAL, const int RowsOrColumns = 1, const wxString& name = wxToolBarNameStr);
// overridables
virtual void AddTool( int toolIndex,
wxWindow* pToolWindow,
const wxSize& size = wxDefaultSize );
virtual void AddTool( int toolIndex,
const wxString& imageFileName,
wxBitmapType imageFileType = wxBITMAP_TYPE_BMP,
const wxString& labelText = "", bool alignTextRight = FALSE,
bool isFlat = TRUE );
virtual void AddTool( int toolIndex, wxBitmap labelBmp,
const wxString& labelText = "", bool alignTextRight = FALSE,
bool isFlat = TRUE );
// method from wxToolBarBase (for compatibility), only
// first two arguments are valid
virtual wxToolBarToolBase *AddTool(const int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap,
const bool toggle = FALSE, const long xPos = -1, const long yPos = -1, wxObject *clientData = NULL,
const wxString& helpString1 = "", const wxString& helpString2 = "");
virtual void AddSeparator( wxWindow* pSepartorWnd = NULL );
wxDynToolInfo* GetToolInfo( int toolIndex );
void RemveTool( int toolIndex );
// the default implementation draws shaded line
virtual void DrawSeparator( wxDynToolInfo& info, wxDC& dc );
// see definitions of orientation types
virtual bool Layout();
virtual void GetPreferredDim( const wxSize& givenDim, wxSize& prefDim );
virtual LayoutManagerBase* CreateDefaulLayout() { return new BagLayout(); }
virtual void SetLayout( LayoutManagerBase* pLayout );
virtual void EnableTool(const int toolIndex, const bool enable = TRUE);
// event handlers
void OnSize( wxSizeEvent& event );
void OnPaint( wxPaintEvent& event );
void OnEraseBackground( wxEraseEvent& event );
// overriden from wxToolBarBase
virtual bool Realize(void);
// stuff from the 2.1.15
virtual wxToolBarToolBase *FindToolForPosition(wxCoord x,
wxCoord y) const;
virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
// the tool is still in m_tools list when this function is called, it will
// only be deleted from it if it succeeds
virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
// called when the tools enabled flag changes
virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
// called when the tool is toggled
virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
// called when the tools "can be toggled" flag changes
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
// the functions to create toolbar tools
virtual wxToolBarToolBase *CreateTool(int id,
const wxBitmap& bitmap1,
const wxBitmap& bitmap2,
bool toggle,
wxObject *clientData,
const wxString& shortHelpString,
const wxString& longHelpString);
virtual wxToolBarToolBase *CreateTool(wxControl *control);
DECLARE_EVENT_TABLE()
};
#endif /* __DYNTBAR_G__ */

View File

@@ -1,31 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 23/01/99
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __DYNTBARHND_G__
#define __DYNTBARHND_G__
#ifdef __GNUG__
#pragma interface "dyntbarhnd.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/fl/dyntbar.h"
class cbDynToolBarDimHandler : public cbBarDimHandlerBase
{
DECLARE_DYNAMIC_CLASS( cbDynToolBarDimHandler )
public:
void OnChangeBarState(cbBarInfo* pBar, int newState );
void OnResizeBar( cbBarInfo* pBar, const wxSize& given, wxSize& preferred );
};
#endif /* __DYNTBARHND_G__ */

View File

@@ -1,140 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 02/01/99
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __FRMVIEW_G__
#define __FRMVIEW_G__
#ifdef __GNUG__
#pragma interface "frmview.h"
#endif
#include "wx/module.h"
#if 0
#include "wx/fl/objstore.h"
#endif
class wxObjectStorage;
#include "wx/fl/controlbar.h"
class wxFrameManager;
class wxFrameView : public wxEvtHandler
{
protected:
wxStringList mTopMenus;
wxFrameLayout* mpLayout;
wxFrameManager* mpFrameMgr;
bool mDoToolUpdates;
friend class wxFrameManager;
friend class wxFrameViewSerializer;
protected:
void OnIdle( wxIdleEvent& event);
public:
wxFrameView();
~wxFrameView();
virtual void Activate();
virtual void Deactivate();
wxFrame* GetParentFrame();
wxWindow* GetClientWindow();
wxFrameManager& GetFrameManager();
void RegisterMenu( const wxString& topMenuName );
void CreateLayout();
wxFrameLayout* GetLayout();
void SetLayout( wxFrameLayout* pLayout );
void SetToolUpdates( bool doToolUpdates = TRUE );
// hooks for specific frame-views
virtual void OnInit() {}
virtual void OnSerialize( wxObjectStorage& store ) {}
virtual void OnActiveate() {}
virtual void OnDeactivate() {}
// imp. is mandatory
virtual void OnRecreate() {}
virtual void OnInitMenus() {}
DECLARE_EVENT_TABLE()
};
class wxFrame;
class wxFrameManager : wxObject
{
protected:
wxList mViews;
wxWindow* mpFrameWnd;
int mActiveViewNo;
wxWindow* mpClientWnd;
#if 0
wxObjectStorage mStore;
#endif
wxString mSettingsFile;
protected:
void DoSerialize( wxObjectStorage& store );
void DestroyViews();
int GetViewNo( wxFrameView* pView );
void EnableMenusForView( wxFrameView* pView, bool enable );
void SyncAllMenus();
public:
wxFrameManager();
~wxFrameManager();
// if file name is empty, views are are not saved/loaded
virtual void Init( wxWindow* pMainFrame, const wxString& settingsFile = "" );
// synonyms
wxFrame* GetParentFrame();
wxWindow* GetParentWindow();
int GetActiveViewNo();
wxFrameView* GetActiveView();
wxNode* GetActiveViewNode();
wxFrameView* GetView( int viewNo );
void SetClinetWindow( wxWindow* pFrameClient );
wxWindow* GetClientWindow();
void AddView( wxFrameView* pFrmView );
void RemoveView( wxFrameView* pFrmView );
void ActivateView( int viewNo );
void ActivateView( wxFrameView* pFrmView );
void DeactivateCurrentView();
wxObjectStorage& GetObjectStore();
void SaveViewsNow();
bool ReloadViews();
bool ViewsAreLoaded();
};
#endif /* __FRMVIEW_G__ */

View File

@@ -1,74 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas (@Lithuania)
// Modified by:
// Created: ??/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __GARBAGEC_G__
#define __GARBAGEC_G__
#ifdef __GNUG__
#pragma interface "garbagec.h"
#endif
#include "wx/list.h"
struct GCItem
{
void* mpObj;
wxList mRefs; // references to other nodes
};
inline void* gc_node_to_obj( wxNode* pGCNode )
{
return ( (GCItem*) (pGCNode->Data()) )->mpObj;
}
// class implements extremely slow, but probably one of the most simple GC algorithms
class GarbageCollector
{
protected:
wxList mAllNodes;
wxList mRegularLst;
wxList mCycledLst;
wxNode* FindItemNode( void* pForObj );
void ResolveReferences();
wxNode* FindReferenceFreeItemNode();
void RemoveReferencesToNode( wxNode* pItemNode );
void DestroyItemList( wxList& lst );
public:
GarbageCollector() {}
virtual ~GarbageCollector();
// prepare data for GC alg.
virtual void AddObject( void* pObj, int refCnt = 1 );
virtual void AddDependency( void* pObj, void* pDependsOnObj );
// executes GC alg.
virtual void ArrangeCollection();
// access results of the alg.
wxList& GetRegularObjects();
wxList& GetCycledObjects();
// removes all data from GC
void Reset();
};
#endif /* __GARBAGEC_G__ */

View File

@@ -1,123 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 19/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __GCUPDATESMGR_G__
#define __GCUPDATESMGR_G__
#ifdef __GNUG__
#pragma interface "gcupdatesmgr.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/fl/updatesmgr.h"
#include "wx/fl/garbagec.h"
/*
* class implements optimized logic for refreshing
* areas of frame layout - which actually need to be updated.
* Is used as default updates-manager by wxFrameLayout.
*
* it is called "Garbage Collecting" u.mgr for it's implementation
* tries to find out dependencies between bars, and to order
* them ito "hierarchy", this hierarchical sorting resembles
* implemenation of heap-garbage collectors, which resolve
* dependencies between references.
*
* Example: there are situations where the order of moving
* the windows does matter:
*
* case 1)
* ------ ---
* | A | |B|
* ------ ---> | |
* --- --- ------
* |B| | A |
* | | ------
* ---
* (future)
* (past)
*
* past/future positions of A and B windows completely overlapp, i.e.
* depend on each other, and there is not solution for
* moving the windows witout refreshing both of them,
* -- we have cyclic dependency here. The gc. alg will
* find this cyclic dependecy and will force "refresh"
* after movement.
*
* case 2)
*
* ------
* | A |
* ------ --->
* ---
* |B| ------
* | | | A |
* --- ------
* ---
* |B|
* | |
* ---
*
* (future)
* (past)
*
* in this case past/future positions do not overlapp, thus
* it's enough only to move windows, without refreshing them.
* GC will "notice" it.
*
* there is also third case, when overlapping is partial
* in this case the refershing can be also avoided by
* moving windows in the order of "most-dependant" towards the
* "least-dependent". GC handles this automatically, by
* sorting windows by their dependency-level (or "hierarchy")
*
* See garbagec.h for more details of this method, garbagec.h/cpp
* implement sorting of generic-dependencies (does not deal
* with graphical objects directly)
*
* Summary: improves performance when complex/large windows are
* moved around, by reducing number of repaints. Also helps
* to avoid dirty non-client areas of moved windows
* in some special cases of "overlapping anomalies"
*/
class cbGCUpdatesMgr : public cbSimpleUpdatesMgr
{
DECLARE_DYNAMIC_CLASS( cbGCUpdatesMgr )
protected:
GarbageCollector mGC;
void DoRepositionItems( wxList& items );
void AddItem( wxList& itemList,
cbBarInfo* pBar,
cbDockPane* pPane,
wxRect& curBounds,
wxRect& prevBounds );
public:
cbGCUpdatesMgr(void) {}
cbGCUpdatesMgr( wxFrameLayout* pPanel );
// notificiactions received from Frame Layout :
virtual void OnStartChanges();
// refreshes parts of the frame layout, which need an update
virtual void UpdateNow();
};
#endif /* __GCUPDATESMGR_G__ */

View File

@@ -1,120 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 9/11/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __HINTANIMPL_G__
#define __HINTANIMPL_G__
#ifdef __GNUG__
#pragma interface "hintanimpl.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/timer.h"
class cbHintAnimTimer;
class cbHintAnimationPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbHintAnimationPlugin )
protected:
friend class cbHintAnimTimer;
wxScreenDC* mpScrDc; // created while tracking hint-rect
cbHintAnimTimer* mpAnimTimer;
// FOR NOW:: try it without mutually exculisve locks
volatile wxRect mCurRect;
// state variables
bool mAnimStarted;
bool mStopPending;
bool mPrevInClient;
bool mCurInClient;
wxRect mPrevRect;
public:
int mMorphDelay; // delay between frames in miliseconds, default: 20
int mMaxFrames; // number of iterations for hint morphing, default: 30
// (morph duration = mMorphDelay * mMaxFrames msec)
int mInClientHintBorder; // default: 4 pixels
bool mAccelerationOn; // TRUE, if morph accelerates, otherwise morph
// speed is constant. Default: TRUE
// TBD:: get/set methods for above members
protected:
void StartTracking();
void DrawHintRect ( wxRect& rect, bool isInClientRect);
void EraseHintRect( wxRect& rect, bool isInClientRect);
void FinishTracking();
void DoDrawHintRect( wxRect& rect, bool isInClientRect);
void RectToScr( wxRect& frameRect, wxRect& scrRect );
public:
cbHintAnimationPlugin(void);
~cbHintAnimationPlugin();
cbHintAnimationPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
void OnDrawHintRect( cbDrawHintRectEvent& event );
DECLARE_EVENT_TABLE()
};
// helper classes
struct MorphInfoT
{
wxPoint mFrom;
wxPoint mTill;
};
class cbHintAnimTimer : public wxTimer
{
protected:
friend class cbHintAnimationPlugin;
wxRect mPrevMorphed;
MorphInfoT mUpperLeft;
MorphInfoT mLowerRight;
int mCurIter;
long mLock;
cbHintAnimationPlugin* mpPl;
void MorphPoint( wxPoint& origin, MorphInfoT& info, wxPoint& point );
public:
cbHintAnimTimer(void);
virtual void Notify(void);
virtual bool Init( cbHintAnimationPlugin* pAnimPl, bool reinit );
};
#endif /* __HINTANIMPL_G__ */

View File

@@ -1,165 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: ??/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __NEWBMPBTN_G__
#define __NEWBMPBTN_G__
#ifdef __GNUG__
#pragma interface "newbmpbtn.h"
#endif
#include "wx/button.h"
#include "wx/string.h"
// button lable-text alignment types
#define NB_ALIGN_TEXT_RIGHT 0
#define NB_ALIGN_TEXT_BOTTOM 1
#define NB_NO_TEXT 2
#define NB_NO_IMAGE 3
// classes declared in this header file
class wxNewBitmapButton;
class wxBorderLessBitmapButton;
// alternative class for wxBmpButton
class wxNewBitmapButton: public wxPanel
{
DECLARE_DYNAMIC_CLASS(wxNewBitmapButton)
protected:
friend class wxNewBitmapButtonSerializer;
int mTextToLabelGap;
int mMarginX;
int mMarginY;
int mTextAlignment;
bool mIsSticky;
bool mIsFlat;
wxString mLabelText;
wxString mImageFileName;
wxBitmapType mImageFileType;
wxBitmap mDepressedBmp; // source image for rendering
// labels for particular state
wxBitmap mFocusedBmp; // may not be always present -
// only if mHasFocusedBmp is TRUE
wxBitmap* mpDepressedImg;
wxBitmap* mpPressedImg;
wxBitmap* mpDisabledImg;
wxBitmap* mpFocusedImg;
// button state variables;
bool mDragStarted;
bool mIsPressed;
bool mIsInFocus;
bool mPrevPressedState;
bool mPrevInFocusState;
bool mHasFocusedBmp;
// type of event which is fired upon depression of this button
int mFiredEventType;
// pens for drawing decorations (borders)
wxPen mBlackPen;
wxPen mDarkPen;
wxPen mGrayPen;
wxPen mLightPen;
bool mIsCreated;
int mSizeIsSet;
protected:
void DestroyLabels();
// returns the label which match the current button state
virtual wxBitmap* GetStateLabel();
virtual void DrawShade( int outerLevel,
wxDC& dc,
wxPen& upperLeftSidePen,
wxPen& lowerRightSidePen );
bool IsInWindow( int x,int y );
public:
wxNewBitmapButton( const wxBitmap& labelBitmap = wxNullBitmap,
const wxString& labelText = "",
int alignText = NB_ALIGN_TEXT_BOTTOM,
bool isFlat = TRUE,
// this is the default type of fired events
int firedEventType = wxEVT_COMMAND_MENU_SELECTED,
int marginX = 2,
int marginY = 2,
int textToLabelGap = 2,
bool isSticky = FALSE
);
// use this constructor if buttons have to be persistant
wxNewBitmapButton( const wxString& bitmapFileName,
const wxBitmapType bitmapFileType = wxBITMAP_TYPE_BMP,
const wxString& labelText = "",
int alignText = NB_ALIGN_TEXT_BOTTOM,
bool isFlat = TRUE,
// this is the default type of fired events
int firedEventType = wxEVT_COMMAND_MENU_SELECTED,
int marginX = 2,
int marginY = 2,
int textToLabelGap = 2,
bool isSticky = FALSE
);
~wxNewBitmapButton();
// should be called after Create();
virtual void Reshape();
// overridables
virtual void SetLabel(const wxBitmap& labelBitmap, const wxString& labelText = "" );
virtual void SetAlignments( int alignText = NB_ALIGN_TEXT_BOTTOM,
int marginX = 2,
int marginY = 2,
int textToLabelGap = 2);
virtual void DrawDecorations( wxDC& dc );
virtual void DrawLabel( wxDC& dc );
virtual void RenderLabelImage( wxBitmap*& destBmp, wxBitmap* srcBmp,
bool isEnabled = TRUE,
bool isPressed = FALSE);
virtual void RenderLabelImages();
virtual void RenderAllLabelImages();
// event handlers
void OnLButtonDown( wxMouseEvent& event );
void OnLButtonUp( wxMouseEvent& event );
void OnMouseMove( wxMouseEvent& event );
void OnSize( wxSizeEvent& event );
void OnPaint( wxPaintEvent& event );
void OnEraseBackground( wxEraseEvent& event );
void OnKillFocus( wxFocusEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __NEWBMPBTN_G__ */

View File

@@ -1,119 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Central header file for control-bar related classes
//
// Author: Aleksandras Gluchovas <mailto:alex@soften.ktu.lt>
// Modified by:
// Created: 06/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __PANEDRAWPL_G__
#define __PANEDRAWPL_G__
#ifdef __GNUG__
#pragma interface "panedrawpl.h"
#endif
#include "wx/fl/controlbar.h"
/*
* Simple, but all-in-one plugin implementation. Resembles look & feel of
* to MFC control-bars. Handles painting of pane and items in it.
* Fires bar/layout customization event, when user right-clicks bar/pane.
* Hooking an instance of this and row-layouting plugins per each pane,
* would be enough for the frame layout to function properly.
* (they are plugged in autimatically by wxFrameLayout class)
*/
class cbPaneDrawPlugin : public cbPluginBase
{
public:
DECLARE_DYNAMIC_CLASS( cbPaneDrawPlugin )
protected:
// resizing bars/rows state variables
bool mResizeStarted;
bool mResizeCursorOn;
wxPoint mDragOrigin;
cbBarInfo* mpDraggedBar; // also used when in bar-drag action
cbRowInfo* mpResizedRow;
bool mRowHandleHitted;
bool mIsUpperHandle;
bool mBarHandleHitted;
bool mIsLeftHandle;
bool mBarContentHitted;
// contstraints for dragging the handle
wxRect mHandleDragArea;
bool mHandleIsVertical;
int mHandleOfs;
int mDraggedDelta;
wxPoint mPrevPos;
// used for handling, start-draw-in-area events
wxClientDC* mpClntDc;
cbDockPane* mpPane; // is set up temorary short-cut, while handling event
protected:
// helpers
void DrawDraggedHandle( const wxPoint& pos, cbDockPane& pane );
virtual void DrawPaneShade( wxDC& dc, int alignment );
virtual void DrawPaneShadeForRow( cbRowInfo* pRow, wxDC& dc );
virtual void DrawUpperRowHandle( cbRowInfo* pRow, wxDC& dc );
virtual void DrawLowerRowHandle( cbRowInfo* pRow, wxDC& dc );
virtual void DrawUpperRowShades( cbRowInfo* pRow, wxDC& dc, int level );
virtual void DrawLowerRowShades( cbRowInfo* pRow, wxDC& dc, int level );
virtual void DrawBarInnerShadeRect( cbBarInfo* pBar, wxDC& dc );
virtual void DrawShade( int level, wxRect& rect, int alignment, wxDC& dc );
virtual void DrawShade1( int level, wxRect& rect, int alignment, wxDC& dc );
inline void SetLightPixel( int x, int y, wxDC& dc );
inline void SetDarkPixel ( int x, int y, wxDC& dc );
public:
cbPaneDrawPlugin(void);
cbPaneDrawPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
virtual ~cbPaneDrawPlugin();
virtual cbPluginBase* Clone() { return new cbPaneDrawPlugin(0,0); }
// handlers for plugin-events
void OnLButtonDown( cbLeftDownEvent& event );
void OnLDblClick ( cbLeftDClickEvent& event );
void OnLButtonUp ( cbLeftUpEvent& event );
void OnRButtonUp ( cbRightUpEvent& event );
void OnMouseMove ( cbMotionEvent& event );
void OnDrawPaneBackground ( cbDrawPaneBkGroundEvent& event );
void OnDrawPaneDecorations( cbDrawPaneDecorEvent& event );
void OnDrawRowDecorations ( cbDrawRowDecorEvent& event );
void OnDrawRowHandles ( cbDrawRowHandlesEvent& event );
void OnDrawRowBackground ( cbDrawRowBkGroundEvent& event );
void OnSizeBarWindow ( cbSizeBarWndEvent& event );
void OnDrawBarDecorations ( cbDrawBarDecorEvent& event );
void OnDrawBarHandles ( cbDrawBarHandlesEvent& event );
void OnStartDrawInArea ( cbStartDrawInAreaEvent& event );
void OnFinishDrawInArea ( cbFinishDrawInAreaEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __PANEDRAWPL_G__ */

View File

@@ -1,164 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 06/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __ROWDRAGPL_G__
#define __ROWDRAGPL_G__
#ifdef __GNUG__
#pragma interface "rowdragpl.h"
#endif
#include "wx/fl/controlbar.h"
/*
* Plugin adds row-dragging fuctionality to the pane.
* Handles mouse/movement and pane-background erasing plugin-events.
* Behaviour and appearence resembles drag & drop posotioning
* of the toolbar-rows int Netscape Comunicator 4.xx.
*/
class cbRowDragPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbRowDragPlugin )
public:
// background colours for the highlighted/unhighlighted icons
wxColour mHightColor; // light-blue for NC-look
wxColour mLowColor; // light-gray -/-
wxColour mTrianInnerColor; // blue -/-
wxPen mTrianInnerPen; // black -/-
protected:
friend class cbRowDragPluginSerializer;
// drag & drop state variables
bool mDragStarted;
bool mDecisionMode;
wxPoint mDragOrigin;
int mCurDragOfs;
bool mCaptureIsOn;
// saved margins of the pane
int mSvTopMargin;
int mSvBottomMargin;
int mSvLeftMargin;
int mSvRightMargin;
//on-screen drawing state variables
wxBitmap* mpPaneImage;
wxBitmap* mpRowImage;
wxBitmap* mpCombinedImage;
wxScreenDC* mpScrDc;
wxRect mCombRect;
wxSize mRowImgDim;
int mInitialRowOfs;
// NOTE:: if mpRowInFocus is not NULL, then mCollapsedIconInFocus is -1,
// and v.v. (two different items cannot be in focus at the same time)
cbRowInfo* mpRowInFocus;
int mCollapsedIconInFocus;
cbDockPane* mpPane; // is set up temorarely, while handling event
wxList mHiddenBars;
wxBitmap* CaptureDCArea( wxDC& dc, wxRect& area );
// helpers for drag&drop
int GetHRowsCountForPane( cbDockPane* pPane );
void SetMouseCapture( bool captureOn );
void PrepareForRowDrag();
void ShowDraggedRow( int offset );
void ShowPaneImage();
void FinishOnScreenDraw();
void CollapseRow( cbRowInfo* pRow );
void ExpandRow( int collapsedIconIdx );
void InsertDraggedRowBefore( cbRowInfo* pBeforeRow );
bool ItemIsInFocus();
void CheckPrevItemInFocus( cbRowInfo* pRow, int iconIdx );
void UnhiglightItemInFocus();
cbRowInfo* GetFirstRow();
// "hard-coded metafile" for NN-look
virtual void DrawTrianUp( wxRect& inRect, wxDC& dc );
virtual void DrawTrianDown( wxRect& inRect, wxDC& dc );
virtual void DrawTrianRight( wxRect& inRect, wxDC& dc );
virtual void Draw3DPattern( wxRect& inRect, wxDC& dc );
virtual void DrawRombShades( wxPoint& p1, wxPoint& p2, wxPoint& p3, wxPoint& p4, wxDC& dc );
virtual void DrawOrtoRomb( wxRect& inRect, wxDC& dc, wxBrush& bkBrush );
virtual void DrawRomb( wxRect& inRect, wxDC& dc, wxBrush& bkBrush );
virtual void Draw3DRect( wxRect& inRect, wxDC& dc, wxBrush& bkBrush );
virtual void DrawRectShade( wxRect& inRect, wxDC& dc,
int level, wxPen& upperPen, wxPen& lowerPen );
virtual void GetRowHintRect( cbRowInfo* pRow, wxRect& rect );
virtual void GetCollapsedInconRect( int iconIdx, wxRect& rect );
virtual int GetCollapsedIconsPos();
public:
cbRowDragPlugin(void);
cbRowDragPlugin( wxFrameLayout* pLayout, int paneMask = wxALL_PANES );
virtual ~cbRowDragPlugin();
virtual cbPluginBase* Clone() { return new cbRowDragPlugin(NULL,0); }
virtual void OnInitPlugin();
// handlers for plugin events (appearence-independent logic)
void OnMouseMove ( cbMotionEvent& event );
void OnLButtonDown( cbLeftDownEvent& event );
void OnLButtonUp ( cbLeftUpEvent& event );
void OnDrawPaneBackground( cbDrawPaneDecorEvent& event );
// overridables (appearence-depedent)
virtual void DrawCollapsedRowIcon( int index, wxDC& dc, bool isHighlighted );
virtual void DrawCollapsedRowsBorder( wxDC& dc );
virtual void DrawRowsDragHintsBorder( wxDC& dc );
virtual void DrawRowDragHint( cbRowInfo* pRow, wxDC& dc, bool isHighlighted );
virtual void DrawEmptyRow( wxDC& dc, wxRect& rowBounds );
virtual int GetCollapsedRowIconHeight();
virtual int GetRowDragHintWidth();
virtual void SetPaneMargins();
virtual bool HitTestCollapsedRowIcon( int iconIdx, const wxPoint& pos );
virtual bool HitTestRowDragHint( cbRowInfo* pRow, const wxPoint& pos );
DECLARE_EVENT_TABLE()
};
// internal helper-class
class cbHiddenBarInfo : public wxObject
{
DECLARE_DYNAMIC_CLASS( cbHiddenBarInfo )
public:
cbBarInfo* mpBar;
int mRowNo;
int mIconNo;
int mAlignment;
};
#endif /* __ROWDRAGPL_G__ */

View File

@@ -1,87 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 02/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __ROWLAYOUTPL_G__
#define __ROWLAYOUTPL_G__
#ifdef __GNUG__
#pragma interface "rowlayoutpl.h"
#endif
#include "wx/fl/controlbar.h"
/*
* Simple implementation of plugin, which handles row-layouting
* requests sent from Frame Layout
*/
class cbRowLayoutPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbRowLayoutPlugin )
protected:
cbDockPane* mpPane; // is set up temorarely, while handling event
protected:
// not-fixed-bars layouting related helpers
void FitBarsToRange( int from, int till, cbBarInfo* pTheBar, cbRowInfo* pRow );
void RelayoutNotFixedBarsAround( cbBarInfo* pTheBar, cbRowInfo* pRow );
void MinimzeNotFixedBars( cbRowInfo* pRow, cbBarInfo* pBarToPreserve );
int GetRowFreeSpace( cbRowInfo* pRow );
void RecalcLengthRatios( cbRowInfo* pRow );
void ApplyLengthRatios( cbRowInfo* pRow );
void ExpandNotFixedBars( cbRowInfo* pRow );
void AdjustLengthOfInserted( cbRowInfo* pRow, cbBarInfo* pTheBar );
void DetectBarHandles( cbRowInfo* pRow );
void CheckIfAtTheBoundary( cbBarInfo* pTheBar, cbRowInfo& rowInfo );
// row-layouting helpers (simulate "bar-friction")
int CalcRowHeight( cbRowInfo& row );
void LayoutItemsVertically( cbRowInfo& row );
void StickRightSideBars( cbBarInfo* pToBar );
void SlideLeftSideBars ( cbBarInfo* pTheBar );
void SlideRightSideBars( cbBarInfo* pTheBar );
void ShiftLeftTrashold ( cbBarInfo* pTheBar, cbRowInfo& row );
void ShiftRightTrashold( cbBarInfo* pTheBar, cbRowInfo& row );
void InsertBefore( cbBarInfo* pBeforeBar,
cbBarInfo* pTheBar,
cbRowInfo& row
);
void DoInsertBar( cbBarInfo* pTheBar, cbRowInfo& row );
public:
cbRowLayoutPlugin(void);
cbRowLayoutPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
// event handlers
void OnResizeRow ( cbResizeRowEvent& event );
void OnInsertBar ( cbInsertBarEvent& event );
void OnRemoveBar ( cbRemoveBarEvent& event );
void OnLayoutRow ( cbLayoutRowEvent& event );
void OnLayoutRows( cbLayoutRowsEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __ROWLAYOUTPL_G__ */

View File

@@ -1,216 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 06/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __TOOLWND_G__
#define __TOOLWND_G__
#ifdef __GNUG__
#pragma interface "toolwnd.h"
#endif
#include "wx/frame.h"
#include "wx/dynarray.h"
// fixed settings
#define BTN_BOX_HEIGHT 12
#define BTN_BOX_WIDTH 12
#define BTN_X_WIEGHT 2
class cbMiniButton;
typedef cbMiniButton* cbMinitButtonPtrT;
WX_DEFINE_ARRAY( cbMinitButtonPtrT, cbMiniButtonArrayT );
class wxToolWindow : public wxFrame
{
DECLARE_DYNAMIC_CLASS( wxToolWindow )
public: /** protected really, accessed only by serializers **/
cbMiniButtonArrayT mButtons;
wxWindow* mpClientWnd;
wxFont mTitleFont;
int mTitleHeight;
int mClntHorizGap;
int mClntVertGap;
int mWndVertGap;
int mWndHorizGap;
int mButtonGap;
int mInTitleMargin;
int mHintBorder;
bool mResizeStarted;
bool mRealTimeUpdatesOn;
int mMTolerance;
int mCursorType;
bool mMouseCaptured;
// drag&drop state variables
wxPoint mDragOrigin;
wxRect mInitialRect;
wxRect mPrevHintRect;
wxScreenDC* mpScrDc;
protected:
void GetScrWindowRect( wxRect& r );
void GetScrMousePos ( wxMouseEvent& event, wxPoint& pos );
void SetHintCursor ( int type );
void CalcResizedRect( wxRect& rect, wxPoint& delta, const wxSize& minDim );
void AdjustRectPos( const wxRect& original, const wxSize& newDim, wxRect& newRect );
wxSize GetMinimalWndDim();
void DrawHintRect( const wxRect& r );
int HitTestWindow( wxMouseEvent& event );
void LayoutMiniButtons();
public:
wxToolWindow();
~wxToolWindow();
void SetClient( wxWindow* pWnd );
wxWindow* GetClient();
void SetTitleFont( wxFont& font );
// buttons are added in right-to-left order
void AddMiniButton( cbMiniButton* pBtn );
void OnPaint( wxPaintEvent& event );
void OnMotion( wxMouseEvent& event );
void OnLeftDown( wxMouseEvent& event );
void OnLeftUp( wxMouseEvent& event );
void OnSize( wxSizeEvent& event );
void OnEraseBackground( wxEraseEvent& event );
// overridables:
virtual wxSize GetPreferredSize( const wxSize& given );
virtual void OnMiniButtonClicked( int btnIdx ) {}
virtual bool HandleTitleClick( wxMouseEvent& event ) { return FALSE; }
DECLARE_EVENT_TABLE()
};
// FIXME:: the code below should be moved to a separate file
#include "wx/fl/controlbar.h"
class cbMiniButton : public wxObject
{
public:
wxPoint mPos;
wxSize mDim;
bool mVisible;
bool mEnabled;
wxFrameLayout* mpLayout;
cbDockPane* mpPane;
cbPluginBase* mpPlugin;
wxWindow* mpWnd;
bool mWasClicked;
bool mDragStarted;
bool mPressed;
public:
cbMiniButton();
void SetPos( const wxPoint& pos );
bool HitTest( const wxPoint& pos );
void OnLeftDown( const wxPoint& pos );
void OnLeftUp( const wxPoint& pos );
void OnMotion( const wxPoint& pos );
void Refresh();
virtual void Draw( wxDC& dc );
bool WasClicked();
void Reset();
void Enable( bool enable ) { mEnabled = enable; }
bool IsPressed() { return mPressed; }
};
// classes specific to wxFrameLayout engine (FOR NOW in here...)
class cbCloseBox : public cbMiniButton
{
public:
virtual void Draw( wxDC& dc );
};
class cbCollapseBox : public cbMiniButton
{
public:
bool mIsAtLeft;
virtual void Draw( wxDC& dc );
};
class cbDockBox : public cbMiniButton
{
public:
virtual void Draw( wxDC& dc );
};
class cbFloatedBarWindow : public wxToolWindow
{
DECLARE_DYNAMIC_CLASS( cbFloatedBarWindow )
protected:
cbBarInfo* mpBar;
wxFrameLayout* mpLayout;
friend class cbFloatedBarWindowSerializer;
public:
cbFloatedBarWindow();
void SetBar( cbBarInfo* pBar );
void SetLayout( wxFrameLayout* pLayout );
cbBarInfo* GetBar();
// given coordinates are those of the bar itself
// floated container window's position and size
// are ajusted accordingly
void PositionFloatedWnd( int scrX, int scrY,
int width, int height );
// overriden methods of wxToolWindow
virtual wxSize GetPreferredSize( const wxSize& given );
virtual void OnMiniButtonClicked( int btnIdx );
virtual bool HandleTitleClick( wxMouseEvent& event );
void OnDblClick( wxMouseEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __TOOLWND_G__ */

View File

@@ -1,56 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas (@Lithuania)
// Modified by:
// Created: 19/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __UPDATESMGR_G__
#define __UPDATESMGR_G__
#ifdef __GNUG__
#pragma interface "updatesmgr.h"
#endif
#include "wx/fl/controlbar.h"
/*
* class implements slightly optimized logic for refreshing
* areas of frame layout - which actually need to be updated.
*/
class cbSimpleUpdatesMgr : public cbUpdatesManagerBase
{
DECLARE_DYNAMIC_CLASS( cbSimpleUpdatesMgr )
protected:
bool WasChanged( cbUpdateMgrData& data, wxRect& currentBounds );
public:
cbSimpleUpdatesMgr(void) {}
cbSimpleUpdatesMgr( wxFrameLayout* pPanel );
// notificiactions received from Frame Layout (in the order, in which
// they usually would be invoked)
virtual void OnStartChanges();
virtual void OnRowWillChange( cbRowInfo* pRow, cbDockPane* pInPane );
virtual void OnBarWillChange( cbBarInfo* pBar, cbRowInfo* pInRow, cbDockPane* pInPane );
virtual void OnPaneMarginsWillChange( cbDockPane* pPane );
virtual void OnPaneWillChange( cbDockPane* pPane );
virtual void OnFinishChanges();
// refreshes parts of the frame layout, which need an update
virtual void UpdateNow();
};
#endif /* __UPDATESMGR_G__ */

View File

@@ -1,148 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: dynamicsash.h
// Purpose: A window which can be dynamically split to an arbitrary depth
// and later reunified through the user interface
// Author: Matt Kimball
// Modified by:
// Created: 7/15/2001
// RCS-ID: $Id$
// Copyright: (c) 2001 Matt Kimball
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_DYNAMICSASH_H_
#define _WX_DYNAMICSASH_H_
/*
wxDynamicSashWindow
wxDynamicSashWindow widgets manages the way other widgets are viewed.
When a wxDynamicSashWindow is first shown, it will contain one child
view, a viewport for that child, and a pair of scrollbars to allow the
user to navigate the child view area. Next to each scrollbar is a small
tab. By clicking on either tab and dragging to the appropriate spot, a
user can split the view area into two smaller views separated by a
draggable sash. Later, when the user wishes to reunify the two subviews,
the user simply drags the sash to the side of the window.
wxDynamicSashWindow will automatically reparent the appropriate child
view back up the window hierarchy, and the wxDynamicSashWindow will have
only one child view once again.
As an application developer, you will simply create a wxDynamicSashWindow
using either the Create() function or the more complex constructor
provided below, and then create a view window whose parent is the
wxDynamicSashWindow. The child should respond to
wxDynamicSashSplitEvents -- perhaps with an OnSplit() event handler -- by
constructing a new view window whose parent is also the
wxDynamicSashWindow. That's it! Now your users can dynamically split
and reunify the view you provided.
If you wish to handle the scrollbar events for your view, rather than
allowing wxDynamicSashWindow to do it for you, things are a bit more
complex. (You might want to handle scrollbar events yourself, if,
for instance, you wish to scroll a subwindow of the view you add to
your wxDynamicSashWindow object, rather than scrolling the whole view.)
In this case, you will need to construct your wxDynamicSashWindow without
the wxMANAGE_SCROLLBARS style and you will need to use the
GetHScrollBar() and GetVScrollBar() methods to retrieve the scrollbar
controls and call SetEventHanler() on them to redirect the scrolling
events whenever your window is reparented by wxDyanmicSashWindow.
You will need to set the scrollbars' event handler at three times:
* When your view is created
* When your view receives a wxDynamicSashSplitEvent
* When your view receives a wxDynamicSashUnifyEvent
See the dynsash_switch sample application for an example which does this.
*/
#include <wx/event.h>
#include <wx/window.h>
class wxScrollBar;
#define wxEVT_DYNAMIC_SASH_BASE (((int)('d' - 'a') << 11) | ((int)('s' - 'a') << 6) | ((int)('h' - 'a') << 1))
#define wxEVT_DYNAMIC_SASH_SPLIT (wxEVT_DYNAMIC_SASH_BASE + 1)
#define wxEVT_DYNAMIC_SASH_UNIFY (wxEVT_DYNAMIC_SASH_BASE + 2)
#define EVT_DYNAMIC_SASH_SPLIT(id, func) EVT_CUSTOM(wxEVT_DYNAMIC_SASH_SPLIT, (id), (func))
#define EVT_DYNAMIC_SASH_UNIFY(id, func) EVT_CUSTOM(wxEVT_DYNAMIC_SASH_UNIFY, (id), (func))
/*
wxMANAGE_SCROLLBARS is a default style of wxDynamicSashWindow which
will cause it to respond to scrollbar events for your application by
automatically scrolling the child view.
*/
#define wxMANAGE_SCROLLBARS 0x00800000
/*
wxDynamicSashSplitEvents are sent to your view by wxDynamicSashWindow
whenever your view is being split by the user. It is your
responsibility to handle this event by creating a new view window as
a child of the wxDynamicSashWindow. wxDynamicSashWindow will
automatically reparent it to the proper place in its window hierarchy.
*/
class wxDynamicSashSplitEvent : public wxCommandEvent {
public:
wxDynamicSashSplitEvent();
wxDynamicSashSplitEvent(wxObject *target);
private:
DECLARE_DYNAMIC_CLASS(wxDynamicSashSplitEvent)
};
/*
wxDynamicSashUnifyEvents are sent to your view by wxDynamicSashWindow
whenever the sash which splits your view and its sibling is being
reunified such that your view is expanding to replace its sibling.
You needn't do anything with this event if you are allowing
wxDynamicSashWindow to manage your view's scrollbars, but it is useful
if you are managing the scrollbars yourself so that you can keep
the scrollbars' event handlers connected to your view's event handler
class.
*/
class wxDynamicSashUnifyEvent : public wxCommandEvent {
public:
wxDynamicSashUnifyEvent();
wxDynamicSashUnifyEvent(wxObject *target);
private:
DECLARE_DYNAMIC_CLASS(wxDynamicSashUnifyEvent);
};
/*
wxDynamicSashWindow. See above.
*/
class wxDynamicSashWindow : public wxWindow {
public:
wxDynamicSashWindow();
wxDynamicSashWindow(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxMANAGE_SCROLLBARS,
const wxString& name = "dynamicSashWindow");
virtual ~wxDynamicSashWindow();
virtual bool Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxMANAGE_SCROLLBARS,
const wxString& name = "dynamicSashWindow");
virtual wxScrollBar *GetHScrollBar(const wxWindow *child) const;
virtual wxScrollBar *GetVScrollBar(const wxWindow *child) const;
/* This is overloaded from wxWindowBase. It's not here for you to
call directly. */
virtual void AddChild(wxWindowBase *child);
private:
class wxDynamicSashWindowImpl *m_impl;
DECLARE_DYNAMIC_CLASS(wxDynamicSashWindow)
};
#endif

View File

@@ -1,59 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: editlbox.h
// Purpose: ListBox with editable items
// Author: Vaclav Slavik
// RCS-ID: $Id$
// Copyright: (c) Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef __WX_EDITLBOX_H__
#define __WX_EDITLBOX_H__
#ifdef __GNUG__
#pragma interface "editlbox.h"
#endif
#include "wx/panel.h"
class WXDLLEXPORT wxBitmapButton;
class WXDLLEXPORT wxListCtrl;
class WXDLLEXPORT wxListEvent;
// This class provides a composite control that lets the
// user easily enter list of strings
class WXDLLEXPORT wxEditableListBox : public wxPanel
{
DECLARE_CLASS(wxEditableListBox);
public:
wxEditableListBox(wxWindow *parent, wxWindowID id,
const wxString& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
const wxString& name = wxT("editableListBox"));
void SetStrings(const wxArrayString& strings);
void GetStrings(wxArrayString& strings);
protected:
wxBitmapButton *m_bDel, *m_bNew, *m_bUp, *m_bDown, *m_bEdit;
wxListCtrl *m_listCtrl;
int m_selection;
bool m_edittingNew;
void OnItemSelected(wxListEvent& event);
void OnEndLabelEdit(wxListEvent& event);
void OnNewItem(wxCommandEvent& event);
void OnDelItem(wxCommandEvent& event);
void OnEditItem(wxCommandEvent& event);
void OnUpItem(wxCommandEvent& event);
void OnDownItem(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
};
#endif

View File

@@ -1,167 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: multicell.h
// Purpose: provide two new classes for layout, wxMultiCellSizer and wxMultiCellCanvas
// Author: Jonathan Bayer
// Modified by:
// Created:
// RCS-ID: $Id:
// Copyright: (c) Jonathan Bayer
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// This was inspired by the gbsizer class written by Alex Andruschak
#ifndef __WX_MULTICELL_H__
#define __WX_MULTICELL_H__
#ifdef __GNUG__
#pragma interface "multicell.h"
#endif
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
// The classes are derived from wxSizer
#include "wx/sizer.h"
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
enum wxResizable
{
wxNOT_RESIZABLE = 0x00,
wxHORIZENTAL_RESIZABLE = 0x01,
wxVERTICAL_RESIZABLE = 0x10,
wxRESIZABLE = 0x11
};
//---------------------------------------------------------------------------
// classes
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// wxMultiCellItemHandle
//---------------------------------------------------------------------------
class WXDLLEXPORT wxMultiCellItemHandle: public wxObject
{
DECLARE_CLASS(wxMultiCellItemHandle);
protected:
int m_column;
int m_row;
int m_width;
int m_height;
wxResizable m_style;
wxSize m_fixedSize;
int m_alignment;
wxSize m_weight;
public:
wxMultiCellItemHandle( int row, int column, int height = 1, int width = 1, wxSize size = wxDefaultSize, wxResizable style = wxNOT_RESIZABLE, wxSize weight = wxSize(1,1), int align = wxALIGN_NOT);
wxMultiCellItemHandle( int row, int column, wxSize size, wxResizable style = wxNOT_RESIZABLE, wxSize weight = wxSize(1,1), int align = wxALIGN_NOT);
wxMultiCellItemHandle( int row, int column, wxResizable style, wxSize weight = wxSize(1,1), int align = wxALIGN_NOT);
wxMultiCellItemHandle( int row, int column, int align);
int GetColumn();
int GetRow();
int GetWidth();
int GetHeight();
wxResizable GetStyle();
wxSize GetLocalSize();
int GetAlignment();
wxSize GetWeight();
private:
void Initialize( int row, int column, int height = 1, int width = 1, wxSize size = wxDefaultSize, wxResizable style = wxNOT_RESIZABLE, wxSize weight = wxSize(1,1), int align = wxALIGN_NOT);
};
//---------------------------------------------------------------------------
// wxMultiCellSizer
//---------------------------------------------------------------------------
class WXDLLEXPORT wxMultiCellSizer : virtual public wxSizer
{
DECLARE_CLASS(wxMultiCellSizer);
protected:
wxSize m_cell_count;
public:
wxMultiCellSizer(wxSize & size);
wxMultiCellSizer(int rows, int cols);
~wxMultiCellSizer();
virtual void RecalcSizes();
virtual wxSize CalcMin();
bool SetDefaultCellSize(wxSize size);
bool SetColumnWidth(int column, int colSize = 5, bool expandable = FALSE);
bool SetRowHeight(int row, int rowSize = 5, bool expandable = FALSE);
bool EnableGridLines(wxWindow *win);
bool SetGridPen(wxPen *pen);
void OnPaint(wxDC& dc);
private:
void GetMinimums();
int Sum(int *array, int x);
private:
int *m_maxHeight;
int *m_maxWidth;
int *m_rowStretch;
int *m_colStretch;
wxSize **m_weights;
wxSize **m_minSizes;
int m_maxWeights;
wxSize m_defaultCellSize;
wxWindow *m_win; // usually used for debugging
wxPen *m_pen;
void DrawGridLines(wxDC& dc);
void Initialize(wxSize size);
};
// wxCell is used internally, so we don't need to declare it here
class wxCell;
//---------------------------------------------------------------------------
// wxMultiCellCanvas
//---------------------------------------------------------------------------
class wxMultiCellCanvas : public wxFlexGridSizer
{
public:
wxMultiCellCanvas(wxWindow *parent, int numRows = 2, int numCols = 2);
void Add(wxWindow *win, unsigned int row, unsigned int col);
void Resize(int numRows, int numCols);
int MaxRows()
{
return m_maxRows;
};
int MaxCols()
{
return m_maxCols;
};
void CalculateConstraints();
void SetMinCellSize(const wxSize size)
{
m_minCellSize = size;
};
private:
wxWindow *m_parent;
unsigned int m_maxRows, m_maxCols;
wxSize m_minCellSize;
wxCell **m_cells;
};
#endif
/*** End of File ***/

View File

@@ -1,227 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: splittree.h
// Purpose: Classes to achieve a remotely-scrolled tree in a splitter
// window that can be scrolled by a scrolled window higher in the
// hierarchy
// Author: Julian Smart
// Modified by:
// Created: 8/7/2000
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_SPLITTREE_H_
#define _WX_SPLITTREE_H_
#ifdef __GNUG__
#pragma interface "splittree.h"
#endif
// Set this to 1 to use generic tree control (doesn't yet work properly)
#define USE_GENERIC_TREECTRL 0
#include "wx/wx.h"
#include "wx/treectrl.h"
#include "wx/splitter.h"
#include "wx/scrolwin.h"
#if USE_GENERIC_TREECTRL
#include "wx/generic/treectlg.h"
#ifndef wxTreeCtrl
#define wxTreeCtrl wxGenericTreeCtrl
#define sm_classwxTreeCtrl sm_classwxGenericTreeCtrl
#endif
#endif
class wxRemotelyScrolledTreeCtrl;
class wxThinSplitterWindow;
class wxSplitterScrolledWindow;
/*
* wxRemotelyScrolledTreeCtrl
*
* This tree control disables its vertical scrollbar and catches scroll
* events passed by a scrolled window higher in the hierarchy.
* It also updates the scrolled window vertical scrollbar as appropriate.
*/
class wxRemotelyScrolledTreeCtrl: public wxTreeCtrl
{
DECLARE_CLASS(wxRemotelyScrolledTreeCtrl)
public:
wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt = wxDefaultPosition,
const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS);
~wxRemotelyScrolledTreeCtrl();
//// Events
void OnSize(wxSizeEvent& event);
void OnExpand(wxTreeEvent& event);
void OnScroll(wxScrollWinEvent& event);
//// Overrides
// Override this in case we're using the generic tree control.
// Calls to this should disable the vertical scrollbar.
// Number of pixels per user unit (0 or -1 for no scrollbar)
// Length of virtual canvas in user units
// Length of page in user units
virtual void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY,
int noUnitsX, int noUnitsY,
int xPos = 0, int yPos = 0,
bool noRefresh = FALSE );
// In case we're using the generic tree control.
// Get the view start
virtual void GetViewStart(int *x, int *y) const;
// In case we're using the generic tree control.
virtual void PrepareDC(wxDC& dc);
// In case we're using the generic tree control.
virtual int GetScrollPos(int orient) const;
//// Helpers
void HideVScrollbar();
// Calculate the tree overall size so we can set the scrollbar
// correctly
void CalcTreeSize(wxRect& rect);
void CalcTreeSize(const wxTreeItemId& id, wxRect& rect);
// Adjust the containing wxScrolledWindow's scrollbars appropriately
void AdjustRemoteScrollbars();
// Find the scrolled window that contains this control
wxScrolledWindow* GetScrolledWindow() const;
// Scroll to the given line (in scroll units where each unit is
// the height of an item)
void ScrollToLine(int posHoriz, int posVert);
//// Accessors
// The companion window is one which will get notified when certain
// events happen such as node expansion
void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; }
wxWindow* GetCompanionWindow() const { return m_companionWindow; }
DECLARE_EVENT_TABLE()
protected:
wxWindow* m_companionWindow;
};
/*
* wxTreeCompanionWindow
*
* A window displaying values associated with tree control items.
*/
class wxTreeCompanionWindow: public wxWindow
{
public:
DECLARE_CLASS(wxTreeCompanionWindow)
wxTreeCompanionWindow(wxWindow* parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
long style = 0);
//// Overrides
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect);
//// Events
void OnPaint(wxPaintEvent& event);
void OnScroll(wxScrollWinEvent& event);
void OnExpand(wxTreeEvent& event);
//// Operations
//// Accessors
wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; };
void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; }
//// Data members
protected:
wxRemotelyScrolledTreeCtrl* m_treeCtrl;
DECLARE_EVENT_TABLE()
};
/*
* wxThinSplitterWindow
*
* Implements a splitter with a less obvious sash
* than the usual one.
*/
class wxThinSplitterWindow: public wxSplitterWindow
{
public:
DECLARE_DYNAMIC_CLASS(wxThinSplitterWindow)
wxThinSplitterWindow(wxWindow* parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
long style = wxSP_3D | wxCLIP_CHILDREN);
//// Overrides
void SizeWindows();
// Tests for x, y over sash. Overriding this allows us to increase
// the tolerance.
bool SashHitTest(int x, int y, int tolerance = 2);
void DrawSash(wxDC& dc);
//// Events
void OnSize(wxSizeEvent& event);
//// Operations
//// Accessors
//// Data members
protected:
DECLARE_EVENT_TABLE()
};
/*
* wxSplitterScrolledWindow
*
* This scrolled window is aware of the fact that one of its
* children is a splitter window. It passes on its scroll events
* (after some processing) to both splitter children for them
* scroll appropriately.
*/
class wxSplitterScrolledWindow: public wxScrolledWindow
{
public:
DECLARE_DYNAMIC_CLASS(wxSplitterScrolledWindow)
wxSplitterScrolledWindow(wxWindow* parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& sz = wxDefaultSize,
long style = 0);
//// Overrides
//// Events
void OnScroll(wxScrollWinEvent& event);
void OnSize(wxSizeEvent& event);
//// Operations
//// Accessors
//// Data members
public:
DECLARE_EVENT_TABLE()
};
#endif
// _SPLITTREE_H_

View File

@@ -1,74 +0,0 @@
// ---------------------------------------------------------------------------
// Name: cdbase.h
// Purpose: wxMMedia
// Author: Guilhem Lavaux
// Created: 1997
// Updated: 1998, 1999, 2000
// Copyright: (C) 1997, 1998, 1999, 2000 Guilhem Lavaux
// License: wxWindows license
// ---------------------------------------------------------------------------
#ifndef __CDA_base_H__
#define __CDA_base_H__
#ifdef __GNUG__
#pragma interface "cdbase.h"
#endif
#include "wx/defs.h"
#include "wx/object.h"
typedef struct wxCDtime {
wxUint8 track;
wxUint8 hour, min, sec;
} wxCDtime;
class WXDLLEXPORT wxCDAudio : public wxObject {
DECLARE_ABSTRACT_CLASS(wxCDAudio)
public:
typedef enum { PLAYING, PAUSED, STOPPED } CDstatus;
// Table of contents manager
class WXDLLEXPORT CDtoc {
protected:
wxCDtime *tracks_time, *tracks_pos;
wxCDtime total_time;
public:
//
CDtoc(wxCDtime& tot_tm, wxCDtime *trks_tm, wxCDtime *trks_pos)
{ tracks_time = trks_tm; total_time = tot_tm; tracks_pos = trks_pos; }
// Returns the length of the specified track
// track: track to get length
wxCDtime GetTrackTime(wxUint8 track) const;
// Returns the position of the specified track
// track: track to get position
wxCDtime GetTrackPos(wxUint8 track) const;
// Returns the total time
inline wxCDtime GetTotalTime() const { return total_time; }
};
public:
//
wxCDAudio() : wxObject() {}
//
virtual ~wxCDAudio() {}
// Play audio at the specified position
virtual bool Play(const wxCDtime& beg_play, const wxCDtime& end_play) = 0;
// Play audio from the specified to the end of the CD audio
bool Play(const wxCDtime& beg_play);
//
bool Play(wxUint8 beg_track, wxUint8 end_track = 0);
// Pause the audio playing
virtual bool Pause() = 0;
// Resume a paused audio playing
virtual bool Resume() = 0;
// Get the current CD status
virtual CDstatus GetStatus() = 0;
// Get the current playing time
virtual wxCDtime GetTime() = 0;
// Returns the table of contents
virtual const CDtoc& GetToc() = 0;
// CD ok
virtual bool Ok() const = 0;
};
#endif

View File

@@ -1,58 +0,0 @@
// ---------------------------------------------------------------------------
// Name: cdunix.h
// Purpose: wxMMedia
// Author: Guilhem Lavaux
// Created: 1997
// Updated: 2000
// Copyright: (C) 1997, 1998, 1999, 2000 Guilhem Lavaux
// License: wxWindows license
// ---------------------------------------------------------------------------
#ifndef __CDUNIXH__
#define __CDUNIXH__
#ifdef __GNUG__
#pragma interface "cdunix.h"
#endif
#include "wx/defs.h"
#include "wx/object.h"
#include "wx/string.h"
#include "wx/mmedia/cdbase.h"
///
class WXDLLEXPORT wxCDAudioLinux : public wxCDAudio {
DECLARE_DYNAMIC_CLASS(wxCDAudioLinux)
protected:
wxCDtime m_time;
CDstatus m_status;
CDtoc *m_toc;
int m_fd;
wxCDtime *m_trksize, *m_trkpos;
public:
///
wxCDAudioLinux();
///
wxCDAudioLinux(const wxString& dev_name);
///
virtual ~wxCDAudioLinux();
///
virtual bool Play(const wxCDtime& beg_time, const wxCDtime& end_time);
///
virtual bool Pause();
///
virtual bool Resume();
///
virtual CDstatus GetStatus();
///
virtual wxCDtime GetTime();
///
virtual CDtoc& GetToc();
///
virtual inline bool Ok() const { return (m_fd != -1); }
protected:
///
void OpenDevice(const wxString& dev_name);
};
#endif

View File

@@ -1,62 +0,0 @@
// /////////////////////////////////////////////////////////////////////////////
// Name: cdwin.h
// Purpose: wxMMedia
// Author: Guilhem Lavaux
// Created: 1997
// Updated: 1998
// Copyright: (C) 1997, 1998, Guilhem Lavaux
// License: wxWindows license
// /////////////////////////////////////////////////////////////////////////////
#ifndef __CDA_win_H__
#define __CDA_win_H__
#ifdef __GNUG__
#pragma interface
#endif
#include "wx/wxprec.h"
#include "cdbase.h"
#ifdef WXMMEDIA_INTERNAL
#include <windows.h>
#include <mmsystem.h>
typedef struct CDAW_Internal {
MCIDEVICEID dev_id;
} CDAW_Internal;
#endif
///
class WXDLLEXPORT wxCDAudioWin : public wxCDAudio {
DECLARE_DYNAMIC_CLASS(wxCDAudioWin)
protected:
struct CDAW_Internal *m_internal;
wxCDtime *m_trksize, *m_trkpos;
CDtoc *m_toc;
bool m_ok;
public:
///
wxCDAudioWin(void);
///
wxCDAudioWin(const char *dev_name);
///
virtual ~wxCDAudioWin(void);
///
virtual bool Play(const wxCDtime& beg_time, const wxCDtime& end_time);
///
virtual bool Pause(void);
///
virtual bool Resume(void);
///
virtual CDstatus GetStatus(void);
///
virtual wxCDtime GetTime(void);
///
virtual const CDtoc& GetToc(void);
///
virtual inline bool Ok(void) const { return m_ok; }
protected:
void PrepareToc();
};
#endif

View File

@@ -1,123 +0,0 @@
/*
* This source code is a product of Sun Microsystems, Inc. and is provided
* for unrestricted use. Users may copy or modify this source code without
* charge.
*
* SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING
* THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
* PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
*
* Sun source code is provided with no support and without any obligation on
* the part of Sun Microsystems, Inc. to assist in its use, correction,
* modification or enhancement.
*
* SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
* INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE
* OR ANY PART THEREOF.
*
* In no event will Sun Microsystems, Inc. be liable for any lost revenue
* or profits or other special, indirect and consequential damages, even if
* Sun has been advised of the possibility of such damages.
*
* Sun Microsystems, Inc.
* 2550 Garcia Avenue
* Mountain View, California 94043
*/
/*
* g72x.h
*
* Header file for CCITT conversion routines.
*
*/
#ifndef _G72X_H
#define _G72X_H
#define AUDIO_ENCODING_ULAW (1) /* ISDN u-law */
#define AUDIO_ENCODING_ALAW (2) /* ISDN A-law */
#define AUDIO_ENCODING_LINEAR (3) /* PCM 2's-complement (0-center) */
/*
* The following is the definition of the state structure
* used by the G.721/G.723 encoder and decoder to preserve their internal
* state between successive calls. The meanings of the majority
* of the state structure fields are explained in detail in the
* CCITT Recommendation G.721. The field names are essentially indentical
* to variable names in the bit level description of the coding algorithm
* included in this Recommendation.
*/
struct g72x_state {
long yl; /* Locked or steady state step size multiplier. */
short yu; /* Unlocked or non-steady state step size multiplier. */
short dms; /* Short term energy estimate. */
short dml; /* Long term energy estimate. */
short ap; /* Linear weighting coefficient of 'yl' and 'yu'. */
short a[2]; /* Coefficients of pole portion of prediction filter. */
short b[6]; /* Coefficients of zero portion of prediction filter. */
short pk[2]; /*
* Signs of previous two samples of a partially
* reconstructed signal.
*/
short dq[6]; /*
* Previous 6 samples of the quantized difference
* signal represented in an internal floating point
* format.
*/
short sr[2]; /*
* Previous 2 samples of the quantized difference
* signal represented in an internal floating point
* format.
*/
char td; /* delayed tone detect, new in 1988 version */
};
/* External function definitions. */
extern unsigned char linear2alaw (int pcm_val); /* 2's complement (16-bit range) */
extern int alaw2linear (unsigned char a_val);
extern unsigned char linear2ulaw (int pcm_val); /* 2's complement (16-bit range) */
extern int ulaw2linear (unsigned char u_val);
extern int predictor_zero (struct g72x_state *state_ptr);
extern int predictor_pole (struct g72x_state *state_ptr);
extern int step_size (struct g72x_state *state_ptr);
extern int quantize (int d, int y, short *table, int size);
extern int reconstruct (int sign, int dqln, int y);
extern void update
( int code_size, int y, int wi, int fi, int dq
, int sr, int dqsez, struct g72x_state *state_ptr);
int tandem_adjust_alaw
(int sr, int se, int y, int i, int sign, short *qtab);
int tandem_adjust_ulaw
(int sr, int se, int y, int i, int sign, short *qtab);
extern void g72x_init_state (struct g72x_state *);
extern int g721_encoder(
int sample,
int in_coding,
struct g72x_state *state_ptr);
extern int g721_decoder(
int code,
int out_coding,
struct g72x_state *state_ptr);
extern int g723_24_encoder(
int sample,
int in_coding,
struct g72x_state *state_ptr);
extern int g723_24_decoder(
int code,
int out_coding,
struct g72x_state *state_ptr);
extern int g723_40_encoder(
int sample,
int in_coding,
struct g72x_state *state_ptr);
extern int g723_40_decoder(
int code,
int out_coding,
struct g72x_state *state_ptr);
#endif /* !_G72X_H */

View File

@@ -1,46 +0,0 @@
// --------------------------------------------------------------------------
// Name: sndaiff.h
// Purpose:
// Date: 08/11/1999
// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
// CVSID: $Id$
// --------------------------------------------------------------------------
#ifndef _WX_SNDAIFF_H
#define _WX_SNDAIFF_H
#ifdef __GNUG__
#pragma interface "sndaiff.h"
#endif
#include "wx/defs.h"
#include "wx/stream.h"
#include "wx/mmedia/sndbase.h"
#include "wx/mmedia/sndcodec.h"
#include "wx/mmedia/sndfile.h"
//
// AIFF codec
//
class WXDLLEXPORT wxSoundAiff: public wxSoundFileStream {
public:
wxSoundAiff(wxInputStream& stream, wxSoundStream& io_sound);
wxSoundAiff(wxOutputStream& stream, wxSoundStream& io_sound);
~wxSoundAiff();
bool CanRead();
wxString GetCodecName() const;
protected:
bool PrepareToPlay();
bool PrepareToRecord(wxUint32 time);
bool FinishRecording();
bool RepositionStream(wxUint32 position);
wxUint32 GetData(void *buffer, wxUint32 len);
wxUint32 PutData(const void *buffer, wxUint32 len);
protected:
off_t m_base_offset;
};
#endif

View File

@@ -1,171 +0,0 @@
// --------------------------------------------------------------------------
// Name: sndbase.h
// Purpose:
// Date: 08/11/1999
// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
// CVSID: $Id$
// --------------------------------------------------------------------------
#ifndef _WX_SNDBASE_H
#define _WX_SNDBASE_H
#ifdef __GNUG__
#pragma interface "sndbase.h"
#endif
#include "wx/defs.h"
// ------------------------------------------------------------------------
// DEFINITIONS
// ---------------------
// Sound streaming mode:
// - wxSOUND_INPUT: simple recording mode
// - wxSOUND_OUTPUT: simple playing mode
// - wxSOUND_DUPLEX: full duplex record/play at the same time
// ---------------------
enum {
wxSOUND_INPUT = 1,
wxSOUND_OUTPUT = 2,
wxSOUND_DUPLEX = wxSOUND_INPUT | wxSOUND_OUTPUT,
};
// ---------------------
// wxSoundFormatType: it specifies the format family of the sound data
// which will be passed to the stream.
// ---------------------
typedef enum {
wxSOUND_NOFORMAT,
wxSOUND_PCM,
wxSOUND_ULAW,
wxSOUND_G72X,
wxSOUND_MSADPCM
} wxSoundFormatType;
// ---------------------
// wxSoundError:
// - wxSOUND_NOERR: No error occured
// - wxSOUND_IOERR: an input/output error occured, it may concern either
// a driver or a file
// - wxSOUND_INVFRMT: the sound format passed to the function is invalid.
// Generally, it means that you passed out of range values
// to the codec stream or you don't pass the right sound
// format object to the right sound codec stream.
// - wxSOUND_INVDEV: Invalid device. Generally, it means that the sound stream
// didn't manage to open the device driver due to an invalid// parameter or to the fact that sound is not supported on
// this computer.
// - wxSOUND_NOEXACT: No exact matching sound codec has been found for
// this sound format. It means that the sound driver didn't
// manage to setup the sound card with the specified
// values.
// - wxSOUND_NOCODEC: No matching codec has been found. Generally, it
// may happen when you call
// wxSoundRouterStream::SetSoundFormat().
// - wxSOUND_MEMERR: Not enough memory.
// - wxSOUND_NOTSTARTED: You did not start the production using
// StartProduction()
// ---------------------
typedef enum {
wxSOUND_NOERROR,
wxSOUND_IOERROR,
wxSOUND_INVFRMT,
wxSOUND_INVDEV,
wxSOUND_NOEXACT,
wxSOUND_INVSTRM,
wxSOUND_NOCODEC,
wxSOUND_MEMERROR,
wxSOUND_NOTSTARTED
} wxSoundError;
class WXDLLEXPORT wxSoundStream;
// ---------------------
// wxSoundCallback(stream, evt, cdata): C callback for sound event.
// - stream: current wxSoundStream
// - evt: the sound event which has occured, it may be wxSOUND_INPUT,
// wxSOUND_OUTPUT or wxSOUND_DUPLEX
// - cdata: User callback data
// ---------------------
typedef void (*wxSoundCallback)(wxSoundStream *stream, int evt,
void *cdata);
//
// Base class for sound format specification
//
class WXDLLEXPORT wxSoundFormatBase {
public:
wxSoundFormatBase();
virtual ~wxSoundFormatBase();
// It returns a "standard" format type.
virtual wxSoundFormatType GetType() const { return wxSOUND_NOFORMAT; }
// It clones the current format.
virtual wxSoundFormatBase *Clone() const;
virtual wxUint32 GetTimeFromBytes(wxUint32 bytes) const = 0;
virtual wxUint32 GetBytesFromTime(wxUint32 time) const = 0;
virtual bool operator !=(const wxSoundFormatBase& frmt2) const;
};
//
// Base class for sound streams
//
class WXDLLEXPORT wxSoundStream {
public:
wxSoundStream();
virtual ~wxSoundStream();
// Reads "len" bytes from the sound stream.
virtual wxSoundStream& Read(void *buffer, wxUint32 len) = 0;
// Writes "len" byte to the sound stream.
virtual wxSoundStream& Write(const void *buffer, wxUint32 len) = 0;
// Returns the best size for IO calls
virtual wxUint32 GetBestSize() const { return 1024; }
// SetSoundFormat returns TRUE when the format can be handled.
virtual bool SetSoundFormat(const wxSoundFormatBase& format);
// GetSoundFormat returns the current sound format.
wxSoundFormatBase& GetSoundFormat() const { return *m_sndformat; }
// Register a callback for a specified async event.
void SetCallback(int evt, wxSoundCallback cbk, void *cdata);
// Starts the async notifier. After this call, the stream begins either
// recording or playing or the two at the same time.
virtual bool StartProduction(int evt) = 0;
// Stops the async notifier.
virtual bool StopProduction() = 0;
// Sets the event handler: if it is non-null, all events are routed to it.
void SetEventHandler(wxSoundStream *handler) { m_handler = handler; }
wxSoundError GetError() const { return m_snderror; }
wxUint32 GetLastAccess() const { return m_lastcount; }
// This is only useful for device (I think).
virtual bool QueueFilled() const { return TRUE; }
protected:
// Current sound format
wxSoundFormatBase *m_sndformat;
// Last error
wxSoundError m_snderror;
// Last access
wxUint32 m_lastcount;
// Event handler
wxSoundStream *m_handler;
wxSoundCallback m_callback[2];
void *m_cdata[2];
protected:
// Handles event
virtual void OnSoundEvent(int evt);
};
#endif

View File

@@ -1,32 +0,0 @@
// --------------------------------------------------------------------------
// Name: sndcodec.h
// Purpose:
// Date: 08/11/1999
// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
// CVSID: $Id$
// --------------------------------------------------------------------------
#ifndef _WX_SNDCODEC_H
#define _WX_SNDCODEC_H
#ifdef __GNUG__
#pragma interface "sndcodec.h"
#endif
#include "wx/defs.h"
#include "wx/mmedia/sndbase.h"
class WXDLLEXPORT wxSoundStreamCodec: public wxSoundStream {
public:
wxSoundStreamCodec(wxSoundStream& snd_io);
~wxSoundStreamCodec();
bool StartProduction(int evt);
bool StopProduction();
wxUint32 GetBestSize() const;
protected:
wxSoundStream *m_sndio;
};
#endif

View File

@@ -1,54 +0,0 @@
// --------------------------------------------------------------------------
// Name: sndcpcm.h
// Purpose:
// Date: 08/11/1999
// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
// CVSID: $Id$
// --------------------------------------------------------------------------
#ifndef _WX_SNDCPCM_H
#define _WX_SNDCPCM_H
#ifdef __GNUG__
#pragma interface "sndcpcm.h"
#endif
#include "wx/defs.h"
#include "wx/mmedia/sndbase.h"
#include "wx/mmedia/sndcodec.h"
//
// PCM converter class
//
class WXDLLEXPORT wxSoundStreamPcm: public wxSoundStreamCodec {
public:
typedef void (*ConverterType)(const void *buf_in, void *buf_out,
wxUint32 len);
wxSoundStreamPcm(wxSoundStream& sndio);
~wxSoundStreamPcm();
wxSoundStream& Read(void *buffer, wxUint32 len);
wxSoundStream& Write(const void *buffer, wxUint32 len);
bool SetSoundFormat(const wxSoundFormatBase& format);
wxUint32 GetBestSize() const;
protected:
wxUint32 GetReadSize(wxUint32 len) const;
wxUint32 GetWriteSize(wxUint32 len) const;
protected:
ConverterType m_function_out, m_function_in;
// Static temporary buffer
char *m_prebuffer;
wxUint32 m_prebuffer_size;
// Estimated best size to fit into the static buffer
wxUint32 m_best_size;
// Multiplier for IO buffer size
float m_multiplier_in, m_multiplier_out;
};
#endif

View File

@@ -1,53 +0,0 @@
// --------------------------------------------------------------------------
// Name: sndesd.h
// Purpose:
// Date: 08/11/1999
// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
// CVSID: $Id$
// --------------------------------------------------------------------------
#ifndef _WX_SNDESD_H
#define _WX_SNDESD_H
#ifdef __GNUG__
#pragma interface "sndesd.h"
#endif
#include "wx/defs.h"
#include "wx/string.h"
#include "wx/mmedia/sndbase.h"
#include "wx/mmedia/sndpcm.h"
//
// ESD output class
//
class wxSoundStreamESD : public wxSoundStream {
public:
wxSoundStreamESD(const wxString& hostname = wxT("localhost"));
~wxSoundStreamESD();
wxSoundStream& Read(void *buffer, wxUint32 len);
wxSoundStream& Write(const void *buffer, wxUint32 len);
bool SetSoundFormat(const wxSoundFormatBase& format);
bool StartProduction(int evt);
bool StopProduction();
// You should not call this.
void WakeUpEvt(int evt);
bool QueueFilled() const { return m_q_filled; }
protected:
int m_fd_input, m_fd_output; // ESD fds
int m_tag_input, m_tag_output; // GLIB tags
bool m_esd_stop; // Stream started ?
bool m_esd_ok; // ESD detected
wxString m_hostname; // ESD host
bool m_q_filled; // queue filled
private:
void DetectBest(wxSoundFormatPcm *pcm);
};
#endif

View File

@@ -1,125 +0,0 @@
// --------------------------------------------------------------------------
// Name: sndfile.h
// Purpose:
// Date: 08/11/1999
// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
// CVSID: $Id$
// --------------------------------------------------------------------------
#ifndef _WX_SNDFILE_H
#define _WX_SNDFILE_H
#include "wx/defs.h"
#include "wx/stream.h"
#include "wx/mmedia/sndbase.h"
#include "wx/mmedia/sndcodec.h"
#define wxSOUND_INFINITE_TIME ((wxUint32)-1)
//
// Codec router class
//
class WXDLLEXPORT wxSoundRouterStream: public wxSoundStreamCodec {
public:
wxSoundRouterStream(wxSoundStream& sndio);
~wxSoundRouterStream();
wxSoundStream& Read(void *buffer, wxUint32 len);
wxSoundStream& Write(const void *buffer, wxUint32 len);
bool SetSoundFormat(const wxSoundFormatBase& format);
bool StartProduction(int evt);
bool StopProduction();
wxUint32 GetBestSize() const;
protected:
wxSoundStream *m_router;
};
typedef enum {
wxSOUND_FILE_STOPPED,
wxSOUND_FILE_PAUSED,
wxSOUND_FILE_PLAYING,
wxSOUND_FILE_RECORDING
} wxSoundFileState;
//
// Base class for file coders/decoders
//
class wxSoundFileStream: public wxSoundStream {
public:
wxSoundFileStream(wxInputStream& stream, wxSoundStream& io_sound);
wxSoundFileStream(wxOutputStream& stream, wxSoundStream& io_sound);
~wxSoundFileStream();
// Usual sound file calls (Play, Stop, ...)
bool Play();
bool Record(wxUint32 time);
bool Stop();
bool Pause();
bool Resume();
// Functions which return the current state
bool IsStopped() const { return m_state == wxSOUND_FILE_STOPPED; }
bool IsPaused() const { return m_state == wxSOUND_FILE_PAUSED; }
// A user should not call these two functions.
// Several things must be done before calling them.
// Users should use Play(), ...
bool StartProduction(int evt);
bool StopProduction();
// These three functions deals with the length, the position in the sound file.
// All the values are expressed in bytes. If you need the values expressed
// in terms of time, you have to use GetSoundFormat().GetTimeFromBytes(...)
wxUint32 GetLength();
wxUint32 GetPosition();
wxUint32 SetPosition(wxUint32 new_position);
// These two functions use the sound format specified by GetSoundFormat().
// All samples must be encoded in that format.
wxSoundStream& Read(void *buffer, wxUint32 len);
wxSoundStream& Write(const void *buffer, wxUint32 len);
// This function set the sound format of the file. !! It must be used only
// when you are in output mode (concerning the file) !! If you are in
// input mode (concerning the file) you can't use this function to modify
// the format of the samples returned by Read() !
// For this action, you must use wxSoundRouterStream applied to wxSoundFileStream.
bool SetSoundFormat(const wxSoundFormatBase& format);
// This function returns the Codec name. This is useful for those who want to build
// a player (But also in some other case).
virtual wxString GetCodecName() const;
// You should use this function to test whether this file codec can read
// the stream you passed to it.
virtual bool CanRead() { return FALSE; }
protected:
wxSoundRouterStream m_codec;
wxSoundStream *m_sndio;
wxInputStream *m_input;
wxOutputStream *m_output;
wxSoundFileState m_state, m_oldstate;
wxUint32 m_length, m_bytes_left;
bool m_prepared;
protected:
virtual bool PrepareToPlay() = 0;
virtual bool PrepareToRecord(wxUint32 time) = 0;
virtual bool FinishRecording() = 0;
virtual bool RepositionStream(wxUint32 position) = 0;
void FinishPreparation(wxUint32 len);
virtual wxUint32 GetData(void *buffer, wxUint32 len) = 0;
virtual wxUint32 PutData(const void *buffer, wxUint32 len) = 0;
void OnSoundEvent(int evt);
};
#endif

View File

@@ -1,85 +0,0 @@
// --------------------------------------------------------------------------
// Name: sndg72x.h
// Purpose:
// Date: 08/26/1999
// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 1999
// CVSID: $Id$
// --------------------------------------------------------------------------
#ifndef _WX_SNDG72X_H
#define _WX_SNDG72X_H
#ifdef __GNUG__
#pragma interface "sndg72x.h"
#endif
#include "wx/defs.h"
#include "wx/mmedia/sndbase.h"
#include "wx/mmedia/sndcodec.h"
#include "wx/mmedia/sndbase.h"
typedef enum {
wxSOUND_G721,
wxSOUND_G723_24,
wxSOUND_G723_40
} wxSoundG72XType;
// This fixes a bug in Mingw95
typedef struct g72x_state g72state;
//
// G72X format
//
class WXDLLEXPORT wxSoundFormatG72X: public wxSoundFormatBase {
public:
wxSoundFormatG72X();
~wxSoundFormatG72X();
void SetG72XType(wxSoundG72XType type);
wxSoundG72XType GetG72XType() const { return m_g72x_type; }
void SetSampleRate(wxUint32 srate);
wxUint32 GetSampleRate() const;
wxSoundFormatType GetType() const { return wxSOUND_G72X; }
wxSoundFormatBase *Clone() const;
wxUint32 GetTimeFromBytes(wxUint32 bytes) const;
wxUint32 GetBytesFromTime(wxUint32 time) const;
bool operator !=(const wxSoundFormatBase& frmt2) const;
protected:
wxUint32 m_srate;
wxSoundG72XType m_g72x_type;
};
//
// ULAW converter class
//
class WXDLLEXPORT wxSoundRouterStream;
class WXDLLEXPORT wxSoundStreamG72X: public wxSoundStreamCodec {
public:
wxSoundStreamG72X(wxSoundStream& sndio);
~wxSoundStreamG72X();
wxSoundStream& Read(void *buffer, wxUint32 len);
wxSoundStream& Write(const void *buffer, wxUint32 len);
bool SetSoundFormat(const wxSoundFormatBase& format);
protected:
wxSoundRouterStream *m_router;
wxUint8 m_n_bits, m_current_mask, m_current_b_pos, m_current_byte;
wxUint8 *m_io_buffer;
g72state *m_state;
int (*m_coder)(int code, int in_code, struct g72x_state *state);
int (*m_decoder)(int code, int out_code, struct g72x_state *state);
protected:
void PutBits(wxUint8 bits);
wxUint8 GetBits();
};
#endif

Some files were not shown because too many files have changed in this diff Show More