From 8b9b761e978369658b3afea8e3cd1822ce4a3cf1 Mon Sep 17 00:00:00 2001 From: Kent Mein Date: Mon, 16 Dec 2002 12:02:24 +0000 Subject: Created a Makefile and got it actually to compile :) Kent -- mein@cs.umn.edu --- intern/bmfont/test/BMF_Test.cpp | 229 ----------------------------- intern/bmfont/test/Makefile | 63 ++++++++ intern/bmfont/test/simpletest/BMF_Test.cpp | 229 +++++++++++++++++++++++++++++ intern/bmfont/test/simpletest/Makefile | 45 ++++++ 4 files changed, 337 insertions(+), 229 deletions(-) delete mode 100644 intern/bmfont/test/BMF_Test.cpp create mode 100644 intern/bmfont/test/Makefile create mode 100644 intern/bmfont/test/simpletest/BMF_Test.cpp create mode 100644 intern/bmfont/test/simpletest/Makefile (limited to 'intern/bmfont') diff --git a/intern/bmfont/test/BMF_Test.cpp b/intern/bmfont/test/BMF_Test.cpp deleted file mode 100644 index 8dbd4b3ce75..00000000000 --- a/intern/bmfont/test/BMF_Test.cpp +++ /dev/null @@ -1,229 +0,0 @@ -/** - * $Id$ - * ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. The Blender - * Foundation also sells licenses for use in proprietary software under - * the Blender License. See http://www.blender.org/BL/ for information - * about this. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL/BL DUAL LICENSE BLOCK ***** - */ - -/** - - * $Id$ - * Copyright (C) 2001 NaN Technologies B.V. - * Simple test file for the bitmap font library using GHOST. - * @author Maarten Gribnau - * @date November 15, 2001 - */ - -#include - -#ifdef HAVE_CONFIG_H -#include -#endif - -#if defined(WIN32) || defined(__APPLE__) -#ifdef WIN32 -#include -#include -#else // WIN32 -// __APPLE__ is defined -#include -#endif // WIN32 -#else // defined(WIN32) || defined(__APPLE__) -#include -#endif // defined(WIN32) || defined(__APPLE__) - - -#include "STR_String.h" -#include "GHOST_Rect.h" - -#include "GHOST_ISystem.h" -#include "GHOST_IEvent.h" -#include "GHOST_IEventConsumer.h" - -#include "BMF_Api.h" - -static class Application* fApp; -static GHOST_ISystem* fSystem = 0; - - -static void drawGL() -{ - GLint x = 10, y = 10; - - ::glRasterPos2i(x, y); - BMF_FontPtr font = BMF_GetFont(BMF_kHelvetica10); - BMF_DrawString(font, "Helvetica 10 point"); - y += 14; - ::glRasterPos2i(x, y); - font = BMF_GetFont(BMF_kHelvetica12); - BMF_DrawString(font, "Helvetica 12 point"); - y += 16; - ::glRasterPos2i(x, y); - font = BMF_GetFont(BMF_kHelveticaBold8); - BMF_DrawString(font, "Helvetica Bold 8 point"); - y += 12; - ::glRasterPos2i(x, y); - font = BMF_GetFont(BMF_kHelveticaBold10); - BMF_DrawString(font, "Helvetica Bold 10 point"); - y += 14; - ::glRasterPos2i(x, y); - font = BMF_GetFont(BMF_kHelveticaBold12); - BMF_DrawString(font, "Helvetica Bold 12 point"); - y += 16; - ::glRasterPos2i(x, y); - font = BMF_GetFont(BMF_kHelveticaBold14); - BMF_DrawString(font, "Helvetica Bold 14 point"); - y += 18; - ::glRasterPos2i(x, y); - font = BMF_GetFont(BMF_kScreen12); - BMF_DrawString(font, "Screen 12 point"); - y += 16; - ::glRasterPos2i(x, y); - font = BMF_GetFont(BMF_kScreen14); - BMF_DrawString(font, "Screen 14 point"); - y += 18; - ::glRasterPos2i(x, y); - font = BMF_GetFont(BMF_kScreen15); - BMF_DrawString(font, "Screen 15 point"); -} - - -static void setViewPortGL(GHOST_IWindow* window) -{ - window->activateDrawingContext(); - GHOST_Rect bnds; - window->getClientBounds(bnds); - - ::glViewport(0, 0, bnds.getWidth(), bnds.getHeight()); - - ::glMatrixMode(GL_PROJECTION); - ::glLoadIdentity(); - ::glOrtho(0, bnds.getWidth(), 0, bnds.getHeight(), -10, 10); - - ::glClearColor(.2f,0.0f,0.0f,0.0f); - ::glClear(GL_COLOR_BUFFER_BIT); -} - - - -class Application : public GHOST_IEventConsumer { -public: - Application(GHOST_ISystem* system); - virtual bool processEvent(GHOST_IEvent* event); - - GHOST_ISystem* m_system; - GHOST_IWindow* m_mainWindow; - bool m_exitRequested; -}; - - -Application::Application(GHOST_ISystem* system) - : m_system(system), m_mainWindow(0), m_exitRequested(false) -{ - 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); - if (!m_mainWindow) { - std::cout << "could not create main window\n"; - exit(-1); - } -} - - -bool Application::processEvent(GHOST_IEvent* event) -{ - bool handled = true; - - switch (event->getType()) { - case GHOST_kEventWindowClose: - { - GHOST_TEventWindowData* windowData = (GHOST_TEventWindowData*)((GHOST_IEvent*)event)->getData(); - GHOST_IWindow* window = windowData->window; - if (window == m_mainWindow) { - exit(0); - } - else { - m_system->disposeWindow(window); - } - } - break; - - case GHOST_kEventWindowActivate: - handled = false; - break; - case GHOST_kEventWindowDeactivate: - handled = false; - break; - case GHOST_kEventWindowUpdate: - { - GHOST_TEventWindowData* windowData = (GHOST_TEventWindowData*)((GHOST_IEvent*)event)->getData(); - GHOST_IWindow* window = windowData->window; - if (!m_system->validWindow(window)) break; - { - setViewPortGL(window); - drawGL(); - window->swapBuffers(); - } - } - break; - - default: - handled = false; - break; - } - return handled; -} - - -int main(int /*argc*/, char** /*argv*/) -{ - // Create the system - GHOST_ISystem::createSystem(); - fSystem = GHOST_ISystem::getSystem(); - - if (fSystem) { - // Create an application object - Application app (fSystem); - - // Add the application as event consumer - fSystem->addEventConsumer(&app); - - // Enter main loop - while (!app.m_exitRequested) { - fSystem->processEvents(); - fSystem->dispatchEvents(); - } - } - - // Dispose the system - GHOST_ISystem::disposeSystem(); - - return 0; -} - diff --git a/intern/bmfont/test/Makefile b/intern/bmfont/test/Makefile new file mode 100644 index 00000000000..f7e0f927722 --- /dev/null +++ b/intern/bmfont/test/Makefile @@ -0,0 +1,63 @@ +# ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. The Blender +# Foundation also sells licenses for use in proprietary software under +# the Blender License. See http://www.blender.org/BL/ for information +# about this. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. +# All rights reserved. +# +# The Original Code is: all of this file. +# +# Contributor(s): none yet. +# +# ***** END GPL/BL DUAL LICENSE BLOCK ***** +# Test the bmfont module +# + +LIBNAME = bmfont +SOURCEDIR = intern/$(LIBNAME)/test +DIR = $(OCGDIR)/$(SOURCEDIR) +DIRS = simpletest + +include nan_subdirs.mk +include nan_compile.mk +include nan_link.mk + +TESTLIBS = $(OCGDIR)/intern/$(LIBNAME)/$(DEBUG_DIR)lib$(LIBNAME).a +TESTLIBS += $(NAN_STRING)/lib/$(DEBUG_DIR)libstring.a +TESTLIBS += $(LCGDIR)/ghost/$(DEBUG_DIR)lib/libghost.a + + +ifeq ($(OS),$(findstring $(OS), "beos darwin linux freebsd openbsd")) + TESTLIBS += -L/usr/X11R6/lib -lglut -pthread +endif + +ifeq ($(OS),$(findstring $(OS), "solaris")) + TESTLIBS += -L/usr/openwin/lib -lglut -lX11 -lGL -lGLU -lXmu +endif + + +all debug:: + @echo "****> linking $@ in $(SOURCEDIR)" + $(CCC) $(LDFLAGS) -o $(DIR)/$(DEBUG_DIR)BMF_Test $(DIR)/BMF_Test.o $(TESTLIBS) + +clean:: + $(RM) $(DIR)/BMF_Test $(DIR)/debug/BMF_Test + +test:: $(DIR)/BMF_Test + $(DIR)/BMF_Test $(NAN_TEST_VERBOSITY) + diff --git a/intern/bmfont/test/simpletest/BMF_Test.cpp b/intern/bmfont/test/simpletest/BMF_Test.cpp new file mode 100644 index 00000000000..00f7bc30f45 --- /dev/null +++ b/intern/bmfont/test/simpletest/BMF_Test.cpp @@ -0,0 +1,229 @@ +/** + * $Id$ + * ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. The Blender + * Foundation also sells licenses for use in proprietary software under + * the Blender License. See http://www.blender.org/BL/ for information + * about this. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL/BL DUAL LICENSE BLOCK ***** + */ + +/** + + * $Id$ + * Copyright (C) 2001 NaN Technologies B.V. + * Simple test file for the bitmap font library using GHOST. + * @author Maarten Gribnau + * @date November 15, 2001 + */ + +#include + +#ifdef HAVE_CONFIG_H +#include +#endif + +#define FALSE 0 +#define TRUE 1 + +#if defined(WIN32) || defined(__APPLE__) +#ifdef WIN32 +#include +#include +#else // WIN32 +// __APPLE__ is defined +#include +#endif // WIN32 +#else // defined(WIN32) || defined(__APPLE__) +#include +#endif // defined(WIN32) || defined(__APPLE__) + + +#include "STR_String.h" +#include "GHOST_Rect.h" + +#include "GHOST_ISystem.h" +#include "GHOST_IEvent.h" +#include "GHOST_IEventConsumer.h" + +#include "BMF_Api.h" + +static class Application* fApp; +static GHOST_ISystem* fSystem = 0; + + +static void drawGL() +{ + GLint x = 10, y = 10; + + ::glRasterPos2i(x, y); + BMF_Font *font = BMF_GetFont(BMF_kHelvetica10); + BMF_DrawString(font, "Helvetica 10 point"); + y += 14; + ::glRasterPos2i(x, y); + font = BMF_GetFont(BMF_kHelvetica12); + BMF_DrawString(font, "Helvetica 12 point"); + y += 16; + ::glRasterPos2i(x, y); + font = BMF_GetFont(BMF_kHelveticaBold8); + BMF_DrawString(font, "Helvetica Bold 8 point"); + y += 12; + ::glRasterPos2i(x, y); + font = BMF_GetFont(BMF_kHelveticaBold10); + BMF_DrawString(font, "Helvetica Bold 10 point"); + y += 14; + ::glRasterPos2i(x, y); + font = BMF_GetFont(BMF_kHelveticaBold12); + BMF_DrawString(font, "Helvetica Bold 12 point"); + y += 16; + ::glRasterPos2i(x, y); + font = BMF_GetFont(BMF_kHelveticaBold14); + BMF_DrawString(font, "Helvetica Bold 14 point"); + y += 18; + ::glRasterPos2i(x, y); + font = BMF_GetFont(BMF_kScreen12); + BMF_DrawString(font, "Screen 12 point"); + y += 16; + ::glRasterPos2i(x, y); + font = BMF_GetFont(BMF_kScreen14); + BMF_DrawString(font, "Screen 14 point"); + y += 18; + ::glRasterPos2i(x, y); + font = BMF_GetFont(BMF_kScreen15); + BMF_DrawString(font, "Screen 15 point"); +} + + +static void setViewPortGL(GHOST_IWindow* window) +{ + window->activateDrawingContext(); + GHOST_Rect bnds; + window->getClientBounds(bnds); + + ::glViewport(0, 0, bnds.getWidth(), bnds.getHeight()); + + ::glMatrixMode(GL_PROJECTION); + ::glLoadIdentity(); + ::glOrtho(0, bnds.getWidth(), 0, bnds.getHeight(), -10, 10); + + ::glClearColor(.2f,0.0f,0.0f,0.0f); + ::glClear(GL_COLOR_BUFFER_BIT); +} + + + +class Application : public GHOST_IEventConsumer { +public: + Application(GHOST_ISystem* system); + virtual bool processEvent(GHOST_IEvent* event); + + GHOST_ISystem* m_system; + GHOST_IWindow* m_mainWindow; + bool m_exitRequested; +}; + + +Application::Application(GHOST_ISystem* system) + : m_system(system), m_mainWindow(0), m_exitRequested(false) +{ + 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,FALSE); + if (!m_mainWindow) { + std::cout << "could not create main window\n"; + exit(-1); + } +} + + +bool Application::processEvent(GHOST_IEvent* event) +{ + bool handled = true; + + switch (event->getType()) { + case GHOST_kEventWindowClose: + { + GHOST_IWindow* window2 = event->getWindow(); + if (window2 == m_mainWindow) { + exit(0); + } 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; + { + setViewPortGL(window2); + drawGL(); + window2->swapBuffers(); + } + } + break; + + default: + handled = false; + break; + } + return handled; +} + + +int main(int /*argc*/, char** /*argv*/) +{ + // Create the system + GHOST_ISystem::createSystem(); + fSystem = GHOST_ISystem::getSystem(); + + if (fSystem) { + // Create an application object + Application app (fSystem); + + // Add the application as event consumer + fSystem->addEventConsumer(&app); + + // Enter main loop + while (!app.m_exitRequested) { + fSystem->processEvents(TRUE); + fSystem->dispatchEvents(); + } + } + + // Dispose the system + GHOST_ISystem::disposeSystem(); + + return 0; +} + diff --git a/intern/bmfont/test/simpletest/Makefile b/intern/bmfont/test/simpletest/Makefile new file mode 100644 index 00000000000..190a39f0e9b --- /dev/null +++ b/intern/bmfont/test/simpletest/Makefile @@ -0,0 +1,45 @@ +# ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. The Blender +# Foundation also sells licenses for use in proprietary software under +# the Blender License. See http://www.blender.org/BL/ for information +# about this. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. +# All rights reserved. +# +# The Original Code is: all of this file. +# +# Contributor(s): none yet. +# +# ***** END GPL/BL DUAL LICENSE BLOCK ***** +# Test the bmfont module +# + +LIBNAME = bmfont +DIR = $(OCGDIR)/intern/$(LIBNAME)/test + +# we don't want a library here, only object files: +ALLTARGETS = $(OBJS) + +include nan_compile.mk + +CCFLAGS += $(LEVEL_2_CPP_WARNINGS) + +CPPFLAGS = -I../.. +CPPFLAGS += -I../../intern +CPPFLAGS += -I$(OPENGL_HEADERS) +CPPFLAGS += -I$(NAN_STRING)/include +CPPFLAGS += -I$(NAN_GHOST)/include -- cgit v1.2.3