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