~sircmpwn/xrgears

ref: c4afd33e13398688fc03f60ef3d0a498bf40bfdd xrgears/vks/vksWindow.hpp -rw-r--r-- 768 bytes
c4afd33e — Lubosz Sarnecki add new abstract classes for interfaces between vks and vkc. 4 years ago
                                                                                
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
/*
 * XRGears
 *
 * Copyright (C) 2016 Sascha Willems - www.saschawillems.de
 * Copyright (C) 2017 Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
 *
 * This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
 *
 * Based on Vulkan Examples written by Sascha Willems
 */

#pragma once

#include <string>

#include "vikWindow.hpp"

#include "vksApplication.hpp"

namespace vks {

class Window {
 public:
  Window() {}
  ~Window() {}

  virtual int init(vks::Application *app) = 0;

  virtual const char* requiredExtensionName() = 0;
  virtual void initSwapChain(const VkInstance &instance, vks::SwapChain* swapChain) = 0;
  virtual void update_window_title(const std::string& title) = 0;
  virtual void flush(Application *app) = 0;
};
}