#ifndef ORSDK_DLL
#define ORSDK_DLL K_DLLEXPORT
#endif
#include "orshaderscreen_layout.h"
#define ORSHADERSCREEN__LAYOUT ORShaderScreenLayout
ORSHADERSCREEN__DESCSTR,
bool ORShaderScreenLayout::FBCreate()
{
mShader = (ORShaderScreen*) (FBShader*) Shader;
UICreate ();
UIConfigure ();
UIReset ();
OnIdle.Add(
this, (
FBCallback) &ORShaderScreenLayout::EventIdle );
return true;
}
void ORShaderScreenLayout::FBDestroy()
{
}
void ORShaderScreenLayout::UICreate()
{
int lB, lS, lW, lH;
lB = 10;
lS = 4;
lW = 100;
lH = 18;
AddRegion("Label1", "Label1",
AddRegion("Color1","Color1",
AddRegion("KeyColor1", "KeyColor1",
AddRegion("AnimateColor1", "AnimateColor1",
AddRegion("Label2", "Label2",
AddRegion("Color2","Color2",
AddRegion("KeyColor2", "KeyColor2",
AddRegion("AnimateColor2", "AnimateColor2",
AddRegion("LabelIntensity","LabelIntensity",
AddRegion("Intensity","Intensity",
AddRegion("KeyIntensity", "KeyIntensity",
AddRegion("AnimateIntensity", "AnimateIntensity",
AddRegion("LabelColorOp","LabelColorOp",
AddRegion("ColorOp", "ColorOp",
SetControl( "Label1", mLabelColor1 );
SetControl( "Color1", mColor1 );
SetControl( "KeyColor1", mButtonKeyColor1 );
SetControl( "AnimateColor1", mButtonAnimateColor1 );
SetControl( "Label2", mLabelColor2 );
SetControl( "Color2", mColor2 );
SetControl( "KeyColor2", mButtonKeyColor2 );
SetControl( "AnimateColor2", mButtonAnimateColor2 );
SetControl( "LabelIntensity", mLabelIntensity );
SetControl( "Intensity", mIntensity );
SetControl( "KeyIntensity", mButtonKeyIntensity );
SetControl( "AnimateIntensity", mButtonAnimateIntensity );
SetControl( "LabelColorOp", mLabelColorOp );
SetControl( "ColorOp", mColorOp );
}
void ORShaderScreenLayout::UIConfigure()
{
mLabelColor1.Caption = "Ambient Color 1";
mLabelColor2.Caption = "Ambient Color 2";
mLabelIntensity.Caption = "Intensity";
mLabelColorOp.Caption = "Color operation";
mButtonKeyColor2.Caption = "K";
mButtonAnimateColor2.Caption = "A";
mButtonKeyColor1.Caption = "K";
mButtonAnimateColor1.Caption = "A";
mButtonKeyIntensity.Caption = "K";
mButtonAnimateIntensity.Caption = "A";
for( i=0; i<ORShaderScreen::eColorOpCount; i++ )
{
mColorOp.Items.Add( mShader->GetColorOpName((ORShaderScreen::ORColorOp)i),
i );
}
mColor1.OnChange.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventColor1Change );
mButtonKeyColor1.OnClick.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventKeyColor1 );
mButtonAnimateColor1.OnClick.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventAnimateColor1 );
mColor2.OnChange.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventColor2Change );
mButtonKeyColor2.OnClick.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventKeyColor2 );
mButtonAnimateColor2.OnClick.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventAnimateColor2 );
mIntensity.OnChange.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventIntensityChange );
mButtonKeyIntensity.OnClick.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventKeyIntensity );
mButtonAnimateIntensity.OnClick.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventAnimateIntensity );
mColorOp.OnChange.Add (
this, (
FBCallback) &ORShaderScreenLayout::EventColorOpChange );
}
void ORShaderScreenLayout::UIReset()
{
UIRefresh();
mButtonAnimateColor1.State = mShader->IsColor1Animated() ? 1:0;
mButtonAnimateColor2.State = mShader->IsColor2Animated() ? 1:0;
mButtonAnimateIntensity.State = mShader->IsIntensityAnimated() ? 1:0;
mColorOp.ItemIndex = (
int)mShader->GetColorOp();
}
void ORShaderScreenLayout::UIRefresh()
{
}
void ORShaderScreenLayout::EventColor1Change(
HISender pSender,
HKEvent pEvent)
{
FBColor lValue = mColor1.Value;
for( i = 0; i<3; i ++ )
{
if( lValue[i] < 0.0 )
{
}
else if( lValue[i] > 1.0 )
{
}
}
mColor1.Value = lValue;
FBColor lTemp = mColor1.Value;
mShader->SetColor1( lTemp );
mColor1.Value = mShader->GetColor1();
}
void ORShaderScreenLayout::EventColor2Change(
HISender pSender,
HKEvent pEvent)
{
FBColor lValue = mColor2.Value;
for( i = 0; i<3; i ++ )
{
if( lValue[i] < 0.0 )
{
}
else if( lValue[i] > 1.0 )
{
}
}
mShader->SetColor2( mColor2.Value );
mColor2.Value = mShader->GetColor2();
}
void ORShaderScreenLayout::EventIntensityChange(
HISender pSender,
HKEvent pEvent)
{
mShader->SetIntensity( mIntensity.Value );
mIntensity.Value = mShader->GetIntensity();
}
{
UIRefresh();
}
void ORShaderScreenLayout::EventKeyColor1(
HISender pSender,
HKEvent pEvent )
{
mShader->KeyColor1();
}
void ORShaderScreenLayout::EventKeyColor2(
HISender pSender,
HKEvent pEvent )
{
mShader->KeyColor2();
}
void ORShaderScreenLayout::EventKeyIntensity(
HISender pSender,
HKEvent pEvent )
{
mShader->KeyIntensity();
}
void ORShaderScreenLayout::EventAnimateColor1(
HISender pSender,
HKEvent pEvent )
{
mShader->AnimateColor1(mButtonAnimateColor1.State!=0);
}
void ORShaderScreenLayout::EventAnimateColor2(
HISender pSender,
HKEvent pEvent )
{
mShader->AnimateColor2(mButtonAnimateColor2.State!=0);
}
void ORShaderScreenLayout::EventAnimateIntensity(
HISender pSender,
HKEvent pEvent )
{
mShader->AnimateIntensity( mButtonAnimateIntensity.State!=0 );
}
void ORShaderScreenLayout::EventColorOpChange(
HISender pSender,
HKEvent pEvent )
{
mShader->SetColorOp( (ORShaderScreen::ORColorOp)(int)mColorOp.ItemIndex );
}