]> git.lyx.org Git - lyx.git/blob - src/update_flags.h
Re-fix #11146 with recent LaTeX
[lyx.git] / src / update_flags.h
1 // -*- C++ -*-
2 /**
3  * \file update_flags.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author The Denmark Cowboys
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef UPDATE_FLAGS_H
13 #define UPDATE_FLAGS_H
14
15 namespace lyx {
16
17 namespace Update {
18         enum flags {
19                 /// No screen update is needed.
20                 None = 0,
21                 /// Recenter the screen around the cursor if is found outside the
22                 /// visible area.
23                 FitCursor = 1,
24                 /// Force a full screen metrics update and a full draw.
25                 Force = 2,
26                 /// Force a full redraw (but no metrics computations)
27                 ForceDraw = 4,
28                 /// Try to rebreak only the current paragraph metrics.
29                 /// (currently ignored!)
30                 SinglePar = 8,
31                 /// Only the inset decorations need to be redrawn, no text metrics
32                 /// update is needed.
33                 Decoration = 16
34         };
35
36 inline flags operator|(flags const f, flags const g)
37 {
38         return static_cast<flags>(int(f) | int(g));
39 }
40
41 inline flags operator&(flags const f, flags const g)
42 {
43         return static_cast<flags>(int(f) & int(g));
44 }
45
46 inline flags operator~(flags const f)
47 {
48         return static_cast<flags>(~int(f));
49 }
50
51 } // namespace Update
52
53 } // namespace lyx
54 #endif