00001 /* 00002 * OpenGLViewDemo.h 00003 * upMix 00004 * 00005 * Created by Airy André on 12/02/06. 00006 * Copyright 2006 plasq. All rights reserved. 00007 * 00008 */ 00009 00010 #pragma once 00011 #include <AGL/agl.h> 00012 00013 #include "TViewNoCompositingCompatible.h" 00014 00015 class OpenGLViewDemo 00016 : public TViewNoCompositingCompatible 00017 { 00018 AUGUIDefineControl(OpenGLViewDemo, TViewNoCompositingCompatible, "opengldemo"); 00019 00020 protected: 00021 // Constructor/Destructor 00022 OpenGLViewDemo(HIViewRef inControl); 00023 virtual ~OpenGLViewDemo(); 00024 00025 virtual ControlKind GetKind(); 00026 00027 virtual bool UseNonblockingTracking() { return true; } 00028 00029 virtual OSStatus Initialize( TCarbonEvent& inEvent ); 00030 virtual void DrawStaticBackground(RgnHandle inLimitRgn, CGContextRef inContext, bool inCompositing ); 00031 virtual void CompatibleDraw(RgnHandle inLimitRgn, CGContextRef inContext,bool inCompositing ); 00032 virtual void TitleChanged(); 00033 virtual void ValueChanged(); 00034 00035 virtual void BoundsChanged( 00036 UInt32 inOptions, 00037 const HIRect& inOriginalBounds, 00038 const HIRect& inCurrentBounds ); 00039 virtual void OwningWindowChanged( 00040 WindowRef oldWindow, 00041 WindowRef newWindow ); 00042 00043 protected: 00044 void BoundsOrWindowChanged(); 00045 AGLContext GetOpenGLContext (); 00046 AGLContext mContext; 00047 }; 00048 00049