aboutsummaryrefslogtreecommitdiffstats
path: root/include/rba/RBAArea.hpp
blob: c5afc7eb17fc0d68166dd290975abe8eb8e7dea8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// Copyright (c) 2018 DENSO CORPORATION. All rights reserved.
/**
 * Area class
 */

#ifndef RBAAREA_HPP
#define RBAAREA_HPP

#include <list>
#include <string>
#include "RBAArbitrationPolicy.hpp"

#ifdef _MSC_VER
#ifdef _WINDLL
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT __declspec(dllimport)
#endif
#else
#define DLL_EXPORT
#endif

namespace rba
{

class RBASize;
class RBAViewContent;

/**
 * @class RBAArea
 * Defines a Frame for displaying the view content.<br>
 * At run time, at most one view content is allocated to one area.
 */
class DLL_EXPORT RBAArea
{
protected:
  RBAArea()=default;
  RBAArea(const RBAArea&)=delete;
  RBAArea(RBAArea&&)=delete;
  RBAArea& operator=(const RBAArea&)=delete;
  RBAArea& operator=(RBAArea&&)=delete;
  ~RBAArea()=default;

public:
  /**
   * @brief Returns the name of the area.
   * @return Area name
   */
  virtual std::string getName() const=0;

  /**
   * @brief Returns the x-axis value of the base point of the area
   * @return X-axis Value of the base point
   */
  virtual std::int32_t getX() const=0;

  /**
   * @brief Returns the y-axis value of the base point of the area
   * @return Y-axis Value of the base point
   */
  virtual std::int32_t getY() const=0;

  /**
   * @brief Returns the z-order value.
   * An area with a large z-order value is displayed on the front of an area with small z-order value.
   * @return Z-order value
   */
  virtual std::int32_t getZorder() const=0;

  /**
   * @brief Returns the list of content which can be displayed on this area.
   * @return list of content
   */
  virtual const std::list<const RBAViewContent*>& getContents() const=0;

  /**
   * @brief Returns the list of size defined to this area .
   * Since multiple size can be defined, returns a list of size.
   * @return list of size
   */
  virtual const std::list<const RBASize*>& getSizes() const=0;

  /**
   * @brief Returns the arbitration policy value defined to this area.
   * @return arbitration policy value
   */
  virtual RBAArbitrationPolicy getArbitrationPolicy() const=0;
};

}

#endif