| 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 | } | 
|---|