source: trunk/sys/TinyGL/include/GLView.h @ 17

Last change on this file since 17 was 1, checked in by alain, 8 years ago

First import

File size: 1.9 KB
Line 
1#ifndef _glview_h_
2#define _glview_h_
3
4#define BGL_RGB           0
5#define BGL_INDEX         1
6#define BGL_SINGLE        0
7#define BGL_DOUBLE        2
8#define BGL_DIRECT        0
9#define BGL_INDIRECT      4
10#define BGL_ACCUM         8
11#define BGL_ALPHA        16
12#define BGL_DEPTH        32
13#define BGL_OVERLAY      64
14#define BGL_UNDERLAY    128
15#define BGL_STENCIL     512
16
17#include <interface/View.h>
18#include <support/Locker.h>
19#include <GL/gl.h>
20#include <GL/oscontext.h>
21#include <game/WindowScreen.h>
22#include <game/DirectWindow.h>
23
24class BGLView : public BView {
25public:
26  BGLView(BRect rect, char *name,
27          ulong resizingMode, ulong mode,
28          ulong options);
29  virtual ~BGLView();
30
31  void LockGL();
32  void UnlockGL();
33  void SwapBuffers();
34//  BView *EmbeddedView();
35//  status_t CopyPixelsOut(BPoint source, BBitmap *dest);
36//  status_t CopyPixelsIn(BBitmap *source, BPoint dest);
37
38  virtual void ErrorCallback(GLenum errorCode);
39  virtual void Draw(BRect updateRect);
40  virtual void AttachedToWindow();
41  virtual void AllAttached();
42  virtual void DetachedFromWindow();
43  virtual void AllDetached();
44  virtual void FrameResized(float width, float height);
45//  virtual status_t Perform(perform_code d, void *arg);
46
47  //
48  // Methods below are pass-throughs to BView for the moment.
49  //
50 
51  virtual status_t Archive(BMessage *data, bool deep = true) const;
52  virtual void MessageReceived(BMessage *msg);
53  virtual void SetResizingMode(uint32 mode);
54
55  virtual void Show();
56  virtual void Hide();
57
58  virtual BHandler *ResolveSpecifier(BMessage *msg, int32 index,
59                                                                 BMessage *specifier, int32 form,
60                                                                 const char *property);
61  virtual status_t GetSupportedSuites(BMessage *data);
62  //void DirectConnected( direct_buffer_info *info );
63  //void EnableDirectMode( bool enabled );
64
65private:
66  ostgl_context *context;
67  BBitmap *bitmaps[2];
68  int currBitmap;
69  static BLocker locker;
70};
71
72#endif // _glview_h_
Note: See TracBrowser for help on using the repository browser.