Esempio n. 1
0
bool FileFormatInstance::ReadColorFilterArray( ColorFilterArray& cfa )
{
   try
   {
      cfa = ColorFilterArray();

      if ( (*API->FileFormat->BeginColorFilterArrayExtraction)( handle ) == api_false )
         return false;

      size_type patternLen = 0, nameLen = 0;
      (*API->FileFormat->GetImageColorFilterArray)( handle, 0, &patternLen, 0, 0, 0, &nameLen );

      bool ok = true;
      if ( patternLen > 0 )
      {
         IsoString pattern;
         pattern.SetLength( patternLen );
         String name;
         if ( nameLen > 0 )
            name.SetLength( nameLen );
         int32 width, height;
         ok = (*API->FileFormat->GetImageColorFilterArray)( handle,
                              pattern.Begin(), &patternLen, &width, &height, name.Begin(), &nameLen ) != api_false;
         if ( ok )
         {
            pattern.ResizeToNullTerminated();
            name.ResizeToNullTerminated();
            cfa = ColorFilterArray( pattern, width, height, name );
         }
      }

      (*API->FileFormat->EndColorFilterArrayExtraction)( handle );
      return ok;
   }
   catch ( ... )
   {
      (*API->FileFormat->EndColorFilterArrayExtraction)( handle );
      throw;
   }
}
void FileFormatImplementation::EndColorFilterArrayEmbedding()
{
   if ( !m_data->colorFilterArray.IsEmpty() )
      WriteColorFilterArray( m_data->colorFilterArray );
   m_data->colorFilterArray = ColorFilterArray();
}
void FileFormatImplementation::BeginColorFilterArrayEmbedding()
{
   BeginPrivate();
   m_data->colorFilterArray = ColorFilterArray();
}
void FileFormatImplementation::EndColorFilterArrayExtraction()
{
   m_data->colorFilterArray = ColorFilterArray();
}
ColorFilterArray FileFormatImplementation::ReadColorFilterArray()
{
   MANDATORY( "ReadColorFilterArray" );
   return ColorFilterArray();
}