Made wxGTK dataobj.cpp compile; removed flashing from wxGLCanvas samples;
some doc bug fixes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -5,6 +5,10 @@ utils/glcanvas/win/make*.*
|
|||||||
utils/glcanvas/src/*.cpp
|
utils/glcanvas/src/*.cpp
|
||||||
utils/glcanvas/src/*.h
|
utils/glcanvas/src/*.h
|
||||||
utils/glcanvas/src/make*.*
|
utils/glcanvas/src/make*.*
|
||||||
|
utils/glcanvas/motif/*.cpp
|
||||||
|
utils/glcanvas/motif/*.h
|
||||||
|
utils/glcanvas/motif/make*.*
|
||||||
|
utils/glcanvas/motif/*.txt
|
||||||
utils/glcanvas/samples/cube/*.cpp
|
utils/glcanvas/samples/cube/*.cpp
|
||||||
utils/glcanvas/samples/cube/*.h
|
utils/glcanvas/samples/cube/*.h
|
||||||
utils/glcanvas/samples/cube/*.rc
|
utils/glcanvas/samples/cube/*.rc
|
||||||
|
@@ -25,14 +25,6 @@ src/gtk/*.c
|
|||||||
src/gtk/*.inc
|
src/gtk/*.inc
|
||||||
src/gtk/*.xbm
|
src/gtk/*.xbm
|
||||||
|
|
||||||
src/gdk_imlib/*.c
|
|
||||||
src/gdk_imlib/*.h
|
|
||||||
src/gdk_imlib/AUTHORS
|
|
||||||
src/gdk_imlib/AUDIT
|
|
||||||
src/gdk_imlib/COPYING.LIB
|
|
||||||
src/gdk_imlib/README
|
|
||||||
src/gdk_imlib/ChangeLog
|
|
||||||
|
|
||||||
src/iodbc/*.c
|
src/iodbc/*.c
|
||||||
src/iodbc/*.ci
|
src/iodbc/*.ci
|
||||||
src/iodbc/*.h
|
src/iodbc/*.h
|
||||||
@@ -94,33 +86,4 @@ setup/shared/sharedSysV
|
|||||||
|
|
||||||
misc/afm/*.afm
|
misc/afm/*.afm
|
||||||
misc/gs_afm/*.afm
|
misc/gs_afm/*.afm
|
||||||
misc/imlib/imrc
|
|
||||||
misc/imlib/*.pal
|
|
||||||
|
|
||||||
user/Makefile
|
|
||||||
|
|
||||||
user/wxConvert/*.cpp
|
|
||||||
user/wxConvert/*.h
|
|
||||||
user/wxConvert/Makefile
|
|
||||||
user/wxConvert/Makefile.in
|
|
||||||
|
|
||||||
user/wxFile/*.cpp
|
|
||||||
user/wxFile/*.h
|
|
||||||
user/wxFile/Makefile
|
|
||||||
user/wxFile/Makefile.in
|
|
||||||
user/wxFile/*.xpm
|
|
||||||
|
|
||||||
user/wxTest/*.cpp
|
|
||||||
user/wxTest/*.h
|
|
||||||
user/wxTest/Makefile
|
|
||||||
user/wxTest/Makefile.in
|
|
||||||
user/wxTest/*.xpm
|
|
||||||
user/wxTest/*.png
|
|
||||||
|
|
||||||
user/wxLayout/*.cpp
|
|
||||||
user/wxLayout/*.h
|
|
||||||
user/wxLayout/Makefile
|
|
||||||
user/wxLayout/Makefile.in
|
|
||||||
user/wxLayout/*.xpm
|
|
||||||
user/wxLayout/*.png
|
|
||||||
|
|
||||||
|
@@ -9,15 +9,49 @@ mkinstalldirs
|
|||||||
wxinstall
|
wxinstall
|
||||||
|
|
||||||
src/makeenvs/*.env
|
src/makeenvs/*.env
|
||||||
src/makeprog.env
|
|
||||||
src/make.env
|
src/make.env
|
||||||
src/makelib.env
|
|
||||||
src/makeprog.env
|
src/makeprog.env
|
||||||
|
src/makelib.env
|
||||||
|
|
||||||
src/Makefile
|
src/Makefile
|
||||||
src/Makefile.in
|
src/Makefile.in
|
||||||
src/*.inc
|
src/*.inc
|
||||||
|
|
||||||
|
src/motif/*.cpp
|
||||||
|
src/motif/*.c
|
||||||
|
src/motif/*.h
|
||||||
|
src/motif/makefile*
|
||||||
|
src/motif/*.inc
|
||||||
|
src/motif/*.xbm
|
||||||
|
src/motif/xmcombo/*.c
|
||||||
|
src/motif/xmcombo/*.h
|
||||||
|
src/motif/xmcombo/*.doc
|
||||||
|
src/motif/xmcombo/*.man
|
||||||
|
src/motif/xmcombo/*.txt
|
||||||
|
|
||||||
|
src/iodbc/*.c
|
||||||
|
src/iodbc/*.ci
|
||||||
|
src/iodbc/*.h
|
||||||
|
src/iodbc/IAFA-PACKAGE
|
||||||
|
src/iodbc/README
|
||||||
|
src/iodbc/*.exp
|
||||||
|
src/iodbc/*.mk
|
||||||
|
src/iodbc/autoconfig
|
||||||
|
src/iodbc/build
|
||||||
|
src/iodbc/Changes.log
|
||||||
|
src/iodbc/postgres/*.h
|
||||||
|
|
||||||
|
include/wx/motif/*.h
|
||||||
|
include/install-sh
|
||||||
|
|
||||||
|
docs/motif/*.txt
|
||||||
|
docs/motif/makewx
|
||||||
|
|
||||||
|
lib/dummy
|
||||||
|
|
||||||
|
misc/afm/*.afm
|
||||||
|
misc/gs_afm/*.afm
|
||||||
|
|
||||||
setup/*.in
|
setup/*.in
|
||||||
setup/*.hin
|
setup/*.hin
|
||||||
|
|
||||||
@@ -65,41 +99,4 @@ setup/shared/sharedSolaris2
|
|||||||
setup/shared/sharedSunos4
|
setup/shared/sharedSunos4
|
||||||
setup/shared/sharedSysV
|
setup/shared/sharedSysV
|
||||||
|
|
||||||
misc/afm/*.afm
|
|
||||||
|
|
||||||
src/gtk/dcps.cpp
|
|
||||||
|
|
||||||
src/motif/*.cpp
|
|
||||||
src/motif/*.c
|
|
||||||
src/motif/*.h
|
|
||||||
src/motif/makefile*
|
|
||||||
src/motif/*.inc
|
|
||||||
src/motif/*.xbm
|
|
||||||
src/motif/xmcombo/*.c
|
|
||||||
src/motif/xmcombo/*.h
|
|
||||||
src/motif/xmcombo/*.doc
|
|
||||||
src/motif/xmcombo/*.man
|
|
||||||
src/motif/xmcombo/*.txt
|
|
||||||
src/motif/mdi/COPYRIGHT
|
|
||||||
src/motif/mdi/Imakefile
|
|
||||||
src/motif/mdi/Readme
|
|
||||||
src/motif/mdi/config/C++.rules
|
|
||||||
src/motif/mdi/config/MDI.tmpl
|
|
||||||
src/motif/mdi/doc/*.html
|
|
||||||
src/motif/mdi/doc/pics/*.gif
|
|
||||||
src/motif/mdi/lib/*.C
|
|
||||||
src/motif/mdi/lib/*.h
|
|
||||||
src/motif/mdi/lib/*.xbm
|
|
||||||
src/motif/mdi/lib/Imakefile
|
|
||||||
src/motif/mdi/test/*.C
|
|
||||||
src/motif/mdi/test/Imakefile
|
|
||||||
|
|
||||||
include/wx/motif/*.h
|
|
||||||
include/install-sh
|
|
||||||
|
|
||||||
docs/motif/*.txt
|
|
||||||
docs/motif/makewx
|
|
||||||
|
|
||||||
lib/dummy
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -11,6 +11,9 @@ echo CTRL-C if this is not correct.
|
|||||||
pause
|
pause
|
||||||
|
|
||||||
erase %dest\wx200*.zip
|
erase %dest\wx200*.zip
|
||||||
|
erase %dest\glcanvas.zip
|
||||||
|
erase %dest\ogl3.zip
|
||||||
|
erase %dest\tex2rtf2.zip
|
||||||
|
|
||||||
cd %src
|
cd %src
|
||||||
echo Zipping...
|
echo Zipping...
|
||||||
@@ -20,8 +23,9 @@ zip32 -@ %dest\wx200msw.zip < %src\distrib\msw\msw.rsp
|
|||||||
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
|
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
|
||||||
zip32 -@ %dest\wx200stubs.zip < %src\distrib\msw\stubs.rsp
|
zip32 -@ %dest\wx200stubs.zip < %src\distrib\msw\stubs.rsp
|
||||||
zip32 -@ %dest\wx200mot.zip < %src\distrib\msw\motif.rsp
|
zip32 -@ %dest\wx200mot.zip < %src\distrib\msw\motif.rsp
|
||||||
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
|
zip32 -@ %dest\wx200user.zip < %src\distrib\msw\user.rsp
|
||||||
|
|
||||||
|
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
|
||||||
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
|
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
|
||||||
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
|
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
|
||||||
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.rsp
|
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.rsp
|
||||||
|
@@ -23,7 +23,9 @@ wxMotif:
|
|||||||
|
|
||||||
- Setting the size of a hidden window may show that window.
|
- Setting the size of a hidden window may show that window.
|
||||||
|
|
||||||
- Motif-specific wxImage functions not yet implemented.
|
- wxRadioBox sometimes doesn't show (e.g. in controls sample).
|
||||||
|
|
||||||
|
- wxStaticText doesn't wrap.
|
||||||
|
|
||||||
General:
|
General:
|
||||||
--------
|
--------
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
This section describes the so called {\it dynamic arrays}. This is a C
|
This section describes the so called {\it dynamic arrays}. This is a C
|
||||||
array-like data structure i.e. the member access time is constant (and not
|
array-like data structure i.e. the member access time is constant (and not
|
||||||
linear in number of container elements as for linked lists). However, these
|
linear according to the number of container elements as for linked lists). However, these
|
||||||
arrays are dynamic in the sense that they will automatically allocate more
|
arrays are dynamic in the sense that they will automatically allocate more
|
||||||
memory if there is not enough of it for adding a new element. They also perform
|
memory if there is not enough of it for adding a new element. They also perform
|
||||||
range checking on the index values but in debug mode only, so please be sure to
|
range checking on the index values but in debug mode only, so please be sure to
|
||||||
@@ -15,7 +15,7 @@ release build.
|
|||||||
|
|
||||||
The array classes were designed to be reasonably efficient, both in terms of
|
The array classes were designed to be reasonably efficient, both in terms of
|
||||||
run-time speed and memory consumption and the executable size. The speed of
|
run-time speed and memory consumption and the executable size. The speed of
|
||||||
array item access if, of course, constant (independent of number of elements)
|
array item access is, of course, constant (independent of the number of elements)
|
||||||
making them much more efficient than linked lists (\helpref{wxList}{wxlist}).
|
making them much more efficient than linked lists (\helpref{wxList}{wxlist}).
|
||||||
Adding items to the arrays is also implemented in more or less constant time -
|
Adding items to the arrays is also implemented in more or less constant time -
|
||||||
but the price is preallocating the memory in advance. In the \helpref{memory management}{wxarraymemorymanagement} section
|
but the price is preallocating the memory in advance. In the \helpref{memory management}{wxarraymemorymanagement} section
|
||||||
@@ -35,8 +35,8 @@ element type.
|
|||||||
|
|
||||||
wxArray is suitable for storing integer types and pointers which it does not
|
wxArray is suitable for storing integer types and pointers which it does not
|
||||||
treat as objects in any way, i.e. the element pointed to by the pointer is not
|
treat as objects in any way, i.e. the element pointed to by the pointer is not
|
||||||
deleted when the element is removed from the array \&c. It should be noted that
|
deleted when the element is removed from the array. It should be noted that
|
||||||
all of wxArray functions are inline, so it costs strictly nothing to define as
|
all of wxArray's functions are inline, so it costs strictly nothing to define as
|
||||||
many array types as you want (either in terms of the executable size or the
|
many array types as you want (either in terms of the executable size or the
|
||||||
speed) as long as at least one of them is defined and this is always the case
|
speed) as long as at least one of them is defined and this is always the case
|
||||||
because wxArrays are used by wxWindows internally.
|
because wxArrays are used by wxWindows internally.
|
||||||
@@ -94,7 +94,6 @@ class MyDirectory
|
|||||||
WX_DEFINE_OBJARRAY(ArrayOfDirectories);
|
WX_DEFINE_OBJARRAY(ArrayOfDirectories);
|
||||||
|
|
||||||
// that's all!
|
// that's all!
|
||||||
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
It is not as elegant as writing
|
It is not as elegant as writing
|
||||||
@@ -106,7 +105,7 @@ typedef std::vector<MyDirectory> ArrayOfDirectories;
|
|||||||
but is not that complicated and allows the code to be compiled with any, however
|
but is not that complicated and allows the code to be compiled with any, however
|
||||||
dumb, C++ compiler in the world.
|
dumb, C++ compiler in the world.
|
||||||
|
|
||||||
The things are much simpler for wxArray and wxSortedArray however: it is enough
|
Things are much simpler for wxArray and wxSortedArray however: it is enough
|
||||||
just to write
|
just to write
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
@@ -209,7 +208,7 @@ does exactly the same as \helpref{Item()}{wxarrayitem} method.
|
|||||||
|
|
||||||
\membersection{WX\_DEFINE\_ARRAY}\label{wxdefinearray}
|
\membersection{WX\_DEFINE\_ARRAY}\label{wxdefinearray}
|
||||||
|
|
||||||
\func{}{WX\_DEFINE\_ARRAY}{\param{}{T}, \param{name}}
|
\func{}{WX\_DEFINE\_ARRAY}{\param{}{T}, \param{}{name}}
|
||||||
|
|
||||||
This macro defines a new array class named {\it name} and containing the
|
This macro defines a new array class named {\it name} and containing the
|
||||||
elements of type {\it T}. Example:
|
elements of type {\it T}. Example:
|
||||||
@@ -335,11 +334,11 @@ element passed to it is less than, equal to or greater than the second one.
|
|||||||
|
|
||||||
\func{}{wxObjArray}{\param{const wxObjArray\& }{array}}
|
\func{}{wxObjArray}{\param{const wxObjArray\& }{array}}
|
||||||
|
|
||||||
\func{wxArray\&}{operator=}{\param{const wxArray\& }{array}}
|
\func{wxArray\&}{operator$=$}{\param{const wxArray\& }{array}}
|
||||||
|
|
||||||
\func{wxSortedArray\&}{operator=}{\param{const wxSortedArray\& }{array}}
|
\func{wxSortedArray\&}{operator$=$}{\param{const wxSortedArray\& }{array}}
|
||||||
|
|
||||||
\func{wxObjArray\&}{operator=}{\param{const wxObjArray\& }{array}}
|
\func{wxObjArray\&}{operator$=$}{\param{const wxObjArray\& }{array}}
|
||||||
|
|
||||||
The copy constructors and assignment operators perform a shallow array copy
|
The copy constructors and assignment operators perform a shallow array copy
|
||||||
(i.e. they don't copy the objects pointed to even if the source array contains
|
(i.e. they don't copy the objects pointed to even if the source array contains
|
||||||
@@ -348,11 +347,11 @@ the array element are copied too) for wxObjArray.
|
|||||||
|
|
||||||
\membersection{wxArray::\destruct{wxArray}}\label{wxarraydtor}
|
\membersection{wxArray::\destruct{wxArray}}\label{wxarraydtor}
|
||||||
|
|
||||||
\func{}{\destruct{wxArray}}{}
|
\func{}{\destruct{wxArray}}{\void}
|
||||||
|
|
||||||
\func{}{\destruct{wxSortedArray}}{}
|
\func{}{\destruct{wxSortedArray}}{\void}
|
||||||
|
|
||||||
\func{}{\destruct{wxObjArray}}{}
|
\func{}{\destruct{wxObjArray}}{\void}
|
||||||
|
|
||||||
The wxObjArray destructor deletes all the items owned by the array. This is not
|
The wxObjArray destructor deletes all the items owned by the array. This is not
|
||||||
done by wxArray and wxSortedArray versions - you may use
|
done by wxArray and wxSortedArray versions - you may use
|
||||||
|
@@ -198,6 +198,7 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
|||||||
\input thread.tex
|
\input thread.tex
|
||||||
\input time.tex
|
\input time.tex
|
||||||
\input timer.tex
|
\input timer.tex
|
||||||
|
\input tokenizr.tex
|
||||||
\input toolbar.tex
|
\input toolbar.tex
|
||||||
\input treectrl.tex
|
\input treectrl.tex
|
||||||
\input treeevt.tex
|
\input treeevt.tex
|
||||||
|
@@ -33,14 +33,14 @@ enum wxDragResult
|
|||||||
|
|
||||||
\membersection{wxDropSource::wxDropSource}\label{wxdropsourcewxdropsource}
|
\membersection{wxDropSource::wxDropSource}\label{wxdropsourcewxdropsource}
|
||||||
|
|
||||||
\func{}{wxDropSource}{\param{wxWindow }{*win = NULL}}
|
\func{}{wxDropSource}{\param{wxWindow*}{ win = NULL}}
|
||||||
|
|
||||||
Default/wxGTK-specific constructor. If you use the default constructor you must
|
Default/wxGTK-specific constructor. If you use the default constructor you must
|
||||||
call \helpref{wxDropSource::SetData}{wxdropsourcesetdata} later.
|
call \helpref{wxDropSource::SetData}{wxdropsourcesetdata} later.
|
||||||
|
|
||||||
{\it win} is required by wxGTK and therefore should always be set.
|
{\it win} is required by wxGTK and therefore should always be set.
|
||||||
|
|
||||||
\func{}{wxDropSource}{\param{wxDataObject }{\&data}, \param{wxWindow }{*win = NULL}}
|
\func{}{wxDropSource}{\param{wxDataObject\& }{data}, \param{wxWindow*}{ win = NULL}}
|
||||||
|
|
||||||
\wxheading{Parameters}
|
\wxheading{Parameters}
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ call \helpref{wxDropSource::SetData}{wxdropsourcesetdata} later.
|
|||||||
|
|
||||||
\membersection{wxDropSource::SetData}\label{wxdropsourcesetdata}
|
\membersection{wxDropSource::SetData}\label{wxdropsourcesetdata}
|
||||||
|
|
||||||
\func{void}{SetData}{\param{wxDataObject }{\&data}}
|
\func{void}{SetData}{\param{wxDataObject\&}{ data}}
|
||||||
|
|
||||||
Sets the data \helpref{data object}{wxdataobject} associated with the drop source.
|
Sets the data \helpref{data object}{wxdataobject} associated with the drop source.
|
||||||
|
|
||||||
|
@@ -79,7 +79,7 @@ See \helpref{Read}{wxstreambufreadbuf}
|
|||||||
|
|
||||||
\membersection{wxStreamBuffer::WriteBack}
|
\membersection{wxStreamBuffer::WriteBack}
|
||||||
|
|
||||||
\func{size\_t}{WriteBack}{\param{const char *}{buffer}, \param{size\_t}{ size}}
|
\func{size\_t}{WriteBack}{\param{const char*}{ buffer}, \param{size\_t}{ size}}
|
||||||
|
|
||||||
This function is only useful in ``read'' mode. It puts the specified \it{buffer}
|
This function is only useful in ``read'' mode. It puts the specified \it{buffer}
|
||||||
in the input queue of the stream buf. By this way, the next
|
in the input queue of the stream buf. By this way, the next
|
||||||
@@ -127,7 +127,7 @@ Frees all internal buffers and resets to initial state all variables.
|
|||||||
|
|
||||||
\membersection{wxStreamBuffer::SetBufferIO}
|
\membersection{wxStreamBuffer::SetBufferIO}
|
||||||
|
|
||||||
\func{void}{SetBufferIO}{\param{char *}{ buffer\_start}, \param{char *}{ buffer\_end}}
|
\func{void}{SetBufferIO}{\param{char*}{ buffer\_start}, \param{char*}{ buffer\_end}}
|
||||||
|
|
||||||
Specifies which pointers to use for stream buffering. You need to pass a pointer on the
|
Specifies which pointers to use for stream buffering. You need to pass a pointer on the
|
||||||
start of the buffer end and another on the end.
|
start of the buffer end and another on the end.
|
||||||
@@ -212,7 +212,7 @@ Returns the amount of available datas in the buffer.
|
|||||||
% --------------
|
% --------------
|
||||||
\membersection{wxStreamBuffer::Stream}
|
\membersection{wxStreamBuffer::Stream}
|
||||||
|
|
||||||
\func{wxStreamBase *}{Stream}{\void}
|
\func{wxStreamBase*}{Stream}{\void}
|
||||||
|
|
||||||
Returns the stream parent of the stream buffer.
|
Returns the stream parent of the stream buffer.
|
||||||
|
|
||||||
|
@@ -21,46 +21,53 @@ None
|
|||||||
% -----------
|
% -----------
|
||||||
|
|
||||||
\membersection{wxStreamBase::wxStreamBase}
|
\membersection{wxStreamBase::wxStreamBase}
|
||||||
|
|
||||||
\func{}{wxStreamBase}{\void}
|
\func{}{wxStreamBase}{\void}
|
||||||
|
|
||||||
Creates a dummy stream object.
|
Creates a dummy stream object.
|
||||||
|
|
||||||
\membersection{wxStreamBase::\destruct{wxStreamBase}}
|
\membersection{wxStreamBase::\destruct{wxStreamBase}}
|
||||||
|
|
||||||
\func{}{\destruct{wxStreamBase}}
|
\func{}{\destruct{wxStreamBase}}
|
||||||
|
|
||||||
Destructor.
|
Destructor.
|
||||||
|
|
||||||
\membersection{wxStreamBase::LastError}
|
\membersection{wxStreamBase::LastError}
|
||||||
|
|
||||||
\constfunc{wxStreamError}{LastError}{\void}
|
\constfunc{wxStreamError}{LastError}{\void}
|
||||||
|
|
||||||
This function returns the last happened error. It is of the form:
|
This function returns the last error.
|
||||||
% TODOTODOTODOTODOTODOTODOTODO
|
% It is of the form:
|
||||||
|
% TODO
|
||||||
|
|
||||||
\membersection{wxStreamBase::StreamSize}
|
\membersection{wxStreamBase::StreamSize}
|
||||||
\constfunc{size_t}{StreamSize}{\void}
|
\constfunc{size_t}{StreamSize}{\void}
|
||||||
|
|
||||||
This function returns the size of the stream. (E.g. for a file it the size of
|
This function returns the size of the stream. For example, for a file it is the size of
|
||||||
the file) Warning ! There are streams which haven't size by definition (E.g.
|
the file). Warning! There are streams which do not have size by definition, such as a socket.
|
||||||
a socket).
|
|
||||||
|
|
||||||
\membersection{wxStreamBase::OnSysRead}\label{wxstreambaseonsysread}
|
\membersection{wxStreamBase::OnSysRead}\label{wxstreambaseonsysread}
|
||||||
\func{size_t}{OnSysRead}{\param{void *}{buffer}, \param{size_t}{ bufsize}}
|
|
||||||
|
\func{size_t}{OnSysRead}{\param{void*}{ buffer}, \param{size_t}{ bufsize}}
|
||||||
|
|
||||||
Internal function. It is called when the stream buffer needs a buffer of the
|
Internal function. It is called when the stream buffer needs a buffer of the
|
||||||
specified size. It should return the size which was actually read.
|
specified size. It should return the size that was actually read.
|
||||||
|
|
||||||
\membersection{wxStreamBase::OnSysWrite}
|
\membersection{wxStreamBase::OnSysWrite}
|
||||||
|
|
||||||
\func{size_t}{OnSysWrite}{\param{void *}{buffer}, \param{size_t}{ bufsize}}
|
\func{size_t}{OnSysWrite}{\param{void *}{buffer}, \param{size_t}{ bufsize}}
|
||||||
|
|
||||||
See \helpref{OnSysRead}{wxstreambaseonsysread}.
|
See \helpref{OnSysRead}{wxstreambaseonsysread}.
|
||||||
|
|
||||||
\membersection{wxStreamBase::OnSysSeek}
|
\membersection{wxStreamBase::OnSysSeek}
|
||||||
|
|
||||||
\func{off_t}{OnSysSeek}{\param{off_t}{ pos}, \param{wxSeekMode}{ mode}}
|
\func{off_t}{OnSysSeek}{\param{off_t}{ pos}, \param{wxSeekMode}{ mode}}
|
||||||
|
|
||||||
Internal function. It is called when the stream buffer needs to change the
|
Internal function. It is called when the stream buffer needs to change the
|
||||||
current position in the stream. See \helpref{wxStreamBuffer::Seek}{wxstreambufferseek}
|
current position in the stream. See \helpref{wxStreamBuffer::Seek}{wxstreambufferseek}
|
||||||
|
|
||||||
\membersection{wxStreamBase::OnSysTell}
|
\membersection{wxStreamBase::OnSysTell}
|
||||||
|
|
||||||
\constfunc{off_t}{OnSysTell}{\void}
|
\constfunc{off_t}{OnSysTell}{\void}
|
||||||
|
|
||||||
Internal function. Is is called when the stream buffer needs to know the
|
Internal function. Is is called when the stream buffer needs to know the
|
||||||
@@ -69,7 +76,6 @@ current position in the stream.
|
|||||||
% -----------------------------------------------------------------------------
|
% -----------------------------------------------------------------------------
|
||||||
% wxInputStream
|
% wxInputStream
|
||||||
% -----------------------------------------------------------------------------
|
% -----------------------------------------------------------------------------
|
||||||
|
|
||||||
\section{\class{wxInputStream}}\label{wxinputstream}
|
\section{\class{wxInputStream}}\label{wxinputstream}
|
||||||
|
|
||||||
\wxheading{Derived from}
|
\wxheading{Derived from}
|
||||||
@@ -83,8 +89,8 @@ current position in the stream.
|
|||||||
% -----------
|
% -----------
|
||||||
% ctor & dtor
|
% ctor & dtor
|
||||||
% -----------
|
% -----------
|
||||||
|
|
||||||
\membersection{wxInputStream::wxInputStream}
|
\membersection{wxInputStream::wxInputStream}
|
||||||
|
|
||||||
\func{}{wxInputStream}{\void}
|
\func{}{wxInputStream}{\void}
|
||||||
|
|
||||||
Creates a dummy input stream.
|
Creates a dummy input stream.
|
||||||
@@ -95,6 +101,7 @@ Creates an input stream using the specified stream buffer \it{sbuf}. This
|
|||||||
stream buffer can point to another stream.
|
stream buffer can point to another stream.
|
||||||
|
|
||||||
\membersection{wxInputStream::\destruct{wxInputStream}}
|
\membersection{wxInputStream::\destruct{wxInputStream}}
|
||||||
|
|
||||||
\func{}{\destruct{wxInputStream}}
|
\func{}{\destruct{wxInputStream}}
|
||||||
|
|
||||||
Destructor.
|
Destructor.
|
||||||
@@ -102,41 +109,45 @@ Destructor.
|
|||||||
% -----------
|
% -----------
|
||||||
% IO function
|
% IO function
|
||||||
% -----------
|
% -----------
|
||||||
|
|
||||||
\membersection{wxInputStream::Peek}
|
\membersection{wxInputStream::Peek}
|
||||||
|
|
||||||
\func{char}{Peek}{\void}
|
\func{char}{Peek}{\void}
|
||||||
|
|
||||||
Returns the first character in the input queue without removing it.
|
Returns the first character in the input queue without removing it.
|
||||||
|
|
||||||
\membersection{wxInputStream::GetC}
|
\membersection{wxInputStream::GetC}
|
||||||
|
|
||||||
\func{char}{GetC}{\void}
|
\func{char}{GetC}{\void}
|
||||||
|
|
||||||
Returns the first character in the input queue and removes it.
|
Returns the first character in the input queue and removes it.
|
||||||
|
|
||||||
\membersection{wxInputStream::Read}
|
\membersection{wxInputStream::Read}
|
||||||
\func{wxInputStream&}{Read}{\param{void *}{buffer}, \param{size_t}{ size}}
|
|
||||||
|
\func{wxInputStream\&}{Read}{\param{void *}{buffer}, \param{size_t}{ size}}
|
||||||
|
|
||||||
Reads the specified amount of bytes and stores the data in \it{buffer}.
|
Reads the specified amount of bytes and stores the data in \it{buffer}.
|
||||||
\it{WARNING !} The buffer needs absolutely to have at least the specified size.
|
|
||||||
|
\it{WARNING!} The buffer absolutely needs to have at least the specified size.
|
||||||
|
|
||||||
This function returns a reference on the current object, so the user can test
|
This function returns a reference on the current object, so the user can test
|
||||||
any states of the stream right away.
|
any states of the stream right away.
|
||||||
|
|
||||||
\func{wxInputStream&}{Read}{\param{wxOutputStream&}{ stream_out}}
|
\func{wxInputStream\&}{Read}{\param{wxOutputStream\&}{ stream_out}}
|
||||||
|
|
||||||
Reads data from the input queue and stores them in the specified output stream.
|
Reads data from the input queue and stores it in the specified output stream.
|
||||||
The data is read until an error is raised by one of the two streams.
|
The data is read until an error is raised by one of the two streams.
|
||||||
|
|
||||||
% ------------------
|
% ------------------
|
||||||
% Position functions
|
% Position functions
|
||||||
% ------------------
|
% ------------------
|
||||||
|
|
||||||
\membersection{wxInputStream::SeekI}
|
\membersection{wxInputStream::SeekI}
|
||||||
|
|
||||||
\func{off_t}{SeekI}{\param{off_t}{ pos}, \param{wxSeekMode}{ mode = wxFromStart}}
|
\func{off_t}{SeekI}{\param{off_t}{ pos}, \param{wxSeekMode}{ mode = wxFromStart}}
|
||||||
|
|
||||||
Changes the stream current position.
|
Changes the stream current position.
|
||||||
|
|
||||||
\membersection{wxInputStream::TellI}
|
\membersection{wxInputStream::TellI}
|
||||||
|
|
||||||
\constfunc{off_t}{TellI}{\void}
|
\constfunc{off_t}{TellI}{\void}
|
||||||
|
|
||||||
Returns the current stream position.
|
Returns the current stream position.
|
||||||
@@ -144,13 +155,14 @@ Returns the current stream position.
|
|||||||
% ---------------
|
% ---------------
|
||||||
% State functions
|
% State functions
|
||||||
% ---------------
|
% ---------------
|
||||||
|
|
||||||
\membersection{wxInputStream::InputStreamBuffer}
|
\membersection{wxInputStream::InputStreamBuffer}
|
||||||
\func{wxStreamBuffer *}{InputStreamBuffer}{\void}
|
|
||||||
|
\func{wxStreamBuffer*}{InputStreamBuffer}{\void}
|
||||||
|
|
||||||
Returns the stream buffer associated with the input stream.
|
Returns the stream buffer associated with the input stream.
|
||||||
|
|
||||||
\membersection{wxInputStream::LastRead}
|
\membersection{wxInputStream::LastRead}
|
||||||
|
|
||||||
\constfunc{size_t}{LastRead}{\void}
|
\constfunc{size_t}{LastRead}{\void}
|
||||||
|
|
||||||
Returns the last amount of bytes read.
|
Returns the last amount of bytes read.
|
||||||
@@ -158,7 +170,6 @@ Returns the last amount of bytes read.
|
|||||||
% -----------------------------------------------------------------------------
|
% -----------------------------------------------------------------------------
|
||||||
% wxOutputStream
|
% wxOutputStream
|
||||||
% -----------------------------------------------------------------------------
|
% -----------------------------------------------------------------------------
|
||||||
|
|
||||||
\section{\class{wx0utputStream}}\label{wxoutputstream}
|
\section{\class{wx0utputStream}}\label{wxoutputstream}
|
||||||
|
|
||||||
\wxheading{Derived from}
|
\wxheading{Derived from}
|
||||||
@@ -172,18 +183,19 @@ Returns the last amount of bytes read.
|
|||||||
% -----------
|
% -----------
|
||||||
% ctor & dtor
|
% ctor & dtor
|
||||||
% -----------
|
% -----------
|
||||||
|
|
||||||
\membersection{wxOutputStream::wxOutputStream}
|
\membersection{wxOutputStream::wxOutputStream}
|
||||||
|
|
||||||
\func{}{wxOutputStream}{\void}
|
\func{}{wxOutputStream}{\void}
|
||||||
|
|
||||||
Creates a dummy wxOutputStream object.
|
Creates a dummy wxOutputStream object.
|
||||||
|
|
||||||
\func{}{wxOutputStream}{\param{wxStreamBuffer *}{sbuf}}
|
\func{}{wxOutputStream}{\param{wxStreamBuffer*}{ sbuf}}
|
||||||
|
|
||||||
Creates an input stream using the specified stream buffer \it{sbuf}. This
|
Creates an input stream using the specified stream buffer \it{sbuf}. This
|
||||||
stream buffer can point to another stream.
|
stream buffer can point to another stream.
|
||||||
|
|
||||||
\membersection{wxOutputStream::\destruct{wxOutputStream}}
|
\membersection{wxOutputStream::\destruct{wxOutputStream}}
|
||||||
|
|
||||||
\func{}{\destruct{wxOutputStream}}
|
\func{}{\destruct{wxOutputStream}}
|
||||||
|
|
||||||
Destructor.
|
Destructor.
|
||||||
@@ -191,23 +203,24 @@ Destructor.
|
|||||||
% -----------
|
% -----------
|
||||||
% IO function
|
% IO function
|
||||||
% -----------
|
% -----------
|
||||||
|
|
||||||
\membersection{wxOutputStream::PutC}
|
\membersection{wxOutputStream::PutC}
|
||||||
|
|
||||||
\func{void}{PutC}{\param{char}{ c}}
|
\func{void}{PutC}{\param{char}{ c}}
|
||||||
|
|
||||||
Puts the specified character in the output queue and increments the
|
Puts the specified character in the output queue and increments the
|
||||||
stream position.
|
stream position.
|
||||||
|
|
||||||
\membersection{wxOutputStream::Write}
|
\membersection{wxOutputStream::Write}
|
||||||
\func{wxOutputStream&}{Write}{\param{const void *}{buffer}, \param{size_t}{ size}}
|
|
||||||
|
\func{wxOutputStream\&}{Write}{\param{const void *}{buffer}, \param{size_t}{ size}}
|
||||||
|
|
||||||
Writes the specified amount of bytes using the data of \it{buffer}.
|
Writes the specified amount of bytes using the data of \it{buffer}.
|
||||||
\it{WARNING !} The buffer needs absolutely to have at least the specified size.
|
\it{WARNING!} The buffer absolutely needs to have at least the specified size.
|
||||||
|
|
||||||
This function returns a reference on the current object, so the user can test
|
This function returns a reference on the current object, so the user can test
|
||||||
any states of the stream right away.
|
any states of the stream right away.
|
||||||
|
|
||||||
\func{wxOutputStream&}{Write}{\param{wxInputStream&}{ stream_in}}
|
\func{wxOutputStream\&}{Write}{\param{wxInputStream\&}{ stream_in}}
|
||||||
|
|
||||||
Reads data from the specified input stream and stores them
|
Reads data from the specified input stream and stores them
|
||||||
in the current stream. The data is read until an error is raised
|
in the current stream. The data is read until an error is raised
|
||||||
@@ -216,13 +229,14 @@ by one of the two streams.
|
|||||||
% ------------------
|
% ------------------
|
||||||
% Position functions
|
% Position functions
|
||||||
% ------------------
|
% ------------------
|
||||||
|
|
||||||
\membersection{wxOutputStream::SeekO}
|
\membersection{wxOutputStream::SeekO}
|
||||||
|
|
||||||
\func{off_t}{SeekO}{\param{off_t}{ pos}, \param{wxSeekMode}}
|
\func{off_t}{SeekO}{\param{off_t}{ pos}, \param{wxSeekMode}}
|
||||||
|
|
||||||
Changes the stream current position.
|
Changes the stream current position.
|
||||||
|
|
||||||
\membersection{wxOutputStream::TellO}
|
\membersection{wxOutputStream::TellO}
|
||||||
|
|
||||||
\constfunc{off_t}{TellO}{\void}
|
\constfunc{off_t}{TellO}{\void}
|
||||||
|
|
||||||
Returns the current stream position.
|
Returns the current stream position.
|
||||||
@@ -230,20 +244,19 @@ Returns the current stream position.
|
|||||||
% ---------------
|
% ---------------
|
||||||
% State functions
|
% State functions
|
||||||
% ---------------
|
% ---------------
|
||||||
|
|
||||||
\membersection{wxOutputStream::OutputStreamBuffer}
|
\membersection{wxOutputStream::OutputStreamBuffer}
|
||||||
|
|
||||||
\func{wxStreamBuffer *}{OutputStreamBuffer}{\void}
|
\func{wxStreamBuffer *}{OutputStreamBuffer}{\void}
|
||||||
|
|
||||||
Returns the stream buffer associated with the output stream.
|
Returns the stream buffer associated with the output stream.
|
||||||
|
|
||||||
\membersection{wxOutputStream::LastWrite}
|
\membersection{wxOutputStream::LastWrite}
|
||||||
\constfunc{size_t}{LastWrite}{\void}
|
|
||||||
|
|
||||||
|
\constfunc{size_t}{LastWrite}{\void}
|
||||||
|
|
||||||
% -----------------------------------------------------------------------------
|
% -----------------------------------------------------------------------------
|
||||||
% wxFilterInputStream
|
% wxFilterInputStream
|
||||||
% -----------------------------------------------------------------------------
|
% -----------------------------------------------------------------------------
|
||||||
|
|
||||||
\section{\class{wxFilterInputStream}}\label{wxfilterinputstream}
|
\section{\class{wxFilterInputStream}}\label{wxfilterinputstream}
|
||||||
|
|
||||||
\wxheading{Derived from}
|
\wxheading{Derived from}
|
||||||
@@ -259,12 +272,12 @@ differs and it is documented below.
|
|||||||
% ctor & dtor
|
% ctor & dtor
|
||||||
% -----------
|
% -----------
|
||||||
\membersection{wxFilterInputStream::wxFilterInputStream}
|
\membersection{wxFilterInputStream::wxFilterInputStream}
|
||||||
\func{}{wxFilterInputStream}{\param{wxInputStream&}{ stream}}
|
|
||||||
|
\func{}{wxFilterInputStream}{\param{wxInputStream\&}{ stream}}
|
||||||
|
|
||||||
% -----------------------------------------------------------------------------
|
% -----------------------------------------------------------------------------
|
||||||
% wxFilterOutputStream
|
% wxFilterOutputStream
|
||||||
% -----------------------------------------------------------------------------
|
% -----------------------------------------------------------------------------
|
||||||
|
|
||||||
\section{\class{wxFilterOutputStream}}\label{wxfilteroutputstream}
|
\section{\class{wxFilterOutputStream}}\label{wxfilteroutputstream}
|
||||||
|
|
||||||
\wxheading{Derived from}
|
\wxheading{Derived from}
|
||||||
@@ -280,4 +293,5 @@ differs and it is documented below.
|
|||||||
% ctor & dtor
|
% ctor & dtor
|
||||||
% -----------
|
% -----------
|
||||||
\membersection{wxFilterOutputStream::wxFilterOutputStream}
|
\membersection{wxFilterOutputStream::wxFilterOutputStream}
|
||||||
\func{}{wxFilterOutputStream}{\param{wxOutputStream&}{ stream}}
|
|
||||||
|
\func{}{wxFilterOutputStream}{\param{wxOutputStream\&}{ stream}}
|
||||||
|
@@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
Classes: \helpref{wxList}{wxlist}, \helpref{wxArray}{wxarray}
|
Classes: \helpref{wxList}{wxlist}, \helpref{wxArray}{wxarray}
|
||||||
|
|
||||||
wxWindows uses itself several container classes including (double) linked lists
|
wxWindows uses itself several container classes including doubly-linked lists
|
||||||
and dynamic arrays (i.e. arrays which expand automatically when they become
|
and dynamic arrays (i.e. arrays which expand automatically when they become
|
||||||
full). For both historical and portability reasons wxWindows does not
|
full). For both historical and portability reasons wxWindows does not
|
||||||
use STL which provides the standard implementation of many container classes in
|
use STL which provides the standard implementation of many container classes in
|
||||||
C++: first of all, wxWindows had existed well before STL was written and
|
C++. First of all, wxWindows has existed since well before STL was written, and
|
||||||
secondly we don't believe that today compilers can deal really well with all of
|
secondly we don't believe that today compilers can deal really well with all of
|
||||||
STL classes (this is especially true for some less common platforms). Of
|
STL classes (this is especially true for some less common platforms). Of
|
||||||
course, the compilers are evolving quite rapidly and hopefully their progress
|
course, the compilers are evolving quite rapidly and hopefully their progress
|
||||||
@@ -18,20 +18,20 @@ ones, but they are quite useful and may be compiled with absolutely any C++
|
|||||||
compiler. They're used internally by wxWindows, but may, of course, be used in
|
compiler. They're used internally by wxWindows, but may, of course, be used in
|
||||||
your programs as well if you wish.
|
your programs as well if you wish.
|
||||||
|
|
||||||
The list classes in wxWindows are double-linked lists which may either own the
|
The list classes in wxWindows are doubly-linked lists which may either own the
|
||||||
objects they contain (meaning that the list deletes the object when it is
|
objects they contain (meaning that the list deletes the object when it is
|
||||||
removed from the list or the list itself is destroyed) or just store the
|
removed from the list or the list itself is destroyed) or just store the
|
||||||
pointers depending on whether you called or not
|
pointers depending on whether you called or not
|
||||||
\helpref{wxList::DeleteContents}{wxlistdeletecontents} method.
|
\helpref{wxList::DeleteContents}{wxlistdeletecontents} method.
|
||||||
|
|
||||||
Dynamic arrays resemble to C arrays but with two important differences: they
|
Dynamic arrays resemble C arrays but with two important differences: they
|
||||||
provide run-time range checking in debug builds and they expand automatically
|
provide run-time range checking in debug builds and they expand automatically
|
||||||
the allocated memory when there is no more space for new items. They come in
|
the allocated memory when there is no more space for new items. They come in
|
||||||
two sorts: the "plain" arrays which store either built-in types such as "char",
|
two sorts: the "plain" arrays which store either built-in types such as "char",
|
||||||
"int" or "bool" or the pointers to arbitrary objects, or "object arrays" which
|
"int" or "bool" or the pointers to arbitrary objects, or "object arrays" which
|
||||||
own the object pointers to which they store.
|
own the object pointers to which they store.
|
||||||
|
|
||||||
For the same portability reasons, container classes implementation in wxWindows
|
For the same portability reasons, the container classes implementation in wxWindows
|
||||||
does not use templates, but is rather based on C preprocessor i.e. is done with
|
does not use templates, but is rather based on C preprocessor i.e. is done with
|
||||||
the macros: {\it WX\_DECLARE\_LIST} and {\it WX\_DEFINE\_LIST} for the linked
|
the macros: {\it WX\_DECLARE\_LIST} and {\it WX\_DEFINE\_LIST} for the linked
|
||||||
lists and {\it WX\_DECLARE\_ARRAY}, {\it WX\_DECLARE\_OBJARRAY} and {\it WX\_DEFINE\_OBJARRAY} for
|
lists and {\it WX\_DECLARE\_ARRAY}, {\it WX\_DECLARE\_OBJARRAY} and {\it WX\_DEFINE\_OBJARRAY} for
|
||||||
@@ -44,7 +44,7 @@ declaration), otherwise destructors of the container elements will not be
|
|||||||
called! As array classes never delete the items they contain anyhow, there is
|
called! As array classes never delete the items they contain anyhow, there is
|
||||||
no WX\_DEFINE\_ARRAY macro for them.
|
no WX\_DEFINE\_ARRAY macro for them.
|
||||||
|
|
||||||
Examples of usage of these macros may be found in \helpref{wxList}{wxlist} and
|
Examples of usage of these macros may be found in \helpref{wxList}{wxlist} and
|
||||||
\helpref{wxArray}{wxarray} documentation.
|
\helpref{wxArray}{wxarray} documentation.
|
||||||
|
|
||||||
Finally, wxWindows predefines several commonly used container classes. wxList
|
Finally, wxWindows predefines several commonly used container classes. wxList
|
||||||
|
@@ -11,7 +11,6 @@
|
|||||||
% ----------------------------------------------------------------------------
|
% ----------------------------------------------------------------------------
|
||||||
% Members
|
% Members
|
||||||
% ----------------------------------------------------------------------------
|
% ----------------------------------------------------------------------------
|
||||||
|
|
||||||
\latexignore{\rtfignore{\membersection{Members}}}
|
\latexignore{\rtfignore{\membersection{Members}}}
|
||||||
|
|
||||||
\membersection{wxURL::wxURL}\label{wxurlconstr}
|
\membersection{wxURL::wxURL}\label{wxurlconstr}
|
||||||
|
@@ -3,8 +3,6 @@ Outstanding issues
|
|||||||
|
|
||||||
(see also todo.txt)
|
(see also todo.txt)
|
||||||
|
|
||||||
- wxTreeCtrl, wxListCtrl need some debugging (probably mostly
|
|
||||||
wxMotif scrolling issues).
|
|
||||||
- wxTextCtrl doesn't work as a stream buffer in Linux/gcc
|
- wxTextCtrl doesn't work as a stream buffer in Linux/gcc
|
||||||
- No wxSpinButton
|
- No wxSpinButton
|
||||||
- Need a way of specifying default settings for colour/font/etc.
|
- Need a way of specifying default settings for colour/font/etc.
|
||||||
|
@@ -44,8 +44,6 @@ High Priority
|
|||||||
|
|
||||||
- Miscellaneous events.
|
- Miscellaneous events.
|
||||||
|
|
||||||
- wxGLCanvas: cure bad flicker
|
|
||||||
|
|
||||||
- Use wxImage to load other formats into wxBitmaps, such as PNG, BMP.
|
- Use wxImage to load other formats into wxBitmaps, such as PNG, BMP.
|
||||||
|
|
||||||
Low Priority
|
Low Priority
|
||||||
|
@@ -1,76 +1,17 @@
|
|||||||
#
|
#
|
||||||
# File: makefile.unx
|
# File: makefile.unx
|
||||||
# Author: Julian Smart
|
# Author: Julian Smart
|
||||||
# Created: 1993
|
# Created: 1998
|
||||||
# Updated:
|
# Updated:
|
||||||
# Copyright: (c) 1993, AIAI, University of Edinburgh
|
# Copyright: (c) 1998 Julian Smart
|
||||||
#
|
#
|
||||||
# "%W% %G%"
|
# "%W% %G%"
|
||||||
#
|
#
|
||||||
# Makefile for resource example (UNIX).
|
# Makefile for nativdlg example (UNIX).
|
||||||
|
# Actually, this is a Windows-specific example...
|
||||||
|
|
||||||
WXDIR = ../..
|
PROGRAM=nativdlg
|
||||||
|
|
||||||
# All common UNIX compiler flags and options are now in
|
OBJECTS=$(PROGRAM).o
|
||||||
# this central makefile.
|
|
||||||
include $(WXDIR)/src/make.env
|
|
||||||
|
|
||||||
OBJECTS=$(OBJDIR)/resource.$(OBJSUFF)
|
|
||||||
|
|
||||||
.SUFFIXES:
|
|
||||||
|
|
||||||
all: $(OBJDIR) resource$(GUISUFFIX)
|
|
||||||
|
|
||||||
wxmotif:
|
|
||||||
cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx motif
|
|
||||||
|
|
||||||
wxxview:
|
|
||||||
cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx xview
|
|
||||||
|
|
||||||
wxhp:
|
|
||||||
cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx hp
|
|
||||||
|
|
||||||
# For SGI, include -lPW on your LDLIBS
|
|
||||||
motif: wxmotif
|
|
||||||
$(MAKE) -f makefile.unx all GUISUFFIX=_motif GUI=-Dwx_motif GUISUFFIX=_motif OPT='$(OPT)' LDLIBS='$(MOTIFLDLIBS)' WXLIB=$(WXDIR)/lib/libwx_motif.a OPTIONS='$(OPTIONS)' DEBUG='$(DEBUG)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)' XVIEW_LINK=
|
|
||||||
|
|
||||||
xview: wxxview
|
|
||||||
$(MAKE) -f makefile.unx GUI=-Dwx_xview GUISUFFIX=_ol CC=$(CC) OPTIONS='$(OPTIONS)' DEBUG='$(DEBUG)' WARN='$(WARN)' XLIB='$(XLIB)' XINCLUDE='$(XINCLUDE)' LDLIBS='$(XVIEWLDLIBS)'
|
|
||||||
|
|
||||||
hp: wxhp
|
|
||||||
$(MAKE) -f makefile.unx GUI=-Dwx_motif GUISUFFIX=_hp CC=CC OPT='' DEBUG='$(DEBUG)' WARN='-w' \
|
|
||||||
XINCLUDE='$(HPXINCLUDE)' \
|
|
||||||
XLIB='$(HPXLIB)' \
|
|
||||||
XVIEW_LINK='' \
|
|
||||||
LDLIBS='$(HPLDLIBS)'
|
|
||||||
|
|
||||||
$(OBJDIR):
|
|
||||||
mkdir $(OBJDIR)
|
|
||||||
|
|
||||||
resource$(GUISUFFIX): $(OBJDIR)/resource.$(OBJSUFF) $(WXLIB)
|
|
||||||
$(CC) $(LDFLAGS) -o resource$(GUISUFFIX) $(OBJDIR)/resource.$(OBJSUFF) $(XVIEW_LINK) $(LDLIBS)
|
|
||||||
|
|
||||||
$(OBJDIR)/resource.$(OBJSUFF): resource.$(SRCSUFF) resource.h
|
|
||||||
$(CC) -c $(CPPFLAGS) -o $@ resource.$(SRCSUFF)
|
|
||||||
|
|
||||||
clean_motif:
|
|
||||||
$(MAKE) -f makefile.unx GUISUFFIX=_motif cleanany
|
|
||||||
|
|
||||||
clean_ol:
|
|
||||||
$(MAKE) -f makefile.unx GUISUFFIX=_ol cleanany
|
|
||||||
|
|
||||||
clean_hp:
|
|
||||||
$(MAKE) -f makefile.unx GUISUFFIX=_hp cleanany
|
|
||||||
|
|
||||||
cleanany:
|
|
||||||
rm -f $(OBJECTS) resource$(GUISUFFIX) core
|
|
||||||
|
|
||||||
wxclean_ol:
|
|
||||||
cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx clean_ol
|
|
||||||
|
|
||||||
wxclean_motif:
|
|
||||||
cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx clean_motif
|
|
||||||
|
|
||||||
wxclean_hp:
|
|
||||||
cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx clean_hp
|
|
||||||
|
|
||||||
|
include ../../src/makeprog.env
|
||||||
|
@@ -241,7 +241,7 @@ void wxDataBroker::WriteData( wxDataFormat& format, void *dest ) const
|
|||||||
|
|
||||||
if (dobj->GetFormat().GetAtom() == format.GetAtom())
|
if (dobj->GetFormat().GetAtom() == format.GetAtom())
|
||||||
{
|
{
|
||||||
return dobj->WriteData( dest );
|
dobj->WriteData( dest );
|
||||||
}
|
}
|
||||||
|
|
||||||
node = node->Next();
|
node = node->Next();
|
||||||
@@ -279,7 +279,7 @@ wxString wxDataObject::GetFormatId() const
|
|||||||
|
|
||||||
GdkAtom wxDataObject::GetFormatAtom() const
|
GdkAtom wxDataObject::GetFormatAtom() const
|
||||||
{
|
{
|
||||||
GdkAtom ret = m_format.GetAtom();
|
GdkAtom ret = ((wxDataObject*) this)->m_format.GetAtom();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -241,7 +241,7 @@ void wxDataBroker::WriteData( wxDataFormat& format, void *dest ) const
|
|||||||
|
|
||||||
if (dobj->GetFormat().GetAtom() == format.GetAtom())
|
if (dobj->GetFormat().GetAtom() == format.GetAtom())
|
||||||
{
|
{
|
||||||
return dobj->WriteData( dest );
|
dobj->WriteData( dest );
|
||||||
}
|
}
|
||||||
|
|
||||||
node = node->Next();
|
node = node->Next();
|
||||||
@@ -279,7 +279,7 @@ wxString wxDataObject::GetFormatId() const
|
|||||||
|
|
||||||
GdkAtom wxDataObject::GetFormatAtom() const
|
GdkAtom wxDataObject::GetFormatAtom() const
|
||||||
{
|
{
|
||||||
GdkAtom ret = m_format.GetAtom();
|
GdkAtom ret = ((wxDataObject*) this)->m_format.GetAtom();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
14
src/makelib.env
Normal file
14
src/makelib.env
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Makes a library in Unix (Motif)
|
||||||
|
|
||||||
|
# Replace this with your own path if necessary
|
||||||
|
WXDIR = $(WXWIN)
|
||||||
|
include $(WXDIR)/src/make.env
|
||||||
|
|
||||||
|
all: $(LIBTARGET)$(GUISUFFIX).a
|
||||||
|
|
||||||
|
$(LIBTARGET)$(GUISUFFIX).a : $(OBJECTS)
|
||||||
|
ar $(AROPTIONS) $@ $(OBJECTS)
|
||||||
|
$(RANLIB) $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(OBJECTS) $(LIBTARGET)$(GUISUFFIX).a core
|
@@ -4,7 +4,7 @@ WXDIR = $(WXWIN)
|
|||||||
#WXDIR = /home/jacs/wx2
|
#WXDIR = /home/jacs/wx2
|
||||||
include $(WXDIR)/src/make.env
|
include $(WXDIR)/src/make.env
|
||||||
|
|
||||||
all: $(PROGRAM)$(GUISUFFIX)
|
all: $(PROGRAM)$(GUISUFFIX) $(EXTRATARGETS)
|
||||||
|
|
||||||
$(PROGRAM)$(GUISUFFIX): $(OBJECTS) $(WXLIB)
|
$(PROGRAM)$(GUISUFFIX): $(OBJECTS) $(WXLIB)
|
||||||
$(CC) $(LDFLAGS) -o $(PROGRAM)$(GUISUFFIX) $(OBJECTS) $(LDLIBS)
|
$(CC) $(LDFLAGS) -o $(PROGRAM)$(GUISUFFIX) $(OBJECTS) $(LDLIBS)
|
||||||
|
161
utils/glcanvas/motif/glcanvas.cpp
Normal file
161
utils/glcanvas/motif/glcanvas.cpp
Normal file
@@ -0,0 +1,161 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: glcanvas.cpp
|
||||||
|
// Purpose: wxGLCanvas, for using OpenGL with wxWindows 2.0 for Motif.
|
||||||
|
// Uses the GLX extension.
|
||||||
|
// Author: Julian Smart and Wolfram Gloger
|
||||||
|
// Modified by:
|
||||||
|
// Created: 1995, 1999
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Julian Smart, Wolfram Gloger
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation "glcanvas.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "glcanvas.h"
|
||||||
|
#include "wx/utils.h"
|
||||||
|
#include "wx/app.h"
|
||||||
|
|
||||||
|
#include <Xm/Xm.h>
|
||||||
|
#include "wx/motif/private.h"
|
||||||
|
|
||||||
|
#ifdef OLD_MESA
|
||||||
|
// workaround for bug in Mesa's glx.c
|
||||||
|
static int bitcount( unsigned long n )
|
||||||
|
{
|
||||||
|
int bits;
|
||||||
|
for (bits=0; n>0;) {
|
||||||
|
if(n & 1) bits++;
|
||||||
|
n = n >> 1;
|
||||||
|
}
|
||||||
|
return bits;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GLCanvas implementation
|
||||||
|
*/
|
||||||
|
|
||||||
|
IMPLEMENT_CLASS(wxGLCanvas, wxScrolledWindow)
|
||||||
|
|
||||||
|
wxGLCanvas::wxGLCanvas(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos,
|
||||||
|
const wxSize& size, long style,
|
||||||
|
const wxString& name, int *attrib_list, const wxPalette& palette):
|
||||||
|
wxScrolledWindow(parent, id, pos, size, style, name)
|
||||||
|
{
|
||||||
|
XVisualInfo *vi, vi_templ;
|
||||||
|
XWindowAttributes xwa;
|
||||||
|
int val, n;
|
||||||
|
|
||||||
|
Display* display = (Display*) GetXDisplay();
|
||||||
|
|
||||||
|
glx_cx = 0;
|
||||||
|
// Check for the presence of the GLX extension
|
||||||
|
if(!glXQueryExtension(display, NULL, NULL)) {
|
||||||
|
wxDebugMsg("wxGLCanvas: GLX extension is missing\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(attrib_list) {
|
||||||
|
// Get an appropriate visual
|
||||||
|
vi = glXChooseVisual(display, DefaultScreen(display), attrib_list);
|
||||||
|
if(!vi) return;
|
||||||
|
|
||||||
|
// Here we should make sure that vi is the same visual as the
|
||||||
|
// one used by the xwindow drawable in wxCanvas. However,
|
||||||
|
// there is currently no mechanism for this in wx_canvs.cc.
|
||||||
|
} else {
|
||||||
|
// By default, we use the visual of xwindow
|
||||||
|
XGetWindowAttributes(display, (Window) GetXWindow(), &xwa);
|
||||||
|
vi_templ.visualid = XVisualIDFromVisual(xwa.visual);
|
||||||
|
vi = XGetVisualInfo(display, VisualIDMask, &vi_templ, &n);
|
||||||
|
if(!vi) return;
|
||||||
|
glXGetConfig(display, vi, GLX_USE_GL, &val);
|
||||||
|
if(!val) return;
|
||||||
|
// Basically, this is it. It should be possible to use vi
|
||||||
|
// in glXCreateContext() below. But this fails with Mesa.
|
||||||
|
// I notified the Mesa author about it; there may be a fix.
|
||||||
|
#ifdef OLD_MESA
|
||||||
|
// Construct an attribute list matching the visual
|
||||||
|
int a_list[32];
|
||||||
|
n = 0;
|
||||||
|
if(vi->c_class==TrueColor || vi->c_class==DirectColor) { // RGBA visual
|
||||||
|
a_list[n++] = GLX_RGBA;
|
||||||
|
a_list[n++] = GLX_RED_SIZE;
|
||||||
|
a_list[n++] = bitcount(vi->red_mask);
|
||||||
|
a_list[n++] = GLX_GREEN_SIZE;
|
||||||
|
a_list[n++] = bitcount(vi->green_mask);
|
||||||
|
a_list[n++] = GLX_BLUE_SIZE;
|
||||||
|
a_list[n++] = bitcount(vi->blue_mask);
|
||||||
|
glXGetConfig(display, vi, GLX_ALPHA_SIZE, &val);
|
||||||
|
a_list[n++] = GLX_ALPHA_SIZE;
|
||||||
|
a_list[n++] = val;
|
||||||
|
} else { // Color index visual
|
||||||
|
glXGetConfig(display, vi, GLX_BUFFER_SIZE, &val);
|
||||||
|
a_list[n++] = GLX_BUFFER_SIZE;
|
||||||
|
a_list[n++] = val;
|
||||||
|
}
|
||||||
|
a_list[n] = None;
|
||||||
|
XFree(vi);
|
||||||
|
vi = glXChooseVisual(display, DefaultScreen(display), a_list);
|
||||||
|
if(!vi) return;
|
||||||
|
#endif /* OLD_MESA */
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create the GLX context and make it current
|
||||||
|
glx_cx = glXCreateContext(display, vi, 0, GL_TRUE);
|
||||||
|
#ifndef OLD_MESA
|
||||||
|
XFree(vi);
|
||||||
|
#endif
|
||||||
|
SetCurrent();
|
||||||
|
}
|
||||||
|
|
||||||
|
wxGLCanvas::~wxGLCanvas(void)
|
||||||
|
{
|
||||||
|
Display* display = (Display*) GetXDisplay();
|
||||||
|
if(glx_cx) glXDestroyContext(display, glx_cx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGLCanvas::SwapBuffers()
|
||||||
|
{
|
||||||
|
Display* display = (Display*) GetXDisplay();
|
||||||
|
if(glx_cx) glXSwapBuffers(display, (Window) GetXWindow());
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGLCanvas::SetCurrent()
|
||||||
|
{
|
||||||
|
Display* display = (Display*) GetXDisplay();
|
||||||
|
if(glx_cx) glXMakeCurrent(display, (Window) GetXWindow(), glx_cx);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxGLCanvas::SetColour(const char *col)
|
||||||
|
{
|
||||||
|
wxColour *the_colour = wxTheColourDatabase->FindColour(col);
|
||||||
|
if(the_colour) {
|
||||||
|
GLboolean b;
|
||||||
|
glGetBooleanv(GL_RGBA_MODE, &b);
|
||||||
|
if(b) {
|
||||||
|
glColor3ub(the_colour->Red(),
|
||||||
|
the_colour->Green(),
|
||||||
|
the_colour->Blue());
|
||||||
|
} else {
|
||||||
|
GLint pix = (GLint)the_colour->m_pixel;
|
||||||
|
if(pix == -1) {
|
||||||
|
XColor exact_def;
|
||||||
|
exact_def.red = (unsigned short)the_colour->Red() << 8;
|
||||||
|
exact_def.green = (unsigned short)the_colour->Green() << 8;
|
||||||
|
exact_def.blue = (unsigned short)the_colour->Blue() << 8;
|
||||||
|
exact_def.flags = DoRed | DoGreen | DoBlue;
|
||||||
|
if(!XAllocColor((Display*) GetXDisplay(), (Colormap) wxTheApp->GetMainColormap(GetXDisplay()), &exact_def)) {
|
||||||
|
wxDebugMsg("wxGLCanvas: cannot allocate color\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
pix = the_colour->m_pixel = exact_def.pixel;
|
||||||
|
}
|
||||||
|
glIndexi(pix);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
44
utils/glcanvas/motif/glcanvas.h
Normal file
44
utils/glcanvas/motif/glcanvas.h
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: glcanvas.h
|
||||||
|
// Purpose: wxGLCanvas, for using OpenGL with wxWindows 2.0 for Motif.
|
||||||
|
// Uses the GLX extension.
|
||||||
|
// Author: Julian Smart and Wolfram Gloger
|
||||||
|
// Modified by:
|
||||||
|
// Created: 1995, 1999
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Julian Smart, Wolfram Gloger
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "glcanvas.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _WX_GLCANVAS_H_
|
||||||
|
#define _WX_GLCANVAS_H_
|
||||||
|
|
||||||
|
#include "wx/setup.h"
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
#include "wx/palette.h"
|
||||||
|
#include "wx/scrolwin.h"
|
||||||
|
|
||||||
|
#include <GL/glx.h>
|
||||||
|
|
||||||
|
class wxGLCanvas: public wxScrolledWindow
|
||||||
|
{
|
||||||
|
DECLARE_CLASS(wxGLCanvas)
|
||||||
|
public:
|
||||||
|
GLXContext glx_cx;
|
||||||
|
|
||||||
|
wxGLCanvas(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
|
||||||
|
const wxSize& size = wxDefaultSize, long style = 0,
|
||||||
|
const wxString& name = "GLCanvas", int *attribList = 0, const wxPalette& palette = wxNullPalette);
|
||||||
|
~wxGLCanvas(void);
|
||||||
|
|
||||||
|
void SetCurrent();
|
||||||
|
void SwapBuffers();
|
||||||
|
void SetColour(const char *col);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// _WX_GLCANVAS_H_
|
20
utils/glcanvas/motif/makefile.unx
Normal file
20
utils/glcanvas/motif/makefile.unx
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#
|
||||||
|
# File: makefile.unx
|
||||||
|
# Author: Julian Smart
|
||||||
|
# Created: 1998
|
||||||
|
# Updated:
|
||||||
|
# Copyright: (c) 1998 Julia`n Smart
|
||||||
|
#
|
||||||
|
# "%W% %G%"
|
||||||
|
#
|
||||||
|
# Makefile for wxGLCanvas (Unix)
|
||||||
|
|
||||||
|
LIBTARGET=$(WXWIN)/lib/libglcanvas
|
||||||
|
OPENGLHOME=/home/jacs/mesa/Mesa-2.3
|
||||||
|
|
||||||
|
EXTRACPPFLAGS=-I$(OPENGLHOME)/include
|
||||||
|
|
||||||
|
OBJECTS=glcanvas.o
|
||||||
|
|
||||||
|
include ../../../src/makelib.env
|
||||||
|
|
52
utils/glcanvas/motif/readme.txt
Normal file
52
utils/glcanvas/motif/readme.txt
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
GLCanvas class for wxWindows 1.66 using the GLX protocol extension
|
||||||
|
==================================================================
|
||||||
|
|
||||||
|
I have just uploaded a file 'wx166glx.tar.gz' to the wxWindows
|
||||||
|
incoming directory. It contains an implementation of a GLCanvas class
|
||||||
|
(interfacing an ordinary wxCanvas with OpenGL calls) for X11 (I tested
|
||||||
|
with Motif, maybe it works with XView as well). I tried to imitate
|
||||||
|
what Julian did in 'wxmesa1.zip' for MS Windows in conjunction with
|
||||||
|
the Mesa library.
|
||||||
|
|
||||||
|
Of the several possibilities to use OpenGL under X11, I chose the GLX
|
||||||
|
server extension, because it is the most efficient method on machines
|
||||||
|
with graphics hardware support (I expect wxWindows/OpenGL applications
|
||||||
|
to _fly_ on my Indy :-). However, you don't need a 'real' OpenGL
|
||||||
|
implementation to use GLCanvas -- the free Mesa library has a
|
||||||
|
simulated GLX interface built-in. Just link in libMesaGLU and
|
||||||
|
libMesaGL along with libwx_motif and everything should work fine.
|
||||||
|
|
||||||
|
Installation:
|
||||||
|
|
||||||
|
Untar wx166glx.tar.gz from your main wxWindows directory (i.e. where
|
||||||
|
the `include' and `src' subdirectories are). Then apply the small
|
||||||
|
patch file which has appeared in the `glx' subdirectory:
|
||||||
|
|
||||||
|
% patch -p0 < glx/wx166-glx.diff
|
||||||
|
|
||||||
|
Recompile the wx_motif library in the standard way. The inclusion of
|
||||||
|
the GLCanvas class in libwx_motif is protected with a new 'USE_GLX'
|
||||||
|
flag in wx_setup.h, so it could maybe be included in a future
|
||||||
|
wxWindows release (with USE_GLX turned off by default).
|
||||||
|
|
||||||
|
Two new samples (bounce and prim) are included. I adapted them from
|
||||||
|
wxmesa1.zip -- they should compile under both MS Windows (with wxMesa)
|
||||||
|
and X11. The makefile.unx's are set up for the Mesa libraries; if you
|
||||||
|
have original libGLU/libGL's just change the GLLIBS = ... line.
|
||||||
|
|
||||||
|
Problems:
|
||||||
|
|
||||||
|
One more or less serious problem remains: the visual generated by the
|
||||||
|
GLCanvas class must match the visual of wxCanvas.xwindow (which
|
||||||
|
currently is always the screen's default visual). The end result is
|
||||||
|
that you will get a nice RGB mode for OpenGL only if your display's
|
||||||
|
default visual is TrueColor or DirectColor (the XFree86 S3 servers for
|
||||||
|
PCs with the '-bpp 16/32' option are examples). I'm contemplating a
|
||||||
|
solution where the wxCanvas drawingarea widget is destroyed and then
|
||||||
|
re-created from within the GLCanvas constructor. I would welcome
|
||||||
|
suggestions on this and discussions of the GLCanvas 'API'.
|
||||||
|
|
||||||
|
Regards,
|
||||||
|
|
||||||
|
Wolfram Gloger.
|
||||||
|
(Gloger@lrz.uni-muenchen.de)
|
@@ -387,7 +387,7 @@ void TestGLCanvas::OnChar(wxKeyEvent& event)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
Refresh();
|
Refresh(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestGLCanvas::OnMouseEvent(wxMouseEvent& event)
|
void TestGLCanvas::OnMouseEvent(wxMouseEvent& event)
|
||||||
@@ -402,7 +402,7 @@ void TestGLCanvas::OnMouseEvent(wxMouseEvent& event)
|
|||||||
} else {
|
} else {
|
||||||
yrot += (event.GetX() - last_x)*1.0;
|
yrot += (event.GetX() - last_x)*1.0;
|
||||||
xrot += (event.GetY() - last_y)*1.0;
|
xrot += (event.GetY() - last_y)*1.0;
|
||||||
Refresh();
|
Refresh(FALSE);
|
||||||
}
|
}
|
||||||
last_x = event.GetX();
|
last_x = event.GetX();
|
||||||
last_y = event.GetY();
|
last_y = event.GetY();
|
||||||
|
@@ -106,7 +106,9 @@ void TestGLCanvas::OnPaint( wxPaintEvent& event )
|
|||||||
/* must always be here */
|
/* must always be here */
|
||||||
wxPaintDC dc(this);
|
wxPaintDC dc(this);
|
||||||
|
|
||||||
|
#ifndef __WXMOTIF__
|
||||||
if (!GetContext()) return;
|
if (!GetContext()) return;
|
||||||
|
#endif
|
||||||
|
|
||||||
SetCurrent();
|
SetCurrent();
|
||||||
|
|
||||||
@@ -149,7 +151,9 @@ void TestGLCanvas::OnSize(wxSizeEvent& event)
|
|||||||
int width, height;
|
int width, height;
|
||||||
GetClientSize(& width, & height);
|
GetClientSize(& width, & height);
|
||||||
|
|
||||||
|
#ifndef __WXMOTIF__
|
||||||
if (GetContext())
|
if (GetContext())
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
SetCurrent();
|
SetCurrent();
|
||||||
glViewport(0, 0, width, height);
|
glViewport(0, 0, width, height);
|
||||||
@@ -197,7 +201,7 @@ void TestGLCanvas::OnMouse( wxMouseEvent& event )
|
|||||||
add_quats( spin_quat, info.quat, info.quat );
|
add_quats( spin_quat, info.quat, info.quat );
|
||||||
|
|
||||||
/* orientation has changed, redraw mesh */
|
/* orientation has changed, redraw mesh */
|
||||||
Refresh();
|
Refresh(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
info.beginx = event.GetX();
|
info.beginx = event.GetX();
|
||||||
|
Reference in New Issue
Block a user