sw a11y: clang-format SidebarWinAccessible code
[LibreOffice.git] / slideshow / source / inc / viewupdate.hxx
bloba5e2ee3402b00f09dcae4deb6dec336c5ce068a2
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_VIEWUPDATE_HXX
21 #define INCLUDED_SLIDESHOW_SOURCE_INC_VIEWUPDATE_HXX
23 #include "disposable.hxx"
24 #include <memory>
26 /* Definition of ViewUpdate interface */
28 namespace slideshow::internal
30 /** Interface for something that can perform view updates.
32 Use this interface for objects that perform view updates
33 from time to time, e.g. slide content. Availability of
34 updates can be queried, and subsequently performed.
36 class ViewUpdate : public Disposable
38 public:
39 /** Perform the update action on all views
41 @return true, if the update was performed
42 successfully, false otherwise.
44 virtual bool update() = 0;
46 /** Query whether updates are pending
48 @return true, if updates are pending. Calling update()
49 subsequently will perform the pending update then.
51 virtual bool needsUpdate() const = 0;
54 typedef ::std::shared_ptr< ViewUpdate > ViewUpdateSharedPtr;
58 #endif // INCLUDED_SLIDESHOW_SOURCE_INC_VIEWUPDATE_HXX
60 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */