Example #1
0
int UtcDaliScriptingNewImage01P(void)
{
  TestApplication application; // Image needs application

  Property::Map map;
  map[ "filename" ] = "TEST_FILE";

  // Filename only
  ResourceImage image = ResourceImage::DownCast( NewImage( map ) );
  DALI_TEST_EQUALS( "TEST_FILE", image.GetUrl(), TEST_LOCATION );
  END_TEST;
}
void CubeTransitionApp::GoToNextImage()
{
  mNextImage = LoadStageFillingImage( IMAGES[ mIndex ] );
  mCurrentEffect.SetTargetImage( mNextImage );
  if( mNextImage.GetLoadingState() == ResourceLoadingSucceeded )
  {
    mIsImageLoading = false;
    OnImageLoaded( mNextImage );
  }
  else
  {
    mIsImageLoading = true;
    mNextImage.LoadingFinishedSignal().Connect( this, &CubeTransitionApp::OnImageLoaded );
  }
}
Example #3
0
int UtcDaliScriptingNewImageNegative05(void)
{
  TestApplication application; // Image needs application
  // Invalid release-policy value
  Property::Map map;
  map[ "filename" ] = "TEST_FILE";
  map[ "release-policy" ] = "INVALID";
  // will give us a valid image with default release policy
  Image image = NewImage( map );
  DALI_TEST_CHECK( image );
  ResourceImage resImage = ResourceImage::DownCast( image );
  DALI_TEST_CHECK( resImage );
  DALI_TEST_EQUALS( resImage.GetReleasePolicy(), Image::NEVER, TEST_LOCATION );
  END_TEST;
}
Example #4
0
int UtcDaliScriptingNewImageNegative03(void)
{
  TestApplication application; // Image needs application
  // Invalid load-policy value
  Property::Map map;
  map[ "filename" ] = "TEST_FILE";
  map[ "load-policy" ] = "INVALID";
  // will give us a valid image with default load policy
  Image image = NewImage( map );
  DALI_TEST_CHECK( image );
  ResourceImage resImage = ResourceImage::DownCast( image );
  DALI_TEST_CHECK( resImage );
  DALI_TEST_EQUALS( resImage.GetLoadPolicy(), ResourceImage::IMMEDIATE, TEST_LOCATION );
  END_TEST;
}
Example #5
0
int UtcDaliScriptingNewImageNegative07(void)
{
  TestApplication application; // Image needs application
  // Invalid height
  Property::Map map;
  map[ "filename" ] = "TEST_FILE";
  map[ "width" ] = 10;
  map[ "height" ] = "Invalid";
  // will give us a valid image
  Image image = NewImage( map );
  DALI_TEST_CHECK( image );
  ResourceImage resImage = ResourceImage::DownCast( image );
  DALI_TEST_CHECK( resImage );
  DALI_TEST_EQUALS( resImage.GetWidth(), 10, TEST_LOCATION );
  DALI_TEST_EQUALS( resImage.GetHeight(), 0, TEST_LOCATION );
  END_TEST;
}
ResourceImage::ResourceImage(const ResourceImage& rhs) : pImpl(0)
{
    if(rhs.isOpen()==false) return;
    pImpl=new ResourceImageImpl;
    pImpl->file=rhs.pImpl->file;
    this->height=rhs.height;
    this->width=rhs.width;
}
void CreatePropertyMap( Image image, Property::Map& map )
{
  map.Clear();

  if ( image )
  {
    std::string imageType( "ResourceImage" );

    // Get Type - cannot use TypeRegistry as Image is not an Object and thus, not registered
    BufferImage bufferImage = BufferImage::DownCast( image );
    if ( bufferImage )
    {
      imageType = "BufferImage";
      map[ "pixelFormat" ] = GetEnumerationName< Pixel::Format >( bufferImage.GetPixelFormat(), PIXEL_FORMAT_TABLE, PIXEL_FORMAT_TABLE_COUNT );
    }
    else if ( FrameBufferImage::DownCast( image ) )
    {
      imageType = "FrameBufferImage";
    }

    map[ "type" ] = imageType;
    map[ "releasePolicy" ] = GetEnumerationName< Image::ReleasePolicy >( image.GetReleasePolicy(), IMAGE_RELEASE_POLICY_TABLE, IMAGE_RELEASE_POLICY_TABLE_COUNT );

    ResourceImage resourceImage = ResourceImage::DownCast( image );
    if( resourceImage )
    {
      map[ "filename" ] = resourceImage.GetUrl();
      map[ "loadPolicy" ] = GetEnumerationName< ResourceImage::LoadPolicy >( resourceImage.GetLoadPolicy(), IMAGE_LOAD_POLICY_TABLE, IMAGE_LOAD_POLICY_TABLE_COUNT );
    }

    int width( image.GetWidth() );
    int height( image.GetHeight() );

    if ( width && height )
    {
      map[ "width" ] = width;
      map[ "height" ] = height;
    }
  }
}
Example #8
0
	void ResourceModel::LoadMaterialLibrary(const std::string& filename) {
		std::string materialFilename = filename;
		std::string path = filename.substr(0, filename.find_last_of("\\/") + 1); // We keep the final dash
		// Replace the last character of the extension - tmf becomes tml
		materialFilename[filename.size()-1] = 'l';

		std::ifstream fp;
		fp.open(materialFilename.c_str(), std::ios::in);
		
		if (!fp.is_open()) {
			FrameWork::GetLogger()->LogError("Couldn't load material library for %s", filename);	
			return;
		}

		Material* currentMaterial = 0;

		char buffer[256];
		char shaderName[64];
		char parameterType[16];
		char parameterName[64];
		char parameterValue[64];
		memset(shaderName, 0, sizeof(shaderName));
		memset(parameterType, 0, sizeof(parameterType));
		memset(parameterName, 0, sizeof(parameterName));
		memset(parameterValue, 0, sizeof(parameterValue));
		int numTextureMap = 0;
		while (fp.getline(buffer, sizeof(buffer))) {
			if (buffer[0] != ' ' && buffer[0] != '\n') {
				if (currentMaterial) {
					numTextureMap = 0;
					currentMaterial->shader = new Shader(shaderName, currentMaterial->shaderParameters);
					mMaterialList.push_back(currentMaterial);
				}
				
				currentMaterial = new Material();
				currentMaterial->name = std::string(buffer);
				currentMaterial->shaderParameters = new ShaderParameters();
				currentMaterial->shader = 0;
				continue;
			}

			sscanf_s(buffer, "  %s", parameterType, sizeof(parameterType));
			std::string sparameterType(parameterType);

			if (sparameterType == "INT") {
				int v = 0;
				sscanf_s(buffer, "%*s %s %d", parameterName, sizeof(parameterName), &v);
				currentMaterial->shaderParameters->SetParameter(parameterName, PARAMETER_TYPE_INT, v);
			}
			else if (sparameterType == "FLOAT") {
				float v = 0.0f;
				sscanf_s(buffer, "%*s %s %f", parameterName, sizeof(parameterName), &v);
				currentMaterial->shaderParameters->SetParameter(parameterName, PARAMETER_TYPE_FLOAT, v);
			}
			else if (sparameterType == "FLOAT2") {
				float v1, v2;
				sscanf_s(buffer, "%*s %s %f %f", parameterName, sizeof(parameterName), &v1, &v2);
				currentMaterial->shaderParameters->SetParameter(parameterName, PARAMETER_TYPE_FLOAT2, float2(v1, v2));
			}
			else if (sparameterType == "FLOAT3") {
				float v1, v2, v3;
				sscanf_s(buffer, "%*s %s %f %f %f", parameterName, sizeof(parameterName), &v1, &v2, &v3);
				currentMaterial->shaderParameters->SetParameter(parameterName, PARAMETER_TYPE_FLOAT3, float3(v1, v2, v3));
			}
			else if (sparameterType == "FLOAT4") {
				float v1, v2, v3, v4;
				sscanf_s(buffer, "%*s %s %f %f %f %f", parameterName, sizeof(parameterName), &v1, &v2, &v3, &v4);
				currentMaterial->shaderParameters->SetParameter(parameterName, PARAMETER_TYPE_FLOAT4, float4(v1, v2, v3, v4));
			}
			else if (sparameterType == "TEXTUREMAP") {
				sscanf_s(buffer, "%*s %s", parameterName, sizeof(parameterName));
				std::string textureFileName(path);
				textureFileName += parameterName;
				ResourceImage* image = (ResourceImage*)FrameWork::GetResourceManager()->GetResource(textureFileName);
				currentMaterial->shaderParameters->SetTextureMap((TextureMap)numTextureMap, image->GetTexture());
				numTextureMap++;
			}
			else if (sparameterType == "SHADER") {
				sscanf_s(buffer, "%*s %s", shaderName, sizeof(parameterName));
			}
		}
		if (currentMaterial) {
			currentMaterial->shader = new Shader(shaderName, currentMaterial->shaderParameters);
			mMaterialList.push_back(currentMaterial);
		}

		fp.close();
	}