Big wxGL classes refactoring/cleanup:

1. Provide the same API, especially, but not limited to, wxGLCanvas and
   wxCLContext ctors (which were completely different in all ports)
2. Extracted common parts into wxGLCanvas/ContextBase classes
3. Deprecate the old API using implicitly created wxGLContext


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-04-10 17:38:55 +00:00
parent 1f602af615
commit dc3065a56f
25 changed files with 1860 additions and 1996 deletions

View File

@@ -832,7 +832,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/gdiobj.h
wx/geometry.h
wx/gifdecod.h
wx/glcanvas.h
wx/help.h
wx/helpbase.h
wx/helpwin.h
@@ -2223,7 +2222,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/mac/fontdlg.h
wx/mac/frame.h
wx/mac/gauge.h
wx/mac/glcanvas.h
wx/mac/gsockmac.h
wx/mac/helpxxxx.h
wx/mac/icon.h
@@ -3104,7 +3102,8 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
<!-- OpenGL canvas -->
<!-- ====================================================================== -->
<set var="OPENGL_SRC" hints="files">
<set var="OPENGL_SRC_PLATFORM" hints="files">
src/common/glcmn.cpp
<if cond="TOOLKIT=='MAC'">src/mac/carbon/glcanvas.cpp</if>
<if cond="TOOLKIT=='COCOA'">src/cocoa/glcanvas.mm</if>
<if cond="TOOLKIT=='GTK' and TOOLKIT_VERSION=='2'">src/gtk/glcanvas.cpp</if>
@@ -3116,8 +3115,13 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
<if cond="TOOLKIT=='PM'">src/os2/glcanvas.cpp</if>
</set>
<set var="OPENGL_HDR" hints="files">
<if cond="TOOLKIT=='MAC'">wx/mac/carbon/glcanvas.h</if>
<set var="OPENGL_SRC" hints="files">
src/common/glcmn.cpp
$(OPENGL_SRC_PLATFORM)
</set>
<set var="OPENGL_HDR_PLATFORM" hints="files">
<if cond="TOOLKIT=='MAC'">wx/mac/glcanvas.h wx/mac/carbon/glcanvas.h</if>
<if cond="TOOLKIT=='COCOA'">wx/cocoa/glcanvas.h</if>
<if cond="TOOLKIT=='GTK' and TOOLKIT_VERSION=='2'">wx/gtk/glcanvas.h</if>
<if cond="TOOLKIT=='GTK' and TOOLKIT_VERSION==''">wx/gtk1/glcanvas.h</if>
@@ -3125,9 +3129,12 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
<if cond="TOOLKIT=='WINCE'">wx/msw/glcanvas.h</if>
<if cond="TOOLKIT=='MOTIF'">wx/x11/glcanvas.h</if>
<if cond="TOOLKIT=='X11'">wx/x11/glcanvas.h</if>
<if cond="TOOLKIT=='PM'">wx/os2/glcanvas.h</if>
</set>
<set var="OPENGL_HDR" hints="files">
wx/glcanvas.h
$(OPENGL_HDR_PLATFORM)
</set>
<!-- ====================================================================== -->
@@ -3458,7 +3465,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
$(GUI_CORE_HEADERS)
$(ADVANCED_HDR) $(MEDIA_HDR) $(HTML_HDR)
$(OPENGL_HDR) $(QA_HDR) $(DBGRID_HDR) $(XRC_HDR) $(AUI_HDR) $(RICHTEXT_HDR)
$(STC_HDR)
$(STC_HDR)
</if>
</set>

View File

@@ -1281,6 +1281,7 @@ GLDLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
-H=$(OBJS)\wxprec_gldll.csm $(CPPFLAGS) $(CXXFLAGS)
GLDLL_OBJECTS = \
$(OBJS)\gldll_dummy.obj \
$(OBJS)\gldll_glcmn.obj \
$(OBJS)\gldll_glcanvas.obj
GLLIB_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
$(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
@@ -1292,6 +1293,7 @@ GLLIB_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
$(CXXFLAGS)
GLLIB_OBJECTS = \
$(OBJS)\gllib_dummy.obj \
$(OBJS)\gllib_glcmn.obj \
$(OBJS)\gllib_glcanvas.obj
BUILD_CFG_FILE = $(SETUPHDIR)\build.cfg
@@ -13425,12 +13427,18 @@ $(OBJS)\gldll_dummy.obj: ..\..\src\common\dummy.cpp
$(OBJS)\gldll_version.res: ..\..\src\msw\version.rc
brcc32 -32 -r -fo$@ -i$(BCCDIR)\include -d__WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) -i$(SETUPHDIR) -i..\..\include -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_bcc$(VENDORTAG) -i..\..\src\tiff -i..\..\src\jpeg -i..\..\src\png -i..\..\src\zlib -i..\..\src\regex -i..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_GL $**
$(OBJS)\gldll_glcmn.obj: ..\..\src\common\glcmn.cpp
$(CXX) -q -c -P -o$@ $(GLDLL_CXXFLAGS) $**
$(OBJS)\gldll_glcanvas.obj: ..\..\src\msw\glcanvas.cpp
$(CXX) -q -c -P -o$@ $(GLDLL_CXXFLAGS) $**
$(OBJS)\gllib_dummy.obj: ..\..\src\common\dummy.cpp
$(CXX) -q -c -P -o$@ $(GLLIB_CXXFLAGS) -H $**
$(OBJS)\gllib_glcmn.obj: ..\..\src\common\glcmn.cpp
$(CXX) -q -c -P -o$@ $(GLLIB_CXXFLAGS) $**
$(OBJS)\gllib_glcanvas.obj: ..\..\src\msw\glcanvas.cpp
$(CXX) -q -c -P -o$@ $(GLLIB_CXXFLAGS) $**

