30 #if defined( CINDER_MSW )
32 typedef HWND__* DX_WINDOW_TYPE;
33 #elif defined( CINDER_WINRT )
35 typedef Platform::Agile<Windows::UI::Core::CoreWindow> DX_WINDOW_TYPE;
40 #if !defined( CINDER_WINRT )
47 #if defined( CINDER_MAC )
48 #include <ApplicationServices/ApplicationServices.h>
49 #include <CoreFoundation/CoreFoundation.h>
53 @class NSOpenGLContext;
58 class NSOpenGLContext;
61 typedef struct _CGLContextObject *CGLContextObj;
62 typedef struct _CGLPixelFormatObject *CGLPixelFormatObj;
63 #elif defined( CINDER_COCOA_TOUCH )
65 typedef struct CGContext * CGContextRef;
71 typedef struct CGContext * CGContextRef;
80 namespace cinder {
namespace app {
83 typedef std::shared_ptr<Window>
WindowRef;
87 typedef std::shared_ptr<class Renderer>
RendererRef;
100 #if defined( CINDER_COCOA )
101 #if defined( CINDER_MAC )
102 virtual void setup(
App *aApp, CGRect frame, NSView *cinderView,
RendererRef sharedRenderer,
bool retinaEnabled ) = 0;
103 virtual CGContextRef getCgContext() {
throw; }
104 virtual CGLContextObj getCglContext() {
throw; }
105 virtual CGLPixelFormatObj getCglPixelFormat() {
throw; }
106 #elif defined( CINDER_COCOA_TOUCH )
107 virtual void setup( App *aApp,
const Area &frame, UIView *cinderView,
RendererRef sharedRenderer ) = 0;
108 virtual bool isEaglLayer()
const {
return false; }
112 virtual void setFrameSize(
int width,
int height ) {}
114 #elif defined( CINDER_MSW )
115 virtual void setup( App *aApp, HWND wnd, HDC dc,
RendererRef sharedRenderer ) = 0;
117 virtual void prepareToggleFullScreen() {}
118 virtual void finishToggleFullScreen() {}
119 virtual void kill() {}
121 virtual HWND getHwnd() = 0;
122 virtual HDC getDc() {
return NULL; }
123 #elif defined( CINDER_WINRT)
124 virtual void setup( App *aApp, DX_WINDOW_TYPE wnd) = 0;
126 virtual void prepareToggleFullScreen() {}
127 virtual void finishToggleFullScreen() {}
128 virtual void kill() {}
145 #if !defined( CINDER_WINRT )
149 #if defined( CINDER_COCOA_TOUCH )
159 #if defined( CINDER_COCOA )
160 #if defined( CINDER_MAC )
161 virtual void setup(
App *aApp, CGRect frame, NSView *cinderView,
RendererRef sharedRenderer,
bool retinaEnabled );
162 virtual CGLContextObj getCglContext();
163 virtual CGLPixelFormatObj getCglPixelFormat();
164 virtual NSOpenGLContext* getNsOpenGlContext();
165 #elif defined( CINDER_COCOA_TOUCH )
166 virtual void setup(
App *aApp,
const Area &frame, UIView *cinderView,
RendererRef sharedRenderer );
167 virtual bool isEaglLayer()
const {
return true; }
168 EAGLContext* getEaglContext()
const;
170 virtual void setFrameSize(
int width,
int height );
171 #elif defined( CINDER_MSW )
172 virtual void setup( App *aApp, HWND wnd, HDC dc,
RendererRef sharedRenderer );
174 virtual HWND getHwnd() {
return mWnd; }
175 virtual void prepareToggleFullScreen();
176 virtual void finishToggleFullScreen();
194 #if defined( CINDER_MAC )
196 #elif defined( CINDER_COCOA_TOUCH )
198 #elif defined( CINDER_MSW )
206 #if defined( CINDER_COCOA )
207 class Renderer2d :
public Renderer {
214 #if defined( CINDER_COCOA_TOUCH )
215 virtual void setup(
App *aApp,
const Area &frame, UIView *cinderView,
RendererRef sharedRenderer );
218 virtual void setup(
App *aApp, CGRect frame, NSView *cinderView,
RendererRef sharedRenderer,
bool retinaEnabled );
221 virtual CGContextRef getCgContext();
223 virtual void startDraw();
224 virtual void finishDraw();
225 virtual void defaultResize();
226 virtual void makeCurrentContext();
227 virtual void setFrameSize(
int width,
int height );
231 Renderer2d(
const Renderer2d &renderer );
233 #if defined( CINDER_MAC )
238 CGContextRef mCGContext;
241 #elif defined( CINDER_MSW )
243 class Renderer2d :
public Renderer {
245 Renderer2d(
bool doubleBuffer =
true );
250 virtual void setup( App *aApp, HWND wnd, HDC dc,
RendererRef sharedRenderer );
253 virtual HWND getHwnd() {
return mWnd; }
256 virtual void prepareToggleFullScreen();
257 virtual void finishToggleFullScreen();
259 virtual void startDraw()
override;
260 virtual void finishDraw()
override;
261 virtual void defaultResize()
override;
265 Renderer2d(
const Renderer2d &renderer );
267 class AppImplMswRendererGdi *mImpl;
275 #endif // !defined( CINDER_WINRT )
virtual Surface copyWindowSurface(const Area &area)
static RendererGlRef create(int antiAliasing=AA_MSAA_16)
Definition: Renderer.h:156
Definition: Renderer.h:147
Definition: Renderer.h:179
std::shared_ptr< class RendererGl > RendererGlRef
Definition: Renderer.h:146
virtual void makeCurrentContext()
Definition: Renderer.h:179
virtual void finishDraw()
RendererType
Definition: Renderer.h:90
GLenum GLsizei width
Definition: GLee.h:969
Surface copyWindowSurface()
Returns a copy of the current window's contents as a Surface8u.
Definition: App.h:688
Definition: Renderer.h:88
static const int sAntiAliasingSamples[]
Definition: Renderer.h:180
Definition: Renderer.h:179
void setAntiAliasing(int aAntiAliasing)
Definition: Renderer.cpp:80
SurfaceT< uint8_t > Surface
8-bit image. Synonym for Surface8u.
Definition: Surface.h:491
std::shared_ptr< Window > WindowRef
Definition: Event.h:49
virtual void defaultResize()
Definition: AppImplCocoaTouchRendererQuartz.h:26
std::shared_ptr< class Renderer2d > Renderer2dRef
Definition: Renderer.h:205
Definition: Renderer.h:179
virtual void makeCurrentContext()
Definition: Renderer.h:135
GLenum GLsizei GLsizei height
Definition: GLee.h:1029
virtual RendererRef clone() const
Definition: Renderer.h:157
App * mApp
Definition: Renderer.h:142
std::shared_ptr< class Renderer > RendererRef
Definition: Renderer.h:85
Definition: AppImplMswRendererGl.h:31
virtual RendererType getRendererType() const
Definition: Renderer.h:98
Definition: AppImplCocoaRendererQuartz.h:30
virtual void finishDraw()
Definition: Renderer.h:134
Renderer()
Definition: Renderer.h:139
Definition: Renderer.h:179
int mAntiAliasing
Definition: Renderer.h:193
virtual Surface copyWindowSurface(const Area &area)=0
Definition: Renderer.h:92
RendererGl(int aAntiAliasing=AA_MSAA_16)
Definition: Renderer.cpp:65
Definition: AppImplCocoaRendererGl.h:31
Definition: Renderer.h:179
Definition: Renderer.h:93
virtual void defaultResize()
Definition: Renderer.h:136
virtual ~Renderer()
Definition: Renderer.h:95
int getAntiAliasing() const
Definition: Renderer.h:182
virtual RendererRef clone() const =0
virtual void startDraw()
Definition: Renderer.h:133
Definition: Renderer.h:179
Definition: AppImplCocoaTouchRendererGl.h:28