15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 #import <Cocoa/Cocoa.h>
27
28 #import <OpenGL/gl.h>
29 #import <OpenGL/OpenGL.h>
30
31 @protocol GlassOffscreenProtocol
32
33 // as destination (to draw into)
34 - (void)bindForWidth:(GLuint)width andHeight:(GLuint)height;
35
36 // as source (to show)
37 - (GLuint)texture;
38 - (void)blitForWidth:(GLuint)width andHeight:(GLuint)height;
39
40 - (GLuint)width;
41 - (GLuint)height;
42 - (GLuint)fbo;
43
44 @end
45
46 @interface GlassOffscreen : NSObject <GlassOffscreenProtocol>
47 {
48 CGLContextObj _ctx;
49 CGLContextObj _ctxToRestore;
50
51 id<GlassOffscreenProtocol> _offscreen;
52
53 GLboolean _dirty;
54
55 GLfloat _backgroundR;
56 GLfloat _backgroundG;
57 GLfloat _backgroundB;
58 GLfloat _backgroundA;
59
60 CAOpenGLLayer* _layer;
61 }
62
63 - (id)initWithContext:(CGLContextObj)ctx;
64 - (CGLContextObj)getContext;
65
66 - (void)setBackgroundColor:(NSColor*)color;
67
68 - (void)blit;
69 - (GLuint)texture;
70
71 - (CAOpenGLLayer*)getLayer;
72 - (void)setLayer:(CAOpenGLLayer*)new_layer;
73
74 - (GLboolean)isDirty;
75
76 - (void)blitFromOffscreen:(GlassOffscreen*) other_offscreen;
77
78 @end
|
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 #import <Cocoa/Cocoa.h>
27
28 #import <OpenGL/gl.h>
29 #import <OpenGL/OpenGL.h>
30
31 @protocol GlassOffscreenProtocol
32
33 // as destination (to draw into)
34 - (void)bindForWidth:(GLuint)width andHeight:(GLuint)height;
35 - (void)unbind;
36
37 // as source (to show)
38 - (GLuint)texture;
39 - (void)blitForWidth:(GLuint)width andHeight:(GLuint)height;
40
41 - (GLuint)width;
42 - (GLuint)height;
43 - (GLuint)fbo;
44
45 @end
46
47 @interface GlassOffscreen : NSObject <GlassOffscreenProtocol>
48 {
49 CGLContextObj _ctx;
50 CGLContextObj _ctxToRestore;
51
52 id<GlassOffscreenProtocol> _offscreen;
53
54 GLboolean _dirty;
55
56 GLfloat _backgroundR;
57 GLfloat _backgroundG;
58 GLfloat _backgroundB;
59 GLfloat _backgroundA;
60
61 CAOpenGLLayer* _layer;
62 }
63
64 - (id)initWithContext:(CGLContextObj)ctx
65 andIsSwPipe:(BOOL)isSwPipe;
66 - (CGLContextObj)getContext;
67
68 - (void)setBackgroundColor:(NSColor*)color;
69
70 - (void)blit;
71 - (GLuint)texture;
72
73 - (CAOpenGLLayer*)getLayer;
74 - (void)setLayer:(CAOpenGLLayer*)new_layer;
75
76 - (GLboolean)isDirty;
77
78 - (void)blitFromOffscreen:(GlassOffscreen*) other_offscreen;
79
80 @end
|