From 882a2a0e520c3dfb2839648063410140b5a4bf62 Mon Sep 17 00:00:00 2001 From: Thomas Geymayer Date: Sun, 4 Nov 2012 19:21:33 +0100 Subject: [PATCH] Remove OpenVG dependency from header file --- simgear/canvas/CMakeLists.txt | 1 + simgear/canvas/VGInitOperation.cxx | 47 ++++++++++++++++++++++++++++++ simgear/canvas/VGInitOperation.hxx | 17 ++--------- 3 files changed, 50 insertions(+), 15 deletions(-) create mode 100644 simgear/canvas/VGInitOperation.cxx diff --git a/simgear/canvas/CMakeLists.txt b/simgear/canvas/CMakeLists.txt index 2110c9e1..1fa496b6 100644 --- a/simgear/canvas/CMakeLists.txt +++ b/simgear/canvas/CMakeLists.txt @@ -16,6 +16,7 @@ set(SOURCES CanvasMgr.cxx CanvasPlacement.cxx ODGauge.cxx + VGInitOperation.cxx ) add_subdirectory(ShivaVG/src) diff --git a/simgear/canvas/VGInitOperation.cxx b/simgear/canvas/VGInitOperation.cxx new file mode 100644 index 00000000..e8fefe7c --- /dev/null +++ b/simgear/canvas/VGInitOperation.cxx @@ -0,0 +1,47 @@ +// osg::Operation to initialize the OpenVG context used for path rendering +// +// Copyright (C) 2012 Thomas Geymayer +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Library General Public +// License as published by the Free Software Foundation; either +// version 2 of the License, or (at your option) any later version. +// +// This library 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 +// Library General Public License for more details. +// +// You should have received a copy of the GNU Library General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + +#include "VGInitOperation.hxx" +#include + +namespace simgear +{ +namespace canvas +{ + + //---------------------------------------------------------------------------- + VGInitOperation::VGInitOperation(): + GraphicsOperation("canvas::VGInit", false) + { + + } + + + //---------------------------------------------------------------------------- + virtual void VGInitOperation::operator()(osg::GraphicsContext* context) + { + GLint vp[4]; + glGetIntegerv(GL_VIEWPORT, vp); + + // ATTENTION: If using another OpenVG implementation ensure it doesn't + // change any OpenGL state! + vgCreateContextSH(vp[2], vp[3]); + } + +} // namespace canvas +} // namespace simgear diff --git a/simgear/canvas/VGInitOperation.hxx b/simgear/canvas/VGInitOperation.hxx index b18ace17..3b9c6436 100644 --- a/simgear/canvas/VGInitOperation.hxx +++ b/simgear/canvas/VGInitOperation.hxx @@ -19,7 +19,6 @@ #ifndef CANVAS_VG_INITOPERATION_HXX_ #define CANVAS_VG_INITOPERATION_HXX_ -#include #include namespace simgear @@ -37,20 +36,8 @@ namespace canvas { public: - VGInitOperation(): - GraphicsOperation("canvas::VGInit", false) - {} - - virtual void operator()(osg::GraphicsContext* context) - { - GLint vp[4]; - glGetIntegerv(GL_VIEWPORT, vp); - - // ATTENTION: If using another OpenVG implementation ensure it doesn't - // change any OpenGL state! - vgCreateContextSH(vp[2], vp[3]); - } - + VGInitOperation(); + virtual void operator()(osg::GraphicsContext* context); }; } // namespace canvas