bump product version to 5.0.4.1
[LibreOffice.git] / sd / source / ui / slidesorter / inc / model / SlsVisualState.hxx
blob0df22fa48819d693e99590bf567aad221e6a7f2f
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_SD_SOURCE_UI_SLIDESORTER_INC_MODEL_SLSVISUALSTATE_HXX
21 #define INCLUDED_SD_SOURCE_UI_SLIDESORTER_INC_MODEL_SLSVISUALSTATE_HXX
23 #include <sal/types.h>
24 #include <tools/gen.hxx>
26 namespace sd { namespace slidesorter { namespace model {
28 class PageDescriptor;
30 /** This class gives access to values related to the visualization of page
31 objects. This includes animation state when blending from one state to
32 another.
34 class VisualState
36 public:
37 enum State {
38 VS_Selected,
39 VS_Focused,
40 VS_Current,
41 VS_Excluded,
42 VS_None };
44 VisualState (const sal_Int32 nPageId);
45 ~VisualState();
47 void SetVisualState (const State eState);
49 void UpdateVisualState (const PageDescriptor& rDescriptor);
51 Point GetLocationOffset() const { return maLocationOffset;}
52 bool SetLocationOffset (const Point& rPoint);
54 sal_Int32 mnPageId; // For debugging
56 private:
57 State meCurrentVisualState;
58 State meOldVisualState;
59 sal_Int32 mnStateAnimationId;
61 Point maLocationOffset;
62 sal_Int32 mnLocationAnimationId;
65 } } } // end of namespace ::sd::slidesorter::model
67 #endif
69 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */