~registry/dolphin-emu/triforce

« back to all changes in this revision

Viewing changes to Externals/wxWidgets3/include/wx/osx/glcanvas.h

  • Committer: Sérgio Benjamim
  • Date: 2015-02-13 05:54:40 UTC
  • Revision ID: sergio_br2@yahoo.com.br-20150213055440-ey2rt3sjpy27km78
Dolphin Triforce branch from code.google, commit b957980 (4.0-315).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/////////////////////////////////////////////////////////////////////////////
 
2
// Name:        wx/osx/glcanvas.h
 
3
// Purpose:     wxGLCanvas, for using OpenGL with wxWidgets under Macintosh
 
4
// Author:      Stefan Csomor
 
5
// Modified by:
 
6
// Created:     1998-01-01
 
7
// Copyright:   (c) Stefan Csomor
 
8
// Licence:     wxWindows licence
 
9
/////////////////////////////////////////////////////////////////////////////
 
10
 
 
11
#ifndef _WX_GLCANVAS_H_
 
12
#define _WX_GLCANVAS_H_
 
13
 
 
14
#ifdef __WXOSX_IPHONE__
 
15
#import <OpenGLES/ES1/gl.h>
 
16
#import <OpenGLES/ES1/glext.h>
 
17
#define wxUSE_OPENGL_EMULATION 1
 
18
#else
 
19
#include <OpenGL/gl.h>
 
20
#endif
 
21
 
 
22
#include "wx/vector.h"
 
23
 
 
24
// low level calls
 
25
 
 
26
WXDLLIMPEXP_GL WXGLContext WXGLCreateContext( WXGLPixelFormat pixelFormat, WXGLContext shareContext );
 
27
WXDLLIMPEXP_GL void WXGLDestroyContext( WXGLContext context );
 
28
 
 
29
WXDLLIMPEXP_GL WXGLContext WXGLGetCurrentContext();
 
30
WXDLLIMPEXP_GL bool WXGLSetCurrentContext(WXGLContext context);
 
31
 
 
32
WXDLLIMPEXP_GL WXGLPixelFormat WXGLChoosePixelFormat(const int *attribList);
 
33
WXDLLIMPEXP_GL void WXGLDestroyPixelFormat( WXGLPixelFormat pixelFormat );
 
34
 
 
35
class WXDLLIMPEXP_GL wxGLContext : public wxGLContextBase
 
36
{
 
37
public:
 
38
    wxGLContext(wxGLCanvas *win, const wxGLContext *other = NULL);
 
39
    virtual ~wxGLContext();
 
40
 
 
41
    virtual bool SetCurrent(const wxGLCanvas& win) const;
 
42
 
 
43
    // Mac-specific
 
44
    WXGLContext GetWXGLContext() const { return m_glContext; }
 
45
 
 
46
private:
 
47
    WXGLContext m_glContext;
 
48
 
 
49
    wxDECLARE_NO_COPY_CLASS(wxGLContext);
 
50
};
 
51
 
 
52
class WXDLLIMPEXP_GL wxGLCanvas : public wxGLCanvasBase
 
53
{
 
54
public:
 
55
    wxGLCanvas(wxWindow *parent,
 
56
               wxWindowID id = wxID_ANY,
 
57
               const int *attribList = NULL,
 
58
               const wxPoint& pos = wxDefaultPosition,
 
59
               const wxSize& size = wxDefaultSize,
 
60
               long style = 0,
 
61
               const wxString& name = wxGLCanvasName,
 
62
               const wxPalette& palette = wxNullPalette);
 
63
 
 
64
    bool Create(wxWindow *parent,
 
65
                wxWindowID id = wxID_ANY,
 
66
                const wxPoint& pos = wxDefaultPosition,
 
67
                const wxSize& size = wxDefaultSize,
 
68
                long style = 0,
 
69
                const wxString& name = wxGLCanvasName,
 
70
                const int *attribList = NULL,
 
71
                const wxPalette& palette = wxNullPalette);
 
72
 
 
73
    virtual ~wxGLCanvas();
 
74
 
 
75
    // implement wxGLCanvasBase methods
 
76
    virtual bool SwapBuffers();
 
77
 
 
78
 
 
79
    // Mac-specific functions
 
80
    // ----------------------
 
81
 
 
82
    // return true if multisample extension is supported
 
83
    static bool IsAGLMultiSampleAvailable();
 
84
 
 
85
    // return the pixel format used by this window
 
86
    WXGLPixelFormat GetWXGLPixelFormat() const { return m_glFormat; }
 
87
 
 
88
    // update the view port of the current context to match this window
 
89
    void SetViewport();
 
90
 
 
91
 
 
92
    // deprecated methods
 
93
    // ------------------
 
94
 
 
95
#if WXWIN_COMPATIBILITY_2_8
 
96
    wxDEPRECATED(
 
97
    wxGLCanvas(wxWindow *parent,
 
98
               wxWindowID id = wxID_ANY,
 
99
               const wxPoint& pos = wxDefaultPosition,
 
100
               const wxSize& size = wxDefaultSize,
 
101
               long style = 0,
 
102
               const wxString& name = wxGLCanvasName,
 
103
               const int *attribList = NULL,
 
104
               const wxPalette& palette = wxNullPalette)
 
105
    );
 
106
 
 
107
    wxDEPRECATED(
 
108
    wxGLCanvas(wxWindow *parent,
 
109
               const wxGLContext *shared,
 
110
               wxWindowID id = wxID_ANY,
 
111
               const wxPoint& pos = wxDefaultPosition,
 
112
               const wxSize& size = wxDefaultSize,
 
113
               long style = 0,
 
114
               const wxString& name = wxGLCanvasName,
 
115
               const int *attribList = NULL,
 
116
               const wxPalette& palette = wxNullPalette)
 
117
    );
 
118
 
 
119
    wxDEPRECATED(
 
120
    wxGLCanvas(wxWindow *parent,
 
121
               const wxGLCanvas *shared,
 
122
               wxWindowID id = wxID_ANY,
 
123
               const wxPoint& pos = wxDefaultPosition,
 
124
               const wxSize& size = wxDefaultSize,
 
125
               long style = 0,
 
126
               const wxString& name = wxGLCanvasName,
 
127
               const int *attribList = NULL,
 
128
               const wxPalette& palette = wxNullPalette)
 
129
    );
 
130
#endif // WXWIN_COMPATIBILITY_2_8
 
131
 
 
132
    // implementation-only from now on
 
133
 
 
134
#if wxOSX_USE_CARBON
 
135
    // Unlike some other platforms, this must get called if you override it,
 
136
    // i.e. don't forget "event.Skip()" in your EVT_SIZE handler
 
137
    void OnSize(wxSizeEvent& event);
 
138
 
 
139
    virtual void MacSuperChangedPosition();
 
140
    virtual void MacTopLevelWindowChangedPosition();
 
141
    virtual void MacVisibilityChanged();
 
142
 
 
143
    void MacUpdateView();
 
144
 
 
145
    GLint GetAglBufferName() const { return m_bufferName; }
 
146
#endif
 
147
 
 
148
protected:
 
149
    WXGLPixelFormat m_glFormat;
 
150
 
 
151
#if wxOSX_USE_CARBON
 
152
    bool m_macCanvasIsShown,
 
153
         m_needsUpdate;
 
154
    WXGLContext m_dummyContext;
 
155
    GLint m_bufferName;
 
156
#endif
 
157
 
 
158
    DECLARE_EVENT_TABLE()
 
159
    DECLARE_CLASS(wxGLCanvas)
 
160
};
 
161
 
 
162
#endif // _WX_GLCANVAS_H_