| OLD | NEW | 
| (Empty) |  | 
 |   1 /* | 
 |   2  *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 
 |   3  * | 
 |   4  *  Use of this source code is governed by a BSD-style license | 
 |   5  *  that can be found in the LICENSE file in the root of the source | 
 |   6  *  tree. An additional intellectual property rights grant can be found | 
 |   7  *  in the file PATENTS.  All contributing project authors may | 
 |   8  *  be found in the AUTHORS file in the root of the source tree. | 
 |   9  */ | 
 |  10  | 
 |  11 #include "webrtc/modules/desktop_capture/color.h" | 
 |  12  | 
 |  13 #include <string.h> | 
 |  14  | 
 |  15 namespace webrtc { | 
 |  16  | 
 |  17 namespace { | 
 |  18  | 
 |  19 bool AlphaEquals(uint8_t i, uint8_t j) { | 
 |  20   // On Linux and Windows 8 or early version, '0' was returned for alpha channel | 
 |  21   // from capturer APIs, on Windows 10, '255' was returned. So a workaround is | 
 |  22   // to treat 0 as 255. | 
 |  23   return i == j || ((i == 0 || i == 255) && (j == 0 || j == 255)); | 
 |  24 } | 
 |  25  | 
 |  26 }  // namespace | 
 |  27  | 
 |  28 Color::Color(uint8_t blue, uint8_t green, uint8_t red, uint8_t alpha) { | 
 |  29   this->blue = blue; | 
 |  30   this->green = green; | 
 |  31   this->red = red; | 
 |  32   this->alpha = alpha; | 
 |  33 } | 
 |  34  | 
 |  35 Color::Color(uint8_t blue, uint8_t green, uint8_t red) | 
 |  36     : Color(blue, green, red, 0xff) {} | 
 |  37  | 
 |  38 bool Color::operator==(const uint8_t* const bgra) const { | 
 |  39   if (blue != bgra[0] || green != bgra[1] || red != bgra[2]) { | 
 |  40     return false; | 
 |  41   } | 
 |  42   return AlphaEquals(this->alpha, bgra[3]); | 
 |  43 } | 
 |  44  | 
 |  45 bool Color::operator!=(const uint8_t* const bgra) const { | 
 |  46   return !(*this == bgra); | 
 |  47 } | 
 |  48  | 
 |  49 bool Color::operator==(const Color& right) const { | 
 |  50   return *this == &right.blue; | 
 |  51 } | 
 |  52  | 
 |  53 bool Color::operator!=(const Color& right) const { | 
 |  54   return !(*this == right); | 
 |  55 } | 
 |  56  | 
 |  57 }  // namespace webrtc | 
| OLD | NEW |