lyx_mirror/src/update_flags.h
Jean-Marc Lasgouttes 9f899a17fa Force redraw of all bufferviews after zoom in/out
Add a new ForceAll update flag that forces to update metrics and
redraw all buffer views.

The situation in multi windows setting is very fragile and will need
to be adressed properly in the 2.5 cycle.
2021-02-03 15:42:11 +01:00

56 lines
1.2 KiB
C++

// -*- C++ -*-
/**
* \file update_flags.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author The Denmark Cowboys
*
* Full author contact details are available in file CREDITS.
*/
#ifndef UPDATE_FLAGS_H
#define UPDATE_FLAGS_H
namespace lyx {
namespace Update {
enum flags {
/// No screen update is needed.
None = 0,
/// Recenter the screen around the cursor if is found outside the
/// visible area.
FitCursor = 1,
/// Force a full screen metrics update and a full draw.
Force = 2,
/// Force a full redraw (but no metrics computations)
ForceDraw = 4,
/// Try to rebreak only the current paragraph metrics.
SinglePar = 8,
/// Only the inset decorations need to be redrawn, no text metrics
/// update is needed.
Decoration = 16,
/// Force metrics and redraw for all buffers.
ForceAll = 32
};
inline flags operator|(flags const f, flags const g)
{
return static_cast<flags>(int(f) | int(g));
}
inline flags operator&(flags const f, flags const g)
{
return static_cast<flags>(int(f) & int(g));
}
inline flags operator~(flags const f)
{
return static_cast<flags>(~int(f));
}
} // namespace Update
} // namespace lyx
#endif