Skip to content

Commit 4fa78ce

Browse files
author
Koen Deforche
committed
Several updates:
- fix #2478: deleting a widget bound in a WTemplate not cleaning up properly - fix #2488: tstui2 case, bad propagation of preferred size through tabwidget - handle touch-events in WGLWidget; WRasterImage fix - WToolBar::addButton(WSplitButton) has AlignmentFlag - fix repeated headers regression (#2501) - WToolBar::addButton - add touch support to WSlider - fix #2328: do not select an item without contents - implemented server-side rendering (fallback) for WGLWidget, added 3DCharting library
1 parent e8e0366 commit 4fa78ce

File tree

158 files changed

+73628
-4171
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+73628
-4171
lines changed

CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ OPTION(ENABLE_MYSQL "Build mariadb/mysql backend for Wt::Dbo" ON)
106106
OPTION(ENABLE_QT4 "Build Qt4 interworking library (libwtwithqt" ON)
107107
OPTION(WT_NO_STD_LOCALE "Build Wt to run on a system without std::locale support" OFF)
108108
OPTION(WT_NO_STD_WSTRING "Build Wt to run on a system without std::wstring support" OFF)
109+
OPTION(ENABLE_OPENGL "Build Wt with support for server-side opengl rendering" OFF)
109110

110111
# C++11 vs C++98
111112
# Binary compatibility is not guaranteed. We give our users the choice on
@@ -321,6 +322,7 @@ INCLUDE(cmake/WtFindPostgresql.txt)
321322
INCLUDE(cmake/WtFindAsciidoc.txt)
322323
INCLUDE(cmake/WtFindHaru.txt)
323324
INCLUDE(cmake/WtFindGm.txt)
325+
INCLUDE(cmake/WtFindGL.txt)
324326
INCLUDE(cmake/WtFindSkia.txt)
325327

326328
IF (ENABLE_PANGO)
@@ -436,7 +438,7 @@ ELSEIF (${WT_WRASTERIMAGE_IMPLEMENTATION} STREQUAL "skia")
436438
ENDIF (NOT SKIA_FOUND)
437439
SET(WT_HAS_WRASTERIMAGE true)
438440
ELSE (${WT_WRASTERIMAGE_IMPLEMENTATION} STREQUAL "GraphicsMagick")
439-
MESSAGE("No WRasterimage support. Set WT_WRASTERIMAGE_IMPLEMENTATION to GraphicsMagick or skia.")
441+
MESSAGE("** Disabled WRasterimage support. Set WT_WRASTERIMAGE_IMPLEMENTATION to GraphicsMagick or skia.")
440442
ENDIF (${WT_WRASTERIMAGE_IMPLEMENTATION} STREQUAL "GraphicsMagick")
441443

442444
FIND_PACKAGE(Doxygen)
@@ -554,6 +556,11 @@ IF(ENABLE_PANGO AND PANGO_FT2_FOUND)
554556
SET(HAVE_PANGO ON)
555557
ENDIF(ENABLE_PANGO AND PANGO_FT2_FOUND)
556558

559+
IF(ENABLE_OPENGL AND GL_FOUND AND WT_HAS_WRASTERIMAGE)
560+
SET(WT_USE_OPENGL TRUE)
561+
SET(HAVE_GL TRUE)
562+
ENDIF(ENABLE_OPENGL AND GL_FOUND AND WT_HAS_WRASTERIMAGE)
563+
557564
# Compile time constants & make sure our build finds it
558565
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Wt)
559566
SET(WCONFIG_H_PATH ${CMAKE_CURRENT_BINARY_DIR}/Wt/WConfig.h)

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1547,7 +1547,7 @@ PREDEFINED = DOXYGEN_ONLY \
15471547
# Use the PREDEFINED tag if you want to use a different macro definition that
15481548
# overrules the definition found in the source code.
15491549

1550-
EXPAND_AS_DEFINED =
1550+
EXPAND_AS_DEFINED = WT_WGL_TEMPLATE
15511551

15521552
# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
15531553
# doxygen's preprocessor will remove all references to function-like macros

