LibreOffice Module slideshow (master) 1
view.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19
20#ifndef INCLUDED_SLIDESHOW_SOURCE_INC_VIEW_HXX
21#define INCLUDED_SLIDESHOW_SOURCE_INC_VIEW_HXX
22
23#include "viewlayer.hxx"
24
25#include <memory>
26#include <vector>
27
28
29namespace basegfx { class B2DRange; class B2DVector; }
30
31
32/* Definition of View interface */
33
34namespace slideshow::internal
35 {
36 class View : public ViewLayer
37 {
38 public:
51 virtual ViewLayerSharedPtr createViewLayer( const basegfx::B2DRange& rLayerBounds ) const = 0;
52
55 virtual bool updateScreen() const = 0;
56
59 virtual bool paintScreen() const = 0;
60
69 virtual void setViewSize( const ::basegfx::B2DSize& ) = 0;
70
77 virtual void setCursorShape( sal_Int16 nPointerShape ) = 0;
78 };
79
80 typedef std::shared_ptr< View > ViewSharedPtr;
81 typedef std::vector< ViewSharedPtr > ViewVector;
82
83}
84
85#endif // INCLUDED_SLIDESHOW_SOURCE_INC_VIEW_HXX
86
87/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual bool updateScreen() const =0
Update screen representation from backbuffer.
virtual void setCursorShape(sal_Int16 nPointerShape)=0
Change the view's mouse cursor.
virtual bool paintScreen() const =0
Paint screen content unconditionally from backbuffer.
virtual ViewLayerSharedPtr createViewLayer(const basegfx::B2DRange &rLayerBounds) const =0
Create a new view layer for this view.
virtual void setViewSize(const ::basegfx::B2DSize &)=0
Set the size of the user view coordinate system.
std::shared_ptr< View > ViewSharedPtr
Definition: view.hxx:80
std::shared_ptr< ViewLayer > ViewLayerSharedPtr
Definition: viewlayer.hxx:168
std::vector< ViewSharedPtr > ViewVector
Definition: view.hxx:81