[Libreoffice-commits] core.git: 3 commits - avmedia/Library_avmediaogl.mk avmedia/Library_avmediavlc.mk avmedia/Module_avmedia.mk avmedia/source include/sfx2 officecfg/registry postprocess/Rdb_services.mk Repository.mk sd/sdi sd/source sd/uiconfig sfx2/sdi
Zolnai Tamás
tamas.zolnai at collabora.com
Thu Mar 27 03:39:29 PDT 2014
Repository.mk | 1
avmedia/Library_avmediaogl.mk | 35 +
avmedia/Library_avmediavlc.mk | 2
avmedia/Module_avmedia.mk | 7
avmedia/source/opengl/avmediaogl.component | 15
avmedia/source/opengl/oglframegrabber.cxx | 60 +++
avmedia/source/opengl/oglframegrabber.hxx | 43 ++
avmedia/source/opengl/oglmanager.cxx | 60 +++
avmedia/source/opengl/oglmanager.hxx | 44 ++
avmedia/source/opengl/oglplayer.cxx | 159 ++++++++
avmedia/source/opengl/oglplayer.hxx | 62 +++
avmedia/source/opengl/ogluno.cxx | 47 ++
avmedia/source/opengl/oglwindow.cxx | 179 ++++++++++
avmedia/source/opengl/oglwindow.hxx | 70 +++
include/sfx2/sfxsids.hrc | 2
officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu | 5
postprocess/Rdb_services.mk | 1
sd/sdi/_drvwsh.sdi | 5
sd/source/ui/func/fuinsert.cxx | 59 +++
sd/source/ui/inc/fuinsert.hxx | 17
sd/source/ui/view/drviews2.cxx | 11
sd/uiconfig/simpress/menubar/menubar.xml | 1
sfx2/sdi/sfx.sdi | 24 +
23 files changed, 907 insertions(+), 2 deletions(-)
New commits:
commit cab8cfbe60e2829d62308444a610d340d2370781
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date: Thu Mar 27 11:22:02 2014 +0100
Basic UI for inserting 3D models
-By now only in impress.
-One supported file format: gltf/.json
Change-Id: I66b9cc91afeac292a19e8917f923228dc96a791a
diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc
index ebac7de..6c67e4c 100644
--- a/include/sfx2/sfxsids.hrc
+++ b/include/sfx2/sfxsids.hrc
@@ -515,6 +515,8 @@
#define SID_FRAMEDESCRIPTOR (SID_SFX_START + 1229)
+#define SID_INSERT_3DMODEL (SID_SFX_START + 1229)
+
// SaveTabPage
#define SID_ATTR_DOCINFO (SID_OPTIONS_START + 0)
#define SID_ATTR_BACKUP (SID_OPTIONS_START + 1)
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 43e4aa6..35303c3 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -5609,6 +5609,11 @@
<value xml:lang="en-US">Edit with External Tool</value>
</prop>
</node>
+ <node oor:name=".uno:Insert3DModel" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">3D Model...</value>
+ </prop>
+ </node>
</node>
</node>
</oor:component-data>
diff --git a/sd/sdi/_drvwsh.sdi b/sd/sdi/_drvwsh.sdi
index 78e812e..d328cf4 100644
--- a/sd/sdi/_drvwsh.sdi
+++ b/sd/sdi/_drvwsh.sdi
@@ -2748,4 +2748,9 @@ interface DrawView
[
ExecMethod = FuTemporary ;
]
+ SID_INSERT_3DMODEL
+ [
+ ExecMethod = FuTemporary ;
+ StateMethod = GetMenuState ;
+ ]
}
diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx
index 13f71ba..c1706fc 100644
--- a/sd/source/ui/func/fuinsert.cxx
+++ b/sd/source/ui/func/fuinsert.cxx
@@ -29,6 +29,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/chart2/XChartDocument.hpp>
#include <com/sun/star/drawing/FillStyle.hpp>
+#include <com/sun/star/ui/dialogs/TemplateDescription.hpp>
#include <tools/urlobj.hxx>
#include <svl/urihelper.hxx>
@@ -90,6 +91,7 @@ TYPEINIT1( FuInsertGraphic, FuPoor );
TYPEINIT1( FuInsertClipboard, FuPoor );
TYPEINIT1( FuInsertOLE, FuPoor );
TYPEINIT1( FuInsertAVMedia, FuPoor );
+TYPEINIT1( FuInsert3DModel, FuPoor );
FuInsertGraphic::FuInsertGraphic (
ViewShell* pViewSh,
@@ -753,6 +755,63 @@ void FuInsertAVMedia::DoExecute( SfxRequest& rReq )
}
}
+FuInsert3DModel::FuInsert3DModel(
+ ViewShell* pViewSh,
+ ::sd::Window* pWin,
+ ::sd::View* pView,
+ SdDrawDocument* pDoc,
+ SfxRequest& rReq)
+ : FuPoor(pViewSh, pWin, pView, pDoc, rReq)
+{
+}
+
+rtl::Reference<FuPoor> FuInsert3DModel::Create( ViewShell* pViewSh, ::sd::Window* pWin, ::sd::View* pView, SdDrawDocument* pDoc, SfxRequest& rReq )
+{
+ rtl::Reference<FuPoor> xFunc( new FuInsert3DModel( pViewSh, pWin, pView, pDoc, rReq ) );
+ xFunc->DoExecute(rReq);
+ return xFunc;
+}
+
+void FuInsert3DModel::DoExecute( SfxRequest& )
+{
+ sfx2::FileDialogHelper aDlg( ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE, 0 );
+
+ aDlg.SetTitle( "Open 3DModel" );
+ aDlg.AddFilter( "GL Transmission Format", "*.json" );
+ aDlg.AddFilter( "All files", "*.*" );
+
+ OUString sURL;
+ if( aDlg.Execute() == ERRCODE_NONE )
+ {
+ const INetURLObject aURL( aDlg.GetPath() );
+ sURL = aURL.GetMainURL( INetURLObject::DECODE_UNAMBIGUOUS );
+ }
+ else if( !sURL.isEmpty() )
+ sURL = OUString();
+
+ if (!sURL.isEmpty())
+ {
+ if( mpWindow )
+ mpWindow->EnterWait();
+
+ Point aPos;
+ Size aSize(480,360);
+ sal_Int8 nAction = DND_ACTION_COPY;
+
+ if( mpWindow )
+ {
+ aPos = mpWindow->PixelToLogic( Rectangle( aPos, mpWindow->GetOutputSizePixel() ).Center() );
+ aPos.X() -= aSize.Width() >> 1;
+ aPos.Y() -= aSize.Height() >> 1;
+ }
+
+ mpView->InsertMediaURL( sURL, nAction, aPos, aSize, false ) ;
+
+ if( mpWindow )
+ mpWindow->LeaveWait();
+ }
+}
+
} // end of namespace sd
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/ui/inc/fuinsert.hxx b/sd/source/ui/inc/fuinsert.hxx
index 2f6ca85..f002250 100644
--- a/sd/source/ui/inc/fuinsert.hxx
+++ b/sd/source/ui/inc/fuinsert.hxx
@@ -105,6 +105,23 @@ private:
SfxRequest& rReq);
};
+class FuInsert3DModel
+ : public FuPoor
+{
+public:
+ TYPEINFO_OVERRIDE();
+
+ static rtl::Reference<FuPoor> Create( ViewShell* pViewSh, ::sd::Window* pWin, ::sd::View* pView, SdDrawDocument* pDoc, SfxRequest& rReq );
+ virtual void DoExecute( SfxRequest& rReq );
+
+private:
+ FuInsert3DModel (
+ ViewShell* pViewSh,
+ ::sd::Window* pWin,
+ ::sd::View* pView,
+ SdDrawDocument* pDoc,
+ SfxRequest& rReq);
+};
} // end of namespace sd
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index c996d14..856297e 100644
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -1167,6 +1167,17 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
}
break;
+ case SID_INSERT_3DMODEL:
+ {
+ SetCurrentFunction( FuInsert3DModel::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+
+ Cancel();
+ rReq.Ignore ();
+
+ Invalidate(SID_DRAWTBX_INSERT);
+ }
+ break;
+
case SID_COPYOBJECTS:
{
if ( mpDrawView->IsPresObjSelected(sal_False, sal_True) )
diff --git a/sd/uiconfig/simpress/menubar/menubar.xml b/sd/uiconfig/simpress/menubar/menubar.xml
index b2d5ae6..ab11e88 100644
--- a/sd/uiconfig/simpress/menubar/menubar.xml
+++ b/sd/uiconfig/simpress/menubar/menubar.xml
@@ -217,6 +217,7 @@
<menu:menuitem menu:id=".uno:InsertObject"/>
<menu:menuitem menu:id=".uno:InsertPlugin"/>
<menu:menuitem menu:id=".uno:InsertMath"/>
+ <menu:menuitem menu:id=".uno:Insert3DModel"/>
</menu:menupopup>
</menu:menu>
<menu:menuitem menu:id=".uno:InsertObjectChart"/>
diff --git a/sfx2/sdi/sfx.sdi b/sfx2/sdi/sfx.sdi
index 59e6254..8487a84 100644
--- a/sfx2/sdi/sfx.sdi
+++ b/sfx2/sdi/sfx.sdi
@@ -8457,3 +8457,27 @@ SvxZoomItem Zoom SID_ATTR_ZOOM
ToolBoxConfig = TRUE,
GroupId = GID_VIEW;
]
+
+SfxStringItem Insert3DModel SID_INSERT_3DMODEL
+()
+[
+ /* flags: */
+ AutoUpdate = FALSE,
+ Cachable = Cachable,
+ FastCall = FALSE,
+ HasCoreId = FALSE,
+ HasDialog = TRUE,
+ ReadOnlyDoc = FALSE,
+ Toggle = FALSE,
+ Container = FALSE,
+ RecordAbsolute = FALSE,
+ RecordPerSet;
+ Synchron;
+
+ /* config: */
+ AccelConfig = TRUE,
+ MenuConfig = TRUE,
+ StatusBarConfig = FALSE,
+ ToolBoxConfig = TRUE,
+ GroupId = GID_APPLICATION;
+]
commit 4f48dc2f978d36ef9ba08bf828894fa578430fc7
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date: Wed Mar 26 18:46:52 2014 +0100
Skeleton of OpenGL avmedia service for playing 3D models
Change-Id: I3bf9e68e1a08ff3db065ec7f4e135119b7d1a4ef
diff --git a/Repository.mk b/Repository.mk
index 9fd036e..6c2bb67 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -498,6 +498,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
$(if $(ENABLE_GSTREAMER),avmediagst) \
$(if $(ENABLE_GSTREAMER_0_10),avmediagst_0_10) \
$(if $(ENABLE_DIRECTX),avmediawin) \
+ $(if $(ENABLE_OPENGL),avmediaogl) \
cached1 \
collator_data \
comphelper \
diff --git a/avmedia/Library_avmediaogl.mk b/avmedia/Library_avmediaogl.mk
new file mode 100644
index 0000000..78b4a8f
--- /dev/null
+++ b/avmedia/Library_avmediaogl.mk
@@ -0,0 +1,35 @@
+# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+$(eval $(call gb_Library_Library,avmediaogl))
+
+$(eval $(call gb_Library_set_componentfile,avmediaogl,avmedia/source/opengl/avmediaogl))
+
+$(eval $(call gb_Library_use_sdk_api,avmediaogl))
+
+$(eval $(call gb_Library_use_libraries,avmediaogl,\
+ comphelper \
+ cppu \
+ cppuhelper \
+ sal \
+ salhelper \
+ tl \
+ vcl \
+ $(gb_UWINAPI) \
+))
+
+$(eval $(call gb_Library_add_exception_objects,avmediaogl,\
+ avmedia/source/opengl/oglframegrabber \
+ avmedia/source/opengl/oglmanager \
+ avmedia/source/opengl/oglplayer \
+ avmedia/source/opengl/ogluno \
+ avmedia/source/opengl/oglwindow \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/avmedia/Module_avmedia.mk b/avmedia/Module_avmedia.mk
index 88ee2aa..b1b6703 100644
--- a/avmedia/Module_avmedia.mk
+++ b/avmedia/Module_avmedia.mk
@@ -51,4 +51,11 @@ $(eval $(call gb_Module_add_targets,avmedia,\
))
endif
+ifeq ($(ENABLE_OPENGL),TRUE)
+$(eval $(call gb_Module_add_targets,avmedia,\
+ Library_avmediaogl \
+))
+endif
+
+
# vim: set noet sw=4 ts=4:
diff --git a/avmedia/source/opengl/avmediaogl.component b/avmedia/source/opengl/avmediaogl.component
new file mode 100644
index 0000000..f3cd138
--- /dev/null
+++ b/avmedia/source/opengl/avmediaogl.component
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+-->
+<component loader="com.sun.star.loader.SharedLibrary" environment="@CPPU_ENV@"
+ prefix="avmediaogl" xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.avmedia.Manager_OpenGL">
+ <service name="com.sun.star.media.Manager_OpenGL"/>
+ </implementation>
+</component>
diff --git a/avmedia/source/opengl/oglframegrabber.cxx b/avmedia/source/opengl/oglframegrabber.cxx
new file mode 100644
index 0000000..2aeda97
--- /dev/null
+++ b/avmedia/source/opengl/oglframegrabber.cxx
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "oglframegrabber.hxx"
+
+#include <cppuhelper/supportsservice.hxx>
+#include <vcl/bitmapex.hxx>
+#include <vcl/graph.hxx>
+
+using namespace com::sun::star;
+
+namespace avmedia { namespace ogl {
+
+OGLFrameGrabber::OGLFrameGrabber( const OUString& /*rUrl*/ )
+ : FrameGrabber_BASE()
+{
+}
+
+OGLFrameGrabber::~OGLFrameGrabber()
+{
+}
+
+uno::Reference< css::graphic::XGraphic > SAL_CALL OGLFrameGrabber::grabFrame( double /*fMediaTime*/ )
+ throw ( uno::RuntimeException, std::exception )
+{
+ // TODO: Here we need a bitmap of the model at the point specified by fMediaTime
+ // See com::sun::star::media::XFrameGrabber
+ BitmapEx aBitmap;
+ return Graphic( aBitmap ).GetXGraphic();
+}
+
+OUString SAL_CALL OGLFrameGrabber::getImplementationName() throw ( uno::RuntimeException, std::exception )
+{
+ return OUString("com.sun.star.comp.avmedia.FrameGrabber_OpenGL");
+}
+
+sal_Bool SAL_CALL OGLFrameGrabber::supportsService( const OUString& rServiceName )
+ throw ( uno::RuntimeException, std::exception )
+{
+ return cppu::supportsService(this, rServiceName);
+}
+
+uno::Sequence< OUString > SAL_CALL OGLFrameGrabber::getSupportedServiceNames()
+ throw ( uno::RuntimeException, std::exception )
+{
+ uno::Sequence< OUString > aRet(1);
+ aRet[0] = OUString("com.sun.star.media.FrameGrabber_OpenGL");
+ return aRet;
+}
+
+} // namespace ogl
+} // namespace avmedia
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/avmedia/source/opengl/oglframegrabber.hxx b/avmedia/source/opengl/oglframegrabber.hxx
new file mode 100644
index 0000000..fd3d9fb
--- /dev/null
+++ b/avmedia/source/opengl/oglframegrabber.hxx
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef OGL_FRAMEGRABBER_HXX
+#define OGL_FRAMEGRABBER_HXX
+
+#include <cppuhelper/compbase2.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/media/XFrameGrabber.hpp>
+
+namespace avmedia { namespace ogl {
+
+typedef ::cppu::WeakImplHelper2< com::sun::star::media::XFrameGrabber,
+ com::sun::star::lang::XServiceInfo > FrameGrabber_BASE;
+
+class OGLFrameGrabber : public FrameGrabber_BASE
+{
+public:
+
+ OGLFrameGrabber( const OUString& rURL );
+ virtual ~OGLFrameGrabber();
+
+ // XFrameGrabber
+ virtual com::sun::star::uno::Reference< com::sun::star::graphic::XGraphic > SAL_CALL grabFrame( double fMediaTime ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+ // XServiceInfo
+ virtual OUString SAL_CALL getImplementationName() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+};
+
+} // namespace ogl
+} // namespace avmedia
+
+#endif // OGL_FRAMEGRABBER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/avmedia/source/opengl/oglmanager.cxx b/avmedia/source/opengl/oglmanager.cxx
new file mode 100644
index 0000000..d435e60
--- /dev/null
+++ b/avmedia/source/opengl/oglmanager.cxx
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "oglmanager.hxx"
+#include "oglframegrabber.hxx"
+#include "oglplayer.hxx"
+
+#include <cppuhelper/supportsservice.hxx>
+
+using namespace com::sun::star;
+
+namespace avmedia { namespace ogl {
+
+OGLManager::OGLManager( const uno::Reference< lang::XMultiServiceFactory >& rMgr )
+ : m_xMgr( rMgr )
+{
+}
+
+OGLManager::~OGLManager()
+{
+}
+
+uno::Reference< media::XPlayer > SAL_CALL OGLManager::createPlayer( const OUString& rURL )
+ throw (uno::RuntimeException, std::exception)
+{
+ // TODO: Here we need to construct our OpenGL player.
+ // See com::sun::star::media::XManager
+ OGLPlayer* pPlayer( new OGLPlayer( rURL ) );
+ return uno::Reference< media::XPlayer >(pPlayer);
+}
+
+OUString SAL_CALL OGLManager::getImplementationName() throw ( uno::RuntimeException, std::exception )
+{
+ return OUString("com.sun.star.comp.avmedia.Manager_OpenGL");
+}
+
+sal_Bool SAL_CALL OGLManager::supportsService( const OUString& rServiceName )
+ throw ( uno::RuntimeException, std::exception )
+{
+ return cppu::supportsService(this, rServiceName);
+}
+
+uno::Sequence< OUString > SAL_CALL OGLManager::getSupportedServiceNames()
+ throw ( uno::RuntimeException, std::exception )
+{
+ ::uno::Sequence< OUString > aRet(1);
+ aRet[0] = OUString("com.sun.star.media.Manager_OpenGL");
+ return aRet;
+}
+
+} // namespace ogl
+} // namespace avmedia
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/avmedia/source/opengl/oglmanager.hxx b/avmedia/source/opengl/oglmanager.hxx
new file mode 100644
index 0000000..bbecfbc
--- /dev/null
+++ b/avmedia/source/opengl/oglmanager.hxx
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef OGL_MANAGER_HXX
+#define OGL_MANAGER_HXX
+
+#include <cppuhelper/compbase2.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/media/XManager.hpp>
+
+namespace avmedia { namespace ogl {
+
+class OGLManager : public ::cppu::WeakImplHelper2 < com::sun::star::media::XManager,
+ com::sun::star::lang::XServiceInfo >
+{
+public:
+
+ OGLManager( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rMgr );
+ virtual ~OGLManager();
+
+ // XManager
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::media::XPlayer > SAL_CALL createPlayer( const OUString& rURL ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+ // XServiceInfo
+ virtual OUString SAL_CALL getImplementationName() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+private:
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xMgr;
+};
+
+} // namespace ogl
+} // namespace avmedia
+
+#endif // OGL_MANAGER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/avmedia/source/opengl/oglplayer.cxx b/avmedia/source/opengl/oglplayer.cxx
new file mode 100644
index 0000000..325579f
--- /dev/null
+++ b/avmedia/source/opengl/oglplayer.cxx
@@ -0,0 +1,159 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "oglplayer.hxx"
+#include "oglframegrabber.hxx"
+#include "oglwindow.hxx"
+
+#include <cppuhelper/supportsservice.hxx>
+
+using namespace com::sun::star;
+
+namespace avmedia { namespace ogl {
+
+OGLPlayer::OGLPlayer( const OUString& rUrl)
+ : Player_BASE(m_aMutex)
+ , m_sUrl(rUrl)
+{
+}
+
+OGLPlayer::~OGLPlayer()
+{
+}
+
+void SAL_CALL OGLPlayer::start() throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Start playing of gltf model (see com::sun::star::media::XPlayer)
+}
+
+void SAL_CALL OGLPlayer::stop() throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Stop playing of gltf model (see com::sun::star::media::XPlayer)
+}
+
+sal_Bool SAL_CALL OGLPlayer::isPlaying() throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Check whether gltf model is played by now (see com::sun::star::media::XPlayer)
+ return false;
+}
+
+double SAL_CALL OGLPlayer::getDuration() throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Get gltf's duration (see com::sun::star::media::XPlayer)
+ return 0.0;
+}
+
+void SAL_CALL OGLPlayer::setMediaTime( double /*fTime*/ ) throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Set player to the specified point (see com::sun::star::media::XPlayer)
+}
+
+double SAL_CALL OGLPlayer::getMediaTime() throw ( ::com::sun::star::uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Get player current time position (see com::sun::star::media::XPlayer)
+ return 0.0;
+}
+
+double SAL_CALL OGLPlayer::getRate() throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Get the speed of stream reading (see com::sun::star::media::XPlayer)
+ return 1.0;
+}
+
+void SAL_CALL OGLPlayer::setPlaybackLoop( sal_Bool /*bSet*/ ) throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Set the playes replay itself when it ends (see com::sun::star::media::XPlayer)
+}
+
+sal_Bool SAL_CALL OGLPlayer::isPlaybackLoop() throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Check whether playing will restart after it ends (see com::sun::star::media::XPlayer)
+ return false;
+}
+
+void SAL_CALL OGLPlayer::setVolumeDB( sal_Int16 /*nVolumDB*/ ) throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Set audio volume (see com::sun::star::media::XPlayer)
+}
+
+sal_Int16 SAL_CALL OGLPlayer::getVolumeDB() throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Get audio volume (see com::sun::star::media::XPlayer)
+ return 0;
+}
+
+void SAL_CALL OGLPlayer::setMute( sal_Bool /*bSet*/ ) throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Set volume to 0 (see com::sun::star::media::XPlayer)
+}
+
+sal_Bool SAL_CALL OGLPlayer::isMute() throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ // TODO: Get whether volume is set to 0 by setMute (see com::sun::star::media::XPlayer)
+ return false;
+}
+
+awt::Size SAL_CALL OGLPlayer::getPreferredPlayerWindowSize() throw ( uno::RuntimeException, std::exception )
+{
+ return awt::Size( 480, 360 ); // TODO: It will be good for OpenGL too?
+}
+
+uno::Reference< media::XPlayerWindow > SAL_CALL OGLPlayer::createPlayerWindow( const uno::Sequence< uno::Any >& /*aArguments*/ )
+ throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard( m_aMutex );
+ OGLWindow* pWindow = new OGLWindow(*this);
+ return uno::Reference< media::XPlayerWindow >( pWindow );
+}
+
+uno::Reference< media::XFrameGrabber > SAL_CALL OGLPlayer::createFrameGrabber()
+ throw ( uno::RuntimeException, std::exception )
+{
+ osl::MutexGuard aGuard(m_aMutex);
+ OGLFrameGrabber *pFrameGrabber = new OGLFrameGrabber( m_sUrl );
+ return uno::Reference< media::XFrameGrabber >( pFrameGrabber );;
+}
+
+OUString SAL_CALL OGLPlayer::getImplementationName()
+ throw ( ::com::sun::star::uno::RuntimeException, std::exception )
+{
+ return OUString("com.sun.star.comp.avmedia.Player_OpenGL");
+}
+
+sal_Bool SAL_CALL OGLPlayer::supportsService( const OUString& rServiceName )
+ throw ( ::com::sun::star::uno::RuntimeException, std::exception )
+{
+ return cppu::supportsService(this, rServiceName);
+}
+
+uno::Sequence< OUString > SAL_CALL OGLPlayer::getSupportedServiceNames()
+ throw ( com::sun::star::uno::RuntimeException, std::exception )
+{
+ uno::Sequence< OUString > aRet(1);
+ aRet[0] = OUString("com.sun.star.media.Player_OpenGL");
+ return aRet;
+}
+
+} // namespace ogl
+} // namespace avmedia
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/avmedia/source/opengl/oglplayer.hxx b/avmedia/source/opengl/oglplayer.hxx
new file mode 100644
index 0000000..69101a6
--- /dev/null
+++ b/avmedia/source/opengl/oglplayer.hxx
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef OGL_PLAYER_HXX
+#define OGL_PLAYER_HXX
+
+#include <cppuhelper/compbase2.hxx>
+#include <cppuhelper/basemutex.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/media/XPlayer.hpp>
+
+namespace avmedia { namespace ogl {
+
+typedef ::cppu::WeakComponentImplHelper2< com::sun::star::media::XPlayer,
+ com::sun::star::lang::XServiceInfo > Player_BASE;
+
+class OGLPlayer : public cppu::BaseMutex,
+ public Player_BASE
+{
+public:
+
+ OGLPlayer( const OUString& rURL );
+ virtual ~OGLPlayer();
+
+ // XPlayer
+ virtual void SAL_CALL start() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL stop() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual sal_Bool SAL_CALL isPlaying() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual double SAL_CALL getDuration() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL setMediaTime( double fTime ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual double SAL_CALL getMediaTime() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual double SAL_CALL getRate() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL setPlaybackLoop( sal_Bool bSet ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual sal_Bool SAL_CALL isPlaybackLoop() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL setVolumeDB( sal_Int16 nVolumeDB ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual sal_Int16 SAL_CALL getVolumeDB() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL setMute( sal_Bool bSet ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual sal_Bool SAL_CALL isMute() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual com::sun::star::awt::Size SAL_CALL getPreferredPlayerWindowSize() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual com::sun::star::uno::Reference< com::sun::star::media::XPlayerWindow > SAL_CALL createPlayerWindow( const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& aArguments ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual com::sun::star::uno::Reference< com::sun::star::media::XFrameGrabber > SAL_CALL createFrameGrabber() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ // XServiceInfo
+ virtual OUString SAL_CALL getImplementationName() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+private:
+ OUString m_sUrl;
+};
+
+} // namespace ogl
+} // namespace avmedia
+
+#endif // OGL_PLAYER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/avmedia/source/opengl/ogluno.cxx b/avmedia/source/opengl/ogluno.cxx
new file mode 100644
index 0000000..f4ce756
--- /dev/null
+++ b/avmedia/source/opengl/ogluno.cxx
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "oglmanager.hxx"
+
+#include <cppuhelper/factory.hxx>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/lang/XSingleServiceFactory.hpp>
+
+using namespace ::com::sun::star;
+
+static uno::Reference< uno::XInterface > SAL_CALL create_MediaPlayer( const uno::Reference< lang::XMultiServiceFactory >& rxFact )
+{
+ return uno::Reference< uno::XInterface >( *new ::avmedia::ogl::OGLManager( rxFact ) );
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL avmediaogl_component_getFactory( const sal_Char* pImplName, void* pServiceManager, void* )
+{
+ uno::Reference< lang::XSingleServiceFactory > xFactory;
+ void* pRet = 0;
+
+ if( rtl_str_compare( pImplName, "com.sun.star.comp.avmedia.Manager_OpenGL" ) == 0 )
+ {
+ const OUString aServiceName( "com.sun.star.media.Manager_OpenGL" );
+
+ xFactory = uno::Reference< lang::XSingleServiceFactory >( ::cppu::createSingleFactory(
+ reinterpret_cast< lang::XMultiServiceFactory* >( pServiceManager ),
+ OUString("com.sun.star.comp.avmedia.Manager_OpenGL" ),
+ create_MediaPlayer, uno::Sequence< OUString >( &aServiceName, 1 ) ) );
+ }
+
+ if( xFactory.is() )
+ {
+ xFactory->acquire();
+ pRet = xFactory.get();
+ }
+
+ return pRet;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/avmedia/source/opengl/oglwindow.cxx b/avmedia/source/opengl/oglwindow.cxx
new file mode 100644
index 0000000..ab524e4
--- /dev/null
+++ b/avmedia/source/opengl/oglwindow.cxx
@@ -0,0 +1,179 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "oglwindow.hxx"
+#include <cppuhelper/supportsservice.hxx>
+
+using namespace com::sun::star;
+
+namespace avmedia { namespace ogl {
+
+OGLWindow::OGLWindow( OGLPlayer& rPlayer )
+ : m_rPlayer( rPlayer )
+ , meZoomLevel( media::ZoomLevel_ORIGINAL )
+{
+}
+
+OGLWindow::~OGLWindow()
+{
+}
+
+void SAL_CALL OGLWindow::update() throw (css::uno::RuntimeException, std::exception)
+{
+}
+
+sal_Bool SAL_CALL OGLWindow::setZoomLevel( css::media::ZoomLevel eZoomLevel ) throw (css::uno::RuntimeException, std::exception)
+{
+ sal_Bool bRet = false;
+
+ if( media::ZoomLevel_NOT_AVAILABLE != meZoomLevel &&
+ media::ZoomLevel_NOT_AVAILABLE != eZoomLevel )
+ {
+ if( eZoomLevel != meZoomLevel )
+ {
+ meZoomLevel = eZoomLevel;
+ }
+ bRet = true;
+ }
+ // TODO: set zoom level, not just store this value
+ return bRet;
+}
+
+css::media::ZoomLevel SAL_CALL OGLWindow::getZoomLevel() throw (css::uno::RuntimeException, std::exception)
+{
+ return meZoomLevel;
+}
+
+void SAL_CALL OGLWindow::setPointerType( sal_Int32 ) throw (css::uno::RuntimeException, std::exception)
+{
+}
+
+OUString SAL_CALL OGLWindow::getImplementationName() throw (css::uno::RuntimeException, std::exception)
+{
+ return OUString("com.sun.star.comp.avmedia.Window_OpenGL");
+}
+
+sal_Bool SAL_CALL OGLWindow::supportsService( const OUString& rServiceName ) throw (css::uno::RuntimeException, std::exception)
+{
+ return cppu::supportsService(this, rServiceName);
+}
+
+uno::Sequence< OUString > SAL_CALL OGLWindow::getSupportedServiceNames() throw (css::uno::RuntimeException, std::exception)
+{
+ uno::Sequence< OUString > aRet(1);
+ aRet[0] = OUString("com.sun.star.media.Window_OpenGL");
+ return aRet;
+}
+
+void SAL_CALL OGLWindow::dispose() throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::addEventListener( const uno::Reference< lang::XEventListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::removeEventListener( const uno::Reference< lang::XEventListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::setPosSize( sal_Int32 /*X*/, sal_Int32 /*Y*/, sal_Int32 /*Width*/, sal_Int32 /*Height*/, sal_Int16 /* Flags */ )
+ throw (uno::RuntimeException, std::exception)
+{
+ // TODO: store size
+}
+
+awt::Rectangle SAL_CALL OGLWindow::getPosSize()
+ throw (uno::RuntimeException, std::exception)
+{
+ // TODO: get size
+ return awt::Rectangle();
+}
+
+void SAL_CALL OGLWindow::setVisible( sal_Bool )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::setEnable( sal_Bool )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::setFocus()
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::addWindowListener( const uno::Reference< awt::XWindowListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::removeWindowListener( const uno::Reference< awt::XWindowListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::addFocusListener( const uno::Reference< awt::XFocusListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::removeFocusListener( const uno::Reference< awt::XFocusListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::addKeyListener( const uno::Reference< awt::XKeyListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::removeKeyListener( const uno::Reference< awt::XKeyListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::addMouseListener( const uno::Reference< awt::XMouseListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::removeMouseListener( const uno::Reference< awt::XMouseListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::addMouseMotionListener( const uno::Reference< awt::XMouseMotionListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::removeMouseMotionListener( const uno::Reference< awt::XMouseMotionListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::addPaintListener( const uno::Reference< awt::XPaintListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+void SAL_CALL OGLWindow::removePaintListener( const uno::Reference< awt::XPaintListener >& )
+ throw (uno::RuntimeException, std::exception)
+{
+}
+
+} // namespace ogl
+} // namespace avmedia
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/avmedia/source/opengl/oglwindow.hxx b/avmedia/source/opengl/oglwindow.hxx
new file mode 100644
index 0000000..d373dd1
--- /dev/null
+++ b/avmedia/source/opengl/oglwindow.hxx
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef OGL_WINDOW_HXX
+#define OGL_WINDOW_HXX
+
+#include "oglplayer.hxx"
+
+#include <cppuhelper/compbase2.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/media/XPlayerWindow.hpp>
+#include <com/sun/star/media/ZoomLevel.hpp>
+
+namespace avmedia { namespace ogl {
+
+class OGLWindow : public ::cppu::WeakImplHelper2 < com::sun::star::media::XPlayerWindow,
+ com::sun::star::lang::XServiceInfo >
+{
+public:
+ OGLWindow( OGLPlayer& rPlayer );
+ virtual ~OGLWindow();
+
+ virtual void SAL_CALL update() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual sal_Bool SAL_CALL setZoomLevel( com::sun::star::media::ZoomLevel ZoomLevel ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual com::sun::star::media::ZoomLevel SAL_CALL getZoomLevel() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL setPointerType( sal_Int32 SystemPointerType ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+ virtual OUString SAL_CALL getImplementationName() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+ virtual void SAL_CALL dispose() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL addEventListener( const com::sun::star::uno::Reference< com::sun::star::lang::XEventListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL removeEventListener( const com::sun::star::uno::Reference< com::sun::star::lang::XEventListener >& aListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+ virtual void SAL_CALL setPosSize( sal_Int32 X, sal_Int32 Y, sal_Int32 Width, sal_Int32 Height, sal_Int16 Flags ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual com::sun::star::awt::Rectangle SAL_CALL getPosSize() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL setVisible( sal_Bool Visible ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL setEnable( sal_Bool Enable ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL setFocus() throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL addWindowListener( const com::sun::star::uno::Reference< com::sun::star::awt::XWindowListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL removeWindowListener( const com::sun::star::uno::Reference< com::sun::star::awt::XWindowListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL addFocusListener( const com::sun::star::uno::Reference< com::sun::star::awt::XFocusListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL removeFocusListener( const com::sun::star::uno::Reference< com::sun::star::awt::XFocusListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL addKeyListener( const com::sun::star::uno::Reference< com::sun::star::awt::XKeyListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL removeKeyListener( const com::sun::star::uno::Reference< com::sun::star::awt::XKeyListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL addMouseListener( const com::sun::star::uno::Reference< com::sun::star::awt::XMouseListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL removeMouseListener( const com::sun::star::uno::Reference< com::sun::star::awt::XMouseListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL addMouseMotionListener( const com::sun::star::uno::Reference< com::sun::star::awt::XMouseMotionListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL removeMouseMotionListener( const com::sun::star::uno::Reference< com::sun::star::awt::XMouseMotionListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL addPaintListener( const com::sun::star::uno::Reference< com::sun::star::awt::XPaintListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL removePaintListener( const com::sun::star::uno::Reference< com::sun::star::awt::XPaintListener >& xListener ) throw (com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+
+private:
+ OGLPlayer& m_rPlayer;
+ com::sun::star::media::ZoomLevel meZoomLevel;
+};
+
+} // namespace ogl
+} // namespace avmedia
+
+#endif // OGL_WINDOW_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index e6cd8b5..a7920aa 100755
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -215,6 +215,7 @@ $(eval $(call gb_Rdb_add_components,services,\
) \
$(if $(ENABLE_OPENGL), \
slideshow/source/engine/OGLTrans/ogltrans \
+ avmedia/source/opengl/avmediaogl \
) \
$(if $(ENABLE_TDE), \
shell/source/backends/kdebe/tdebe1 \
commit c4cf1a1891122eb1136484dd16145620b7678e96
Author: Zolnai Tamás <tamas.zolnai at collabora.com>
Date: Tue Mar 25 12:28:58 2014 +0100
avmediavlc: Remove duplicated external usage
Change-Id: I2f41c13465740e5079e6af413f4c8217d6dcd36b
diff --git a/avmedia/Library_avmediavlc.mk b/avmedia/Library_avmediavlc.mk
index 43be24e..2f6bf9d 100644
--- a/avmedia/Library_avmediavlc.mk
+++ b/avmedia/Library_avmediavlc.mk
@@ -16,8 +16,6 @@ $(eval $(call gb_Library_set_include,avmediavlc,\
-I$(SRCDIR)/avmedia/source/inc \
))
-$(eval $(call gb_Library_use_external,avmediavlc,boost_headers))
-
$(eval $(call gb_Library_use_sdk_api,avmediavlc))
$(eval $(call gb_Library_use_externals,avmediavlc,\
More information about the Libreoffice-commits
mailing list