Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-04-17 07:17:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-04-17 07:21:24 +0300
commite12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch)
tree8cf3453d12edb177a218ef8009357518ec6cab6a /intern/ghost/test
parentb3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff)
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'intern/ghost/test')
-rw-r--r--intern/ghost/test/CMakeLists.txt218
-rw-r--r--intern/ghost/test/gears/GHOST_C-Test.c849
-rw-r--r--intern/ghost/test/gears/GHOST_Test.cpp1201
-rw-r--r--intern/ghost/test/multitest/Basic.c24
-rw-r--r--intern/ghost/test/multitest/Basic.h20
-rw-r--r--intern/ghost/test/multitest/EventToBuf.c393
-rw-r--r--intern/ghost/test/multitest/GL.h20
-rw-r--r--intern/ghost/test/multitest/MultiTest.c1150
-rw-r--r--intern/ghost/test/multitest/ScrollBar.c94
-rw-r--r--intern/ghost/test/multitest/ScrollBar.h31
-rw-r--r--intern/ghost/test/multitest/Util.c36
-rw-r--r--intern/ghost/test/multitest/Util.h6
-rw-r--r--intern/ghost/test/multitest/WindowData.c16
-rw-r--r--intern/ghost/test/multitest/WindowData.h8
-rw-r--r--intern/ghost/test/multitest/stubs.c9
15 files changed, 2036 insertions, 2039 deletions
diff --git a/intern/ghost/test/CMakeLists.txt b/intern/ghost/test/CMakeLists.txt
index 9f714ae4fba..a5a41209603 100644
--- a/intern/ghost/test/CMakeLists.txt
+++ b/intern/ghost/test/CMakeLists.txt
@@ -14,43 +14,43 @@ set(WITH_GUARDEDALLOC ON)
# stub macro, does nothing
macro(blender_add_lib
- name
- sources
- includes
- includes_sys
- )
+ name
+ sources
+ includes
+ includes_sys
+ )
endmacro()
# suffix relative paths so we can use external cmake files
macro(suffix_relpaths
- new_files files prefix)
-
- set(${new_files})
- foreach(_file ${files})
- if(IS_ABSOLUTE _file)
- list(APPEND ${new_files} ${_file})
- else()
- list(APPEND ${new_files} "${prefix}${_file}")
- endif()
- endforeach()
- unset(_file)
+ new_files files prefix)
+
+ set(${new_files})
+ foreach(_file ${files})
+ if(IS_ABSOLUTE _file)
+ list(APPEND ${new_files} ${_file})
+ else()
+ list(APPEND ${new_files} "${prefix}${_file}")
+ endif()
+ endforeach()
+ unset(_file)
endmacro()
macro(data_to_c
file_from file_to
list_to_add)
- list(APPEND ${list_to_add} ${file_to})
+ list(APPEND ${list_to_add} ${file_to})
- get_filename_component(_file_to_path ${file_to} PATH)
+ get_filename_component(_file_to_path ${file_to} PATH)
- add_custom_command(
- OUTPUT ${file_to}
- COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path}
- COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/datatoc ${file_from} ${file_to}
- DEPENDS ${file_from} datatoc)
- unset(_file_to_path)
+ add_custom_command(
+ OUTPUT ${file_to}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${_file_to_path}
+ COMMAND ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/datatoc ${file_from} ${file_to}
+ DEPENDS ${file_from} datatoc)
+ unset(_file_to_path)
endmacro()
# -----------------------------------------------------------------------------
@@ -58,24 +58,24 @@ endmacro()
# set the endian define
if(MSVC)
- # for some reason this fails on msvc
- add_definitions(-D__LITTLE_ENDIAN__)
+ # for some reason this fails on msvc
+ add_definitions(-D__LITTLE_ENDIAN__)
else()
- include(TestBigEndian)
- test_big_endian(_SYSTEM_BIG_ENDIAN)
- if(_SYSTEM_BIG_ENDIAN)
- add_definitions(-D__BIG_ENDIAN__)
- else()
- add_definitions(-D__LITTLE_ENDIAN__)
- endif()
- unset(_SYSTEM_BIG_ENDIAN)
+ include(TestBigEndian)
+ test_big_endian(_SYSTEM_BIG_ENDIAN)
+ if(_SYSTEM_BIG_ENDIAN)
+ add_definitions(-D__BIG_ENDIAN__)
+ else()
+ add_definitions(-D__LITTLE_ENDIAN__)
+ endif()
+ unset(_SYSTEM_BIG_ENDIAN)
endif()
# -----------------------------------------------------------------------------
# Libraries
if(UNIX AND NOT APPLE)
- set(WITH_X11 ON)
+ set(WITH_X11 ON)
endif()
# for now... default to this
add_definitions(-DWITH_GL_PROFILE_COMPAT)
@@ -126,27 +126,27 @@ add_library(glewmx_lib ${SRC_NEW})
# grr, blenfont needs BLI
include_directories(
- "../../../source/blender/blenlib"
- )
+ "../../../source/blender/blenlib"
+ )
add_library(bli_lib
- "../../../source/blender/blenlib/intern/fileops.c"
- "../../../source/blender/blenlib/intern/gsqueue.c"
- "../../../source/blender/blenlib/intern/rct.c"
- "../../../source/blender/blenlib/intern/string.c"
- "../../../source/blender/blenlib/intern/string_utf8.c"
- "../../../source/blender/blenlib/intern/listbase.c"
- "../../../source/blender/blenlib/intern/math_color.c"
- "../../../source/blender/blenlib/intern/storage.c"
- "../../../source/blender/blenlib/intern/task.c"
- "../../../source/blender/blenlib/intern/threads.c"
- "../../../source/blender/blenlib/intern/time.c"
- "../../../source/blender/blenlib/intern/path_util.c"
- "../../../source/blender/blenlib/intern/BLI_dynstr.c"
- "../../../source/blender/blenlib/intern/BLI_linklist.c"
- "../../../source/blender/blenlib/intern/BLI_memarena.c"
- "../../../source/blender/blenlib/intern/BLI_mempool.c"
- "../../../source/blender/blenlib/intern/system.c"
- )
+ "../../../source/blender/blenlib/intern/fileops.c"
+ "../../../source/blender/blenlib/intern/gsqueue.c"
+ "../../../source/blender/blenlib/intern/rct.c"
+ "../../../source/blender/blenlib/intern/string.c"
+ "../../../source/blender/blenlib/intern/string_utf8.c"
+ "../../../source/blender/blenlib/intern/listbase.c"
+ "../../../source/blender/blenlib/intern/math_color.c"
+ "../../../source/blender/blenlib/intern/storage.c"
+ "../../../source/blender/blenlib/intern/task.c"
+ "../../../source/blender/blenlib/intern/threads.c"
+ "../../../source/blender/blenlib/intern/time.c"
+ "../../../source/blender/blenlib/intern/path_util.c"
+ "../../../source/blender/blenlib/intern/BLI_dynstr.c"
+ "../../../source/blender/blenlib/intern/BLI_linklist.c"
+ "../../../source/blender/blenlib/intern/BLI_memarena.c"
+ "../../../source/blender/blenlib/intern/BLI_mempool.c"
+ "../../../source/blender/blenlib/intern/system.c"
+ )
set(PLATFORM_CGLAGS)
@@ -162,26 +162,26 @@ include_directories(${FREETYPE_INCLUDE_DIRS})
include_directories(${CMAKE_SOURCE_DIR}/../../../source/blender/blenfont)
if(CMAKE_COMPILER_IS_GNUCC)
- set(PLATFORM_CFLAGS "-funsigned-char")
+ set(PLATFORM_CFLAGS "-funsigned-char")
endif()
if(UNIX AND NOT APPLE)
- find_package(X11 REQUIRED)
- find_package(GLEW)
-
- if(NOT GLEW_FOUND)
- message(FATAL_ERROR "GLEW is required to build blender, install it or disable WITH_SYSTEM_GLEW")
- endif()
-
- set(PLATFORM_LINKLIBS
- ${X11_X11_LIB}
- ${X11_Xinput_LIB}
- ${GLEW_LIBRARY}
- -lpthread
- )
+ find_package(X11 REQUIRED)
+ find_package(GLEW)
+
+ if(NOT GLEW_FOUND)
+ message(FATAL_ERROR "GLEW is required to build blender, install it or disable WITH_SYSTEM_GLEW")
+ endif()
+
+ set(PLATFORM_LINKLIBS
+ ${X11_X11_LIB}
+ ${X11_Xinput_LIB}
+ ${GLEW_LIBRARY}
+ -lpthread
+ )
else()
- # set(GLEW_LIBRARY "") # unused
- set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew/include")
+ # set(GLEW_LIBRARY "") # unused
+ set(GLEW_INCLUDE_PATH "${CMAKE_SOURCE_DIR}/extern/glew/include")
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PLATFORM_CFLAGS}")
@@ -192,34 +192,34 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PLATFORM_CFLAGS}")
# DataToC
add_executable(datatoc
- ${CMAKE_SOURCE_DIR}/../../../source/blender/datatoc/datatoc.c)
+ ${CMAKE_SOURCE_DIR}/../../../source/blender/datatoc/datatoc.c)
# Gears (C)
add_executable(gears_c
- ${CMAKE_SOURCE_DIR}/gears/GHOST_C-Test.c)
+ ${CMAKE_SOURCE_DIR}/gears/GHOST_C-Test.c)
target_link_libraries(gears_c
- ghost_lib
- glewmx_lib
- string_lib
- ${OPENGL_gl_LIBRARY}
- ${CMAKE_DL_LIBS}
- ${PLATFORM_LINKLIBS}
- )
+ ghost_lib
+ glewmx_lib
+ string_lib
+ ${OPENGL_gl_LIBRARY}
+ ${CMAKE_DL_LIBS}
+ ${PLATFORM_LINKLIBS}
+ )
# Gears (C++)
add_executable(gears_cpp
- ${CMAKE_SOURCE_DIR}/gears/GHOST_Test.cpp)
+ ${CMAKE_SOURCE_DIR}/gears/GHOST_Test.cpp)
target_link_libraries(gears_cpp
- ghost_lib
- glewmx_lib
- string_lib
- ${OPENGL_gl_LIBRARY}
- ${CMAKE_DL_LIBS}
- ${PLATFORM_LINKLIBS}
- )
+ ghost_lib
+ glewmx_lib
+ string_lib
+ ${OPENGL_gl_LIBRARY}
+ ${CMAKE_DL_LIBS}
+ ${PLATFORM_LINKLIBS}
+ )
# MultiTest (C)
@@ -228,28 +228,28 @@ data_to_c(${CMAKE_SOURCE_DIR}/../../../release/datafiles/bfont.ttf
${CMAKE_CURRENT_BINARY_DIR}/bfont.ttf.c data_to_c_files)
add_executable(multitest_c
- ${CMAKE_SOURCE_DIR}/multitest/Basic.c
- ${CMAKE_SOURCE_DIR}/multitest/EventToBuf.c
- ${CMAKE_SOURCE_DIR}/multitest/MultiTest.c
- ${CMAKE_SOURCE_DIR}/multitest/ScrollBar.c
- ${CMAKE_SOURCE_DIR}/multitest/Util.c
- ${CMAKE_SOURCE_DIR}/multitest/WindowData.c
- ${CMAKE_SOURCE_DIR}/multitest/stubs.c
- ${data_to_c_files}
+ ${CMAKE_SOURCE_DIR}/multitest/Basic.c
+ ${CMAKE_SOURCE_DIR}/multitest/EventToBuf.c
+ ${CMAKE_SOURCE_DIR}/multitest/MultiTest.c
+ ${CMAKE_SOURCE_DIR}/multitest/ScrollBar.c
+ ${CMAKE_SOURCE_DIR}/multitest/Util.c
+ ${CMAKE_SOURCE_DIR}/multitest/WindowData.c
+ ${CMAKE_SOURCE_DIR}/multitest/stubs.c
+ ${data_to_c_files}
)
target_link_libraries(multitest_c
- blenfont_lib
- bli_lib
- ghost_lib
- glewmx_lib
- string_lib
- guardedalloc_lib
- wcwidth_lib
- ${OPENGL_gl_LIBRARY}
- ${FREETYPE_LIBRARY}
- ${ZLIB_LIBRARIES}
- ${CMAKE_DL_LIBS}
- ${PLATFORM_LINKLIBS}
- )
+ blenfont_lib
+ bli_lib
+ ghost_lib
+ glewmx_lib
+ string_lib
+ guardedalloc_lib
+ wcwidth_lib
+ ${OPENGL_gl_LIBRARY}
+ ${FREETYPE_LIBRARY}
+ ${ZLIB_LIBRARIES}
+ ${CMAKE_DL_LIBS}
+ ${PLATFORM_LINKLIBS}
+ )
diff --git a/intern/ghost/test/gears/GHOST_C-Test.c b/intern/ghost/test/gears/GHOST_C-Test.c
index b308ac61e57..80675ac5e3d 100644
--- a/intern/ghost/test/gears/GHOST_C-Test.c
+++ b/intern/ghost/test/gears/GHOST_C-Test.c
@@ -39,14 +39,13 @@
# include <windows.h>
# include <GL/gl.h>
# else /* WIN32 */
- /* __APPLE__ is defined */
+/* __APPLE__ is defined */
# include <AGL/gl.h>
# endif /* WIN32 */
-#else /* defined(WIN32) || defined(__APPLE__) */
+#else /* defined(WIN32) || defined(__APPLE__) */
# include <GL/gl.h>
#endif /* defined(WIN32) || defined(__APPLE__) */
-
static void gearsTimerProc(GHOST_TimerTaskHandle task, GHOST_TUns64 time);
int processEvent(GHOST_EventHandle hEvent, GHOST_TUserDataPtr userData);
@@ -63,472 +62,454 @@ static GHOST_TimerTaskHandle sGearsTimer;
static void testTimerProc(GHOST_TimerTaskHandle task, GHOST_TUns64 time)
{
- printf("timer1, time=%d\n", (int)time);
+ printf("timer1, time=%d\n", (int)time);
}
-
-static void gearGL(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, GLint teeth, GLfloat tooth_depth)
+static void gearGL(
+ GLfloat inner_radius, GLfloat outer_radius, GLfloat width, GLint teeth, GLfloat tooth_depth)
{
- GLint i;
- GLfloat r0, r1, r2;
- GLfloat angle, da;
- GLfloat u, v, len;
- const double pi = 3.14159264;
-
- r0 = inner_radius;
- r1 = (float)(outer_radius - tooth_depth / 2.0);
- r2 = (float)(outer_radius + tooth_depth / 2.0);
-
- da = (float)(2.0 * pi / teeth / 4.0);
-
- glShadeModel(GL_FLAT);
- glNormal3f(0.0, 0.0, 1.0);
-
- /* draw front face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = (float)(i * 2.0 * pi / teeth);
- glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(width * 0.5));
- glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(width * 0.5));
- glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(width * 0.5));
- glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(width * 0.5));
- }
- glEnd();
-
- /* draw front sides of teeth */
- glBegin(GL_QUADS);
- da = (float)(2.0 * pi / teeth / 4.0);
- for (i = 0; i < teeth; i++) {
- angle = (float)(i * 2.0 * pi / teeth);
- glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(width * 0.5));
- glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(width * 0.5));
- glVertex3f((float)(r2 * cos(angle + 2 * da)), (float)(r2 * sin(angle + 2 * da)), (float)(width * 0.5));
- glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(width * 0.5));
- }
- glEnd();
-
- glNormal3f(0.0, 0.0, -1.0);
-
- /* draw back face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = (float)(i * 2.0 * pi / teeth);
- glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(-width * 0.5));
- glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(-width * 0.5));
- glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(-width * 0.5));
- glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(-width * 0.5));
- }
- glEnd();
-
- /* draw back sides of teeth */
- glBegin(GL_QUADS);
- da = (float)(2.0 * pi / teeth / 4.0);
- for (i = 0; i < teeth; i++) {
- angle = (float)(i * 2.0 * pi / teeth);
- glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(-width * 0.5));
- glVertex3f((float)(r2 * cos(angle + 2 * da)), (float)(r2 * sin(angle + 2 * da)), (float)(-width * 0.5));
- glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(-width * 0.5));
- glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(-width * 0.5));
- }
- glEnd();
-
- /* draw outward faces of teeth */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i < teeth; i++) {
- angle = (float)(i * 2.0 * pi / teeth);
- glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(width * 0.5));
- glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(-width * 0.5));
- u = (float)(r2 * cos(angle + da) - r1 * cos(angle));
- v = (float)(r2 * sin(angle + da) - r1 * sin(angle));
- len = (float)(sqrt(u * u + v * v));
- u /= len;
- v /= len;
- glNormal3f(v, -u, 0.0);
- glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(width * 0.5));
- glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(-width * 0.5));
- glNormal3f((float)(cos(angle)), (float)(sin(angle)), 0.0);
- glVertex3f((float)(r2 * cos(angle + 2 * da)), (float)(r2 * sin(angle + 2 * da)), (float)(width * 0.5));
- glVertex3f((float)(r2 * cos(angle + 2 * da)), (float)(r2 * sin(angle + 2 * da)), (float)(-width * 0.5));
- u = (float)(r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da));
- v = (float)(r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da));
- glNormal3f(v, -u, 0.0);
- glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(width * 0.5));
- glVertex3f((float)(r1 * cos(angle + 3 * da)), (float)(r1 * sin(angle + 3 * da)), (float)(-width * 0.5));
- glNormal3f((float)(cos(angle)), (float)(sin(angle)), 0.0);
- }
- glVertex3f((float)(r1 * cos(0.0)), (float)(r1 * sin(0.0)), (float)(width * 0.5));
- glVertex3f((float)(r1 * cos(0.0)), (float)(r1 * sin(0.0)), (float)(-width * 0.5));
- glEnd();
-
- glShadeModel(GL_SMOOTH);
-
- /* draw inside radius cylinder */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = (float)(i * 2.0 * pi / teeth);
- glNormal3f((float)(-cos(angle)), (float)(-sin(angle)), 0.0);
- glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(-width * 0.5));
- glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(width * 0.5));
- }
- glEnd();
+ GLint i;
+ GLfloat r0, r1, r2;
+ GLfloat angle, da;
+ GLfloat u, v, len;
+ const double pi = 3.14159264;
+
+ r0 = inner_radius;
+ r1 = (float)(outer_radius - tooth_depth / 2.0);
+ r2 = (float)(outer_radius + tooth_depth / 2.0);
+
+ da = (float)(2.0 * pi / teeth / 4.0);
+
+ glShadeModel(GL_FLAT);
+ glNormal3f(0.0, 0.0, 1.0);
+
+ /* draw front face */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= teeth; i++) {
+ angle = (float)(i * 2.0 * pi / teeth);
+ glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(width * 0.5));
+ glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(width * 0.5));
+ glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(width * 0.5));
+ glVertex3f((float)(r1 * cos(angle + 3 * da)),
+ (float)(r1 * sin(angle + 3 * da)),
+ (float)(width * 0.5));
+ }
+ glEnd();
+
+ /* draw front sides of teeth */
+ glBegin(GL_QUADS);
+ da = (float)(2.0 * pi / teeth / 4.0);
+ for (i = 0; i < teeth; i++) {
+ angle = (float)(i * 2.0 * pi / teeth);
+ glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(width * 0.5));
+ glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(width * 0.5));
+ glVertex3f((float)(r2 * cos(angle + 2 * da)),
+ (float)(r2 * sin(angle + 2 * da)),
+ (float)(width * 0.5));
+ glVertex3f((float)(r1 * cos(angle + 3 * da)),
+ (float)(r1 * sin(angle + 3 * da)),
+ (float)(width * 0.5));
+ }
+ glEnd();
+
+ glNormal3f(0.0, 0.0, -1.0);
+
+ /* draw back face */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= teeth; i++) {
+ angle = (float)(i * 2.0 * pi / teeth);
+ glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(-width * 0.5));
+ glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(-width * 0.5));
+ glVertex3f((float)(r1 * cos(angle + 3 * da)),
+ (float)(r1 * sin(angle + 3 * da)),
+ (float)(-width * 0.5));
+ glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(-width * 0.5));
+ }
+ glEnd();
+
+ /* draw back sides of teeth */
+ glBegin(GL_QUADS);
+ da = (float)(2.0 * pi / teeth / 4.0);
+ for (i = 0; i < teeth; i++) {
+ angle = (float)(i * 2.0 * pi / teeth);
+ glVertex3f((float)(r1 * cos(angle + 3 * da)),
+ (float)(r1 * sin(angle + 3 * da)),
+ (float)(-width * 0.5));
+ glVertex3f((float)(r2 * cos(angle + 2 * da)),
+ (float)(r2 * sin(angle + 2 * da)),
+ (float)(-width * 0.5));
+ glVertex3f(
+ (float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(-width * 0.5));
+ glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(-width * 0.5));
+ }
+ glEnd();
+
+ /* draw outward faces of teeth */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i < teeth; i++) {
+ angle = (float)(i * 2.0 * pi / teeth);
+ glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(width * 0.5));
+ glVertex3f((float)(r1 * cos(angle)), (float)(r1 * sin(angle)), (float)(-width * 0.5));
+ u = (float)(r2 * cos(angle + da) - r1 * cos(angle));
+ v = (float)(r2 * sin(angle + da) - r1 * sin(angle));
+ len = (float)(sqrt(u * u + v * v));
+ u /= len;
+ v /= len;
+ glNormal3f(v, -u, 0.0);
+ glVertex3f((float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(width * 0.5));
+ glVertex3f(
+ (float)(r2 * cos(angle + da)), (float)(r2 * sin(angle + da)), (float)(-width * 0.5));
+ glNormal3f((float)(cos(angle)), (float)(sin(angle)), 0.0);
+ glVertex3f((float)(r2 * cos(angle + 2 * da)),
+ (float)(r2 * sin(angle + 2 * da)),
+ (float)(width * 0.5));
+ glVertex3f((float)(r2 * cos(angle + 2 * da)),
+ (float)(r2 * sin(angle + 2 * da)),
+ (float)(-width * 0.5));
+ u = (float)(r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da));
+ v = (float)(r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da));
+ glNormal3f(v, -u, 0.0);
+ glVertex3f((float)(r1 * cos(angle + 3 * da)),
+ (float)(r1 * sin(angle + 3 * da)),
+ (float)(width * 0.5));
+ glVertex3f((float)(r1 * cos(angle + 3 * da)),
+ (float)(r1 * sin(angle + 3 * da)),
+ (float)(-width * 0.5));
+ glNormal3f((float)(cos(angle)), (float)(sin(angle)), 0.0);
+ }
+ glVertex3f((float)(r1 * cos(0.0)), (float)(r1 * sin(0.0)), (float)(width * 0.5));
+ glVertex3f((float)(r1 * cos(0.0)), (float)(r1 * sin(0.0)), (float)(-width * 0.5));
+ glEnd();
+
+ glShadeModel(GL_SMOOTH);
+
+ /* draw inside radius cylinder */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= teeth; i++) {
+ angle = (float)(i * 2.0 * pi / teeth);
+ glNormal3f((float)(-cos(angle)), (float)(-sin(angle)), 0.0);
+ glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(-width * 0.5));
+ glVertex3f((float)(r0 * cos(angle)), (float)(r0 * sin(angle)), (float)(width * 0.5));
+ }
+ glEnd();
}
-
-
static void drawGearGL(int id)
{
- static GLfloat pos[4] = { 5.0f, 5.0f, 10.0f, 1.0f };
- static GLfloat ared[4] = { 0.8f, 0.1f, 0.0f, 1.0f };
- static GLfloat agreen[4] = { 0.0f, 0.8f, 0.2f, 1.0f };
- static GLfloat ablue[4] = { 0.2f, 0.2f, 1.0f, 1.0f };
-
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glEnable(GL_CULL_FACE);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- switch (id)
- {
- case 1:
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ared);
- gearGL(1.0f, 4.0f, 1.0f, 20, 0.7f);
- break;
- case 2:
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, agreen);
- gearGL(0.5f, 2.0f, 2.0f, 10, 0.7f);
- break;
- case 3:
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ablue);
- gearGL(1.3f, 2.0f, 0.5f, 10, 0.7f);
- break;
- default:
- break;
- }
- glEnable(GL_NORMALIZE);
+ static GLfloat pos[4] = {5.0f, 5.0f, 10.0f, 1.0f};
+ static GLfloat ared[4] = {0.8f, 0.1f, 0.0f, 1.0f};
+ static GLfloat agreen[4] = {0.0f, 0.8f, 0.2f, 1.0f};
+ static GLfloat ablue[4] = {0.2f, 0.2f, 1.0f, 1.0f};
+
+ glLightfv(GL_LIGHT0, GL_POSITION, pos);
+ glEnable(GL_CULL_FACE);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+ glEnable(GL_DEPTH_TEST);
+
+ switch (id) {
+ case 1:
+ glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ared);
+ gearGL(1.0f, 4.0f, 1.0f, 20, 0.7f);
+ break;
+ case 2:
+ glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, agreen);
+ gearGL(0.5f, 2.0f, 2.0f, 10, 0.7f);
+ break;
+ case 3:
+ glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ablue);
+ gearGL(1.3f, 2.0f, 0.5f, 10, 0.7f);
+ break;
+ default:
+ break;
+ }
+ glEnable(GL_NORMALIZE);
}
-
static void drawGL(void)
{
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- glPushMatrix();
-
- glRotatef(view_rotx, 1.0, 0.0, 0.0);
- glRotatef(view_roty, 0.0, 1.0, 0.0);
- glRotatef(view_rotz, 0.0, 0.0, 1.0);
-
- glPushMatrix();
- glTranslatef(-3.0, -2.0, 0.0);
- glRotatef(fAngle, 0.0, 0.0, 1.0);
- drawGearGL(1);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(3.1f, -2.0f, 0.0f);
- glRotatef((float)(-2.0 * fAngle - 9.0), 0.0, 0.0, 1.0);
- drawGearGL(2);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(-3.1f, 2.2f, -1.8f);
- glRotatef(90.0f, 1.0f, 0.0f, 0.0f);
- glRotatef((float)(2.0 * fAngle - 2.0), 0.0, 0.0, 1.0);
- drawGearGL(3);
- glPopMatrix();
-
- glPopMatrix();
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ glPushMatrix();
+
+ glRotatef(view_rotx, 1.0, 0.0, 0.0);
+ glRotatef(view_roty, 0.0, 1.0, 0.0);
+ glRotatef(view_rotz, 0.0, 0.0, 1.0);
+
+ glPushMatrix();
+ glTranslatef(-3.0, -2.0, 0.0);
+ glRotatef(fAngle, 0.0, 0.0, 1.0);
+ drawGearGL(1);
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(3.1f, -2.0f, 0.0f);
+ glRotatef((float)(-2.0 * fAngle - 9.0), 0.0, 0.0, 1.0);
+ drawGearGL(2);
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(-3.1f, 2.2f, -1.8f);
+ glRotatef(90.0f, 1.0f, 0.0f, 0.0f);
+ glRotatef((float)(2.0 * fAngle - 2.0), 0.0, 0.0, 1.0);
+ drawGearGL(3);
+ glPopMatrix();
+
+ glPopMatrix();
}
-
static void setViewPortGL(GHOST_WindowHandle hWindow)
{
- GHOST_RectangleHandle hRect = NULL;
- GLfloat w, h;
+ GHOST_RectangleHandle hRect = NULL;
+ GLfloat w, h;
- GHOST_ActivateWindowDrawingContext(hWindow);
- hRect = GHOST_GetClientBounds(hWindow);
+ GHOST_ActivateWindowDrawingContext(hWindow);
+ hRect = GHOST_GetClientBounds(hWindow);
- w = (float)GHOST_GetWidthRectangle(hRect) / (float)GHOST_GetHeightRectangle(hRect);
- h = 1.0;
+ w = (float)GHOST_GetWidthRectangle(hRect) / (float)GHOST_GetHeightRectangle(hRect);
+ h = 1.0;
- glViewport(0, 0, GHOST_GetWidthRectangle(hRect), GHOST_GetHeightRectangle(hRect));
+ glViewport(0, 0, GHOST_GetWidthRectangle(hRect), GHOST_GetHeightRectangle(hRect));
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(-w, w, -h, h, 5.0, 60.0);
- /* glOrtho(0, bnds.getWidth(), 0, bnds.getHeight(), -10, 10); */
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -40.0);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glFrustum(-w, w, -h, h, 5.0, 60.0);
+ /* glOrtho(0, bnds.getWidth(), 0, bnds.getHeight(), -10, 10); */
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glTranslatef(0.0, 0.0, -40.0);
- glClearColor(.2f, 0.0f, 0.0f, 0.0f);
- glClear(GL_COLOR_BUFFER_BIT);
+ glClearColor(.2f, 0.0f, 0.0f, 0.0f);
+ glClear(GL_COLOR_BUFFER_BIT);
- GHOST_DisposeRectangle(hRect);
+ GHOST_DisposeRectangle(hRect);
}
-
-
int processEvent(GHOST_EventHandle hEvent, GHOST_TUserDataPtr userData)
{
- int handled = 1;
- int cursor;
- int visibility;
- GHOST_TEventKeyData *keyData = NULL;
- GHOST_TEventWheelData *wheelData = NULL;
- GHOST_DisplaySetting setting;
- GHOST_WindowHandle window = GHOST_GetEventWindow(hEvent);
-
- switch (GHOST_GetEventType(hEvent))
- {
+ int handled = 1;
+ int cursor;
+ int visibility;
+ GHOST_TEventKeyData *keyData = NULL;
+ GHOST_TEventWheelData *wheelData = NULL;
+ GHOST_DisplaySetting setting;
+ GHOST_WindowHandle window = GHOST_GetEventWindow(hEvent);
+
+ switch (GHOST_GetEventType(hEvent)) {
#if 0
- case GHOST_kEventUnknown:
- break;
- case GHOST_kEventCursorButton:
- break;
- case GHOST_kEventCursorMove:
- break;
+ case GHOST_kEventUnknown:
+ break;
+ case GHOST_kEventCursorButton:
+ break;
+ case GHOST_kEventCursorMove:
+ break;
#endif
- case GHOST_kEventWheel:
- {
- wheelData = (GHOST_TEventWheelData *)GHOST_GetEventData(hEvent);
- if (wheelData->z > 0)
- {
- view_rotz += 5.f;
- }
- else {
- view_rotz -= 5.f;
- }
- }
- break;
-
- case GHOST_kEventKeyUp:
- break;
-
- case GHOST_kEventKeyDown:
- {
- keyData = (GHOST_TEventKeyData *)GHOST_GetEventData(hEvent);
- switch (keyData->key)
- {
- case GHOST_kKeyC:
- {
- cursor = sCursor;
- cursor++;
- if (cursor >= GHOST_kStandardCursorNumCursors)
- {
- cursor = GHOST_kStandardCursorFirstCursor;
- }
- sCursor = (GHOST_TStandardCursor)cursor;
- GHOST_SetCursorShape(window, sCursor);
- }
- break;
- case GHOST_kKeyF:
- if (!GHOST_GetFullScreen(shSystem))
- {
- /* Begin fullscreen mode */
- setting.bpp = 24;
- setting.frequency = 85;
- setting.xPixels = 640;
- setting.yPixels = 480;
-
- /*
- * setting.bpp = 16;
- * setting.frequency = 75;
- * setting.xPixels = 640;
- * setting.yPixels = 480;
- */
-
- sFullScreenWindow = GHOST_BeginFullScreen(shSystem, &setting,
-
- FALSE /* stereo flag */);
- }
- else {
- GHOST_EndFullScreen(shSystem);
- sFullScreenWindow = 0;
- }
- break;
- case GHOST_kKeyH:
- {
- visibility = GHOST_GetCursorVisibility(window);
- GHOST_SetCursorVisibility(window, !visibility);
- }
- break;
- case GHOST_kKeyQ:
- if (GHOST_GetFullScreen(shSystem))
- {
- GHOST_EndFullScreen(shSystem);
- sFullScreenWindow = 0;
- }
- sExitRequested = 1;
- case GHOST_kKeyT:
- if (!sTestTimer)
- {
- sTestTimer = GHOST_InstallTimer(shSystem, 0, 1000, testTimerProc, NULL);
- }
- else {
- GHOST_RemoveTimer(shSystem, sTestTimer);
- sTestTimer = 0;
- }
- break;
- case GHOST_kKeyW:
- {
- if (sMainWindow)
- {
- char *title = GHOST_GetTitle(sMainWindow);
- char *ntitle = malloc(strlen(title) + 2);
-
- sprintf(ntitle, "%s-", title);
- GHOST_SetTitle(sMainWindow, ntitle);
-
- free(ntitle);
- free(title);
- }
- }
- break;
- default:
- break;
- }
- }
- break;
-
- case GHOST_kEventWindowClose:
- {
- GHOST_WindowHandle window2 = GHOST_GetEventWindow(hEvent);
- if (window2 == sMainWindow)
- {
- sExitRequested = 1;
- }
- else {
- if (sGearsTimer)
- {
- GHOST_RemoveTimer(shSystem, sGearsTimer);
- sGearsTimer = 0;
- }
- GHOST_DisposeWindow(shSystem, window2);
- }
- }
- break;
-
- case GHOST_kEventWindowActivate:
- handled = 0;
- break;
- case GHOST_kEventWindowDeactivate:
- handled = 0;
- break;
- case GHOST_kEventWindowUpdate:
- {
- GHOST_WindowHandle window2 = GHOST_GetEventWindow(hEvent);
- if (!GHOST_ValidWindow(shSystem, window2))
- break;
- setViewPortGL(window2);
- drawGL();
- GHOST_SwapWindowBuffers(window2);
- }
- break;
-
- default:
- handled = 0;
- break;
- }
- return handled;
+ case GHOST_kEventWheel: {
+ wheelData = (GHOST_TEventWheelData *)GHOST_GetEventData(hEvent);
+ if (wheelData->z > 0) {
+ view_rotz += 5.f;
+ }
+ else {
+ view_rotz -= 5.f;
+ }
+ } break;
+
+ case GHOST_kEventKeyUp:
+ break;
+
+ case GHOST_kEventKeyDown: {
+ keyData = (GHOST_TEventKeyData *)GHOST_GetEventData(hEvent);
+ switch (keyData->key) {
+ case GHOST_kKeyC: {
+ cursor = sCursor;
+ cursor++;
+ if (cursor >= GHOST_kStandardCursorNumCursors) {
+ cursor = GHOST_kStandardCursorFirstCursor;
+ }
+ sCursor = (GHOST_TStandardCursor)cursor;
+ GHOST_SetCursorShape(window, sCursor);
+ } break;
+ case GHOST_kKeyF:
+ if (!GHOST_GetFullScreen(shSystem)) {
+ /* Begin fullscreen mode */
+ setting.bpp = 24;
+ setting.frequency = 85;
+ setting.xPixels = 640;
+ setting.yPixels = 480;
+
+ /*
+ * setting.bpp = 16;
+ * setting.frequency = 75;
+ * setting.xPixels = 640;
+ * setting.yPixels = 480;
+ */
+
+ sFullScreenWindow = GHOST_BeginFullScreen(shSystem,
+ &setting,
+
+ FALSE /* stereo flag */);
+ }
+ else {
+ GHOST_EndFullScreen(shSystem);
+ sFullScreenWindow = 0;
+ }
+ break;
+ case GHOST_kKeyH: {
+ visibility = GHOST_GetCursorVisibility(window);
+ GHOST_SetCursorVisibility(window, !visibility);
+ } break;
+ case GHOST_kKeyQ:
+ if (GHOST_GetFullScreen(shSystem)) {
+ GHOST_EndFullScreen(shSystem);
+ sFullScreenWindow = 0;
+ }
+ sExitRequested = 1;
+ case GHOST_kKeyT:
+ if (!sTestTimer) {
+ sTestTimer = GHOST_InstallTimer(shSystem, 0, 1000, testTimerProc, NULL);
+ }
+ else {
+ GHOST_RemoveTimer(shSystem, sTestTimer);
+ sTestTimer = 0;
+ }
+ break;
+ case GHOST_kKeyW: {
+ if (sMainWindow) {
+ char *title = GHOST_GetTitle(sMainWindow);
+ char *ntitle = malloc(strlen(title) + 2);
+
+ sprintf(ntitle, "%s-", title);
+ GHOST_SetTitle(sMainWindow, ntitle);
+
+ free(ntitle);
+ free(title);
+ }
+ } break;
+ default:
+ break;
+ }
+ } break;
+
+ case GHOST_kEventWindowClose: {
+ GHOST_WindowHandle window2 = GHOST_GetEventWindow(hEvent);
+ if (window2 == sMainWindow) {
+ sExitRequested = 1;
+ }
+ else {
+ if (sGearsTimer) {
+ GHOST_RemoveTimer(shSystem, sGearsTimer);
+ sGearsTimer = 0;
+ }
+ GHOST_DisposeWindow(shSystem, window2);
+ }
+ } break;
+
+ case GHOST_kEventWindowActivate:
+ handled = 0;
+ break;
+ case GHOST_kEventWindowDeactivate:
+ handled = 0;
+ break;
+ case GHOST_kEventWindowUpdate: {
+ GHOST_WindowHandle window2 = GHOST_GetEventWindow(hEvent);
+ if (!GHOST_ValidWindow(shSystem, window2))
+ break;
+ setViewPortGL(window2);
+ drawGL();
+ GHOST_SwapWindowBuffers(window2);
+ } break;
+
+ default:
+ handled = 0;
+ break;
+ }
+ return handled;
}
-
int main(int argc, char **argv)
{
- GHOST_GLSettings glSettings = {0};
- char *title1 = "gears - main window";
- char *title2 = "gears - secondary window";
- GHOST_EventConsumerHandle consumer = GHOST_CreateEventConsumer(processEvent, NULL);
-
- /* Create the system */
- shSystem = GHOST_CreateSystem();
- GHOST_AddEventConsumer(shSystem, consumer);
-
- if (shSystem)
- {
- /* Create the main window */
- sMainWindow = GHOST_CreateWindow(
- shSystem, title1,
- 10, 64, 320, 200,
- GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL,
- glSettings);
- if (!sMainWindow)
- {
- printf("could not create main window\n");
- exit(-1);
- }
-
- /* Create a secondary window */
- sSecondaryWindow = GHOST_CreateWindow(
- shSystem,
- title2,
- 340, 64, 320, 200,
- GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL,
- glSettings);
- if (!sSecondaryWindow)
- {
- printf("could not create secondary window\n");
- exit(-1);
- }
-
- /* Install a timer to have the gears running */
- sGearsTimer = GHOST_InstallTimer(shSystem,
- 0,
- 10,
- gearsTimerProc,
- sMainWindow);
-
- /* Enter main loop */
- while (!sExitRequested)
- {
- if (!GHOST_ProcessEvents(shSystem, 0))
- {
+ GHOST_GLSettings glSettings = {0};
+ char *title1 = "gears - main window";
+ char *title2 = "gears - secondary window";
+ GHOST_EventConsumerHandle consumer = GHOST_CreateEventConsumer(processEvent, NULL);
+
+ /* Create the system */
+ shSystem = GHOST_CreateSystem();
+ GHOST_AddEventConsumer(shSystem, consumer);
+
+ if (shSystem) {
+ /* Create the main window */
+ sMainWindow = GHOST_CreateWindow(shSystem,
+ title1,
+ 10,
+ 64,
+ 320,
+ 200,
+ GHOST_kWindowStateNormal,
+ GHOST_kDrawingContextTypeOpenGL,
+ glSettings);
+ if (!sMainWindow) {
+ printf("could not create main window\n");
+ exit(-1);
+ }
+
+ /* Create a secondary window */
+ sSecondaryWindow = GHOST_CreateWindow(shSystem,
+ title2,
+ 340,
+ 64,
+ 320,
+ 200,
+ GHOST_kWindowStateNormal,
+ GHOST_kDrawingContextTypeOpenGL,
+ glSettings);
+ if (!sSecondaryWindow) {
+ printf("could not create secondary window\n");
+ exit(-1);
+ }
+
+ /* Install a timer to have the gears running */
+ sGearsTimer = GHOST_InstallTimer(shSystem, 0, 10, gearsTimerProc, sMainWindow);
+
+ /* Enter main loop */
+ while (!sExitRequested) {
+ if (!GHOST_ProcessEvents(shSystem, 0)) {
#ifdef WIN32
- /* If there were no events, be nice to other applications */
- Sleep(10);
+ /* If there were no events, be nice to other applications */
+ Sleep(10);
#endif
- }
- GHOST_DispatchEvents(shSystem);
- }
- }
-
- /* Dispose windows */
- if (GHOST_ValidWindow(shSystem, sMainWindow))
- {
- GHOST_DisposeWindow(shSystem, sMainWindow);
- }
- if (GHOST_ValidWindow(shSystem, sSecondaryWindow))
- {
- GHOST_DisposeWindow(shSystem, sSecondaryWindow);
- }
-
- /* Dispose the system */
- GHOST_DisposeSystem(shSystem);
-
- return 0;
+ }
+ GHOST_DispatchEvents(shSystem);
+ }
+ }
+
+ /* Dispose windows */
+ if (GHOST_ValidWindow(shSystem, sMainWindow)) {
+ GHOST_DisposeWindow(shSystem, sMainWindow);
+ }
+ if (GHOST_ValidWindow(shSystem, sSecondaryWindow)) {
+ GHOST_DisposeWindow(shSystem, sSecondaryWindow);
+ }
+
+ /* Dispose the system */
+ GHOST_DisposeSystem(shSystem);
+
+ return 0;
}
-
static void gearsTimerProc(GHOST_TimerTaskHandle hTask, GHOST_TUns64 time)
{
- GHOST_WindowHandle hWindow = NULL;
- fAngle += 2.0;
- view_roty += 1.0;
- hWindow = (GHOST_WindowHandle)GHOST_GetTimerTaskUserData(hTask);
- if (GHOST_GetFullScreen(shSystem))
- {
- /* Running full screen */
- GHOST_InvalidateWindow(sFullScreenWindow);
- }
- else {
- if (GHOST_ValidWindow(shSystem, hWindow))
- {
- GHOST_InvalidateWindow(hWindow);
- }
- }
+ GHOST_WindowHandle hWindow = NULL;
+ fAngle += 2.0;
+ view_roty += 1.0;
+ hWindow = (GHOST_WindowHandle)GHOST_GetTimerTaskUserData(hTask);
+ if (GHOST_GetFullScreen(shSystem)) {
+ /* Running full screen */
+ GHOST_InvalidateWindow(sFullScreenWindow);
+ }
+ else {
+ if (GHOST_ValidWindow(shSystem, hWindow)) {
+ GHOST_InvalidateWindow(hWindow);
+ }
+ }
}
diff --git a/intern/ghost/test/gears/GHOST_Test.cpp b/intern/ghost/test/gears/GHOST_Test.cpp
index 23564faf38d..76386fb114a 100644
--- a/intern/ghost/test/gears/GHOST_Test.cpp
+++ b/intern/ghost/test/gears/GHOST_Test.cpp
@@ -34,13 +34,13 @@
# include <atlbase.h>
# include <GL/gl.h>
-# else // WIN32
- // __APPLE__ is defined
+# else // WIN32 \
+ // __APPLE__ is defined
# include <AGL/gl.h>
-# endif // WIN32
-#else // defined(WIN32) || defined(__APPLE__)
+# endif // WIN32
+#else // defined(WIN32) || defined(__APPLE__)
# include <GL/gl.h>
-#endif // defined(WIN32) || defined(__APPLE__)
+#endif // defined(WIN32) || defined(__APPLE__)
#include "STR_String.h"
#include "GHOST_Rect.h"
@@ -49,290 +49,302 @@
#include "GHOST_IEvent.h"
#include "GHOST_IEventConsumer.h"
-
-#define LEFT_EYE 0
+#define LEFT_EYE 0
#define RIGHT_EYE 1
static bool nVidiaWindows; // very dirty but hey, it's for testing only
static void gearsTimerProc(GHOST_ITimerTask *task, GHOST_TUns64 time);
-static class Application * fApp;
+static class Application *fApp;
static GLfloat view_rotx = 20.0, view_roty = 30.0, view_rotz = 0.0;
static GLfloat fAngle = 0.0;
static GHOST_ISystem *fSystem = 0;
-
-void StereoProjection(float left, float right, float bottom, float top, float nearplane, float farplane,
- float zero_plane, float dist,
+void StereoProjection(float left,
+ float right,
+ float bottom,
+ float top,
+ float nearplane,
+ float farplane,
+ float zero_plane,
+ float dist,
float eye);
-
static void testTimerProc(GHOST_ITimerTask * /*task*/, GHOST_TUns64 time)
{
- std::cout << "timer1, time=" << (int)time << "\n";
+ std::cout << "timer1, time=" << (int)time << "\n";
}
-
-static void gearGL(GLfloat inner_radius, GLfloat outer_radius, GLfloat width, GLint teeth, GLfloat tooth_depth)
+static void gearGL(
+ GLfloat inner_radius, GLfloat outer_radius, GLfloat width, GLint teeth, GLfloat tooth_depth)
{
- GLint i;
- GLfloat r0, r1, r2;
- GLfloat angle, da;
- GLfloat u, v, len;
-
- r0 = inner_radius;
- r1 = outer_radius - tooth_depth / 2.0;
- r2 = outer_radius + tooth_depth / 2.0;
-
- const double pi = 3.14159264;
- da = 2.0 * pi / teeth / 4.0;
-
- glShadeModel(GL_FLAT);
- glNormal3f(0.0, 0.0, 1.0);
-
- /* draw front face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * pi / teeth;
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
- }
- glEnd();
-
- /* draw front sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * pi / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * pi / teeth;
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
- }
- glEnd();
-
- glNormal3f(0.0, 0.0, -1.0);
-
- /* draw back face */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * pi / teeth;
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- }
- glEnd();
-
- /* draw back sides of teeth */
- glBegin(GL_QUADS);
- da = 2.0 * pi / teeth / 4.0;
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * pi / teeth;
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- }
- glEnd();
-
- /* draw outward faces of teeth */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i < teeth; i++) {
- angle = i * 2.0 * pi / teeth;
- glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
- glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
- u = r2 * cos(angle + da) - r1 *cos(angle);
- v = r2 * sin(angle + da) - r1 *sin(angle);
- len = sqrt(u * u + v * v);
- u /= len;
- v /= len;
- glNormal3f(v, -u, 0.0);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
- glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
- glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
- u = r1 * cos(angle + 3 * da) - r2 *cos(angle + 2 * da);
- v = r1 * sin(angle + 3 * da) - r2 *sin(angle + 2 * da);
- glNormal3f(v, -u, 0.0);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
- glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
- glNormal3f(cos(angle), sin(angle), 0.0);
- }
- glVertex3f(r1 * cos(0.0), r1 * sin(0.0), width * 0.5);
- glVertex3f(r1 * cos(0.0), r1 * sin(0.0), -width * 0.5);
- glEnd();
-
- glShadeModel(GL_SMOOTH);
-
- /* draw inside radius cylinder */
- glBegin(GL_QUAD_STRIP);
- for (i = 0; i <= teeth; i++) {
- angle = i * 2.0 * pi / teeth;
- glNormal3f(-cos(angle), -sin(angle), 0.0);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
- glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
- }
- glEnd();
+ GLint i;
+ GLfloat r0, r1, r2;
+ GLfloat angle, da;
+ GLfloat u, v, len;
+
+ r0 = inner_radius;
+ r1 = outer_radius - tooth_depth / 2.0;
+ r2 = outer_radius + tooth_depth / 2.0;
+
+ const double pi = 3.14159264;
+ da = 2.0 * pi / teeth / 4.0;
+
+ glShadeModel(GL_FLAT);
+ glNormal3f(0.0, 0.0, 1.0);
+
+ /* draw front face */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= teeth; i++) {
+ angle = i * 2.0 * pi / teeth;
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
+ }
+ glEnd();
+
+ /* draw front sides of teeth */
+ glBegin(GL_QUADS);
+ da = 2.0 * pi / teeth / 4.0;
+ for (i = 0; i < teeth; i++) {
+ angle = i * 2.0 * pi / teeth;
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
+ glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
+ glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
+ }
+ glEnd();
+
+ glNormal3f(0.0, 0.0, -1.0);
+
+ /* draw back face */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= teeth; i++) {
+ angle = i * 2.0 * pi / teeth;
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
+ }
+ glEnd();
+
+ /* draw back sides of teeth */
+ glBegin(GL_QUADS);
+ da = 2.0 * pi / teeth / 4.0;
+ for (i = 0; i < teeth; i++) {
+ angle = i * 2.0 * pi / teeth;
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
+ glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
+ glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
+ }
+ glEnd();
+
+ /* draw outward faces of teeth */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i < teeth; i++) {
+ angle = i * 2.0 * pi / teeth;
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), width * 0.5);
+ glVertex3f(r1 * cos(angle), r1 * sin(angle), -width * 0.5);
+ u = r2 * cos(angle + da) - r1 * cos(angle);
+ v = r2 * sin(angle + da) - r1 * sin(angle);
+ len = sqrt(u * u + v * v);
+ u /= len;
+ v /= len;
+ glNormal3f(v, -u, 0.0);
+ glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), width * 0.5);
+ glVertex3f(r2 * cos(angle + da), r2 * sin(angle + da), -width * 0.5);
+ glNormal3f(cos(angle), sin(angle), 0.0);
+ glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), width * 0.5);
+ glVertex3f(r2 * cos(angle + 2 * da), r2 * sin(angle + 2 * da), -width * 0.5);
+ u = r1 * cos(angle + 3 * da) - r2 * cos(angle + 2 * da);
+ v = r1 * sin(angle + 3 * da) - r2 * sin(angle + 2 * da);
+ glNormal3f(v, -u, 0.0);
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), width * 0.5);
+ glVertex3f(r1 * cos(angle + 3 * da), r1 * sin(angle + 3 * da), -width * 0.5);
+ glNormal3f(cos(angle), sin(angle), 0.0);
+ }
+ glVertex3f(r1 * cos(0.0), r1 * sin(0.0), width * 0.5);
+ glVertex3f(r1 * cos(0.0), r1 * sin(0.0), -width * 0.5);
+ glEnd();
+
+ glShadeModel(GL_SMOOTH);
+
+ /* draw inside radius cylinder */
+ glBegin(GL_QUAD_STRIP);
+ for (i = 0; i <= teeth; i++) {
+ angle = i * 2.0 * pi / teeth;
+ glNormal3f(-cos(angle), -sin(angle), 0.0);
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), -width * 0.5);
+ glVertex3f(r0 * cos(angle), r0 * sin(angle), width * 0.5);
+ }
+ glEnd();
}
-
-
static void drawGearGL(int id)
{
- static GLfloat pos[4] = { 5.0f, 5.0f, 10.0f, 1.0f };
- static GLfloat ared[4] = { 0.8f, 0.1f, 0.0f, 1.0f };
- static GLfloat agreen[4] = { 0.0f, 0.8f, 0.2f, 1.0f };
- static GLfloat ablue[4] = { 0.2f, 0.2f, 1.0f, 1.0f };
-
- glLightfv(GL_LIGHT0, GL_POSITION, pos);
- glEnable(GL_CULL_FACE);
- glEnable(GL_LIGHTING);
- glEnable(GL_LIGHT0);
- glEnable(GL_DEPTH_TEST);
-
- switch (id)
- {
- case 1:
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ared);
- gearGL(1.0f, 4.0f, 1.0f, 20, 0.7f);
- break;
- case 2:
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, agreen);
- gearGL(0.5f, 2.0f, 2.0f, 10, 0.7f);
- break;
- case 3:
- glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ablue);
- gearGL(1.3f, 2.0f, 0.5f, 10, 0.7f);
- break;
- default:
- break;
- }
- glEnable(GL_NORMALIZE);
+ static GLfloat pos[4] = {5.0f, 5.0f, 10.0f, 1.0f};
+ static GLfloat ared[4] = {0.8f, 0.1f, 0.0f, 1.0f};
+ static GLfloat agreen[4] = {0.0f, 0.8f, 0.2f, 1.0f};
+ static GLfloat ablue[4] = {0.2f, 0.2f, 1.0f, 1.0f};
+
+ glLightfv(GL_LIGHT0, GL_POSITION, pos);
+ glEnable(GL_CULL_FACE);
+ glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHT0);
+ glEnable(GL_DEPTH_TEST);
+
+ switch (id) {
+ case 1:
+ glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ared);
+ gearGL(1.0f, 4.0f, 1.0f, 20, 0.7f);
+ break;
+ case 2:
+ glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, agreen);
+ gearGL(0.5f, 2.0f, 2.0f, 10, 0.7f);
+ break;
+ case 3:
+ glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, ablue);
+ gearGL(1.3f, 2.0f, 0.5f, 10, 0.7f);
+ break;
+ default:
+ break;
+ }
+ glEnable(GL_NORMALIZE);
}
-
void RenderCamera()
{
- glRotatef(view_rotx, 1.0, 0.0, 0.0);
- glRotatef(view_roty, 0.0, 1.0, 0.0);
- glRotatef(view_rotz, 0.0, 0.0, 1.0);
+ glRotatef(view_rotx, 1.0, 0.0, 0.0);
+ glRotatef(view_roty, 0.0, 1.0, 0.0);
+ glRotatef(view_rotz, 0.0, 0.0, 1.0);
}
-
void RenderScene()
{
- glPushMatrix();
- glTranslatef(-3.0, -2.0, 0.0);
- glRotatef(fAngle, 0.0, 0.0, 1.0);
- drawGearGL(1);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(3.1f, -2.0f, 0.0f);
- glRotatef(-2.0 * fAngle - 9.0, 0.0, 0.0, 1.0);
- drawGearGL(2);
- glPopMatrix();
-
- glPushMatrix();
- glTranslatef(-3.1f, 2.2f, -1.8f);
- glRotatef(90.0f, 1.0f, 0.0f, 0.0f);
- glRotatef(2.0 * fAngle - 2.0, 0.0, 0.0, 1.0);
- drawGearGL(3);
- glPopMatrix();
+ glPushMatrix();
+ glTranslatef(-3.0, -2.0, 0.0);
+ glRotatef(fAngle, 0.0, 0.0, 1.0);
+ drawGearGL(1);
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(3.1f, -2.0f, 0.0f);
+ glRotatef(-2.0 * fAngle - 9.0, 0.0, 0.0, 1.0);
+ drawGearGL(2);
+ glPopMatrix();
+
+ glPushMatrix();
+ glTranslatef(-3.1f, 2.2f, -1.8f);
+ glRotatef(90.0f, 1.0f, 0.0f, 0.0f);
+ glRotatef(2.0 * fAngle - 2.0, 0.0, 0.0, 1.0);
+ drawGearGL(3);
+ glPopMatrix();
}
-
static void View(GHOST_IWindow *window, bool stereo, int eye = 0)
{
- window->activateDrawingContext();
- GHOST_Rect bnds;
- int noOfScanlines = 0, lowerScanline = 0;
- /* hard coded for testing purposes, display device dependent */
- int verticalBlankingInterval = 32;
- float left, right, bottom, top;
- float nearplane, farplane, zeroPlane, distance;
- float eyeSeparation = 0.62f;
- window->getClientBounds(bnds);
-
- // viewport
- if (stereo)
- {
- if (nVidiaWindows)
- {
- // handled by nVidia driver so act as normal (explicitly put here since
- // it -is- stereo)
- glViewport(0, 0, bnds.getWidth(), bnds.getHeight());
- }
- else { // generic cross platform above-below stereo
- noOfScanlines = (bnds.getHeight() - verticalBlankingInterval) / 2;
- switch (eye)
- {
- case LEFT_EYE:
- // upper half of window
- lowerScanline = bnds.getHeight() - noOfScanlines;
- break;
- case RIGHT_EYE:
- // lower half of window
- lowerScanline = 0;
- break;
- }
- }
- }
- else {
- noOfScanlines = bnds.getHeight();
- lowerScanline = 0;
- }
-
- glViewport(0, lowerScanline, bnds.getWidth(), noOfScanlines);
-
- // projection
- left = -6.0;
- right = 6.0;
- bottom = -4.8f;
- top = 4.8f;
- nearplane = 5.0;
- farplane = 60.0;
-
- if (stereo)
- {
- zeroPlane = 0.0;
- distance = 14.5;
- switch (eye)
- {
- case LEFT_EYE:
- StereoProjection(left, right, bottom, top, nearplane, farplane, zeroPlane, distance, -eyeSeparation / 2.0);
- break;
- case RIGHT_EYE:
- StereoProjection(left, right, bottom, top, nearplane, farplane, zeroPlane, distance, eyeSeparation / 2.0);
- break;
- }
- }
- else {
-// left = -w;
-// right = w;
-// bottom = -h;
-// top = h;
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glFrustum(left, right, bottom, top, 5.0, 60.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef(0.0, 0.0, -40.0);
-
- }
-
- glClearColor(.2f, 0.0f, 0.0f, 0.0f);
+ window->activateDrawingContext();
+ GHOST_Rect bnds;
+ int noOfScanlines = 0, lowerScanline = 0;
+ /* hard coded for testing purposes, display device dependent */
+ int verticalBlankingInterval = 32;
+ float left, right, bottom, top;
+ float nearplane, farplane, zeroPlane, distance;
+ float eyeSeparation = 0.62f;
+ window->getClientBounds(bnds);
+
+ // viewport
+ if (stereo) {
+ if (nVidiaWindows) {
+ // handled by nVidia driver so act as normal (explicitly put here since
+ // it -is- stereo)
+ glViewport(0, 0, bnds.getWidth(), bnds.getHeight());
+ }
+ else { // generic cross platform above-below stereo
+ noOfScanlines = (bnds.getHeight() - verticalBlankingInterval) / 2;
+ switch (eye) {
+ case LEFT_EYE:
+ // upper half of window
+ lowerScanline = bnds.getHeight() - noOfScanlines;
+ break;
+ case RIGHT_EYE:
+ // lower half of window
+ lowerScanline = 0;
+ break;
+ }
+ }
+ }
+ else {
+ noOfScanlines = bnds.getHeight();
+ lowerScanline = 0;
+ }
+
+ glViewport(0, lowerScanline, bnds.getWidth(), noOfScanlines);
+
+ // projection
+ left = -6.0;
+ right = 6.0;
+ bottom = -4.8f;
+ top = 4.8f;
+ nearplane = 5.0;
+ farplane = 60.0;
+
+ if (stereo) {
+ zeroPlane = 0.0;
+ distance = 14.5;
+ switch (eye) {
+ case LEFT_EYE:
+ StereoProjection(left,
+ right,
+ bottom,
+ top,
+ nearplane,
+ farplane,
+ zeroPlane,
+ distance,
+ -eyeSeparation / 2.0);
+ break;
+ case RIGHT_EYE:
+ StereoProjection(left,
+ right,
+ bottom,
+ top,
+ nearplane,
+ farplane,
+ zeroPlane,
+ distance,
+ eyeSeparation / 2.0);
+ break;
+ }
+ }
+ else {
+ // left = -w;
+ // right = w;
+ // bottom = -h;
+ // top = h;
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glFrustum(left, right, bottom, top, 5.0, 60.0);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glTranslatef(0.0, 0.0, -40.0);
+ }
+
+ glClearColor(.2f, 0.0f, 0.0f, 0.0f);
}
-
-void StereoProjection(float left, float right, float bottom, float top, float nearplane, float farplane,
- float zero_plane, float dist,
- float eye)
+void StereoProjection(float left,
+ float right,
+ float bottom,
+ float top,
+ float nearplane,
+ float farplane,
+ float zero_plane,
+ float dist,
+ float eye)
/* Perform the perspective projection for one eye's subfield.
* The projection is in the direction of the negative z axis.
*
@@ -357,395 +369,380 @@ void StereoProjection(float left, float right, float bottom, float top, float ne
* negative for the left eye subfield.
*/
{
- float xmid, ymid, clip_near, clip_far, topw, bottomw, leftw, rightw,
- dx, dy, n_over_d;
+ float xmid, ymid, clip_near, clip_far, topw, bottomw, leftw, rightw, dx, dy, n_over_d;
- dx = right - left;
- dy = top - bottom;
+ dx = right - left;
+ dy = top - bottom;
- xmid = (right + left) / 2.0;
- ymid = (top + bottom) / 2.0;
+ xmid = (right + left) / 2.0;
+ ymid = (top + bottom) / 2.0;
- clip_near = dist + zero_plane - nearplane;
- clip_far = dist + zero_plane - farplane;
+ clip_near = dist + zero_plane - nearplane;
+ clip_far = dist + zero_plane - farplane;
- n_over_d = clip_near / dist;
+ n_over_d = clip_near / dist;
- topw = n_over_d * dy / 2.0;
- bottomw = -topw;
- rightw = n_over_d * (dx / 2.0 - eye);
- leftw = n_over_d * (-dx / 2.0 - eye);
+ topw = n_over_d * dy / 2.0;
+ bottomw = -topw;
+ rightw = n_over_d * (dx / 2.0 - eye);
+ leftw = n_over_d * (-dx / 2.0 - eye);
- /* Need to be in projection mode for this. */
- glLoadIdentity();
- glFrustum(leftw, rightw, bottomw, topw, clip_near, clip_far);
+ /* Need to be in projection mode for this. */
+ glLoadIdentity();
+ glFrustum(leftw, rightw, bottomw, topw, clip_near, clip_far);
- glTranslatef(-xmid - eye, -ymid, -zero_plane - dist);
- return;
+ glTranslatef(-xmid - eye, -ymid, -zero_plane - dist);
+ return;
} /* stereoproj */
-
class Application : public GHOST_IEventConsumer {
-public:
- Application(GHOST_ISystem *system);
- ~Application(void);
- virtual bool processEvent(GHOST_IEvent *event);
-
- GHOST_ISystem *m_system;
- GHOST_IWindow *m_mainWindow;
- GHOST_IWindow *m_secondaryWindow;
- GHOST_IWindow *m_fullScreenWindow;
- GHOST_ITimerTask *m_gearsTimer, *m_testTimer;
- GHOST_TStandardCursor m_cursor;
- bool m_exitRequested;
-
- bool stereo;
+ public:
+ Application(GHOST_ISystem *system);
+ ~Application(void);
+ virtual bool processEvent(GHOST_IEvent *event);
+
+ GHOST_ISystem *m_system;
+ GHOST_IWindow *m_mainWindow;
+ GHOST_IWindow *m_secondaryWindow;
+ GHOST_IWindow *m_fullScreenWindow;
+ GHOST_ITimerTask *m_gearsTimer, *m_testTimer;
+ GHOST_TStandardCursor m_cursor;
+ bool m_exitRequested;
+
+ bool stereo;
};
-
Application::Application(GHOST_ISystem *system)
- : m_system(system), m_mainWindow(0), m_secondaryWindow(0), m_fullScreenWindow(0),
- m_gearsTimer(0), m_testTimer(0), m_cursor(GHOST_kStandardCursorFirstCursor),
- m_exitRequested(false), stereo(false)
+ : m_system(system),
+ m_mainWindow(0),
+ m_secondaryWindow(0),
+ m_fullScreenWindow(0),
+ m_gearsTimer(0),
+ m_testTimer(0),
+ m_cursor(GHOST_kStandardCursorFirstCursor),
+ m_exitRequested(false),
+ stereo(false)
{
- GHOST_GLSettings glSettings = {0};
- fApp = this;
-
- // Create the main window
- STR_String title1("gears - main window");
- m_mainWindow = system->createWindow(
- title1,
- 10, 64, 320, 200,
- GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL,
- glSettings);
-
- if (!m_mainWindow) {
- std::cout << "could not create main window\n";
- exit(-1);
- }
-
- // Create a secondary window
- STR_String title2("gears - secondary window");
- m_secondaryWindow = system->createWindow(
- title2,
- 340, 64, 320, 200,
- GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL,
- glSettings);
- if (!m_secondaryWindow) {
- std::cout << "could not create secondary window\n";
- exit(-1);
- }
-
- // Install a timer to have the gears running
- m_gearsTimer = system->installTimer(0 /*delay*/, 20 /*interval*/, gearsTimerProc, m_mainWindow);
+ GHOST_GLSettings glSettings = {0};
+ fApp = this;
+
+ // Create the main window
+ STR_String title1("gears - main window");
+ m_mainWindow = system->createWindow(title1,
+ 10,
+ 64,
+ 320,
+ 200,
+ GHOST_kWindowStateNormal,
+ GHOST_kDrawingContextTypeOpenGL,
+ glSettings);
+
+ if (!m_mainWindow) {
+ std::cout << "could not create main window\n";
+ exit(-1);
+ }
+
+ // Create a secondary window
+ STR_String title2("gears - secondary window");
+ m_secondaryWindow = system->createWindow(title2,
+ 340,
+ 64,
+ 320,
+ 200,
+ GHOST_kWindowStateNormal,
+ GHOST_kDrawingContextTypeOpenGL,
+ glSettings);
+ if (!m_secondaryWindow) {
+ std::cout << "could not create secondary window\n";
+ exit(-1);
+ }
+
+ // Install a timer to have the gears running
+ m_gearsTimer = system->installTimer(0 /*delay*/, 20 /*interval*/, gearsTimerProc, m_mainWindow);
}
-
Application::~Application(void)
{
- // Dispose windows
- if (m_system->validWindow(m_mainWindow)) {
- m_system->disposeWindow(m_mainWindow);
- }
- if (m_system->validWindow(m_secondaryWindow)) {
- m_system->disposeWindow(m_secondaryWindow);
- }
+ // Dispose windows
+ if (m_system->validWindow(m_mainWindow)) {
+ m_system->disposeWindow(m_mainWindow);
+ }
+ if (m_system->validWindow(m_secondaryWindow)) {
+ m_system->disposeWindow(m_secondaryWindow);
+ }
}
-
bool Application::processEvent(GHOST_IEvent *event)
{
- GHOST_IWindow *window = event->getWindow();
- bool handled = true;
+ GHOST_IWindow *window = event->getWindow();
+ bool handled = true;
- switch (event->getType()) {
+ switch (event->getType()) {
#if 0
- case GHOST_kEventUnknown:
- break;
- case GHOST_kEventCursorButton:
- std::cout << "GHOST_kEventCursorButton"; break;
- case GHOST_kEventCursorMove:
- std::cout << "GHOST_kEventCursorMove"; break;
+ case GHOST_kEventUnknown:
+ break;
+ case GHOST_kEventCursorButton:
+ std::cout << "GHOST_kEventCursorButton"; break;
+ case GHOST_kEventCursorMove:
+ std::cout << "GHOST_kEventCursorMove"; break;
#endif
- case GHOST_kEventWheel:
- {
- GHOST_TEventWheelData *wheelData = (GHOST_TEventWheelData *) event->getData();
- if (wheelData->z > 0)
- {
- view_rotz += 5.f;
- }
- else {
- view_rotz -= 5.f;
- }
- }
- break;
-
- case GHOST_kEventKeyUp:
- break;
-
- case GHOST_kEventKeyDown:
- {
- GHOST_TEventKeyData *keyData = (GHOST_TEventKeyData *) event->getData();
- switch (keyData->key) {
- case GHOST_kKeyC:
- {
- int cursor = m_cursor;
- cursor++;
- if (cursor >= GHOST_kStandardCursorNumCursors) {
- cursor = GHOST_kStandardCursorFirstCursor;
- }
- m_cursor = (GHOST_TStandardCursor)cursor;
- window->setCursorShape(m_cursor);
- }
- break;
-
- case GHOST_kKeyE:
- {
- int x = 200, y = 200;
- m_system->setCursorPosition(x, y);
- break;
- }
-
- case GHOST_kKeyF:
- if (!m_system->getFullScreen()) {
- // Begin fullscreen mode
- GHOST_DisplaySetting setting;
-
- setting.bpp = 16;
- setting.frequency = 50;
- setting.xPixels = 640;
- setting.yPixels = 480;
- m_system->beginFullScreen(setting, &m_fullScreenWindow, false /* stereo flag */);
- }
- else {
- m_system->endFullScreen();
- m_fullScreenWindow = 0;
- }
- break;
-
- case GHOST_kKeyH:
- window->setCursorVisibility(!window->getCursorVisibility());
- break;
-
- case GHOST_kKeyM:
- {
- bool down = false;
- m_system->getModifierKeyState(GHOST_kModifierKeyLeftShift, down);
- if (down) {
- std::cout << "left shift down\n";
- }
- m_system->getModifierKeyState(GHOST_kModifierKeyRightShift, down);
- if (down) {
- std::cout << "right shift down\n";
- }
- m_system->getModifierKeyState(GHOST_kModifierKeyLeftAlt, down);
- if (down) {
- std::cout << "left Alt down\n";
- }
- m_system->getModifierKeyState(GHOST_kModifierKeyRightAlt, down);
- if (down) {
- std::cout << "right Alt down\n";
- }
- m_system->getModifierKeyState(GHOST_kModifierKeyLeftControl, down);
- if (down) {
- std::cout << "left control down\n";
- }
- m_system->getModifierKeyState(GHOST_kModifierKeyRightControl, down);
- if (down) {
- std::cout << "right control down\n";
- }
- }
- break;
-
- case GHOST_kKeyQ:
- if (m_system->getFullScreen())
- {
- m_system->endFullScreen();
- m_fullScreenWindow = 0;
- }
- m_exitRequested = true;
- break;
-
- case GHOST_kKeyS: // toggle mono and stereo
- if (stereo)
- stereo = false;
- else
- stereo = true;
- break;
-
- case GHOST_kKeyT:
- if (!m_testTimer) {
- m_testTimer = m_system->installTimer(0, 1000, testTimerProc);
- }
-
- else {
- m_system->removeTimer(m_testTimer);
- m_testTimer = 0;
- }
-
- break;
-
- case GHOST_kKeyW:
- if (m_mainWindow)
- {
- STR_String title;
- m_mainWindow->getTitle(title);
- title += "-";
- m_mainWindow->setTitle(title);
-
- }
- break;
-
- default:
- break;
- }
- }
- break;
-
- case GHOST_kEventWindowClose:
- {
- GHOST_IWindow *window2 = event->getWindow();
- if (window2 == m_mainWindow) {
- m_exitRequested = true;
- }
- else {
- m_system->disposeWindow(window2);
- }
- }
- break;
-
- case GHOST_kEventWindowActivate:
- handled = false;
- break;
-
- case GHOST_kEventWindowDeactivate:
- handled = false;
- break;
-
- case GHOST_kEventWindowUpdate:
- {
- GHOST_IWindow *window2 = event->getWindow();
- if (!m_system->validWindow(window2))
- break;
-
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-
- if (stereo)
- {
- View(window2, stereo, LEFT_EYE);
- glPushMatrix();
- RenderCamera();
- RenderScene();
- glPopMatrix();
-
- View(window2, stereo, RIGHT_EYE);
- glPushMatrix();
- RenderCamera();
- RenderScene();
- glPopMatrix();
- }
- else {
- View(window2, stereo);
- glPushMatrix();
- RenderCamera();
- RenderScene();
- glPopMatrix();
- }
- window2->swapBuffers();
- }
- break;
-
- default:
- handled = false;
- break;
- }
- return handled;
+ case GHOST_kEventWheel: {
+ GHOST_TEventWheelData *wheelData = (GHOST_TEventWheelData *)event->getData();
+ if (wheelData->z > 0) {
+ view_rotz += 5.f;
+ }
+ else {
+ view_rotz -= 5.f;
+ }
+ } break;
+
+ case GHOST_kEventKeyUp:
+ break;
+
+ case GHOST_kEventKeyDown: {
+ GHOST_TEventKeyData *keyData = (GHOST_TEventKeyData *)event->getData();
+ switch (keyData->key) {
+ case GHOST_kKeyC: {
+ int cursor = m_cursor;
+ cursor++;
+ if (cursor >= GHOST_kStandardCursorNumCursors) {
+ cursor = GHOST_kStandardCursorFirstCursor;
+ }
+ m_cursor = (GHOST_TStandardCursor)cursor;
+ window->setCursorShape(m_cursor);
+ } break;
+
+ case GHOST_kKeyE: {
+ int x = 200, y = 200;
+ m_system->setCursorPosition(x, y);
+ break;
+ }
+
+ case GHOST_kKeyF:
+ if (!m_system->getFullScreen()) {
+ // Begin fullscreen mode
+ GHOST_DisplaySetting setting;
+
+ setting.bpp = 16;
+ setting.frequency = 50;
+ setting.xPixels = 640;
+ setting.yPixels = 480;
+ m_system->beginFullScreen(setting, &m_fullScreenWindow, false /* stereo flag */);
+ }
+ else {
+ m_system->endFullScreen();
+ m_fullScreenWindow = 0;
+ }
+ break;
+
+ case GHOST_kKeyH:
+ window->setCursorVisibility(!window->getCursorVisibility());
+ break;
+
+ case GHOST_kKeyM: {
+ bool down = false;
+ m_system->getModifierKeyState(GHOST_kModifierKeyLeftShift, down);
+ if (down) {
+ std::cout << "left shift down\n";
+ }
+ m_system->getModifierKeyState(GHOST_kModifierKeyRightShift, down);
+ if (down) {
+ std::cout << "right shift down\n";
+ }
+ m_system->getModifierKeyState(GHOST_kModifierKeyLeftAlt, down);
+ if (down) {
+ std::cout << "left Alt down\n";
+ }
+ m_system->getModifierKeyState(GHOST_kModifierKeyRightAlt, down);
+ if (down) {
+ std::cout << "right Alt down\n";
+ }
+ m_system->getModifierKeyState(GHOST_kModifierKeyLeftControl, down);
+ if (down) {
+ std::cout << "left control down\n";
+ }
+ m_system->getModifierKeyState(GHOST_kModifierKeyRightControl, down);
+ if (down) {
+ std::cout << "right control down\n";
+ }
+ } break;
+
+ case GHOST_kKeyQ:
+ if (m_system->getFullScreen()) {
+ m_system->endFullScreen();
+ m_fullScreenWindow = 0;
+ }
+ m_exitRequested = true;
+ break;
+
+ case GHOST_kKeyS: // toggle mono and stereo
+ if (stereo)
+ stereo = false;
+ else
+ stereo = true;
+ break;
+
+ case GHOST_kKeyT:
+ if (!m_testTimer) {
+ m_testTimer = m_system->installTimer(0, 1000, testTimerProc);
+ }
+
+ else {
+ m_system->removeTimer(m_testTimer);
+ m_testTimer = 0;
+ }
+
+ break;
+
+ case GHOST_kKeyW:
+ if (m_mainWindow) {
+ STR_String title;
+ m_mainWindow->getTitle(title);
+ title += "-";
+ m_mainWindow->setTitle(title);
+ }
+ break;
+
+ default:
+ break;
+ }
+ } break;
+
+ case GHOST_kEventWindowClose: {
+ GHOST_IWindow *window2 = event->getWindow();
+ if (window2 == m_mainWindow) {
+ m_exitRequested = true;
+ }
+ else {
+ m_system->disposeWindow(window2);
+ }
+ } break;
+
+ case GHOST_kEventWindowActivate:
+ handled = false;
+ break;
+
+ case GHOST_kEventWindowDeactivate:
+ handled = false;
+ break;
+
+ case GHOST_kEventWindowUpdate: {
+ GHOST_IWindow *window2 = event->getWindow();
+ if (!m_system->validWindow(window2))
+ break;
+
+ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+
+ if (stereo) {
+ View(window2, stereo, LEFT_EYE);
+ glPushMatrix();
+ RenderCamera();
+ RenderScene();
+ glPopMatrix();
+
+ View(window2, stereo, RIGHT_EYE);
+ glPushMatrix();
+ RenderCamera();
+ RenderScene();
+ glPopMatrix();
+ }
+ else {
+ View(window2, stereo);
+ glPushMatrix();
+ RenderCamera();
+ RenderScene();
+ glPopMatrix();
+ }
+ window2->swapBuffers();
+ } break;
+
+ default:
+ handled = false;
+ break;
+ }
+ return handled;
}
-
int main(int /*argc*/, char ** /*argv*/)
{
- nVidiaWindows = false;
-// nVidiaWindows = true;
+ nVidiaWindows = false;
+ // nVidiaWindows = true;
#ifdef WIN32
- /* Set a couple of settings in the registry for the nVidia detonator driver.
- * So this is very specific...
- */
- if (nVidiaWindows)
- {
- LONG lresult;
- HKEY hkey = 0;
- DWORD dwd = 0;
- //unsigned char buffer[128];
-
- CRegKey regkey;
- //DWORD keyValue;
-// lresult = regkey.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\NVIDIA Corporation\\Global\\Stereo3D\\StereoEnable");
- lresult = regkey.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\NVIDIA Corporation\\Global\\Stereo3D\\StereoEnable",
- KEY_ALL_ACCESS);
-
- if (lresult == ERROR_SUCCESS)
- printf("Successfully opened key\n");
-#if 0
- lresult = regkey.QueryValue(&keyValue, "StereoEnable");
- if (lresult == ERROR_SUCCESS)
- printf("Successfully queried key\n");
-#endif
- lresult = regkey.SetValue(HKEY_LOCAL_MACHINE, "SOFTWARE\\NVIDIA Corporation\\Global\\Stereo3D\\StereoEnable",
- "1");
- if (lresult == ERROR_SUCCESS)
- printf("Successfully set value for key\n");
- regkey.Close();
- if (lresult == ERROR_SUCCESS)
- printf("Successfully closed key\n");
-// regkey.Write("2");
- }
+ /* Set a couple of settings in the registry for the nVidia detonator driver.
+ * So this is very specific...
+ */
+ if (nVidiaWindows) {
+ LONG lresult;
+ HKEY hkey = 0;
+ DWORD dwd = 0;
+ //unsigned char buffer[128];
+
+ CRegKey regkey;
+ //DWORD keyValue;
+ // lresult = regkey.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\NVIDIA Corporation\\Global\\Stereo3D\\StereoEnable");
+ lresult = regkey.Open(HKEY_LOCAL_MACHINE,
+ "SOFTWARE\\NVIDIA Corporation\\Global\\Stereo3D\\StereoEnable",
+ KEY_ALL_ACCESS);
+
+ if (lresult == ERROR_SUCCESS)
+ printf("Successfully opened key\n");
+# if 0
+ lresult = regkey.QueryValue(&keyValue, "StereoEnable");
+ if (lresult == ERROR_SUCCESS)
+ printf("Successfully queried key\n");
+# endif
+ lresult = regkey.SetValue(
+ HKEY_LOCAL_MACHINE, "SOFTWARE\\NVIDIA Corporation\\Global\\Stereo3D\\StereoEnable", "1");
+ if (lresult == ERROR_SUCCESS)
+ printf("Successfully set value for key\n");
+ regkey.Close();
+ if (lresult == ERROR_SUCCESS)
+ printf("Successfully closed key\n");
+ // regkey.Write("2");
+ }
#endif // WIN32
- // Create the system
- GHOST_ISystem::createSystem();
- fSystem = GHOST_ISystem::getSystem();
+ // Create the system
+ GHOST_ISystem::createSystem();
+ fSystem = GHOST_ISystem::getSystem();
- if (fSystem) {
- // Create an application object
- Application app(fSystem);
+ if (fSystem) {
+ // Create an application object
+ Application app(fSystem);
- // Add the application as event consumer
- fSystem->addEventConsumer(&app);
+ // Add the application as event consumer
+ fSystem->addEventConsumer(&app);
- // Enter main loop
- while (!app.m_exitRequested) {
- //printf("main: loop\n");
- fSystem->processEvents(true);
- fSystem->dispatchEvents();
- }
+ // Enter main loop
+ while (!app.m_exitRequested) {
+ //printf("main: loop\n");
+ fSystem->processEvents(true);
+ fSystem->dispatchEvents();
+ }
- // Remove so ghost doesn't do a double free
- fSystem->removeEventConsumer(&app);
- }
+ // Remove so ghost doesn't do a double free
+ fSystem->removeEventConsumer(&app);
+ }
- // Dispose the system
- GHOST_ISystem::disposeSystem();
+ // Dispose the system
+ GHOST_ISystem::disposeSystem();
- return 0;
+ return 0;
}
-
static void gearsTimerProc(GHOST_ITimerTask *task, GHOST_TUns64 /*time*/)
{
- fAngle += 2.0;
- view_roty += 1.0;
- GHOST_IWindow *window = (GHOST_IWindow *)task->getUserData();
- if (fApp->m_fullScreenWindow) {
- // Running full screen
- fApp->m_fullScreenWindow->invalidate();
- }
- else {
- if (fSystem->validWindow(window)) {
- window->invalidate();
- }
- }
+ fAngle += 2.0;
+ view_roty += 1.0;
+ GHOST_IWindow *window = (GHOST_IWindow *)task->getUserData();
+ if (fApp->m_fullScreenWindow) {
+ // Running full screen
+ fApp->m_fullScreenWindow->invalidate();
+ }
+ else {
+ if (fSystem->validWindow(window)) {
+ window->invalidate();
+ }
+ }
}
diff --git a/intern/ghost/test/multitest/Basic.c b/intern/ghost/test/multitest/Basic.c
index 17f1fc0de48..670c7583fe5 100644
--- a/intern/ghost/test/multitest/Basic.c
+++ b/intern/ghost/test/multitest/Basic.c
@@ -21,45 +21,45 @@
int min_i(int a, int b)
{
- return (a < b) ? a : b;
+ return (a < b) ? a : b;
}
int max_i(int a, int b)
{
- return (b < a) ? a : b;
+ return (b < a) ? a : b;
}
int clamp_i(int val, int min, int max)
{
- return min_i(max_i(val, min), max);
+ return min_i(max_i(val, min), max);
}
float min_f(float a, float b)
{
- return (a < b) ? a : b;
+ return (a < b) ? a : b;
}
float max_f(float a, float b)
{
- return (b < a) ? a : b;
+ return (b < a) ? a : b;
}
float clamp_f(float val, float min, float max)
{
- return min_f(max_f(val, min), max);
+ return min_f(max_f(val, min), max);
}
void rect_copy(int dst[2][2], int src[2][2])
{
- dst[0][0] = src[0][0], dst[0][1] = src[0][1];
- dst[1][0] = src[1][0], dst[1][1] = src[1][1];
+ dst[0][0] = src[0][0], dst[0][1] = src[0][1];
+ dst[1][0] = src[1][0], dst[1][1] = src[1][1];
}
int rect_contains_pt(int rect[2][2], int pt[2])
{
- return ((rect[0][0] <= pt[0] && pt[0] <= rect[1][0]) &&
- (rect[0][1] <= pt[1] && pt[1] <= rect[1][1]));
+ return ((rect[0][0] <= pt[0] && pt[0] <= rect[1][0]) &&
+ (rect[0][1] <= pt[1] && pt[1] <= rect[1][1]));
}
int rect_width(int rect[2][2])
{
- return (rect[1][0] - rect[0][0]);
+ return (rect[1][0] - rect[0][0]);
}
int rect_height(int rect[2][2])
{
- return (rect[1][1] - rect[0][1]);
+ return (rect[1][1] - rect[0][1]);
}
diff --git a/intern/ghost/test/multitest/Basic.h b/intern/ghost/test/multitest/Basic.h
index 16af83be8dd..1557be8433e 100644
--- a/intern/ghost/test/multitest/Basic.h
+++ b/intern/ghost/test/multitest/Basic.h
@@ -17,16 +17,16 @@
* All rights reserved.
*/
-int min_i (int a, int b);
+int min_i(int a, int b);
-int max_i (int a, int b);
-int clamp_i (int val, int min, int max);
+int max_i(int a, int b);
+int clamp_i(int val, int min, int max);
-float min_f (float a, float b);
-float max_f (float a, float b);
-float clamp_f (float val, float min, float max);
+float min_f(float a, float b);
+float max_f(float a, float b);
+float clamp_f(float val, float min, float max);
-void rect_copy (int dst[2][2], int src[2][2]);
-int rect_contains_pt (int rect[2][2], int pt[2]);
-int rect_width (int rect[2][2]);
-int rect_height (int rect[2][2]);
+void rect_copy(int dst[2][2], int src[2][2]);
+int rect_contains_pt(int rect[2][2], int pt[2]);
+int rect_width(int rect[2][2]);
+int rect_height(int rect[2][2]);
diff --git a/intern/ghost/test/multitest/EventToBuf.c b/intern/ghost/test/multitest/EventToBuf.c
index 4edebec8066..5aee8a50a8d 100644
--- a/intern/ghost/test/multitest/EventToBuf.c
+++ b/intern/ghost/test/multitest/EventToBuf.c
@@ -28,204 +28,215 @@
char *eventtype_to_string(GHOST_TEventType type)
{
- switch (type) {
- case GHOST_kEventCursorMove: return "CursorMove";
- case GHOST_kEventButtonDown: return "ButtonDown";
- case GHOST_kEventButtonUp: return "ButtonUp";
-
- case GHOST_kEventKeyDown: return "KeyDown";
- case GHOST_kEventKeyUp: return "KeyUp";
-
- case GHOST_kEventQuit: return "Quit";
-
- case GHOST_kEventWindowClose: return "WindowClose";
- case GHOST_kEventWindowActivate: return "WindowActivate";
- case GHOST_kEventWindowDeactivate: return "WindowDeactivate";
- case GHOST_kEventWindowUpdate: return "WindowUpdate";
- case GHOST_kEventWindowSize: return "WindowSize";
- default:
- return "<invalid>";
- }
+ switch (type) {
+ case GHOST_kEventCursorMove:
+ return "CursorMove";
+ case GHOST_kEventButtonDown:
+ return "ButtonDown";
+ case GHOST_kEventButtonUp:
+ return "ButtonUp";
+
+ case GHOST_kEventKeyDown:
+ return "KeyDown";
+ case GHOST_kEventKeyUp:
+ return "KeyUp";
+
+ case GHOST_kEventQuit:
+ return "Quit";
+
+ case GHOST_kEventWindowClose:
+ return "WindowClose";
+ case GHOST_kEventWindowActivate:
+ return "WindowActivate";
+ case GHOST_kEventWindowDeactivate:
+ return "WindowDeactivate";
+ case GHOST_kEventWindowUpdate:
+ return "WindowUpdate";
+ case GHOST_kEventWindowSize:
+ return "WindowSize";
+ default:
+ return "<invalid>";
+ }
}
static char *keytype_to_string(GHOST_TKey key)
{
-#define K(key) case GHOST_k##key: return #key;
- switch (key) {
- K(KeyBackSpace);
- K(KeyTab);
- K(KeyLinefeed);
- K(KeyClear);
- K(KeyEnter);
-
- K(KeyEsc);
- K(KeySpace);
- K(KeyQuote);
- K(KeyComma);
- K(KeyMinus);
- K(KeyPeriod);
- K(KeySlash);
-
- K(Key0);
- K(Key1);
- K(Key2);
- K(Key3);
- K(Key4);
- K(Key5);
- K(Key6);
- K(Key7);
- K(Key8);
- K(Key9);
-
- K(KeySemicolon);
- K(KeyEqual);
-
- K(KeyA);
- K(KeyB);
- K(KeyC);
- K(KeyD);
- K(KeyE);
- K(KeyF);
- K(KeyG);
- K(KeyH);
- K(KeyI);
- K(KeyJ);
- K(KeyK);
- K(KeyL);
- K(KeyM);
- K(KeyN);
- K(KeyO);
- K(KeyP);
- K(KeyQ);
- K(KeyR);
- K(KeyS);
- K(KeyT);
- K(KeyU);
- K(KeyV);
- K(KeyW);
- K(KeyX);
- K(KeyY);
- K(KeyZ);
-
- K(KeyLeftBracket);
- K(KeyRightBracket);
- K(KeyBackslash);
- K(KeyAccentGrave);
-
- K(KeyLeftShift);
- K(KeyRightShift);
- K(KeyLeftControl);
- K(KeyRightControl);
- K(KeyLeftAlt);
- K(KeyRightAlt);
- K(KeyOS);
-
- K(KeyCapsLock);
- K(KeyNumLock);
- K(KeyScrollLock);
-
- K(KeyLeftArrow);
- K(KeyRightArrow);
- K(KeyUpArrow);
- K(KeyDownArrow);
-
- K(KeyPrintScreen);
- K(KeyPause);
-
- K(KeyInsert);
- K(KeyDelete);
- K(KeyHome);
- K(KeyEnd);
- K(KeyUpPage);
- K(KeyDownPage);
-
- K(KeyNumpad0);
- K(KeyNumpad1);
- K(KeyNumpad2);
- K(KeyNumpad3);
- K(KeyNumpad4);
- K(KeyNumpad5);
- K(KeyNumpad6);
- K(KeyNumpad7);
- K(KeyNumpad8);
- K(KeyNumpad9);
- K(KeyNumpadPeriod);
- K(KeyNumpadEnter);
- K(KeyNumpadPlus);
- K(KeyNumpadMinus);
- K(KeyNumpadAsterisk);
- K(KeyNumpadSlash);
-
- K(KeyF1);
- K(KeyF2);
- K(KeyF3);
- K(KeyF4);
- K(KeyF5);
- K(KeyF6);
- K(KeyF7);
- K(KeyF8);
- K(KeyF9);
- K(KeyF10);
- K(KeyF11);
- K(KeyF12);
- K(KeyF13);
- K(KeyF14);
- K(KeyF15);
- K(KeyF16);
- K(KeyF17);
- K(KeyF18);
- K(KeyF19);
- K(KeyF20);
- K(KeyF21);
- K(KeyF22);
- K(KeyF23);
- K(KeyF24);
-
- default:
- return "KeyUnknown";
- }
+#define K(key) \
+ case GHOST_k##key: \
+ return #key;
+ switch (key) {
+ K(KeyBackSpace);
+ K(KeyTab);
+ K(KeyLinefeed);
+ K(KeyClear);
+ K(KeyEnter);
+
+ K(KeyEsc);
+ K(KeySpace);
+ K(KeyQuote);
+ K(KeyComma);
+ K(KeyMinus);
+ K(KeyPeriod);
+ K(KeySlash);
+
+ K(Key0);
+ K(Key1);
+ K(Key2);
+ K(Key3);
+ K(Key4);
+ K(Key5);
+ K(Key6);
+ K(Key7);
+ K(Key8);
+ K(Key9);
+
+ K(KeySemicolon);
+ K(KeyEqual);
+
+ K(KeyA);
+ K(KeyB);
+ K(KeyC);
+ K(KeyD);
+ K(KeyE);
+ K(KeyF);
+ K(KeyG);
+ K(KeyH);
+ K(KeyI);
+ K(KeyJ);
+ K(KeyK);
+ K(KeyL);
+ K(KeyM);
+ K(KeyN);
+ K(KeyO);
+ K(KeyP);
+ K(KeyQ);
+ K(KeyR);
+ K(KeyS);
+ K(KeyT);
+ K(KeyU);
+ K(KeyV);
+ K(KeyW);
+ K(KeyX);
+ K(KeyY);
+ K(KeyZ);
+
+ K(KeyLeftBracket);
+ K(KeyRightBracket);
+ K(KeyBackslash);
+ K(KeyAccentGrave);
+
+ K(KeyLeftShift);
+ K(KeyRightShift);
+ K(KeyLeftControl);
+ K(KeyRightControl);
+ K(KeyLeftAlt);
+ K(KeyRightAlt);
+ K(KeyOS);
+
+ K(KeyCapsLock);
+ K(KeyNumLock);
+ K(KeyScrollLock);
+
+ K(KeyLeftArrow);
+ K(KeyRightArrow);
+ K(KeyUpArrow);
+ K(KeyDownArrow);
+
+ K(KeyPrintScreen);
+ K(KeyPause);
+
+ K(KeyInsert);
+ K(KeyDelete);
+ K(KeyHome);
+ K(KeyEnd);
+ K(KeyUpPage);
+ K(KeyDownPage);
+
+ K(KeyNumpad0);
+ K(KeyNumpad1);
+ K(KeyNumpad2);
+ K(KeyNumpad3);
+ K(KeyNumpad4);
+ K(KeyNumpad5);
+ K(KeyNumpad6);
+ K(KeyNumpad7);
+ K(KeyNumpad8);
+ K(KeyNumpad9);
+ K(KeyNumpadPeriod);
+ K(KeyNumpadEnter);
+ K(KeyNumpadPlus);
+ K(KeyNumpadMinus);
+ K(KeyNumpadAsterisk);
+ K(KeyNumpadSlash);
+
+ K(KeyF1);
+ K(KeyF2);
+ K(KeyF3);
+ K(KeyF4);
+ K(KeyF5);
+ K(KeyF6);
+ K(KeyF7);
+ K(KeyF8);
+ K(KeyF9);
+ K(KeyF10);
+ K(KeyF11);
+ K(KeyF12);
+ K(KeyF13);
+ K(KeyF14);
+ K(KeyF15);
+ K(KeyF16);
+ K(KeyF17);
+ K(KeyF18);
+ K(KeyF19);
+ K(KeyF20);
+ K(KeyF21);
+ K(KeyF22);
+ K(KeyF23);
+ K(KeyF24);
+
+ default:
+ return "KeyUnknown";
+ }
#undef K
}
void event_to_buf(GHOST_EventHandle evt, char buf[128])
{
- GHOST_TEventType type = GHOST_GetEventType(evt);
- double time = (double) ((GHOST_TInt64) GHOST_GetEventTime(evt))/1000;
- GHOST_WindowHandle win = GHOST_GetEventWindow(evt);
- void *data = GHOST_GetEventData(evt);
- char *pos = buf;
-
- pos += sprintf(pos, "event: %6.2f, %16s", time, eventtype_to_string(type));
- if (win) {
- char *s = GHOST_GetTitle(win);
- pos += sprintf(pos, " - win: %s", s);
- free(s);
- }
- else {
- pos+= sprintf(pos, " - sys evt");
- }
- switch (type) {
- case GHOST_kEventCursorMove:
- {
- GHOST_TEventCursorData *cd = data;
- pos += sprintf(pos, " - pos: (%d, %d)", cd->x, cd->y);
- break;
- }
- case GHOST_kEventButtonDown:
- case GHOST_kEventButtonUp:
- {
- GHOST_TEventButtonData *bd = data;
- pos += sprintf(pos, " - but: %d", bd->button);
- break;
- }
-
- case GHOST_kEventKeyDown:
- case GHOST_kEventKeyUp:
- {
- GHOST_TEventKeyData *kd = data;
- pos += sprintf(pos, " - key: %s (%d)", keytype_to_string(kd->key), kd->key);
- if (kd->ascii) pos+= sprintf(pos, " ascii: '%c' (%d)", kd->ascii, kd->ascii);
- break;
- }
- }
+ GHOST_TEventType type = GHOST_GetEventType(evt);
+ double time = (double)((GHOST_TInt64)GHOST_GetEventTime(evt)) / 1000;
+ GHOST_WindowHandle win = GHOST_GetEventWindow(evt);
+ void *data = GHOST_GetEventData(evt);
+ char *pos = buf;
+
+ pos += sprintf(pos, "event: %6.2f, %16s", time, eventtype_to_string(type));
+ if (win) {
+ char *s = GHOST_GetTitle(win);
+ pos += sprintf(pos, " - win: %s", s);
+ free(s);
+ }
+ else {
+ pos += sprintf(pos, " - sys evt");
+ }
+ switch (type) {
+ case GHOST_kEventCursorMove: {
+ GHOST_TEventCursorData *cd = data;
+ pos += sprintf(pos, " - pos: (%d, %d)", cd->x, cd->y);
+ break;
+ }
+ case GHOST_kEventButtonDown:
+ case GHOST_kEventButtonUp: {
+ GHOST_TEventButtonData *bd = data;
+ pos += sprintf(pos, " - but: %d", bd->button);
+ break;
+ }
+
+ case GHOST_kEventKeyDown:
+ case GHOST_kEventKeyUp: {
+ GHOST_TEventKeyData *kd = data;
+ pos += sprintf(pos, " - key: %s (%d)", keytype_to_string(kd->key), kd->key);
+ if (kd->ascii)
+ pos += sprintf(pos, " ascii: '%c' (%d)", kd->ascii, kd->ascii);
+ break;
+ }
+ }
}
diff --git a/intern/ghost/test/multitest/GL.h b/intern/ghost/test/multitest/GL.h
index 9afa4e22fdb..2a7d95212e1 100644
--- a/intern/ghost/test/multitest/GL.h
+++ b/intern/ghost/test/multitest/GL.h
@@ -19,13 +19,13 @@
#if defined(WIN32) || defined(__APPLE__)
- #ifdef WIN32
- #include <windows.h>
- #include <GL/gl.h>
- #else // WIN32
- // __APPLE__ is defined
- #include <AGL/gl.h>
- #endif // WIN32
-#else // defined(WIN32) || defined(__APPLE__)
- #include <GL/gl.h>
-#endif // defined(WIN32) || defined(__APPLE__)
+# ifdef WIN32
+# include <windows.h>
+# include <GL/gl.h>
+# else // WIN32
+// __APPLE__ is defined
+# include <AGL/gl.h>
+# endif // WIN32
+#else // defined(WIN32) || defined(__APPLE__)
+# include <GL/gl.h>
+#endif // defined(WIN32) || defined(__APPLE__)
diff --git a/intern/ghost/test/multitest/MultiTest.c b/intern/ghost/test/multitest/MultiTest.c
index 8d6a3e94fb7..25e9f6b2bf1 100644
--- a/intern/ghost/test/multitest/MultiTest.c
+++ b/intern/ghost/test/multitest/MultiTest.c
@@ -19,7 +19,7 @@
#define FALSE 0
#ifdef _MSC_VER
-# pragma warning(disable: 4244 4305)
+# pragma warning(disable : 4244 4305)
#endif
#include <stdlib.h>
@@ -68,56 +68,56 @@ void multitestapp_exit(MultiTestApp *app);
void rect_bevel_side(int rect[2][2], int side, float *lt, float *dk, const float col[3], int width)
{
- int ltidx = (side / 2) % 4;
- int dkidx = (ltidx + 1 + (side & 1)) % 4;
- int i, corner;
+ int ltidx = (side / 2) % 4;
+ int dkidx = (ltidx + 1 + (side & 1)) % 4;
+ int i, corner;
- glBegin(GL_LINES);
- for (i = 0; i < width; i++) {
- float ltf = pow(lt[i], 1.0 / 2.2), dkf = pow(dk[i], 1.0 / 2.2);
- float stf = (dkidx > ltidx) ? dkf : ltf;
- int lx = rect[1][0] - i - 1;
- int ly = rect[0][1] + i;
+ glBegin(GL_LINES);
+ for (i = 0; i < width; i++) {
+ float ltf = pow(lt[i], 1.0 / 2.2), dkf = pow(dk[i], 1.0 / 2.2);
+ float stf = (dkidx > ltidx) ? dkf : ltf;
+ int lx = rect[1][0] - i - 1;
+ int ly = rect[0][1] + i;
- glColor3f(col[0] * stf, col[1] * stf, col[2] * stf);
- for (corner = 0; corner < 4; corner++) {
- int x = (corner == 0 || corner == 1) ? (rect[0][0] + i) : (rect[1][0] - i - 1);
- int y = (corner == 0 || corner == 3) ? (rect[0][1] + i) : (rect[1][1] - i - 1);
+ glColor3f(col[0] * stf, col[1] * stf, col[2] * stf);
+ for (corner = 0; corner < 4; corner++) {
+ int x = (corner == 0 || corner == 1) ? (rect[0][0] + i) : (rect[1][0] - i - 1);
+ int y = (corner == 0 || corner == 3) ? (rect[0][1] + i) : (rect[1][1] - i - 1);
- if (ltidx == corner)
- glColor3f(col[0] * ltf, col[1] * ltf, col[2] * ltf);
- if (dkidx == corner)
- glColor3f(col[0] * dkf, col[1] * dkf, col[2] * dkf);
+ if (ltidx == corner)
+ glColor3f(col[0] * ltf, col[1] * ltf, col[2] * ltf);
+ if (dkidx == corner)
+ glColor3f(col[0] * dkf, col[1] * dkf, col[2] * dkf);
- glVertex2i(lx, ly);
- glVertex2i(lx = x, ly = y);
- }
- }
- glEnd();
+ glVertex2i(lx, ly);
+ glVertex2i(lx = x, ly = y);
+ }
+ }
+ glEnd();
- glColor3fv(col);
- glRecti(rect[0][0] + width, rect[0][1] + width, rect[1][0] - width, rect[1][1] - width);
+ glColor3fv(col);
+ glRecti(rect[0][0] + width, rect[0][1] + width, rect[1][0] - width, rect[1][1] - width);
}
void rect_bevel_smooth(int rect[2][2], int width)
{
- float *lt = malloc(sizeof(*lt) * width);
- float *dk = malloc(sizeof(*dk) * width);
- float col[4];
- int i;
+ float *lt = malloc(sizeof(*lt) * width);
+ float *dk = malloc(sizeof(*dk) * width);
+ float col[4];
+ int i;
- for (i = 0; i < width; i++) {
- float v = width - 1 ? ((float) i / (width - 1)) : 0;
- lt[i] = 1.2 + (1.0 - 1.2) * v;
- dk[i] = 0.2 + (1.0 - 0.2) * v;
- }
+ for (i = 0; i < width; i++) {
+ float v = width - 1 ? ((float)i / (width - 1)) : 0;
+ lt[i] = 1.2 + (1.0 - 1.2) * v;
+ dk[i] = 0.2 + (1.0 - 0.2) * v;
+ }
- glGetFloatv(GL_CURRENT_COLOR, col);
+ glGetFloatv(GL_CURRENT_COLOR, col);
- rect_bevel_side(rect, 3, lt, dk, col, width);
+ rect_bevel_side(rect, 3, lt, dk, col, width);
- free(lt);
- free(dk);
+ free(lt);
+ free(dk);
}
/*
@@ -125,218 +125,219 @@ void rect_bevel_smooth(int rect[2][2], int width)
*/
typedef struct {
- MultiTestApp *app;
+ MultiTestApp *app;
- GHOST_WindowHandle win;
+ GHOST_WindowHandle win;
- int size[2];
+ int size[2];
- int lmouse[2], lmbut[3];
+ int lmouse[2], lmbut[3];
- int tmouse[2];
+ int tmouse[2];
} MainWindow;
static void mainwindow_log(MainWindow *mw, char *str)
{
- loggerwindow_log(multitestapp_get_logger(mw->app), str);
+ loggerwindow_log(multitestapp_get_logger(mw->app), str);
}
static void mainwindow_do_draw(MainWindow *mw)
{
- GHOST_ActivateWindowDrawingContext(mw->win);
+ GHOST_ActivateWindowDrawingContext(mw->win);
- if (mw->lmbut[0]) {
- glClearColor(0.5, 0.5, 0.5, 1);
- }
- else {
- glClearColor(1, 1, 1, 1);
- }
- glClear(GL_COLOR_BUFFER_BIT);
+ if (mw->lmbut[0]) {
+ glClearColor(0.5, 0.5, 0.5, 1);
+ }
+ else {
+ glClearColor(1, 1, 1, 1);
+ }
+ glClear(GL_COLOR_BUFFER_BIT);
- glColor3f(0.5, 0.6, 0.8);
- glRecti(mw->tmouse[0] - 5, mw->tmouse[1] - 5, mw->tmouse[0] + 5, mw->tmouse[1] + 5);
+ glColor3f(0.5, 0.6, 0.8);
+ glRecti(mw->tmouse[0] - 5, mw->tmouse[1] - 5, mw->tmouse[0] + 5, mw->tmouse[1] + 5);
- GHOST_SwapWindowBuffers(mw->win);
+ GHOST_SwapWindowBuffers(mw->win);
}
static void mainwindow_do_reshape(MainWindow *mw)
{
- GHOST_RectangleHandle bounds = GHOST_GetClientBounds(mw->win);
+ GHOST_RectangleHandle bounds = GHOST_GetClientBounds(mw->win);
- GHOST_ActivateWindowDrawingContext(mw->win);
+ GHOST_ActivateWindowDrawingContext(mw->win);
- mw->size[0] = GHOST_GetWidthRectangle(bounds);
- mw->size[1] = GHOST_GetHeightRectangle(bounds);
+ mw->size[0] = GHOST_GetWidthRectangle(bounds);
+ mw->size[1] = GHOST_GetHeightRectangle(bounds);
- glViewport(0, 0, mw->size[0], mw->size[1]);
+ glViewport(0, 0, mw->size[0], mw->size[1]);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, mw->size[0], 0, mw->size[1], -1, 1);
- glTranslatef(0.375, 0.375, 0.0);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho(0, mw->size[0], 0, mw->size[1], -1, 1);
+ glTranslatef(0.375, 0.375, 0.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
}
static void mainwindow_do_key(MainWindow *mw, GHOST_TKey key, int press)
{
- switch (key) {
- case GHOST_kKeyC:
- if (press)
- GHOST_SetCursorShape(mw->win, (GHOST_TStandardCursor) (rand() % (GHOST_kStandardCursorNumCursors)));
- break;
- case GHOST_kKeyLeftBracket:
- if (press)
- GHOST_SetCursorVisibility(mw->win, 0);
- break;
- case GHOST_kKeyRightBracket:
- if (press)
- GHOST_SetCursorVisibility(mw->win, 1);
- break;
- case GHOST_kKeyE:
- if (press)
- multitestapp_toggle_extra_window(mw->app);
- break;
- case GHOST_kKeyQ:
- if (press)
- multitestapp_exit(mw->app);
- break;
- case GHOST_kKeyT:
- if (press)
- mainwindow_log(mw, "TextTest~|`hello`\"world\",<>/");
- break;
- case GHOST_kKeyR:
- if (press) {
- int i;
-
- mainwindow_log(mw, "Invalidating window 10 times");
- for (i = 0; i < 10; i++)
- GHOST_InvalidateWindow(mw->win);
- }
- break;
- case GHOST_kKeyF11:
- if (press) {
- GHOST_SetWindowOrder(mw->win, GHOST_kWindowOrderBottom);
- }
- break;
- }
+ switch (key) {
+ case GHOST_kKeyC:
+ if (press)
+ GHOST_SetCursorShape(mw->win,
+ (GHOST_TStandardCursor)(rand() % (GHOST_kStandardCursorNumCursors)));
+ break;
+ case GHOST_kKeyLeftBracket:
+ if (press)
+ GHOST_SetCursorVisibility(mw->win, 0);
+ break;
+ case GHOST_kKeyRightBracket:
+ if (press)
+ GHOST_SetCursorVisibility(mw->win, 1);
+ break;
+ case GHOST_kKeyE:
+ if (press)
+ multitestapp_toggle_extra_window(mw->app);
+ break;
+ case GHOST_kKeyQ:
+ if (press)
+ multitestapp_exit(mw->app);
+ break;
+ case GHOST_kKeyT:
+ if (press)
+ mainwindow_log(mw, "TextTest~|`hello`\"world\",<>/");
+ break;
+ case GHOST_kKeyR:
+ if (press) {
+ int i;
+
+ mainwindow_log(mw, "Invalidating window 10 times");
+ for (i = 0; i < 10; i++)
+ GHOST_InvalidateWindow(mw->win);
+ }
+ break;
+ case GHOST_kKeyF11:
+ if (press) {
+ GHOST_SetWindowOrder(mw->win, GHOST_kWindowOrderBottom);
+ }
+ break;
+ }
}
static void mainwindow_do_move(MainWindow *mw, int x, int y)
{
- mw->lmouse[0] = x, mw->lmouse[1] = y;
+ mw->lmouse[0] = x, mw->lmouse[1] = y;
- if (mw->lmbut[0]) {
- mw->tmouse[0] = x, mw->tmouse[1] = y;
- GHOST_InvalidateWindow(mw->win);
- }
+ if (mw->lmbut[0]) {
+ mw->tmouse[0] = x, mw->tmouse[1] = y;
+ GHOST_InvalidateWindow(mw->win);
+ }
}
static void mainwindow_do_button(MainWindow *mw, int which, int press)
{
- if (which == GHOST_kButtonMaskLeft) {
- mw->lmbut[0] = press;
- mw->tmouse[0] = mw->lmouse[0], mw->tmouse[1] = mw->lmouse[1];
- GHOST_InvalidateWindow(mw->win);
- }
- else if (which == GHOST_kButtonMaskLeft) {
- mw->lmbut[1] = press;
- }
- else if (which == GHOST_kButtonMaskLeft) {
- mw->lmbut[2] = press;
- }
+ if (which == GHOST_kButtonMaskLeft) {
+ mw->lmbut[0] = press;
+ mw->tmouse[0] = mw->lmouse[0], mw->tmouse[1] = mw->lmouse[1];
+ GHOST_InvalidateWindow(mw->win);
+ }
+ else if (which == GHOST_kButtonMaskLeft) {
+ mw->lmbut[1] = press;
+ }
+ else if (which == GHOST_kButtonMaskLeft) {
+ mw->lmbut[2] = press;
+ }
}
static void mainwindow_handle(void *priv, GHOST_EventHandle evt)
{
- MainWindow *mw = priv;
- GHOST_TEventType type = GHOST_GetEventType(evt);
- char buf[256];
-
- event_to_buf(evt, buf);
- mainwindow_log(mw, buf);
-
- switch (type) {
- case GHOST_kEventCursorMove:
- {
- GHOST_TEventCursorData *cd = GHOST_GetEventData(evt);
- int x, y;
- GHOST_ScreenToClient(mw->win, cd->x, cd->y, &x, &y);
- mainwindow_do_move(mw, x, mw->size[1] - y - 1);
- break;
- }
- case GHOST_kEventButtonDown:
- case GHOST_kEventButtonUp:
- {
- GHOST_TEventButtonData *bd = GHOST_GetEventData(evt);
- mainwindow_do_button(mw, bd->button, (type == GHOST_kEventButtonDown));
- break;
- }
- case GHOST_kEventKeyDown:
- case GHOST_kEventKeyUp:
- {
- GHOST_TEventKeyData *kd = GHOST_GetEventData(evt);
- mainwindow_do_key(mw, kd->key, (type == GHOST_kEventKeyDown));
- break;
- }
-
- case GHOST_kEventWindowUpdate:
- mainwindow_do_draw(mw);
- break;
- case GHOST_kEventWindowSize:
- mainwindow_do_reshape(mw);
- break;
- }
+ MainWindow *mw = priv;
+ GHOST_TEventType type = GHOST_GetEventType(evt);
+ char buf[256];
+
+ event_to_buf(evt, buf);
+ mainwindow_log(mw, buf);
+
+ switch (type) {
+ case GHOST_kEventCursorMove: {
+ GHOST_TEventCursorData *cd = GHOST_GetEventData(evt);
+ int x, y;
+ GHOST_ScreenToClient(mw->win, cd->x, cd->y, &x, &y);
+ mainwindow_do_move(mw, x, mw->size[1] - y - 1);
+ break;
+ }
+ case GHOST_kEventButtonDown:
+ case GHOST_kEventButtonUp: {
+ GHOST_TEventButtonData *bd = GHOST_GetEventData(evt);
+ mainwindow_do_button(mw, bd->button, (type == GHOST_kEventButtonDown));
+ break;
+ }
+ case GHOST_kEventKeyDown:
+ case GHOST_kEventKeyUp: {
+ GHOST_TEventKeyData *kd = GHOST_GetEventData(evt);
+ mainwindow_do_key(mw, kd->key, (type == GHOST_kEventKeyDown));
+ break;
+ }
+
+ case GHOST_kEventWindowUpdate:
+ mainwindow_do_draw(mw);
+ break;
+ case GHOST_kEventWindowSize:
+ mainwindow_do_reshape(mw);
+ break;
+ }
}
/**/
static void mainwindow_timer_proc(GHOST_TimerTaskHandle task, GHOST_TUns64 time)
{
- MainWindow *mw = GHOST_GetTimerTaskUserData(task);
- char buf[64];
+ MainWindow *mw = GHOST_GetTimerTaskUserData(task);
+ char buf[64];
- sprintf(buf, "timer: %6.2f", (double) ((GHOST_TInt64) time) / 1000);
- mainwindow_log(mw, buf);
+ sprintf(buf, "timer: %6.2f", (double)((GHOST_TInt64)time) / 1000);
+ mainwindow_log(mw, buf);
}
MainWindow *mainwindow_new(MultiTestApp *app)
{
- GHOST_SystemHandle sys = multitestapp_get_system(app);
- GHOST_WindowHandle win;
- GHOST_GLSettings glSettings = {0};
+ GHOST_SystemHandle sys = multitestapp_get_system(app);
+ GHOST_WindowHandle win;
+ GHOST_GLSettings glSettings = {0};
- win = GHOST_CreateWindow(
- sys, "MultiTest:Main",
- 40, 40, 400, 400,
- GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL,
- glSettings);
+ win = GHOST_CreateWindow(sys,
+ "MultiTest:Main",
+ 40,
+ 40,
+ 400,
+ 400,
+ GHOST_kWindowStateNormal,
+ GHOST_kDrawingContextTypeOpenGL,
+ glSettings);
- if (win) {
- MainWindow *mw = MEM_callocN(sizeof(*mw), "mainwindow_new");
- mw->app = app;
- mw->win = win;
+ if (win) {
+ MainWindow *mw = MEM_callocN(sizeof(*mw), "mainwindow_new");
+ mw->app = app;
+ mw->win = win;
- GHOST_SetWindowUserData(mw->win, windowdata_new(mw, mainwindow_handle));
+ GHOST_SetWindowUserData(mw->win, windowdata_new(mw, mainwindow_handle));
- GHOST_InstallTimer(sys, 1000, 10000, mainwindow_timer_proc, mw);
+ GHOST_InstallTimer(sys, 1000, 10000, mainwindow_timer_proc, mw);
- return mw;
- }
- else {
- return NULL;
- }
+ return mw;
+ }
+ else {
+ return NULL;
+ }
}
void mainwindow_free(MainWindow *mw)
{
- GHOST_SystemHandle sys = multitestapp_get_system(mw->app);
+ GHOST_SystemHandle sys = multitestapp_get_system(mw->app);
- windowdata_free(GHOST_GetWindowUserData(mw->win));
- GHOST_DisposeWindow(sys, mw->win);
- MEM_freeN(mw);
+ windowdata_free(GHOST_GetWindowUserData(mw->win));
+ GHOST_DisposeWindow(sys, mw->win);
+ MEM_freeN(mw);
}
/*
@@ -344,29 +345,29 @@ void mainwindow_free(MainWindow *mw)
*/
struct _LoggerWindow {
- MultiTestApp *app;
+ MultiTestApp *app;
- GHOST_WindowHandle win;
+ GHOST_WindowHandle win;
#ifdef USE_BMF
- BMF_Font *font;
+ BMF_Font *font;
#else
- int font;
+ int font;
#endif
- int fonttexid;
- int fontheight;
+ int fonttexid;
+ int fontheight;
- int size[2];
+ int size[2];
- int ndisplines;
- int textarea[2][2];
- ScrollBar *scroll;
+ int ndisplines;
+ int textarea[2][2];
+ ScrollBar *scroll;
- char **loglines;
- int nloglines, logsize;
+ char **loglines;
+ int nloglines, logsize;
- int lmbut[3];
- int lmouse[2];
+ int lmbut[3];
+ int lmouse[2];
};
#define SCROLLBAR_PAD 2
@@ -374,443 +375,443 @@ struct _LoggerWindow {
#define TEXTAREA_PAD 2
static void loggerwindow_recalc_regions(LoggerWindow *lw)
{
- int nscroll[2][2];
+ int nscroll[2][2];
- nscroll[0][0] = SCROLLBAR_PAD;
- nscroll[0][1] = SCROLLBAR_PAD;
- nscroll[1][0] = nscroll[0][0] + SCROLLBAR_WIDTH;
- nscroll[1][1] = lw->size[1] - SCROLLBAR_PAD - 1;
+ nscroll[0][0] = SCROLLBAR_PAD;
+ nscroll[0][1] = SCROLLBAR_PAD;
+ nscroll[1][0] = nscroll[0][0] + SCROLLBAR_WIDTH;
+ nscroll[1][1] = lw->size[1] - SCROLLBAR_PAD - 1;
- lw->textarea[0][0] = nscroll[1][0] + TEXTAREA_PAD;
- lw->textarea[0][1] = TEXTAREA_PAD;
- lw->textarea[1][0] = lw->size[0] - TEXTAREA_PAD - 1;
- lw->textarea[1][1] = lw->size[1] - TEXTAREA_PAD - 1;
+ lw->textarea[0][0] = nscroll[1][0] + TEXTAREA_PAD;
+ lw->textarea[0][1] = TEXTAREA_PAD;
+ lw->textarea[1][0] = lw->size[0] - TEXTAREA_PAD - 1;
+ lw->textarea[1][1] = lw->size[1] - TEXTAREA_PAD - 1;
- lw->ndisplines = (lw->textarea[1][1] - lw->textarea[0][1]) / lw->fontheight;
+ lw->ndisplines = (lw->textarea[1][1] - lw->textarea[0][1]) / lw->fontheight;
- scrollbar_set_thumbpct(lw->scroll, (float) lw->ndisplines / lw->nloglines);
- scrollbar_set_rect(lw->scroll, nscroll);
+ scrollbar_set_thumbpct(lw->scroll, (float)lw->ndisplines / lw->nloglines);
+ scrollbar_set_rect(lw->scroll, nscroll);
}
static void loggerwindow_setup_window_gl(LoggerWindow *lw)
{
- glViewport(0, 0, lw->size[0], lw->size[1]);
+ glViewport(0, 0, lw->size[0], lw->size[1]);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, lw->size[0], 0, lw->size[1], -1, 1);
- glTranslatef(0.375, 0.375, 0.0);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho(0, lw->size[0], 0, lw->size[1], -1, 1);
+ glTranslatef(0.375, 0.375, 0.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
}
static void loggerwindow_do_reshape(LoggerWindow *lw)
{
- GHOST_RectangleHandle bounds = GHOST_GetClientBounds(lw->win);
+ GHOST_RectangleHandle bounds = GHOST_GetClientBounds(lw->win);
- GHOST_ActivateWindowDrawingContext(lw->win);
+ GHOST_ActivateWindowDrawingContext(lw->win);
- lw->size[0] = GHOST_GetWidthRectangle(bounds);
- lw->size[1] = GHOST_GetHeightRectangle(bounds);
+ lw->size[0] = GHOST_GetWidthRectangle(bounds);
+ lw->size[1] = GHOST_GetHeightRectangle(bounds);
- loggerwindow_recalc_regions(lw);
- loggerwindow_setup_window_gl(lw);
+ loggerwindow_recalc_regions(lw);
+ loggerwindow_setup_window_gl(lw);
}
static void loggerwindow_do_draw(LoggerWindow *lw)
{
- int i, ndisplines, startline;
- int sb_rect[2][2], sb_thumb[2][2];
+ int i, ndisplines, startline;
+ int sb_rect[2][2], sb_thumb[2][2];
- GHOST_ActivateWindowDrawingContext(lw->win);
+ GHOST_ActivateWindowDrawingContext(lw->win);
- glClearColor(1, 1, 1, 1);
- glClear(GL_COLOR_BUFFER_BIT);
+ glClearColor(1, 1, 1, 1);
+ glClear(GL_COLOR_BUFFER_BIT);
- glColor3f(0.8, 0.8, 0.8);
- rect_bevel_smooth(lw->textarea, 4);
+ glColor3f(0.8, 0.8, 0.8);
+ rect_bevel_smooth(lw->textarea, 4);
- scrollbar_get_rect(lw->scroll, sb_rect);
- scrollbar_get_thumb(lw->scroll, sb_thumb);
+ scrollbar_get_rect(lw->scroll, sb_rect);
+ scrollbar_get_thumb(lw->scroll, sb_thumb);
- glColor3f(0.6, 0.6, 0.6);
- rect_bevel_smooth(sb_rect, 1);
+ glColor3f(0.6, 0.6, 0.6);
+ rect_bevel_smooth(sb_rect, 1);
- if (scrollbar_is_scrolling(lw->scroll)) {
- glColor3f(0.6, 0.7, 0.5);
- }
- else {
- glColor3f(0.9, 0.9, 0.92);
- }
- rect_bevel_smooth(sb_thumb, 1);
+ if (scrollbar_is_scrolling(lw->scroll)) {
+ glColor3f(0.6, 0.7, 0.5);
+ }
+ else {
+ glColor3f(0.9, 0.9, 0.92);
+ }
+ rect_bevel_smooth(sb_thumb, 1);
- startline = scrollbar_get_thumbpos(lw->scroll) * (lw->nloglines - 1);
- ndisplines = min_i(lw->ndisplines, lw->nloglines - startline);
+ startline = scrollbar_get_thumbpos(lw->scroll) * (lw->nloglines - 1);
+ ndisplines = min_i(lw->ndisplines, lw->nloglines - startline);
- if (lw->fonttexid != -1) {
- glBindTexture(GL_TEXTURE_2D, lw->fonttexid);
+ if (lw->fonttexid != -1) {
+ glBindTexture(GL_TEXTURE_2D, lw->fonttexid);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glEnable(GL_BLEND);
- glEnable(GL_TEXTURE_2D);
- }
- glColor3f(0, 0, 0);
- for (i = 0; i < ndisplines; i++) {
- /* stored in reverse order */
- char *line = lw->loglines[(lw->nloglines - 1) - (i + startline)];
- int x_pos = lw->textarea[0][0] + 4;
- int y_pos = lw->textarea[0][1] + 4 + i * lw->fontheight;
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glEnable(GL_BLEND);
+ glEnable(GL_TEXTURE_2D);
+ }
+ glColor3f(0, 0, 0);
+ for (i = 0; i < ndisplines; i++) {
+ /* stored in reverse order */
+ char *line = lw->loglines[(lw->nloglines - 1) - (i + startline)];
+ int x_pos = lw->textarea[0][0] + 4;
+ int y_pos = lw->textarea[0][1] + 4 + i * lw->fontheight;
#ifdef USE_BMF
- if (lw->fonttexid == -1) {
- glRasterPos2i(x_pos, y_pos);
- BMF_DrawString(lw->font, line);
- }
- else {
- BMF_DrawStringTexture(lw->font, line, x_pos, y_pos, 0.0);
- }
+ if (lw->fonttexid == -1) {
+ glRasterPos2i(x_pos, y_pos);
+ BMF_DrawString(lw->font, line);
+ }
+ else {
+ BMF_DrawStringTexture(lw->font, line, x_pos, y_pos, 0.0);
+ }
#else
- BLF_position(lw->font, x_pos, y_pos, 0.0);
- BLF_draw(lw->font, line, 256); // XXX
+ BLF_position(lw->font, x_pos, y_pos, 0.0);
+ BLF_draw(lw->font, line, 256); // XXX
#endif
- }
+ }
#ifdef USE_BMF
- if (lw->fonttexid != -1) {
- glDisable(GL_TEXTURE_2D);
- glDisable(GL_BLEND);
- }
+ if (lw->fonttexid != -1) {
+ glDisable(GL_TEXTURE_2D);
+ glDisable(GL_BLEND);
+ }
#endif
- GHOST_SwapWindowBuffers(lw->win);
+ GHOST_SwapWindowBuffers(lw->win);
}
static void loggerwindow_do_move(LoggerWindow *lw, int x, int y)
{
- lw->lmouse[0] = x, lw->lmouse[1] = y;
+ lw->lmouse[0] = x, lw->lmouse[1] = y;
- if (scrollbar_is_scrolling(lw->scroll)) {
- scrollbar_keep_scrolling(lw->scroll, y);
- GHOST_InvalidateWindow(lw->win);
- }
+ if (scrollbar_is_scrolling(lw->scroll)) {
+ scrollbar_keep_scrolling(lw->scroll, y);
+ GHOST_InvalidateWindow(lw->win);
+ }
}
static void loggerwindow_do_button(LoggerWindow *lw, int which, int press)
{
- if (which == GHOST_kButtonMaskLeft) {
- lw->lmbut[0] = press;
-
- if (press) {
- if (scrollbar_contains_pt(lw->scroll, lw->lmouse)) {
- scrollbar_start_scrolling(lw->scroll, lw->lmouse[1]);
- GHOST_SetCursorShape(lw->win, GHOST_kStandardCursorUpDown);
- GHOST_InvalidateWindow(lw->win);
- }
- }
- else {
- if (scrollbar_is_scrolling(lw->scroll)) {
- scrollbar_stop_scrolling(lw->scroll);
- GHOST_SetCursorShape(lw->win, GHOST_kStandardCursorDefault);
- GHOST_InvalidateWindow(lw->win);
- }
- }
- }
- else if (which == GHOST_kButtonMaskMiddle) {
- lw->lmbut[1] = press;
- }
- else if (which == GHOST_kButtonMaskRight) {
- lw->lmbut[2] = press;
- }
+ if (which == GHOST_kButtonMaskLeft) {
+ lw->lmbut[0] = press;
+
+ if (press) {
+ if (scrollbar_contains_pt(lw->scroll, lw->lmouse)) {
+ scrollbar_start_scrolling(lw->scroll, lw->lmouse[1]);
+ GHOST_SetCursorShape(lw->win, GHOST_kStandardCursorUpDown);
+ GHOST_InvalidateWindow(lw->win);
+ }
+ }
+ else {
+ if (scrollbar_is_scrolling(lw->scroll)) {
+ scrollbar_stop_scrolling(lw->scroll);
+ GHOST_SetCursorShape(lw->win, GHOST_kStandardCursorDefault);
+ GHOST_InvalidateWindow(lw->win);
+ }
+ }
+ }
+ else if (which == GHOST_kButtonMaskMiddle) {
+ lw->lmbut[1] = press;
+ }
+ else if (which == GHOST_kButtonMaskRight) {
+ lw->lmbut[2] = press;
+ }
}
static void loggerwindow_do_key(LoggerWindow *lw, GHOST_TKey key, int press)
{
- switch (key) {
- case GHOST_kKeyQ:
- if (press)
- multitestapp_exit(lw->app);
- break;
- }
+ switch (key) {
+ case GHOST_kKeyQ:
+ if (press)
+ multitestapp_exit(lw->app);
+ break;
+ }
}
static void loggerwindow_handle(void *priv, GHOST_EventHandle evt)
{
- LoggerWindow *lw = priv;
- GHOST_TEventType type = GHOST_GetEventType(evt);
-
- switch (type) {
- case GHOST_kEventCursorMove:
- {
- GHOST_TEventCursorData *cd = GHOST_GetEventData(evt);
- int x, y;
- GHOST_ScreenToClient(lw->win, cd->x, cd->y, &x, &y);
- loggerwindow_do_move(lw, x, lw->size[1] - y - 1);
- break;
- }
- case GHOST_kEventButtonDown:
- case GHOST_kEventButtonUp:
- {
- GHOST_TEventButtonData *bd = GHOST_GetEventData(evt);
- loggerwindow_do_button(lw, bd->button, (type == GHOST_kEventButtonDown));
- break;
- }
- case GHOST_kEventKeyDown:
- case GHOST_kEventKeyUp:
- {
- GHOST_TEventKeyData *kd = GHOST_GetEventData(evt);
- loggerwindow_do_key(lw, kd->key, (type == GHOST_kEventKeyDown));
- break;
- }
-
- case GHOST_kEventWindowUpdate:
- loggerwindow_do_draw(lw);
- break;
- case GHOST_kEventWindowSize:
- loggerwindow_do_reshape(lw);
- break;
- }
+ LoggerWindow *lw = priv;
+ GHOST_TEventType type = GHOST_GetEventType(evt);
+
+ switch (type) {
+ case GHOST_kEventCursorMove: {
+ GHOST_TEventCursorData *cd = GHOST_GetEventData(evt);
+ int x, y;
+ GHOST_ScreenToClient(lw->win, cd->x, cd->y, &x, &y);
+ loggerwindow_do_move(lw, x, lw->size[1] - y - 1);
+ break;
+ }
+ case GHOST_kEventButtonDown:
+ case GHOST_kEventButtonUp: {
+ GHOST_TEventButtonData *bd = GHOST_GetEventData(evt);
+ loggerwindow_do_button(lw, bd->button, (type == GHOST_kEventButtonDown));
+ break;
+ }
+ case GHOST_kEventKeyDown:
+ case GHOST_kEventKeyUp: {
+ GHOST_TEventKeyData *kd = GHOST_GetEventData(evt);
+ loggerwindow_do_key(lw, kd->key, (type == GHOST_kEventKeyDown));
+ break;
+ }
+
+ case GHOST_kEventWindowUpdate:
+ loggerwindow_do_draw(lw);
+ break;
+ case GHOST_kEventWindowSize:
+ loggerwindow_do_reshape(lw);
+ break;
+ }
}
/**/
LoggerWindow *loggerwindow_new(MultiTestApp *app)
{
- GHOST_GLSettings glSettings = {0};
- GHOST_SystemHandle sys = multitestapp_get_system(app);
- GHOST_TUns32 screensize[2];
- GHOST_WindowHandle win;
-
- GHOST_GetMainDisplayDimensions(sys, &screensize[0], &screensize[1]);
- win = GHOST_CreateWindow(
- sys, "MultiTest:Logger",
- 40, screensize[1] - 432, 800, 300,
- GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL,
- glSettings);
-
- if (win) {
- LoggerWindow *lw = MEM_callocN(sizeof(*lw), "loggerwindow_new");
- int bbox[2][2];
- lw->app = app;
- lw->win = win;
+ GHOST_GLSettings glSettings = {0};
+ GHOST_SystemHandle sys = multitestapp_get_system(app);
+ GHOST_TUns32 screensize[2];
+ GHOST_WindowHandle win;
+
+ GHOST_GetMainDisplayDimensions(sys, &screensize[0], &screensize[1]);
+ win = GHOST_CreateWindow(sys,
+ "MultiTest:Logger",
+ 40,
+ screensize[1] - 432,
+ 800,
+ 300,
+ GHOST_kWindowStateNormal,
+ GHOST_kDrawingContextTypeOpenGL,
+ glSettings);
+
+ if (win) {
+ LoggerWindow *lw = MEM_callocN(sizeof(*lw), "loggerwindow_new");
+ int bbox[2][2];
+ lw->app = app;
+ lw->win = win;
#ifdef USE_BMF
- lw->font = BMF_GetFont(BMF_kScreen12);
- lw->fonttexid = BMF_GetFontTexture(lw->font);
+ lw->font = BMF_GetFont(BMF_kScreen12);
+ lw->fonttexid = BMF_GetFontTexture(lw->font);
- BMF_GetBoundingBox(lw->font, &bbox[0][0], &bbox[0][1], &bbox[1][0], &bbox[1][1]);
- lw->fontheight = rect_height(bbox);
+ BMF_GetBoundingBox(lw->font, &bbox[0][0], &bbox[0][1], &bbox[1][0], &bbox[1][1]);
+ lw->fontheight = rect_height(bbox);
#else
- lw->font = BLF_load_mem("default", (unsigned char *)datatoc_bfont_ttf, datatoc_bfont_ttf_size);
- BLF_size(lw->font, 11, 72);
- lw->fontheight = BLF_height(lw->font, "A_", 2);
+ lw->font = BLF_load_mem("default", (unsigned char *)datatoc_bfont_ttf, datatoc_bfont_ttf_size);
+ BLF_size(lw->font, 11, 72);
+ lw->fontheight = BLF_height(lw->font, "A_", 2);
#endif
- lw->nloglines = lw->logsize = 0;
- lw->loglines = MEM_mallocN(sizeof(*lw->loglines) * lw->nloglines, "loglines");
+ lw->nloglines = lw->logsize = 0;
+ lw->loglines = MEM_mallocN(sizeof(*lw->loglines) * lw->nloglines, "loglines");
- lw->scroll = scrollbar_new(2, 40);
+ lw->scroll = scrollbar_new(2, 40);
- GHOST_SetWindowUserData(lw->win, windowdata_new(lw, loggerwindow_handle));
+ GHOST_SetWindowUserData(lw->win, windowdata_new(lw, loggerwindow_handle));
- loggerwindow_do_reshape(lw);
+ loggerwindow_do_reshape(lw);
- return lw;
- }
- else {
- return NULL;
- }
+ return lw;
+ }
+ else {
+ return NULL;
+ }
}
void loggerwindow_log(LoggerWindow *lw, char *line)
{
- if (lw->nloglines == lw->logsize) {
- lw->loglines = memdbl(lw->loglines, &lw->logsize, sizeof(*lw->loglines));
- }
+ if (lw->nloglines == lw->logsize) {
+ lw->loglines = memdbl(lw->loglines, &lw->logsize, sizeof(*lw->loglines));
+ }
- lw->loglines[lw->nloglines++] = string_dup(line);
- scrollbar_set_thumbpct(lw->scroll, (float) lw->ndisplines / lw->nloglines);
+ lw->loglines[lw->nloglines++] = string_dup(line);
+ scrollbar_set_thumbpct(lw->scroll, (float)lw->ndisplines / lw->nloglines);
- GHOST_InvalidateWindow(lw->win);
+ GHOST_InvalidateWindow(lw->win);
}
void loggerwindow_free(LoggerWindow *lw)
{
- GHOST_SystemHandle sys = multitestapp_get_system(lw->app);
- int i;
+ GHOST_SystemHandle sys = multitestapp_get_system(lw->app);
+ int i;
- for (i = 0; i < lw->nloglines; i++) {
- MEM_freeN(lw->loglines[i]);
- }
- MEM_freeN(lw->loglines);
+ for (i = 0; i < lw->nloglines; i++) {
+ MEM_freeN(lw->loglines[i]);
+ }
+ MEM_freeN(lw->loglines);
- windowdata_free(GHOST_GetWindowUserData(lw->win));
- GHOST_DisposeWindow(sys, lw->win);
- MEM_freeN(lw);
+ windowdata_free(GHOST_GetWindowUserData(lw->win));
+ GHOST_DisposeWindow(sys, lw->win);
+ MEM_freeN(lw);
}
/*
* ExtraWindow
*/
-
typedef struct {
- MultiTestApp *app;
+ MultiTestApp *app;
- GHOST_WindowHandle win;
+ GHOST_WindowHandle win;
- int size[2];
+ int size[2];
} ExtraWindow;
static void extrawindow_do_draw(ExtraWindow *ew)
{
- GHOST_ActivateWindowDrawingContext(ew->win);
+ GHOST_ActivateWindowDrawingContext(ew->win);
- glClearColor(1, 1, 1, 1);
- glClear(GL_COLOR_BUFFER_BIT);
+ glClearColor(1, 1, 1, 1);
+ glClear(GL_COLOR_BUFFER_BIT);
- glColor3f(0.8, 0.8, 0.8);
- glRecti(10, 10, ew->size[0] - 10, ew->size[1] - 10);
+ glColor3f(0.8, 0.8, 0.8);
+ glRecti(10, 10, ew->size[0] - 10, ew->size[1] - 10);
- GHOST_SwapWindowBuffers(ew->win);
+ GHOST_SwapWindowBuffers(ew->win);
}
static void extrawindow_do_reshape(ExtraWindow *ew)
{
- GHOST_RectangleHandle bounds = GHOST_GetClientBounds(ew->win);
+ GHOST_RectangleHandle bounds = GHOST_GetClientBounds(ew->win);
- GHOST_ActivateWindowDrawingContext(ew->win);
+ GHOST_ActivateWindowDrawingContext(ew->win);
- ew->size[0] = GHOST_GetWidthRectangle(bounds);
- ew->size[1] = GHOST_GetHeightRectangle(bounds);
+ ew->size[0] = GHOST_GetWidthRectangle(bounds);
+ ew->size[1] = GHOST_GetHeightRectangle(bounds);
- glViewport(0, 0, ew->size[0], ew->size[1]);
+ glViewport(0, 0, ew->size[0], ew->size[1]);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- glOrtho(0, ew->size[0], 0, ew->size[1], -1, 1);
- glTranslatef(0.375, 0.375, 0.0);
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ glOrtho(0, ew->size[0], 0, ew->size[1], -1, 1);
+ glTranslatef(0.375, 0.375, 0.0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
}
static void extrawindow_do_key(ExtraWindow *ew, GHOST_TKey key, int press)
{
- switch (key) {
- case GHOST_kKeyE:
- if (press)
- multitestapp_toggle_extra_window(ew->app);
- break;
- }
+ switch (key) {
+ case GHOST_kKeyE:
+ if (press)
+ multitestapp_toggle_extra_window(ew->app);
+ break;
+ }
}
static void extrawindow_spin_cursor(ExtraWindow *ew, GHOST_TUns64 time)
{
- GHOST_TUns8 bitmap[16][2];
- GHOST_TUns8 mask[16][2];
- double ftime = (double) ((GHOST_TInt64) time) / 1000;
- float angle = fmod(ftime, 1.0) * 3.1415 * 2;
- int i;
+ GHOST_TUns8 bitmap[16][2];
+ GHOST_TUns8 mask[16][2];
+ double ftime = (double)((GHOST_TInt64)time) / 1000;
+ float angle = fmod(ftime, 1.0) * 3.1415 * 2;
+ int i;
- memset(&bitmap, 0, sizeof(bitmap));
- memset(&mask, 0, sizeof(mask));
+ memset(&bitmap, 0, sizeof(bitmap));
+ memset(&mask, 0, sizeof(mask));
- bitmap[0][0] |= mask[0][0] |= 0xF;
- bitmap[1][0] |= mask[1][0] |= 0xF;
- bitmap[2][0] |= mask[2][0] |= 0xF;
- bitmap[3][0] |= mask[3][0] |= 0xF;
+ bitmap[0][0] |= mask[0][0] |= 0xF;
+ bitmap[1][0] |= mask[1][0] |= 0xF;
+ bitmap[2][0] |= mask[2][0] |= 0xF;
+ bitmap[3][0] |= mask[3][0] |= 0xF;
- for (i = 0; i < 7; i++) {
- int x = 7 + cos(angle) * i;
- int y = 7 + sin(angle) * i;
+ for (i = 0; i < 7; i++) {
+ int x = 7 + cos(angle) * i;
+ int y = 7 + sin(angle) * i;
- mask[y][x / 8] |= (1 << (x % 8));
- }
- for (i = 0; i < 64; i++) {
- float v = (i / 63.0) * 3.1415 * 2;
- int x = 7 + cos(v) * 7;
- int y = 7 + sin(v) * 7;
+ mask[y][x / 8] |= (1 << (x % 8));
+ }
+ for (i = 0; i < 64; i++) {
+ float v = (i / 63.0) * 3.1415 * 2;
+ int x = 7 + cos(v) * 7;
+ int y = 7 + sin(v) * 7;
- mask[y][x / 8] |= (1 << (x % 8));
- }
+ mask[y][x / 8] |= (1 << (x % 8));
+ }
- GHOST_SetCustomCursorShape(ew->win, bitmap, mask, 0, 0);
+ GHOST_SetCustomCursorShape(ew->win, bitmap, mask, 0, 0);
}
static void extrawindow_handle(void *priv, GHOST_EventHandle evt)
{
- ExtraWindow *ew = priv;
- GHOST_TEventType type = GHOST_GetEventType(evt);
- char buf[256];
-
- event_to_buf(evt, buf);
- loggerwindow_log(multitestapp_get_logger(ew->app), buf);
-
- switch (type) {
- case GHOST_kEventKeyDown:
- case GHOST_kEventKeyUp:
- {
- GHOST_TEventKeyData *kd = GHOST_GetEventData(evt);
- extrawindow_do_key(ew, kd->key, (type == GHOST_kEventKeyDown));
- break;
- }
-
- case GHOST_kEventCursorMove:
- {
- extrawindow_spin_cursor(ew, GHOST_GetEventTime(evt));
- break;
- }
-
- case GHOST_kEventWindowClose:
- multitestapp_free_extrawindow(ew->app);
- break;
- case GHOST_kEventWindowUpdate:
- extrawindow_do_draw(ew);
- break;
- case GHOST_kEventWindowSize:
- extrawindow_do_reshape(ew);
- break;
- }
+ ExtraWindow *ew = priv;
+ GHOST_TEventType type = GHOST_GetEventType(evt);
+ char buf[256];
+
+ event_to_buf(evt, buf);
+ loggerwindow_log(multitestapp_get_logger(ew->app), buf);
+
+ switch (type) {
+ case GHOST_kEventKeyDown:
+ case GHOST_kEventKeyUp: {
+ GHOST_TEventKeyData *kd = GHOST_GetEventData(evt);
+ extrawindow_do_key(ew, kd->key, (type == GHOST_kEventKeyDown));
+ break;
+ }
+
+ case GHOST_kEventCursorMove: {
+ extrawindow_spin_cursor(ew, GHOST_GetEventTime(evt));
+ break;
+ }
+
+ case GHOST_kEventWindowClose:
+ multitestapp_free_extrawindow(ew->app);
+ break;
+ case GHOST_kEventWindowUpdate:
+ extrawindow_do_draw(ew);
+ break;
+ case GHOST_kEventWindowSize:
+ extrawindow_do_reshape(ew);
+ break;
+ }
}
/**/
ExtraWindow *extrawindow_new(MultiTestApp *app)
{
- GHOST_GLSettings glSettings = {0};
- GHOST_SystemHandle sys = multitestapp_get_system(app);
- GHOST_WindowHandle win;
+ GHOST_GLSettings glSettings = {0};
+ GHOST_SystemHandle sys = multitestapp_get_system(app);
+ GHOST_WindowHandle win;
- win = GHOST_CreateWindow(
- sys, "MultiTest:Extra",
- 500, 40, 400, 400,
- GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL,
- glSettings);
+ win = GHOST_CreateWindow(sys,
+ "MultiTest:Extra",
+ 500,
+ 40,
+ 400,
+ 400,
+ GHOST_kWindowStateNormal,
+ GHOST_kDrawingContextTypeOpenGL,
+ glSettings);
- if (win) {
- ExtraWindow *ew = MEM_callocN(sizeof(*ew), "mainwindow_new");
- ew->app = app;
- ew->win = win;
+ if (win) {
+ ExtraWindow *ew = MEM_callocN(sizeof(*ew), "mainwindow_new");
+ ew->app = app;
+ ew->win = win;
- GHOST_SetWindowUserData(ew->win, windowdata_new(ew, extrawindow_handle));
+ GHOST_SetWindowUserData(ew->win, windowdata_new(ew, extrawindow_handle));
- return ew;
- }
- else {
- return NULL;
- }
+ return ew;
+ }
+ else {
+ return NULL;
+ }
}
void extrawindow_free(ExtraWindow *ew)
{
- GHOST_SystemHandle sys = multitestapp_get_system(ew->app);
+ GHOST_SystemHandle sys = multitestapp_get_system(ew->app);
- windowdata_free(GHOST_GetWindowUserData(ew->win));
- GHOST_DisposeWindow(sys, ew->win);
- MEM_freeN(ew);
+ windowdata_free(GHOST_GetWindowUserData(ew->win));
+ GHOST_DisposeWindow(sys, ew->win);
+ MEM_freeN(ew);
}
/*
@@ -818,136 +819,139 @@ void extrawindow_free(ExtraWindow *ew)
*/
struct _MultiTestApp {
- GHOST_SystemHandle sys;
- MainWindow *main;
- LoggerWindow *logger;
- ExtraWindow *extra;
+ GHOST_SystemHandle sys;
+ MainWindow *main;
+ LoggerWindow *logger;
+ ExtraWindow *extra;
- int exit;
+ int exit;
};
static int multitest_event_handler(GHOST_EventHandle evt, GHOST_TUserDataPtr data)
{
- MultiTestApp *app = data;
- GHOST_WindowHandle win;
+ MultiTestApp *app = data;
+ GHOST_WindowHandle win;
- win = GHOST_GetEventWindow(evt);
- if (win && !GHOST_ValidWindow(app->sys, win)) {
- loggerwindow_log(app->logger, "WARNING: bad event, non-valid window\n");
- return 1;
- }
+ win = GHOST_GetEventWindow(evt);
+ if (win && !GHOST_ValidWindow(app->sys, win)) {
+ loggerwindow_log(app->logger, "WARNING: bad event, non-valid window\n");
+ return 1;
+ }
- if (win) {
- WindowData *wb = GHOST_GetWindowUserData(win);
+ if (win) {
+ WindowData *wb = GHOST_GetWindowUserData(win);
- windowdata_handle(wb, evt);
- }
- else {
- GHOST_TEventType type = GHOST_GetEventType(evt);
+ windowdata_handle(wb, evt);
+ }
+ else {
+ GHOST_TEventType type = GHOST_GetEventType(evt);
- /* GHOST_kEventQuit are the only 'system' events,
- * that is, events without a window.
- */
- switch (type) {
- case GHOST_kEventQuit:
- app->exit = 1;
- break;
+ /* GHOST_kEventQuit are the only 'system' events,
+ * that is, events without a window.
+ */
+ switch (type) {
+ case GHOST_kEventQuit:
+ app->exit = 1;
+ break;
- default:
- fatal("Unhandled system event: %d (%s)\n", type, eventtype_to_string(type));
- break;
- }
- }
+ default:
+ fatal("Unhandled system event: %d (%s)\n", type, eventtype_to_string(type));
+ break;
+ }
+ }
- return 1;
+ return 1;
}
/**/
-MultiTestApp *multitestapp_new(void) {
- MultiTestApp *app = MEM_mallocN(sizeof(*app), "multitestapp_new");
- GHOST_EventConsumerHandle consumer = GHOST_CreateEventConsumer(multitest_event_handler, app);
+MultiTestApp *multitestapp_new(void)
+{
+ MultiTestApp *app = MEM_mallocN(sizeof(*app), "multitestapp_new");
+ GHOST_EventConsumerHandle consumer = GHOST_CreateEventConsumer(multitest_event_handler, app);
- app->sys = GHOST_CreateSystem();
- if (!app->sys)
- fatal("Unable to create ghost system");
+ app->sys = GHOST_CreateSystem();
+ if (!app->sys)
+ fatal("Unable to create ghost system");
- if (!GHOST_AddEventConsumer(app->sys, consumer))
- fatal("Unable to add multitest event consumer ");
+ if (!GHOST_AddEventConsumer(app->sys, consumer))
+ fatal("Unable to add multitest event consumer ");
- app->main = mainwindow_new(app);
- if (!app->main)
- fatal("Unable to create main window");
+ app->main = mainwindow_new(app);
+ if (!app->main)
+ fatal("Unable to create main window");
- app->logger = loggerwindow_new(app);
- if (!app->logger)
- fatal("Unable to create logger window");
+ app->logger = loggerwindow_new(app);
+ if (!app->logger)
+ fatal("Unable to create logger window");
- app->extra = NULL;
- app->exit = 0;
+ app->extra = NULL;
+ app->exit = 0;
- return app;
+ return app;
}
-LoggerWindow *multitestapp_get_logger(MultiTestApp *app) {
- return app->logger;
+LoggerWindow *multitestapp_get_logger(MultiTestApp *app)
+{
+ return app->logger;
}
-GHOST_SystemHandle multitestapp_get_system(MultiTestApp *app) {
- return app->sys;
+GHOST_SystemHandle multitestapp_get_system(MultiTestApp *app)
+{
+ return app->sys;
}
void multitestapp_free_extrawindow(MultiTestApp *app)
{
- extrawindow_free(app->extra);
- app->extra = NULL;
+ extrawindow_free(app->extra);
+ app->extra = NULL;
}
void multitestapp_toggle_extra_window(MultiTestApp *app)
{
- if (app->extra) {
- multitestapp_free_extrawindow(app);
- }
- else {
- app->extra = extrawindow_new(app);
- }
+ if (app->extra) {
+ multitestapp_free_extrawindow(app);
+ }
+ else {
+ app->extra = extrawindow_new(app);
+ }
}
void multitestapp_exit(MultiTestApp *app)
{
- app->exit = 1;
+ app->exit = 1;
}
void multitestapp_run(MultiTestApp *app)
{
- while (!app->exit) {
- GHOST_ProcessEvents(app->sys, 1);
- GHOST_DispatchEvents(app->sys);
- }
+ while (!app->exit) {
+ GHOST_ProcessEvents(app->sys, 1);
+ GHOST_DispatchEvents(app->sys);
+ }
}
void multitestapp_free(MultiTestApp *app)
{
- mainwindow_free(app->main);
- loggerwindow_free(app->logger);
- GHOST_DisposeSystem(app->sys);
- MEM_freeN(app);
+ mainwindow_free(app->main);
+ loggerwindow_free(app->logger);
+ GHOST_DisposeSystem(app->sys);
+ MEM_freeN(app);
}
/***/
int main(int argc, char **argv)
{
- MultiTestApp *app;
+ MultiTestApp *app;
#ifndef USE_BMF
- BLF_init();
+ BLF_init();
#endif
- app = multitestapp_new();
+ app = multitestapp_new();
- multitestapp_run(app);
- multitestapp_free(app);
+ multitestapp_run(app);
+ multitestapp_free(app);
- return 0;
+ return 0;
}
diff --git a/intern/ghost/test/multitest/ScrollBar.c b/intern/ghost/test/multitest/ScrollBar.c
index fbc3ab2f967..f14e726a077 100644
--- a/intern/ghost/test/multitest/ScrollBar.c
+++ b/intern/ghost/test/multitest/ScrollBar.c
@@ -27,125 +27,125 @@
#include "ScrollBar.h"
struct _ScrollBar {
- int rect[2][2];
- float thumbpos, thumbpct;
+ int rect[2][2];
+ float thumbpos, thumbpct;
- int inset;
- int minthumb;
+ int inset;
+ int minthumb;
- int scrolling;
- float scrolloffs;
+ int scrolling;
+ float scrolloffs;
};
static int scrollbar_get_thumbH(ScrollBar *sb)
{
- int scrollable_h = rect_height(sb->rect) - 2 * sb->inset;
+ int scrollable_h = rect_height(sb->rect) - 2 * sb->inset;
- return clamp_i(sb->thumbpct * scrollable_h, sb->minthumb, scrollable_h);
+ return clamp_i(sb->thumbpct * scrollable_h, sb->minthumb, scrollable_h);
}
static int scrollbar_get_thumbableH(ScrollBar *sb)
{
- int scrollable_h = rect_height(sb->rect) - 2 * sb->inset;
- int thumb_h = scrollbar_get_thumbH(sb);
+ int scrollable_h = rect_height(sb->rect) - 2 * sb->inset;
+ int thumb_h = scrollbar_get_thumbH(sb);
- return scrollable_h - thumb_h;
+ return scrollable_h - thumb_h;
}
static float scrollbar_co_to_pos(ScrollBar *sb, int yco)
{
- int thumb_h = scrollbar_get_thumbH(sb);
- int thumbable_h = scrollbar_get_thumbableH(sb);
- int thumbable_y = (sb->rect[0][1] + sb->inset) + thumb_h / 2;
+ int thumb_h = scrollbar_get_thumbH(sb);
+ int thumbable_h = scrollbar_get_thumbableH(sb);
+ int thumbable_y = (sb->rect[0][1] + sb->inset) + thumb_h / 2;
- return (float) (yco - thumbable_y) / thumbable_h;
+ return (float)(yco - thumbable_y) / thumbable_h;
}
/**/
ScrollBar *scrollbar_new(int inset, int minthumb)
{
- ScrollBar *sb = MEM_callocN(sizeof(*sb), "scrollbar_new");
- sb->inset = inset;
- sb->minthumb = minthumb;
+ ScrollBar *sb = MEM_callocN(sizeof(*sb), "scrollbar_new");
+ sb->inset = inset;
+ sb->minthumb = minthumb;
- return sb;
+ return sb;
}
void scrollbar_get_thumb(ScrollBar *sb, int thumb_r[2][2])
{
- int thumb_h = scrollbar_get_thumbH(sb);
- int thumbable_h = scrollbar_get_thumbableH(sb);
+ int thumb_h = scrollbar_get_thumbH(sb);
+ int thumbable_h = scrollbar_get_thumbableH(sb);
- thumb_r[0][0] = sb->rect[0][0] + sb->inset;
- thumb_r[1][0] = sb->rect[1][0] - sb->inset;
+ thumb_r[0][0] = sb->rect[0][0] + sb->inset;
+ thumb_r[1][0] = sb->rect[1][0] - sb->inset;
- thumb_r[0][1] = sb->rect[0][1] + sb->inset + sb->thumbpos * thumbable_h;
- thumb_r[1][1] = thumb_r[0][1] + thumb_h;
+ thumb_r[0][1] = sb->rect[0][1] + sb->inset + sb->thumbpos * thumbable_h;
+ thumb_r[1][1] = thumb_r[0][1] + thumb_h;
}
int scrollbar_is_scrolling(ScrollBar *sb)
{
- return sb->scrolling;
+ return sb->scrolling;
}
int scrollbar_contains_pt(ScrollBar *sb, int pt[2])
{
- return rect_contains_pt(sb->rect, pt);
+ return rect_contains_pt(sb->rect, pt);
}
void scrollbar_start_scrolling(ScrollBar *sb, int yco)
{
- int thumb_h_2 = scrollbar_get_thumbH(sb) / 2;
- int thumbable_h = scrollbar_get_thumbableH(sb);
- float npos = scrollbar_co_to_pos(sb, yco);
+ int thumb_h_2 = scrollbar_get_thumbH(sb) / 2;
+ int thumbable_h = scrollbar_get_thumbableH(sb);
+ float npos = scrollbar_co_to_pos(sb, yco);
- sb->scrolloffs = sb->thumbpos - npos;
- if (fabs(sb->scrolloffs) >= (float) thumb_h_2 / thumbable_h) {
- sb->scrolloffs = 0.0;
- }
+ sb->scrolloffs = sb->thumbpos - npos;
+ if (fabs(sb->scrolloffs) >= (float)thumb_h_2 / thumbable_h) {
+ sb->scrolloffs = 0.0;
+ }
- sb->scrolling = 1;
- sb->thumbpos = clamp_f(npos + sb->scrolloffs, 0.0, 1.0);
+ sb->scrolling = 1;
+ sb->thumbpos = clamp_f(npos + sb->scrolloffs, 0.0, 1.0);
}
void scrollbar_keep_scrolling(ScrollBar *sb, int yco)
{
- float npos = scrollbar_co_to_pos(sb, yco);
+ float npos = scrollbar_co_to_pos(sb, yco);
- sb->thumbpos = clamp_f(npos + sb->scrolloffs, 0.0, 1.0);
+ sb->thumbpos = clamp_f(npos + sb->scrolloffs, 0.0, 1.0);
}
void scrollbar_stop_scrolling(ScrollBar *sb)
{
- sb->scrolling = 0;
- sb->scrolloffs = 0.0;
+ sb->scrolling = 0;
+ sb->scrolloffs = 0.0;
}
void scrollbar_set_thumbpct(ScrollBar *sb, float pct)
{
- sb->thumbpct = pct;
+ sb->thumbpct = pct;
}
void scrollbar_set_thumbpos(ScrollBar *sb, float pos)
{
- sb->thumbpos = clamp_f(pos, 0.0, 1.0);
+ sb->thumbpos = clamp_f(pos, 0.0, 1.0);
}
void scrollbar_set_rect(ScrollBar *sb, int rect[2][2])
{
- rect_copy(sb->rect, rect);
+ rect_copy(sb->rect, rect);
}
float scrollbar_get_thumbpct(ScrollBar *sb)
{
- return sb->thumbpct;
+ return sb->thumbpct;
}
float scrollbar_get_thumbpos(ScrollBar *sb)
{
- return sb->thumbpos;
+ return sb->thumbpos;
}
void scrollbar_get_rect(ScrollBar *sb, int rect_r[2][2])
{
- rect_copy(rect_r, sb->rect);
+ rect_copy(rect_r, sb->rect);
}
void scrollbar_free(ScrollBar *sb)
{
- MEM_freeN(sb);
+ MEM_freeN(sb);
}
diff --git a/intern/ghost/test/multitest/ScrollBar.h b/intern/ghost/test/multitest/ScrollBar.h
index 015af7a1e07..7108f9ce2df 100644
--- a/intern/ghost/test/multitest/ScrollBar.h
+++ b/intern/ghost/test/multitest/ScrollBar.h
@@ -19,26 +19,25 @@
typedef struct _ScrollBar ScrollBar;
+/***/
- /***/
+ScrollBar *scrollbar_new(int inset, int minthumb);
-ScrollBar* scrollbar_new (int inset, int minthumb);
+int scrollbar_is_scrolling(ScrollBar *sb);
+int scrollbar_contains_pt(ScrollBar *sb, int pt[2]);
-int scrollbar_is_scrolling (ScrollBar *sb);
-int scrollbar_contains_pt (ScrollBar *sb, int pt[2]);
+void scrollbar_start_scrolling(ScrollBar *sb, int yco);
+void scrollbar_keep_scrolling(ScrollBar *sb, int yco);
+void scrollbar_stop_scrolling(ScrollBar *sb);
-void scrollbar_start_scrolling (ScrollBar *sb, int yco);
-void scrollbar_keep_scrolling (ScrollBar *sb, int yco);
-void scrollbar_stop_scrolling (ScrollBar *sb);
+void scrollbar_set_thumbpct(ScrollBar *sb, float pct);
+void scrollbar_set_thumbpos(ScrollBar *sb, float pos);
+void scrollbar_set_rect(ScrollBar *sb, int rect[2][2]);
-void scrollbar_set_thumbpct (ScrollBar *sb, float pct);
-void scrollbar_set_thumbpos (ScrollBar *sb, float pos);
-void scrollbar_set_rect (ScrollBar *sb, int rect[2][2]);
+float scrollbar_get_thumbpct(ScrollBar *sb);
+float scrollbar_get_thumbpos(ScrollBar *sb);
+void scrollbar_get_rect(ScrollBar *sb, int rect_r[2][2]);
-float scrollbar_get_thumbpct (ScrollBar *sb);
-float scrollbar_get_thumbpos (ScrollBar *sb);
-void scrollbar_get_rect (ScrollBar *sb, int rect_r[2][2]);
+void scrollbar_get_thumb(ScrollBar *sb, int thumb_r[2][2]);
-void scrollbar_get_thumb (ScrollBar *sb, int thumb_r[2][2]);
-
-void scrollbar_free (ScrollBar *sb);
+void scrollbar_free(ScrollBar *sb);
diff --git a/intern/ghost/test/multitest/Util.c b/intern/ghost/test/multitest/Util.c
index abaeb4407dc..c6cdebd39ce 100644
--- a/intern/ghost/test/multitest/Util.c
+++ b/intern/ghost/test/multitest/Util.c
@@ -29,36 +29,36 @@
void *memdbl(void *mem, int *size_pr, int item_size)
{
- int cur_size = *size_pr;
- int new_size = cur_size ? (cur_size * 2) : 1;
- void *nmem = MEM_mallocN(new_size * item_size, "memdbl");
+ int cur_size = *size_pr;
+ int new_size = cur_size ? (cur_size * 2) : 1;
+ void *nmem = MEM_mallocN(new_size * item_size, "memdbl");
- memcpy(nmem, mem, cur_size * item_size);
- MEM_freeN(mem);
+ memcpy(nmem, mem, cur_size * item_size);
+ MEM_freeN(mem);
- *size_pr = new_size;
- return nmem;
+ *size_pr = new_size;
+ return nmem;
}
char *string_dup(char *str)
{
- int len = strlen(str);
- char *nstr = MEM_mallocN(len + 1, "string_dup");
+ int len = strlen(str);
+ char *nstr = MEM_mallocN(len + 1, "string_dup");
- memcpy(nstr, str, len + 1);
+ memcpy(nstr, str, len + 1);
- return nstr;
+ return nstr;
}
void fatal(char *fmt, ...)
{
- va_list ap;
+ va_list ap;
- fprintf(stderr, "FATAL: ");
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fprintf(stderr, "\n");
+ fprintf(stderr, "FATAL: ");
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ fprintf(stderr, "\n");
- exit(1);
+ exit(1);
}
diff --git a/intern/ghost/test/multitest/Util.h b/intern/ghost/test/multitest/Util.h
index 5bd8f84b35f..24f963a6d89 100644
--- a/intern/ghost/test/multitest/Util.h
+++ b/intern/ghost/test/multitest/Util.h
@@ -17,7 +17,7 @@
* All rights reserved.
*/
-void* memdbl (void *mem, int *size_pr, int item_size);
+void *memdbl(void *mem, int *size_pr, int item_size);
-char* string_dup (char *str);
-void fatal (char *fmt, ...);
+char *string_dup(char *str);
+void fatal(char *fmt, ...);
diff --git a/intern/ghost/test/multitest/WindowData.c b/intern/ghost/test/multitest/WindowData.c
index ea341ffa3be..7d3cbec43f3 100644
--- a/intern/ghost/test/multitest/WindowData.c
+++ b/intern/ghost/test/multitest/WindowData.c
@@ -26,25 +26,25 @@
#include "WindowData.h"
struct _WindowData {
- void *data;
- WindowDataHandler handler;
+ void *data;
+ WindowDataHandler handler;
};
WindowData *windowdata_new(void *data, WindowDataHandler handler)
{
- WindowData *wb = MEM_mallocN(sizeof(*wb), "windowdata_new");
- wb->data = data;
- wb->handler = handler;
+ WindowData *wb = MEM_mallocN(sizeof(*wb), "windowdata_new");
+ wb->data = data;
+ wb->handler = handler;
- return wb;
+ return wb;
}
void windowdata_handle(WindowData *wb, GHOST_EventHandle evt)
{
- wb->handler(wb->data, evt);
+ wb->handler(wb->data, evt);
}
void windowdata_free(WindowData *wb)
{
- MEM_freeN(wb);
+ MEM_freeN(wb);
}
diff --git a/intern/ghost/test/multitest/WindowData.h b/intern/ghost/test/multitest/WindowData.h
index 073da0dad2b..9d39377bb0a 100644
--- a/intern/ghost/test/multitest/WindowData.h
+++ b/intern/ghost/test/multitest/WindowData.h
@@ -20,8 +20,8 @@
typedef void (*WindowDataHandler)(void *priv, GHOST_EventHandle evt);
typedef struct _WindowData WindowData;
- /***/
+/***/
-WindowData* windowdata_new (void *data, WindowDataHandler handler);
-void windowdata_handle (WindowData *wb, GHOST_EventHandle evt);
-void windowdata_free (WindowData *wb);
+WindowData *windowdata_new(void *data, WindowDataHandler handler);
+void windowdata_handle(WindowData *wb, GHOST_EventHandle evt);
+void windowdata_free(WindowData *wb);
diff --git a/intern/ghost/test/multitest/stubs.c b/intern/ghost/test/multitest/stubs.c
index ad4b9812e98..f0b076eeba0 100644
--- a/intern/ghost/test/multitest/stubs.c
+++ b/intern/ghost/test/multitest/stubs.c
@@ -24,5 +24,10 @@
struct ImBuf;
-void IMB_freeImBuf(struct ImBuf *UNUSED(ibuf)) {}
-void IMB_colormanagement_display_to_scene_linear_v3(float UNUSED(pixel[3]), struct ColorManagedDisplay *UNUSED(display)) {}
+void IMB_freeImBuf(struct ImBuf *UNUSED(ibuf))
+{
+}
+void IMB_colormanagement_display_to_scene_linear_v3(float UNUSED(pixel[3]),
+ struct ColorManagedDisplay *UNUSED(display))
+{
+}