Struct android_activity::WindowManagerFlags
source · pub struct WindowManagerFlags { /* private fields */ }
Expand description
Flags for AndroidApp::set_window_flags
as per the android.view.WindowManager.LayoutParams Java API
Implementations§
source§impl WindowManagerFlags
impl WindowManagerFlags
sourcepub const ALLOW_LOCK_WHILE_SCREEN_ON: Self = _
pub const ALLOW_LOCK_WHILE_SCREEN_ON: Self = _
As long as this window is visible to the user, allow the lock
screen to activate while the screen is on. This can be used
independently, or in combination with
Self::KEEP_SCREEN_ON
and/or Self::SHOW_WHEN_LOCKED
sourcepub const DIM_BEHIND: Self = _
pub const DIM_BEHIND: Self = _
Everything behind this window will be dimmed. */
sourcepub const BLUR_BEHIND: Self = _
👎Deprecated: Blurring is no longer supported
pub const BLUR_BEHIND: Self = _
Blur everything behind this window.
sourcepub const NOT_FOCUSABLE: Self = _
pub const NOT_FOCUSABLE: Self = _
This window won’t ever get key input focus, so the
user can not send key or other button events to it. Those will
instead go to whatever focusable window is behind it. This flag
will also enable Self::NOT_TOUCH_MODAL
whether or not
that is explicitly set.
Setting this flag also implies that the window will not need to
interact with
a soft input method, so it will be Z-ordered and positioned
independently of any active input method (typically this means it
gets Z-ordered on top of the input method, so it can use the full
screen for its content and cover the input method if needed. You
can use Self::ALT_FOCUSABLE_IM
to modify this
behavior.
sourcepub const NOT_TOUCHABLE: Self = _
pub const NOT_TOUCHABLE: Self = _
This window can never receive touch events.
sourcepub const NOT_TOUCH_MODAL: Self = _
pub const NOT_TOUCH_MODAL: Self = _
Even when this window is focusable (if
Self::NOT_FOCUSABLE
is not set), allow any pointer
events outside of the window to be sent to the windows behind it.
Otherwise it will consume all pointer events itself, regardless of
whether they are inside of the window.
sourcepub const TOUCHABLE_WHEN_WAKING: Self = _
👎Deprecated
pub const TOUCHABLE_WHEN_WAKING: Self = _
When set, if the device is asleep when the touch screen is pressed, you will receive this first touch event. Usually the first touch event is consumed by the system since the user can not see what they are pressing on.
sourcepub const KEEP_SCREEN_ON: Self = _
pub const KEEP_SCREEN_ON: Self = _
As long as this window is visible to the user, keep the device’s screen turned on and bright.
sourcepub const LAYOUT_IN_SCREEN: Self = _
pub const LAYOUT_IN_SCREEN: Self = _
Place the window within the entire screen, ignoring decorations around the border (such as the status bar). The window must correctly position its contents to take the screen decoration into account.
sourcepub const LAYOUT_NO_LIMITS: Self = _
pub const LAYOUT_NO_LIMITS: Self = _
Allows the window to extend outside of the screen.
sourcepub const FULLSCREEN: Self = _
pub const FULLSCREEN: Self = _
Hide all screen decorations (such as the status
bar) while this window is displayed. This allows the window to
use the entire display space for itself – the status bar will
be hidden when an app window with this flag set is on the top
layer. A fullscreen window will ignore a value of
[Self::SOFT_INPUT_ADJUST_RESIZE
] the window will stay
fullscreen and will not resize.
sourcepub const FORCE_NOT_FULLSCREEN: Self = _
pub const FORCE_NOT_FULLSCREEN: Self = _
Override Self::FULLSCREEN
and force the
screen decorations (such as the status bar) to be shown.
sourcepub const DITHER: Self = _
👎Deprecated: This flag is no longer used
pub const DITHER: Self = _
Turn on dithering when compositing this window to the screen.
sourcepub const SECURE: Self = _
pub const SECURE: Self = _
Treat the content of the window as secure, preventing it from appearing in screenshots or from being viewed on non-secure displays.
sourcepub const SCALED: Self = _
pub const SCALED: Self = _
A special mode where the layout parameters are used to perform scaling of the surface when it is composited to the screen.
sourcepub const IGNORE_CHEEK_PRESSES: Self = _
pub const IGNORE_CHEEK_PRESSES: Self = _
Intended for windows that will often be used when the user is
holding the screen against their face, it will aggressively
filter the event stream to prevent unintended presses in this
situation that may not be desired for a particular window, when
such an event stream is detected, the application will receive
a AMOTION_EVENT_ACTION_CANCEL
to indicate this so
applications can handle this accordingly by taking no action on
the event until the finger is released.
sourcepub const LAYOUT_INSET_DECOR: Self = _
pub const LAYOUT_INSET_DECOR: Self = _
A special option only for use in combination with
Self::LAYOUT_IN_SCREEN
. When requesting layout in
the screen your window may appear on top of or behind screen decorations
such as the status bar. By also including this flag, the window
manager will report the inset rectangle needed to ensure your
content is not covered by screen decorations.
sourcepub const ALT_FOCUSABLE_IM: Self = _
pub const ALT_FOCUSABLE_IM: Self = _
Invert the state of Self::NOT_FOCUSABLE
with
respect to how this window interacts with the current method.
That is, if Self::NOT_FOCUSABLE
is set and this flag is set,
then the window will behave as if it needs to interact with the
input method and thus be placed behind/away from it; if
Self::NOT_FOCUSABLE
is not set and this flag is set,
then the window will behave as if it doesn’t need to interact
with the input method and can be placed to use more space and
cover the input method.
sourcepub const WATCH_OUTSIDE_TOUCH: Self = _
pub const WATCH_OUTSIDE_TOUCH: Self = _
If you have set Self::NOT_TOUCH_MODAL
, you
can set this flag to receive a single special MotionEvent with
the action
AMOTION_EVENT_ACTION_OUTSIDE
for
touches that occur outside of your window. Note that you will not
receive the full down/move/up gesture, only the location of the
first down as an AMOTION_EVENT_ACTION_OUTSIDE
.
sourcepub const SHOW_WHEN_LOCKED: Self = _
pub const SHOW_WHEN_LOCKED: Self = _
Special flag to let windows be shown when the screen
is locked. This will let application windows take precedence over
key guard or any other lock screens. Can be used with
Self::KEEP_SCREEN_ON
to turn screen on and display
windows directly before showing the key guard window. Can be used with
Self::DISMISS_KEYGUARD
to automatically fully
dismiss non-secure key guards. This flag only applies to the top-most
full-screen window.
sourcepub const SHOW_WALLPAPER: Self = _
pub const SHOW_WALLPAPER: Self = _
Ask that the system wallpaper be shown behind your window. The window surface must be translucent to be able to actually see the wallpaper behind it; this flag just ensures that the wallpaper surface will be there if this window actually has translucent regions.
sourcepub const TURN_SCREEN_ON: Self = _
pub const TURN_SCREEN_ON: Self = _
When set as a window is being added or made visible, once the window has been shown then the system will poke the power manager’s user activity (as if the user had woken up the device) to turn the screen on.
sourcepub const DISMISS_KEYGUARD: Self = _
pub const DISMISS_KEYGUARD: Self = _
When set the window will cause the key guard to
be dismissed, only if it is not a secure lock key guard. Because such
a key guard is not needed for security, it will never re-appear if
the user navigates to another window (in contrast to
Self::SHOW_WHEN_LOCKED
, which will only temporarily
hide both secure and non-secure key guards but ensure they reappear
when the user moves to another UI that doesn’t hide them).
If the key guard is currently active and is secure (requires an
unlock pattern) then the user will still need to confirm it before
seeing this window, unless Self::SHOW_WHEN_LOCKED
has
also been set.
sourcepub const fn from_bits(bits: u32) -> Option<Self>
pub const fn from_bits(bits: u32) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
sourcepub const fn from_bits_truncate(bits: u32) -> Self
pub const fn from_bits_truncate(bits: u32) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const unsafe fn from_bits_unchecked(bits: u32) -> Self
pub const unsafe fn from_bits_unchecked(bits: u32) -> Self
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Safety
The caller of the bitflags!
macro can chose to allow or
disallow extra bits for their bitflags type.
The caller of from_bits_unchecked()
has to ensure that
all bits correspond to a defined flag or that extra bits
are valid for this bitflags type.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true
if there are flags common to both self
and other
.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true
if all of the flags in other
are contained within self
.
sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Inserts or removes the specified flags depending on the passed value.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection between the flags in self
and
other
.
Specifically, the returned set contains only the flags which are
present in both self
and other
.
This is equivalent to using the &
operator (e.g.
ops::BitAnd
), as in flags & other
.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
Returns the union of between the flags in self
and other
.
Specifically, the returned set contains all flags which are
present in either self
or other
, including any which are
present in both (see Self::symmetric_difference
if that
is undesirable).
This is equivalent to using the |
operator (e.g.
ops::BitOr
), as in flags | other
.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns the difference between the flags in self
and other
.
Specifically, the returned set contains all flags present in
self
, except for the ones present in other
.
It is also conceptually equivalent to the “bit-clear” operation:
flags & !other
(and this syntax is also supported).
This is equivalent to using the -
operator (e.g.
ops::Sub
), as in flags - other
.
sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
Returns the symmetric difference between the flags
in self
and other
.
Specifically, the returned set contains the flags present which
are present in self
or other
, but that are not present in
both. Equivalently, it contains the flags present in exactly
one of the sets self
and other
.
This is equivalent to using the ^
operator (e.g.
ops::BitXor
), as in flags ^ other
.
sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
Returns the complement of this set of flags.
Specifically, the returned set contains all the flags which are
not set in self
, but which are allowed for this type.
Alternatively, it can be thought of as the set difference
between Self::all()
and self
(e.g. Self::all() - self
)
This is equivalent to using the !
operator (e.g.
ops::Not
), as in !flags
.
Trait Implementations§
source§impl Binary for WindowManagerFlags
impl Binary for WindowManagerFlags
source§impl BitAndAssign<WindowManagerFlags> for WindowManagerFlags
impl BitAndAssign<WindowManagerFlags> for WindowManagerFlags
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
source§impl BitOr<WindowManagerFlags> for WindowManagerFlags
impl BitOr<WindowManagerFlags> for WindowManagerFlags
source§fn bitor(self, other: WindowManagerFlags) -> Self
fn bitor(self, other: WindowManagerFlags) -> Self
Returns the union of the two sets of flags.
§type Output = WindowManagerFlags
type Output = WindowManagerFlags
|
operator.source§impl BitOrAssign<WindowManagerFlags> for WindowManagerFlags
impl BitOrAssign<WindowManagerFlags> for WindowManagerFlags
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXorAssign<WindowManagerFlags> for WindowManagerFlags
impl BitXorAssign<WindowManagerFlags> for WindowManagerFlags
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for WindowManagerFlags
impl Clone for WindowManagerFlags
source§fn clone(&self) -> WindowManagerFlags
fn clone(&self) -> WindowManagerFlags
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for WindowManagerFlags
impl Debug for WindowManagerFlags
source§impl Extend<WindowManagerFlags> for WindowManagerFlags
impl Extend<WindowManagerFlags> for WindowManagerFlags
source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)source§impl FromIterator<WindowManagerFlags> for WindowManagerFlags
impl FromIterator<WindowManagerFlags> for WindowManagerFlags
source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
source§impl Hash for WindowManagerFlags
impl Hash for WindowManagerFlags
source§impl LowerHex for WindowManagerFlags
impl LowerHex for WindowManagerFlags
source§impl Not for WindowManagerFlags
impl Not for WindowManagerFlags
source§impl Octal for WindowManagerFlags
impl Octal for WindowManagerFlags
source§impl Ord for WindowManagerFlags
impl Ord for WindowManagerFlags
source§fn cmp(&self, other: &WindowManagerFlags) -> Ordering
fn cmp(&self, other: &WindowManagerFlags) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<WindowManagerFlags> for WindowManagerFlags
impl PartialEq<WindowManagerFlags> for WindowManagerFlags
source§fn eq(&self, other: &WindowManagerFlags) -> bool
fn eq(&self, other: &WindowManagerFlags) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<WindowManagerFlags> for WindowManagerFlags
impl PartialOrd<WindowManagerFlags> for WindowManagerFlags
source§fn partial_cmp(&self, other: &WindowManagerFlags) -> Option<Ordering>
fn partial_cmp(&self, other: &WindowManagerFlags) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl Sub<WindowManagerFlags> for WindowManagerFlags
impl Sub<WindowManagerFlags> for WindowManagerFlags
source§impl SubAssign<WindowManagerFlags> for WindowManagerFlags
impl SubAssign<WindowManagerFlags> for WindowManagerFlags
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Disables all flags enabled in the set.