| 1 | //************************************ bs::framework - Copyright 2018 Marko Pintera **************************************// |
| 2 | //*********** Licensed under the MIT license. See LICENSE.md for full terms. This notice is not to be removed. ***********// |
| 3 | #pragma once |
| 4 | |
| 5 | namespace bs |
| 6 | { |
| 7 | /** @addtogroup Utility-Engine |
| 8 | * @{ |
| 9 | */ |
| 10 | |
| 11 | /** Available cursor types. */ |
| 12 | enum class CursorType |
| 13 | { |
| 14 | Arrow, |
| 15 | ArrowDrag, |
| 16 | ArrowLeftRight, |
| 17 | Wait, |
| 18 | IBeam, |
| 19 | SizeNESW, |
| 20 | SizeNS, |
| 21 | SizeNWSE, |
| 22 | SizeWE, |
| 23 | Deny, |
| 24 | |
| 25 | // Keep at the end |
| 26 | Count |
| 27 | }; |
| 28 | |
| 29 | /** Type of scaling modes for GUI images. */ |
| 30 | enum class TextureScaleMode |
| 31 | { |
| 32 | StretchToFit, /**< Image will stretch non-uniformly in all dimensions in order to cover the assigned area fully. */ |
| 33 | ScaleToFit, /**< Image will scale uniformly until one dimension is aligned with the assigned area. Remaining dimension might have empty space. */ |
| 34 | CropToFit, /**< Image will scale uniformly until both dimensions are larger or aligned with the assigned area. Remaining dimension might be cropped. */ |
| 35 | RepeatToFit /**< Image will keep its original size, but will repeat in order to fill the assigned area. */ |
| 36 | }; |
| 37 | |
| 38 | /** Types of GUI meshes that can be output by GUI elements. */ |
| 39 | enum class GUIMeshType |
| 40 | { |
| 41 | /** Mesh containing a set of vertices as 2D position followed by 2D UV coordinates. */ |
| 42 | Triangle, |
| 43 | /** Mesh containing a set of vertices as 2D position followed by vertex indices. */ |
| 44 | Line |
| 45 | }; |
| 46 | |
| 47 | /** Determines type of data to display on the profiler overlay. */ |
| 48 | enum class ProfilerOverlayType |
| 49 | { |
| 50 | /** Display CPU samples on the overlay. */ |
| 51 | CPUSamples, |
| 52 | |
| 53 | /** Display GPU samples on the overlay. */ |
| 54 | GPUSamples |
| 55 | }; |
| 56 | |
| 57 | /** @} */ |
| 58 | } |