drm_hwcomposer: Move HwcDisplayConfigs out of HwcDisplay class

To reduce complexity of HwcDisplay class.

Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/hwc2_device/HwcDisplay.h b/hwc2_device/HwcDisplay.h
index f69ff18..6f46f5d 100644
--- a/hwc2_device/HwcDisplay.h
+++ b/hwc2_device/HwcDisplay.h
@@ -21,6 +21,7 @@
 
 #include <optional>
 
+#include "HwcDisplayConfigs.h"
 #include "compositor/DrmDisplayCompositor.h"
 #include "drm/ResourceManager.h"
 #include "drm/VSyncWorker.h"
@@ -138,22 +139,6 @@
     uint32_t frames_flattened_ = 0;
   };
 
-  struct HwcDisplayConfig {
-    int id{};
-    int group_id{};
-    DrmMode mode;
-    bool disabled{};
-
-    bool IsInterlaced() const {
-      return (mode.flags() & DRM_MODE_FLAG_INTERLACE) != 0;
-    }
-  };
-
-  std::map<int /*config_id*/, struct HwcDisplayConfig> hwc_configs_;
-
-  int active_config_id_ = 0;
-  int preferred_config_id_ = 0;
-
   const Backend *backend() const;
   void set_backend(std::unique_ptr<Backend> backend);
 
@@ -229,6 +214,8 @@
 
   constexpr static size_t MATRIX_SIZE = 16;
 
+  HwcDisplayConfigs configs_;
+
   DrmHwcTwo *hwc2_;
 
   std::optional<DrmMode> staged_mode;