Bug 1830741 - Add tests for mach try perf comparators. r=perftest-reviewers,Alexandru...
[gecko.git] / widget / WindowOcclusionState.h
blob76f70d9512930e19be1c52b63ce5ccd71faf39ab
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef widget_WindowOcclusionState_h
8 #define widget_WindowOcclusionState_h
10 namespace mozilla {
11 namespace widget {
13 // nsWindow's window occlusion state. On Windows, it is tracked by
14 // WinWindowOcclusionTracker.
15 enum class OcclusionState {
16 // The window's occlusion state isn't tracked (NotifyOcclusionState()) or
17 // hasn't been computed yet.
18 UNKNOWN = 0,
19 // The window IsWindowVisibleAndFullyOpaque() [1] and:
20 // - Its bounds aren't completely covered by fully opaque windows [2]
21 VISIBLE = 1,
22 // The window IsWindowVisibleAndFullyOpaque() [1], but they all:
23 // - Have bounds completely covered by fully opaque windows [2]
24 OCCLUDED = 2,
25 // The window is not IsWindowVisibleAndFullyOpaque() [1].
26 HIDDEN = 3,
28 kMaxValue = HIDDEN,
31 } // namespace widget
32 } // namespace mozilla
34 #endif // widget_WindowOcclusionState_h