View File

@@ -1283,6 +1283,7 @@ GLDLL_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \
GLDLL_OBJECTS = \
$(OBJS)\gldll_dummy.o \
$(OBJS)\gldll_version_rc.o \
$(OBJS)\gldll_glcmn.o \
$(OBJS)\gldll_glcanvas.o
GLLIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \
-DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \
@@ -1294,6 +1295,7 @@ GLLIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \
$(CXXFLAGS)
GLLIB_OBJECTS = \
$(OBJS)\gllib_dummy.o \
$(OBJS)\gllib_glcmn.o \
$(OBJS)\gllib_glcanvas.o
BUILD_CFG_FILE = $(SETUPHDIR)\build.cfg
@@ -13986,12 +13988,18 @@ $(OBJS)\gldll_dummy.o: ../../src/common/dummy.cpp
$(OBJS)\gldll_version_rc.o: ../../src/msw/version.rc
windres --use-temp-file -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) --include-dir $(SETUPHDIR) --include-dir ..\../include --define WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_gcc$(VENDORTAG) --include-dir ..\../src/tiff --include-dir ..\../src/jpeg --include-dir ..\../src/png --include-dir ..\../src/zlib --include-dir ..\../src/regex --include-dir ..\../src/expat/lib --define WXUSINGDLL --define WXMAKINGDLL_GL
$(OBJS)\gldll_glcmn.o: ../../src/common/glcmn.cpp
$(CXX) -c -o $@ $(GLDLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\gldll_glcanvas.o: ../../src/msw/glcanvas.cpp
$(CXX) -c -o $@ $(GLDLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\gllib_dummy.o: ../../src/common/dummy.cpp
$(CXX) -c -o $@ $(GLLIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\gllib_glcmn.o: ../../src/common/glcmn.cpp
$(CXX) -c -o $@ $(GLLIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\gllib_glcanvas.o: ../../src/msw/glcanvas.cpp
$(CXX) -c -o $@ $(GLLIB_CXXFLAGS) $(CPPDEPS) $<

View File

@@ -1385,6 +1385,7 @@ GLDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_505)$(__DEBUGRUNTIME) /DWIN32 \
GLDLL_OBJECTS = \
$(OBJS)\gldll_dummy.obj \
$(OBJS)\gldll_version.res \
$(OBJS)\gldll_glcmn.obj \
$(OBJS)\gldll_glcanvas.obj
GLLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_518)$(__DEBUGRUNTIME) /DWIN32 \
$(__DEBUGINFO) \
@@ -1398,6 +1399,7 @@ GLLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_518)$(__DEBUGRUNTIME) /DWIN32 \
/Yu"wx/wxprec.h" /Fp"$(OBJS)\wxprec_gllib.pch" $(CPPFLAGS) $(CXXFLAGS)
GLLIB_OBJECTS = \
$(OBJS)\gllib_dummy.obj \
$(OBJS)\gllib_glcmn.obj \
$(OBJS)\gllib_glcanvas.obj
BUILD_CFG_FILE = $(SETUPHDIR)\build.cfg
@@ -4503,7 +4505,7 @@ clean:
-if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.lib
cd ..\..\samples
$(MAKE) -f makefile.vc $(MAKEARGS) clean
cd $(MAKEDIR)
cd "$(MAKEDIR)"
setup_h: $(SETUPHDIR)\wx ..\..\include\wx\$(__SETUP_H_SUBDIR_FILENAMES)\setup.h $(SETUPHDIR)\wx\setup.h $(SETUPHDIR)\wx\msw\rcdefs.h
@@ -4856,7 +4858,7 @@ wxgl: $(____wxgl_namedll_DEP) $(____wxgl_namelib_DEP)
sub_samples:
cd ..\..\samples
$(MAKE) -f makefile.vc $(MAKEARGS) all
cd $(MAKEDIR)
cd "$(MAKEDIR)"
$(LIBDIRNAME):
if not exist $(LIBDIRNAME) mkdir $(LIBDIRNAME)
@@ -13777,12 +13779,18 @@ $(OBJS)\gldll_dummy.obj: ..\..\src\common\dummy.cpp
$(OBJS)\gldll_version.res: ..\..\src\msw\version.rc
rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_4) $(__NO_VC_CRTDBG_p_68) /d __WXMSW__ $(__WXUNIV_DEFINE_p_62) $(__DEBUG_DEFINE_p_61) $(__EXCEPTIONS_DEFINE_p_61) $(__RTTI_DEFINE_p_61) $(__THREAD_DEFINE_p_61) $(__UNICODE_DEFINE_p_62) $(__MSLU_DEFINE_p_61) $(__GFXCTX_DEFINE_p_61) /i $(SETUPHDIR) /i ..\..\include /d WXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_vc$(VENDORTAG) /i ..\..\src\tiff /i ..\..\src\jpeg /i ..\..\src\png /i ..\..\src\zlib /i ..\..\src\regex /i ..\..\src\expat\lib /d WXUSINGDLL /d WXMAKINGDLL_GL $**
$(OBJS)\gldll_glcmn.obj: ..\..\src\common\glcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(GLDLL_CXXFLAGS) $**
$(OBJS)\gldll_glcanvas.obj: ..\..\src\msw\glcanvas.cpp
$(CXX) /c /nologo /TP /Fo$@ $(GLDLL_CXXFLAGS) $**
$(OBJS)\gllib_dummy.obj: ..\..\src\common\dummy.cpp
$(CXX) /c /nologo /TP /Fo$@ $(GLLIB_CXXFLAGS) /Ycwx/wxprec.h $**
$(OBJS)\gllib_glcmn.obj: ..\..\src\common\glcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(GLLIB_CXXFLAGS) $**
$(OBJS)\gllib_glcanvas.obj: ..\..\src\msw\glcanvas.cpp
$(CXX) /c /nologo /TP /Fo$@ $(GLLIB_CXXFLAGS) $**

