1 #pragma once
2 
3 #include <mbgl/util/range.hpp>
4 
5 namespace mbgl {
6 namespace gl {
7 
8 class DepthMode {
9 public:
10     enum Function {
11         Never        = 0x0200,
12         Less         = 0x0201,
13         Equal        = 0x0202,
14         LessEqual    = 0x0203,
15         Greater      = 0x0204,
16         NotEqual     = 0x0205,
17         GreaterEqual = 0x0206,
18         Always       = 0x0207
19     };
20 
21     enum Mask : bool {
22         ReadOnly = false,
23         ReadWrite = true
24     };
25 
26     Function func;
27     Mask mask;
28     Range<float> range;
29 
disabled()30     static DepthMode disabled() {
31        return DepthMode { Always, ReadOnly, { 0.0, 1.0 } };
32     }
33 };
34 
35 } // namespace gl
36 } // namespace mbgl
37