1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2008 by Sun Microsystems, Inc. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * $RCSfile: $ 10 * $Revision: $ 11 * 12 * This file is part of OpenOffice.org. 13 * 14 * OpenOffice.org is free software: you can redistribute it and/or modify 15 * it under the terms of the GNU Lesser General Public License version 3 16 * only, as published by the Free Software Foundation. 17 * 18 * OpenOffice.org is distributed in the hope that it will be useful, 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 * GNU Lesser General Public License version 3 for more details 22 * (a copy is included in the LICENSE file that accompanied this code). 23 * 24 * You should have received a copy of the GNU Lesser General Public License 25 * version 3 along with OpenOffice.org. If not, see 26 * <http://www.openoffice.org/license.html> 27 * for a copy of the LGPLv3 License. 28 * 29 ************************************************************************/ 30 31 #ifndef _SD_VIEWOVERLAYMANAGER_HXX 32 #define _SD_VIEWOVERLAYMANAGER_HXX 33 34 #include <vcl/image.hxx> 35 #include <svl/lstner.hxx> 36 #include "EventMultiplexer.hxx" 37 #include "ViewShellBase.hxx" 38 #include "res_bmp.hrc" 39 40 namespace sd 41 { 42 43 typedef std::vector< rtl::Reference< SmartTag > > ViewTagVector; 44 45 class ViewOverlayManager : public SfxListener 46 { 47 public: 48 ViewOverlayManager( ViewShellBase& rViewShellBase ); 49 virtual ~ViewOverlayManager(); 50 51 void onZoomChanged(); 52 void UpdateTags(); 53 54 DECL_LINK(EventMultiplexerListener, tools::EventMultiplexerEvent*); 55 DECL_LINK(UpdateTagsHdl, void *); 56 57 bool CreateTags(); 58 bool DisposeTags(); 59 60 virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint); 61 62 private: 63 ViewShellBase& mrBase; 64 sal_uLong mnUpdateTagsEvent; 65 66 ViewTagVector maTagVector; 67 }; 68 69 } 70 71 #endif // _SD_VIEWOVERLAYMANAGER_HXX 72