Home | History | Annotate | Download | only in renderer
      1 //
      2 // Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
      3 // Use of this source code is governed by a BSD-style license that can be
      4 // found in the LICENSE file.
      5 //
      6 
      7 // copyimage.inl: Defines image copying functions
      8 
      9 namespace rx
     10 {
     11 
     12 template <typename sourceType, typename colorDataType>
     13 inline void ReadColor(const uint8_t *source, uint8_t *dest)
     14 {
     15     sourceType::readColor(reinterpret_cast<gl::Color<colorDataType>*>(dest), reinterpret_cast<const sourceType*>(source));
     16 }
     17 
     18 template <typename destType, typename colorDataType>
     19 inline void WriteColor(const uint8_t *source, uint8_t *dest)
     20 {
     21     destType::writeColor(reinterpret_cast<destType*>(dest), reinterpret_cast<const gl::Color<colorDataType>*>(source));
     22 }
     23 
     24 template <typename sourceType, typename destType, typename colorDataType>
     25 inline void CopyPixel(const uint8_t *source, uint8_t *dest)
     26 {
     27     colorType temp;
     28     ReadColor<sourceType, colorDataType>(source, &temp);
     29     WriteColor<destType, colorDataType>(&temp, dest);
     30 }
     31 
     32 }
     33