WConfig.h.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#cmakedefine WT_NO_BOOST_RANDOM
3838
#cmakedefine WT_NO_STD_LOCALE
3939
#cmakedefine WT_NO_STD_WSTRING
40+
#cmakedefine WT_USE_OPENGL
4041
#cmakedefine WT_DEBUG_ENABLED
4142

4243
#cmakedefine WT_USE_BOOST_SIGNALS

cmake/WtFindGL.txt

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# GL/glew.h X11/Xlib.h X11/Xutil.h GL/gl.h GL/glx.h
2+
IF(WIN32)
3+
SET(GL_INCLUDE_DIR "")
4+
ELSEIF(NOT APPLE)
5+
FIND_PATH(GL_INCLUDE_DIR
6+
NAMES
7+
GL/gl.h
8+
PATHS
9+
/usr/include
10+
)
11+
ENDIF(WIN32)
12+
13+
IF(USE_SYSTEM_GLEW)
14+
FIND_PATH(GLEW_INCLUDE_DIR
15+
NAMES
16+
GL/glew.h
17+
PATHS
18+
src/3rdparty/glew-1.10.0/include
19+
)
20+
ELSE(USE_SYSTEM_GLEW)
21+
SET(GLEW_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/3rdparty/glew-1.10.0/include")
22+
ENDIF(USE_SYSTEM_GLEW)
23+
24+
IF(WIN32)
25+
SET(GL_LIBRARIES Opengl32)
26+
ELSEIF(APPLE)
27+
FIND_LIBRARY(GL_LIBRARIES OpenGL)
28+
ELSEIF(UNIX)
29+
FIND_LIBRARY(GL_LIBRARY GL)
30+
FIND_LIBRARY(X11_LIBRARY X11)
31+
IF(GL_LIBRARY AND X11_LIBRARY)
32+
SET(GL_LIBRARIES ${GL_LIBRARY} ${X11_LIBRARY})
33+
ENDIF(GL_LIBRARY AND X11_LIBRARY)
34+
ENDIF(WIN32)
35+
36+
SET(GL_FOUND FALSE)
37+
IF(WIN32 OR (GL_LIBRARIES AND GL_INCLUDE_DIR AND GLEW_INCLUDE_DIR))
38+
SET(GL_FOUND TRUE)
39+
SET(GL_INCLUDE_DIRS ${GL_INCLUDE_DIR} ${GLEW_INCLUDE_DIR})
40+
ENDIF(WIN32 OR (GL_LIBRARIES AND GL_INCLUDE_DIR AND GLEW_INCLUDE_DIR))
41+
42+
IF(NOT GL_FOUND)
43+
MESSAGE(STATUS "OpenGL libraries not found")
44+
ENDIF(NOT GL_FOUND)

cmake/WtFindSkia.txt

Lines changed: 59 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,52 @@
11
# We set:
22
# - SKIA_INCLUDE_DIRS
33
# - SKIA_LIBRARIES
4+
# - SKIA_DEFINITIONS
45
# - SKIA_FOUND
56
# Taking into account:
67
# - SKIA_PREFIX
78

8-
SET(SKIA_FOUND TRUE)
9+
SET(SKIA_FOUND FALSE)
910

1011
FIND_PATH(SKIA_BASE_INCLUDE_DIR
1112
core/SkBitmap.h
1213
PATHS
1314
${SKIA_PREFIX}/include
1415
)
1516

16-
SET(SKIA_INCLUDE_DIRS
17-
${SKIA_BASE_INCLUDE_DIR}/core
18-
${SKIA_BASE_INCLUDE_DIR}/config
19-
${SKIA_BASE_INCLUDE_DIR}/images
20-
${SKIA_BASE_INCLUDE_DIR}/effects
21-
${SKIA_BASE_INCLUDE_DIR}/lazy
22-
)
17+
IF(SKIA_BASE_INCLUDE_DIR)
18+
SET(SKIA_INCLUDE_DIRS
19+
${SKIA_BASE_INCLUDE_DIR}/core
20+
${SKIA_BASE_INCLUDE_DIR}/config
21+
${SKIA_BASE_INCLUDE_DIR}/images
22+
${SKIA_BASE_INCLUDE_DIR}/effects
23+
${SKIA_BASE_INCLUDE_DIR}/lazy
24+
)
25+
ENDIF(SKIA_BASE_INCLUDE_DIR)
2326

24-
IF(WIN32)
25-
SET(SKIA_DEBUG ${SKIA_PREFIX}/out/Debug)
26-
SET(SKIA_RELEASE ${SKIA_PREFIX}/out/Release)
27-
FIND_LIBRARY(SKIA_CORE_LIB_D NAMES skia_core PATHS ${SKIA_DEBUG})
28-
FIND_LIBRARY(SKIA_PORTS_LIB_D NAMES skia_ports PATHS ${SKIA_DEBUG})
29-
FIND_LIBRARY(SKIA_OPTS_LIB_D NAMES skia_opts PATHS ${SKIA_DEBUG})
30-
FIND_LIBRARY(SKIA_IMAGES_LIB_D NAMES skia_images PATHS ${SKIA_DEBUG})
31-
FIND_LIBRARY(SKIA_UTILS_LIB_D NAMES skia_utils PATHS ${SKIA_DEBUG})
32-
FIND_LIBRARY(SKIA_OPTS_SSSE3_LIB_D NAMES skia_opts_ssse3 PATHS ${SKIA_DEBUG})
33-
FIND_LIBRARY(SKIA_EFFECTS_LIB_D NAMES skia_effects PATHS ${SKIA_DEBUG})
34-
FIND_LIBRARY(SKIA_SFNT_LIB_D NAMES skia_sfnt PATHS ${SKIA_DEBUG})
35-
FIND_LIBRARY(SKIA_SKGPU_LIB_D NAMES skia_skgpu PATHS ${SKIA_DEBUG})
27+
SET(SKIA_DEBUG ${SKIA_PREFIX}/out/Debug)
28+
SET(SKIA_RELEASE ${SKIA_PREFIX}/out/Release)
29+
FIND_LIBRARY(SKIA_CORE_LIB_D NAMES skia_core PATHS ${SKIA_DEBUG})
30+
FIND_LIBRARY(SKIA_PORTS_LIB_D NAMES skia_ports PATHS ${SKIA_DEBUG})
31+
FIND_LIBRARY(SKIA_OPTS_LIB_D NAMES skia_opts PATHS ${SKIA_DEBUG})
32+
FIND_LIBRARY(SKIA_IMAGES_LIB_D NAMES skia_images PATHS ${SKIA_DEBUG})
33+
FIND_LIBRARY(SKIA_UTILS_LIB_D NAMES skia_utils PATHS ${SKIA_DEBUG})
34+
FIND_LIBRARY(SKIA_OPTS_SSSE3_LIB_D NAMES skia_opts_ssse3 PATHS ${SKIA_DEBUG})
35+
FIND_LIBRARY(SKIA_EFFECTS_LIB_D NAMES skia_effects PATHS ${SKIA_DEBUG})
36+
FIND_LIBRARY(SKIA_SFNT_LIB_D NAMES skia_sfnt PATHS ${SKIA_DEBUG})
37+
FIND_LIBRARY(SKIA_SKGPU_LIB_D NAMES skia_skgpu PATHS ${SKIA_DEBUG})
3638

37-
FIND_LIBRARY(SKIA_CORE_LIB_R NAMES skia_core PATHS ${SKIA_RELEASE})
38-
FIND_LIBRARY(SKIA_PORTS_LIB_R NAMES skia_ports PATHS ${SKIA_RELEASE})
39-
FIND_LIBRARY(SKIA_OPTS_LIB_R NAMES skia_opts PATHS ${SKIA_RELEASE})
40-
FIND_LIBRARY(SKIA_IMAGES_LIB_R NAMES skia_images PATHS ${SKIA_RELEASE})
41-
FIND_LIBRARY(SKIA_UTILS_LIB_R NAMES skia_utils PATHS ${SKIA_RELEASE})
42-
FIND_LIBRARY(SKIA_OPTS_SSSE3_LIB_R NAMES skia_opts_ssse3 PATHS ${SKIA_RELEASE})
43-
FIND_LIBRARY(SKIA_EFFECTS_LIB_R NAMES skia_effects PATHS ${SKIA_RELEASE})
44-
FIND_LIBRARY(SKIA_SFNT_LIB_R NAMES skia_sfnt PATHS ${SKIA_RELEASE})
45-
FIND_LIBRARY(SKIA_SKGPU_LIB_R NAMES skia_skgpu PATHS ${SKIA_RELEASE})
39+
FIND_LIBRARY(SKIA_CORE_LIB_R NAMES skia_core PATHS ${SKIA_RELEASE})
40+
FIND_LIBRARY(SKIA_PORTS_LIB_R NAMES skia_ports PATHS ${SKIA_RELEASE})
41+
FIND_LIBRARY(SKIA_OPTS_LIB_R NAMES skia_opts PATHS ${SKIA_RELEASE})
42+
FIND_LIBRARY(SKIA_IMAGES_LIB_R NAMES skia_images PATHS ${SKIA_RELEASE})
43+
FIND_LIBRARY(SKIA_UTILS_LIB_R NAMES skia_utils PATHS ${SKIA_RELEASE})
44+
FIND_LIBRARY(SKIA_OPTS_SSSE3_LIB_R NAMES skia_opts_ssse3 PATHS ${SKIA_RELEASE})
45+
FIND_LIBRARY(SKIA_EFFECTS_LIB_R NAMES skia_effects PATHS ${SKIA_RELEASE})
46+
FIND_LIBRARY(SKIA_SFNT_LIB_R NAMES skia_sfnt PATHS ${SKIA_RELEASE})
47+
FIND_LIBRARY(SKIA_SKGPU_LIB_R NAMES skia_skgpu PATHS ${SKIA_RELEASE})
48+
49+
IF(WIN32)
4650

4751
# Assume that if we find core, we find the rest too
4852
IF(SKIA_BASE_INCLUDE_DIR AND SKIA_CORE_LIB_R AND SKIA_CORE_LIB_D)
@@ -70,6 +74,32 @@ IF(WIN32)
7074
Opengl32.lib
7175
)
7276
ENDIF(SKIA_BASE_INCLUDE_DIR AND SKIA_CORE_LIB_R AND SKIA_CORE_LIB_D)
77+
ELSEIF(APPLE)
78+
IF(SKIA_BASE_INCLUDE_DIR AND SKIA_CORE_LIB_R)
79+
SET(SKIA_FOUND TRUE)
80+
# lines below don't work
81+
#FIND_LIBRARY(COREFOUNDATION_LIBRARY CoreFoundatation)
82+
#FIND_LIBRARY(MOBILECORESERVICES_LIBRARY ApplicationServices)
83+
SET(SKIA_LIBRARIES
84+
${SKIA_CORE_LIB_R}
85+
${SKIA_PORTS_LIB_R}
86+
${SKIA_OPTS_LIB_R}
87+
${SKIA_IMAGES_LIB_R}
88+
${SKIA_UTILS_LIB_R}
89+
${SKIA_OPTS_SSSE3_LIB_R}
90+
${SKIA_EFFECTS_LIB_R}
91+
${SKIA_SFNT_LIB_R}
92+
${SKIA_SKGPU_LIB_R}
93+
"-framework CoreFoundation"
94+
"-framework ApplicationServices"
95+
)
96+
# avoid undefined SkTOU8 etc (skia checks NDEBUG if SK_RELEASE and
97+
# SK_DEBUG are undefined)
98+
SET(SKIA_DEFINES "-DSK_RELEASE")
99+
ENDIF(SKIA_BASE_INCLUDE_DIR AND SKIA_CORE_LIB_R)
100+
#SET(SKIA_LIBRARIES
101+
# /Users/wimdumon/projects/skia/trunk/out/Debug/libjpeg.a
102+
#)
73103
ENDIF(WIN32)
74104

75105

doc/images/Chart3DCombo.png

106 KB
Loading

doc/images/gridDataTypes.png

109 KB
Loading

doc/images/spiral.png

14.3 KB
Loading

doc/images/standardcolormaps.png

6.74 KB
Loading

examples/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,7 @@ SUBDIRS(
185185

186186
IF(HAS_CXX11)
187187
SUBDIRS(
188+
chart3D
188189
widgetgallery
189190
)
190191
ELSE(HAS_CXX11)

0 commit comments

Comments
 (0)