00001
00002 #ifdef RT_AS3
00003
00004 #include "RendergroupAS3View.h"
00005
00006 namespace RenderTools{
00007
00008 RendergroupAS3ViewPtr RendergroupAS3View::s_instance = RendergroupAS3ViewPtr();
00009
00010
00011 RendergroupAS3View::RendergroupAS3View( void ):
00012 RendergroupAbstractView(){
00013
00014 }
00015
00016 void Rendergroup::createProperties( void ){
00017 RendergroupAbstractView::createProperties();
00018 if( ! s_instance ){
00019 s_instance = this;
00020
00021 setMajorVersion( 1 );
00022 setMinorVersion( 0 );
00023 }
00024 }
00025
00026 const string RendergroupAS3View::getTypeName( bool ofComponent = false ) const {
00027 return( "RendergroupAS3View" );
00028 }
00029
00030 RendergroupAS3View::~RendergroupAS3View( void ){
00031 s_instance = 0;
00032 }
00033
00034 RendergroupAS3ViewPtr RendergroupAS3View::getInstance( void ){
00035 return( s_instance );
00036 }
00037
00038 AS3_Val RendergroupAS3View::initializeFunc( void * me, AS3_Val args ){
00039 int w, h;
00040
00041 AS3_ArrayValue( args, "IntType, IntType", & w, & h );
00042
00043 if( s_instance ){
00044 s_instance->setSize( w, h );
00045 s_instance->onViewControllerEvent( ViewControllerEvent( INITIALIZE ) );
00046 }
00047 return AS3_String( "true" );
00048 }
00049
00050 AS3_Val RendergroupAS3View::updateFunc( void * me, AS3_Val args ){
00051 if( s_instance ){
00052 s_instance->update();
00053 }
00054 return AS3_String( "true" );
00055 }
00056
00057 AS3_Val RendergroupAS3View::timerFunc( void * me, AS3_Val args ){
00058 if( s_instance ){
00059 s_instance->onViewControllerEvent( ViewControllerEvent( TIMER ) );
00060 }
00061 return AS3_String( "true" );
00062 }
00063
00064 AS3_Val RendergroupAS3View::mouseFunc( void * me, AS3_Val args ){
00065 if( s_instance ){
00066 int mx, my;
00067
00068 AS3_ArrayValue( args, "IntType, IntType", & mx, & my );
00069
00070 s_instance->onMouseEvent( MouseEvent( MOUSE_DOWN, Vec2( mx, my ) ) );
00071 }
00072 return AS3_String( "true" );
00073 }
00074
00075 AS3_Val RendergroupAS3View::motionFunc( void * me, AS3_Val args ){
00076 if( s_instance ){
00077 int mx, my;
00078
00079 AS3_ArrayValue(args, "IntType, IntType", & mx, & my );
00080
00081 s_instance->onMouseEvent( MouseEvent( MOUSE_MOVE, Vec2( mx, my ) ) );
00082 }
00083 return AS3_String( "true" );
00084 }
00085
00086
00087 };
00088
00089 #else
00090
00091 int ___________forced_public_symbol = 0;
00092
00093 #endif // RT_AS3
00094