aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/sk_app/unix/WindowContextFactory_unix.h
blob: e6d033b4cd6d8060efd074611abdc716759d4ebc (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

/*
 * Copyright 2016 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef WindowContextFactory_unix_DEFINED
#define WindowContextFactory_unix_DEFINED

#include <X11/Xlib.h>
#include <GL/glx.h>
typedef Window XWindow;

namespace sk_app {

class WindowContext;
struct DisplayParams;

namespace window_context_factory {

struct XlibWindowInfo {
    Display*     fDisplay;
    XWindow      fWindow;
    GLXFBConfig* fFBConfig;
    XVisualInfo* fVisualInfo;
    int          fWidth;
    int          fHeight;
};

WindowContext* NewVulkanForXlib(const XlibWindowInfo&, const DisplayParams&);

WindowContext* NewGLForXlib(const XlibWindowInfo&, const DisplayParams&);

WindowContext* NewRasterForXlib(const XlibWindowInfo&, const DisplayParams&);

}  // namespace window_context_factory

}  // namespace sk_app

#endif