View File

@@ -4238,6 +4238,7 @@ GLDLL_CXXFLAGS = -bd $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
$(CXXFLAGS)
GLDLL_OBJECTS = &
$(OBJS)\gldll_dummy.obj &
$(OBJS)\gldll_glcmn.obj &
$(OBJS)\gldll_glcanvas.obj
GLLIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
$(__RUNTIME_LIBS) -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) &
@@ -4249,6 +4250,7 @@ GLLIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) &
$(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)
GLLIB_OBJECTS = &
$(OBJS)\gllib_dummy.obj &
$(OBJS)\gllib_glcmn.obj &
$(OBJS)\gllib_glcanvas.obj
BUILD_CFG_FILE = $(SETUPHDIR)\build.cfg
@@ -14257,12 +14259,18 @@ $(OBJS)\gldll_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp
$(OBJS)\gldll_version.res : .AUTODEPEND ..\..\src\msw\version.rc
wrc -q -ad -bt=nt -r -fo=$^@ -d__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__UNICODE_DEFINE_p) $(__GFXCTX_DEFINE_p) -i=$(SETUPHDIR) -i=..\..\include -dWXDLLNAME=wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl_wat$(VENDORTAG) -i=..\..\src\tiff -i=..\..\src\jpeg -i=..\..\src\png -i=..\..\src\zlib -i=..\..\src\regex -i=..\..\src\expat\lib -dWXUSINGDLL -dWXMAKINGDLL_GL $<
$(OBJS)\gldll_glcmn.obj : .AUTODEPEND ..\..\src\common\glcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(GLDLL_CXXFLAGS) $<
$(OBJS)\gldll_glcanvas.obj : .AUTODEPEND ..\..\src\msw\glcanvas.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(GLDLL_CXXFLAGS) $<
$(OBJS)\gllib_dummy.obj : .AUTODEPEND ..\..\src\common\dummy.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(GLLIB_CXXFLAGS) $<
$(OBJS)\gllib_glcmn.obj : .AUTODEPEND ..\..\src\common\glcmn.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(GLLIB_CXXFLAGS) $<
$(OBJS)\gllib_glcanvas.obj : .AUTODEPEND ..\..\src\msw\glcanvas.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(GLLIB_CXXFLAGS) $<

View File

@@ -456,6 +456,10 @@ SOURCE=..\..\src\common\dummy.cpp
# ADD BASE CPP /Yc"wx/wxprec.h"
# ADD CPP /Yc"wx/wxprec.h"
# End Source File
# Begin Source File
SOURCE=..\..\src\common\glcmn.cpp
# End Source File
# End Group
# Begin Group "MSW Sources"
@@ -977,6 +981,14 @@ InputPath=..\..\include\wx\msw\genrcdefs.h
SOURCE=..\..\include\wx\msw\glcanvas.h
# End Source File
# End Group
# Begin Group "Common Headers"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\include\wx\glcanvas.h
# End Source File
# End Group
# End Target
# End Project